diff --git a/README.md b/README.md index ddbe87b..b691314 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# planpro-importer +# PlanPro Importer This is a small library (generated by [generateDS.py](http://www.davekuhlman.org/generateDS.html)) that can import PlanPro files into a [yaramo](https://github.com/simulate-digital-rail/yaramo) topology for further processing. @@ -7,15 +7,15 @@ It supports: - Parsing of ppxml files - Finder for UUID of infrastructure elements -Current version: -- Schema version: 1.9.0.1202_2019-02-22 -- Library version: 1.9.0.1202_2019-02-22-v2 +Supported PlanPro versions: +- PlanPro 1.9.0.1202_2019-02-22 (with `PlanProVersion.PlanPro19`) +- PlanPro 1.10.0.2147_2022-05-31 (with `PlanProVersion.PlanPro110`) ## Installation Just install it with pip: -``` -pip3 install git+https://github.com/arneboockmeyer/planpro-python-model +```bash +pip3 install git+https://github.com/simulate-digital-rail/planpro-importer ``` You may need some authentication ([Hint 1](https://cloud.google.com/artifact-registry/docs/python/authentication), [Hint 2](https://pip.pypa.io/en/latest/topics/authentication/)). @@ -23,9 +23,12 @@ You may need some authentication ([Hint 1](https://cloud.google.com/artifact-reg ## Usage Parse a PlanPro file: -``` -from planpro_importer.reader import PlanProReader -topology = PlanProReader("filename.ppxml").read_topology_from_plan_pro_file() +```python +from planpro_importer import PlanProVersion, import_planpro +# For PlanPro 1.9 +topology = import_planpro("filename.ppxml", PlanProVersion.PlanPro19) +# For PlanPro 1.10 +topology = import_planpro("filename.ppxml", PlanProVersion.PlanPro110) ``` Further examples can be found in the [demo repository](https://github.com/simulate-digital-rail/demo). @@ -33,17 +36,17 @@ Further examples can be found in the [demo repository](https://github.com/simula ## Usage UUID finder Import: -``` +```python import uuidfinder ``` Method: -``` +```python uuidfinder.find_infrastructure_element_by_uuid(, ) ``` Example: -``` +```python import planpromodel import uuidfinder root_object = planpromodel.parse('PlanProFile.ppxml') @@ -57,7 +60,9 @@ Use [generateDS.py](http://www.davekuhlman.org/generateDS.html) to generate a mo Therefore you need the schema files of the current PlanPro version. CLI-Command: -``` +```bash +generateDS -o model.py PlanPro.xsd +# or python3 generateDS.py -o planpromodel.py -f --output-directory="." 1.9.0.1202_2019-02-22_Schema/PlanPro.xsd ``` diff --git a/example/example.py b/example/example.py new file mode 100644 index 0000000..b3f00bd --- /dev/null +++ b/example/example.py @@ -0,0 +1,17 @@ +from planpro_importer import PlanProVersion, import_planpro + + +if __name__ == "__main__": + # Test 1.9 + topology = import_planpro("filename.ppxml", PlanProVersion.PlanPro19) + print(f"{len(topology.edges)}") + print(f"{len(topology.nodes)}") + print(f"{len(topology.signals)}") + print(f"{len(topology.routes)}") + + # Test 1.10 + topology = import_planpro("filename.ppxml", PlanProVersion.PlanPro110) + print(f"{len(topology.edges)}") + print(f"{len(topology.nodes)}") + print(f"{len(topology.signals)}") + print(f"{len(topology.routes)}") diff --git a/planpro_importer/__init__.py b/planpro_importer/__init__.py index e69de29..f906e6b 100644 --- a/planpro_importer/__init__.py +++ b/planpro_importer/__init__.py @@ -0,0 +1,2 @@ +from .planproversion import PlanProVersion +from .planproimporter import import_planpro diff --git a/planpro_importer/planpro110/__init__.py b/planpro_importer/planpro110/__init__.py new file mode 100644 index 0000000..9f51c6c --- /dev/null +++ b/planpro_importer/planpro110/__init__.py @@ -0,0 +1 @@ +from .reader110 import PlanProReader110 diff --git a/planpro_importer/planpro110/model110.py b/planpro_importer/planpro110/model110.py new file mode 100644 index 0000000..eee021f --- /dev/null +++ b/planpro_importer/planpro110/model110.py @@ -0,0 +1,270917 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- + +# +# Generated Mon Dec 9 11:33:55 2024 by generateDS.py version 2.44.3. +# Python 3.12.4 (main, Jun 6 2024, 18:26:44) [Clang 15.0.0 (clang-1500.3.9.4)] +# +# Command line options: +# ('-o', 'model110.py') +# +# Command line arguments: +# PlanPro.xsd +# +# Command line: +# /Users/arneboockmeyer/Documents/Hasso-Plattner-Institut/Studium/Promotion/Repositorys.nosync/Simulate-Digital-Rail/sdr/bin/generateDS -o "model110.py" PlanPro.xsd +# +# Current working directory (os.getcwd()): +# 1.10.0.2147_2022-05-31_Schema +# + +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 ENUMA_Wert(str, Enum): + _1_6='16' + _3_2='32' + _4_8='48' + _6_4='64' + _8_0='80' + _9_6='96' + _1_12='112' + _1_28='128' + _1_44='144' + _1_60='160' + _1_76='176' + _1_92='192' + _2_08='208' + _2_24='224' + _2_40='240' + + +class ENUMAkustik_Anb_Ann(str, Enum): + _5_S='5_s' + BIS__ANKUNFT__ZUG='bis_Ankunft_Zug' + + +class ENUMAkustik_Sonst(str, Enum): + _5_S='5_s' + KEINE='keine' + + +class ENUMAnhang_Art(str, Enum): + ABNAHMENIEDERSCHRIFT='Abnahmeniederschrift' + ANBINDUNG_IB_2='Anbindung_IB2' + ANBINDUNG_IB_3='Anbindung_IB3' + BAST='BAST' + BELU='BELU' + BENUTZEROBERFLAECHE='Benutzeroberflaeche' + BESTAETIG__GLEICHSTELLUNG='Bestaetig_Gleichstellung' + BESTAETIG__QUALITAETSPRUEFUNG='Bestaetig_Qualitaetspruefung' + BESTAETIG__UEBERNAHME='Bestaetig_Uebernahme' + FREIGABE__BVB='Freigabe_Bvb' + GENEHMIGUNG_AG__BH__BHV='Genehmigung_AG_Bh_Bhv' + MATERIAL__BESONDERS='Material_Besonders' + UEBERTRAGUNGSWEGEPLAN='Uebertragungswegeplan' + DWS='DWS' + ERLAEUTERUNGSBERICHT='Erlaeuterungsbericht' + GEO='GEO' + INA='INA' + MOEBELAUFSTELLPLAN__AUFRISS='Moebelaufstellplan_Aufriss' + MOEBELAUFSTELLPLAN__GRUNDRISS='Moebelaufstellplan_Grundriss' + MONITORAUFTEILUNG='Monitoraufteilung' + PLANVERZEICHNIS='Planverzeichnis' + PRUEFBERICHT='Pruefbericht' + RAUMPLAN__BEDIENRAEUME='Raumplan_Bedienraeume' + RAUMPLAN__RECHNERRAEUME='Raumplan_Rechnerraeume' + REGELWERKSSTAND__BESONDERS='Regelwerksstand_Besonders' + RICHTUNGSSINN='Richtungssinn' + SONSTIGE='sonstige' + STEUERBEZIRKSUEBERSICHT='Steuerbezirksuebersicht' + UI_G='UiG' + VORGABE='Vorgabe' + VORGABE_GBT='Vorgabe_GBT' + VZ_G='VzG' + ZI_E='ZiE' + ZN__RAUMPLAN__BEDIENRAUM='ZN_Raumplan_Bedienraum' + ZN__RAUMPLAN__RECHNERRAUM='ZN_Raumplan_Rechnerraum' + + +class ENUMAnschaltdauer(str, Enum): + G='G' + T='T' + Z='Z' + + +class ENUMAnwendungssystem(str, Enum): + ESG='ESG' + GNT='GNT' + L_2='L2' + L_2_O_S='L2oS' + LZB='LZB' + OHNE='ohne' + PZB='PZB' + SONSTIGE='sonstige' + ZBS='ZBS' + + +class ENUMArt_Bedingung(str, Enum): + DEFAULT='Default' + FESTDATEN='Festdaten' + SONSTIGE='sonstige' + STÖRTELEGRAMM='Störtelegramm' + + +class ENUMAufloesung_Ssp_Zielgleis(str, Enum): + BESETZT='besetzt' + FREI='frei' + + +class ENUMAusrichtung(str, Enum): + GEGEN='gegen' + IN='in' + KEINE='keine' + + +class ENUMAussenelementansteuerung_Art(str, Enum): + """ENUMAussenelementansteuerung_Art -- GFK=Gleisfeldkonzentrator; FeAk=Feldelement-Anschlusskasten; enth + ä + lt ebenfalls Objektcontroller; dieser ist mit dem ENUM-Wert + + """ + BUE__ANSCHALTUNG='BUE_Anschaltung' + ESTW_A='ESTW_A' + FE_AK='FeAk' + FE_AS='FeAS' + GFK='GFK' + GLEISFREIMELDE__INNENANLAGE='Gleisfreimelde_Innenanlage' + OBJEKTCONTROLLER='Objektcontroller' + SONSTIGE='sonstige' + VIRTUELLE__AUSSENELEMENTANSTEUERUNG='virtuelle_Aussenelementansteuerung' + + +class ENUMAusstieg_ETCS_Sperre(str, Enum): + JA='ja' + NEIN='nein' + REGULAER='regulaer' + + +class ENUMAuto_Einstellung(str, Enum): + SB='SB' + SONSTIGE='sonstige' + ZL='ZL' + + +class ENUMAutomatische_Einstellung(str, Enum): + SB='SB' + ZL='ZL' + + +class ENUMBSO_Teilsystem_Art(str, Enum): + I_BS='iBS' + TRANSFERNETZ_BEDIENUNG='Transfernetz Bedienung' + + +class ENUMBUE_Bauart(str, Enum): + BAU__BUE='Bau_Bue' + BUE='Bue' + NT_RESI='ntResi' + T_RESI='tResi' + + +class ENUMBUE_Funktionsueberwachung(str, Enum): + FÜ='Fü' + HP='Hp' + ÜS='Üs' + ÜS_OE='ÜsOE' + + +class ENUMBUE_Handschalteinrichtung(str, Enum): + AT='AT' + ET='ET' + HAT='HAT' + HET='HET' + RS='RS' + RT_EIN_AUS='RT_ein_aus' + RT_EIN_RT_AUS='RT_ein_RT_aus' + SONSTIGE='sonstige' + UT='UT' + + +class ENUMBUE_Lage(str, Enum): + GEOEFFNET='geoeffnet' + GESCHLOSSEN='geschlossen' + + +class ENUMBUE_Sicherungsart(str, Enum): + A_UND__LF='A_und_Lf' + A_UND__SPRECHVERBINDUNG='A_und_Sprechverbindung' + LZ='Lz' + LZ_H='LzH' + LZ_H__2_F='LzH_2F' + LZ_H_F='LzH_F' + LZ_HH='LzHH' + LZ_HH__2_F='LzHH_2F' + LZ_HH_F='LzHH_F' + LZ_V='LzV' + P='P' + P_UND__LF='P_und_Lf' + SCHLUESSELABHAENGIG='schluesselabhaengig' + SONSTIGE='sonstige' + UE='Ue' + UE_UND_P='Ue_und_P' + + +class ENUMBUE_Technik(str, Enum): + ANRUFSCHRANKE='Anrufschranke' + BUEP__93='BUEP_93' + BUES__72_D='BUES_72D' + BUES__72_Z='BUES_72Z' + BUES_2000='BUES2000' + EBUET__80='EBUET_80' + EBUET__80_VB='EBUET_80_VB' + FUE__58='FUE_58' + FUE__60='FUE_60' + HL__64_B='HL_64_B' + HL__64_C='HL_64_C' + HS__64_B='HS_64_B' + HS__64_C='HS_64_C' + KEINE='keine' + LO_1='LO1' + LO_1__57='LO1_57' + NE_BUE__90='NE_BUE_90' + RBUET='RBUET' + SIMIS_LC='SIMIS_LC' + SONSTIGE='sonstige' + + +class ENUMBV_Darstellung_In_Plan(str, Enum): + ANLAGENTABELLE_TRANSITION='Anlagentabelle Transition' + BALISENPRÜFPROTOKOLL='Balisenprüfprotokoll' + BEDIENEINRICHTUNGSTABELLEBÜ='Bedieneinrichtungstabelle BÜ' + BEDIENEINRICHTUNGSTABELLE_STW='Bedieneinrichtungstabelle Stw' + BÜ_ABHÄNGIGKEITSTABELLE='BÜ-Abhängigkeitstabelle' + BÜ_KABELLAGEUNDÜBERSICHTSPLAN='BÜ-Kabellage- und Übersichtsplan' + BÜ_KABELÜBERSICHTSPLAN='BÜ-Kabelübersichtsplan' + BÜ_LAGEPLANNTG='BÜ-Lageplan ntg' + DEADLOCK_TABELLE='Deadlock-Tabelle' + DURCHRUTSCHWEGUND_GEFAHRPUNKTTABELLE='Durchrutschweg- und Gefahrpunkttabelle' + ELEMENTANSTEUERTABELLE='Elementansteuertabelle' + ESG_DATENPUNKTTABELLE_1='ESG-Datenpunkttabelle 1' + ESG_DATENPUNKTTABELLE_2='ESG-Datenpunkttabelle 2' + ESG_DATENPUNKTTABELLE_3='ESG-Datenpunkttabelle 3' + ETCS_MELDEUND_KOMMANDOANSCHALTUNG_SIGNALE_MUKA_SIGNALE='ETCS Melde- und Kommandoanschaltung Signale (Muka Signale)' + ETCS_MELDEUND_KOMMANDOANSCHALTUNG_WEICHEN_MUKA_WEICHEN='ETCS Melde- und Kommandoanschaltung Weichen (Muka Weichen)' + ETCS_DATENPUNKTTABELLE='ETCS-Datenpunkttabelle' + FLANKENSCHUTZTABELLE='Flankenschutztabelle' + FREIMELDETABELLE='Freimeldetabelle' + GFR_PLAN='GFR-Plan' + GLEISFREIMELDEPLANFÜR_GLEISSTROMKREISE='Gleisfreimeldeplan für Gleisstromkreise' + GLEISMAGNETTABELLE='Gleismagnettabelle' + GLEISSCHALTMITTELTABELLE='Gleisschaltmitteltabelle' + INSELGLEISTABELLE='Inselgleistabelle' + KABELLAGEPLAN='Kabellageplan' + KABELÜBERSICHTSPLAN='Kabelübersichtsplan' + LEU_TABELLE='LEU-Tabelle' + MELDEDRUCKTABELLE='Meldedrucktabelle' + NAHBEDIENUNGSTABELLE='Nahbedienungstabelle' + RANGIERSTRASSENTABELLE='Rangierstraßentabelle' + SCHLOSSTABELLE='Schlosstabelle' + SICHERUNGSTECHNISCHER_KREUZUNGSPLAN='Sicherungstechnischer Kreuzungsplan' + SICHERUNGSTECHNISCHER_LAGEPLAN='Sicherungstechnischer Lageplan' + SICHERUNGSTECHNISCHERÜBERSICHTSPLAN='Sicherungstechnischer Übersichtsplan' + SICHERUNGSTECHNISCHERÜBERSICHTSPLANBÜ='Sicherungstechnischer Übersichtsplan BÜ' + SIGNALUND_SCHUTZSTRECKENTABELLE='Signal- und Schutzstreckentabelle' + SIGNALTABELLE='Signaltabelle' + SONSTIGE='sonstige' + STAMMKABELÜBERSICHTSPLAN='Stammkabelübersichtsplan' + STATISCHE_STRECKENEIGENSCHAFTEN='Statische Streckeneigenschaften' + STRECKENBLOCKTABELLE='Streckenblocktabelle' + TABELLEDERANEINANDERGEREIHTEN_FAHRSTRASSEN='Tabelle der aneinandergereihten Fahrstraßen' + TABELLEDERATO_SEGMENT_PROFILES='Tabelle der ATO Segment Profiles' + TABELLEDERATO_TIMING_POINTS='Tabelle der ATO Timing Points' + TABELLEDERATOTS_INSTANZEN='Tabelle der ATO-TS Instanzen' + TABELLEDER_EINUND_AUSSTIEGE='Tabelle der Ein- und Ausstiege' + TABELLEDER_TECHNIKUND_BEDIENSTANDORTE='Tabelle der Technik- und Bedienstandorte' + ÜBERTRAGUNGSWEGTABELLE='Übertragungswegtabelle' + WEICHENLAUFKETTENTABELLE='Weichenlaufkettentabelle' + WEICHENTABELLE='Weichentabelle' + ZBS_DATENPUNKTTABELLE_1='ZBS-Datenpunkttabelle 1' + ZBS_DATENPUNKTTABELLE_2='ZBS-Datenpunkttabelle 2' + ZBS_DATENPUNKTTABELLE_3='ZBS-Datenpunkttabelle 3' + ZL_ANSTOSSTABELLE='ZL-Anstoßtabelle' + ZLV_BUSÜBERSICHTSPLAN='ZLV-Bus-Übersichtsplan' + ZN_TABELLE='ZN-Tabelle' + ZNÜBERSICHTSPLAN='ZN-Übersichtsplan' + ZUGSTRASSENTABELLE='Zugstraßentabelle' + ZWIESCHUTZWEICHENTABELLE='Zwieschutzweichentabelle' + + +class ENUMBahnsteig_Zugang_Art(str, Enum): + AUFZUG='Aufzug' + EMPFANGSGEBÄUDE='Empfangsgebäude' + RAMPE='Rampe' + SONSTIGE='sonstige' + TREPPE='Treppe' + T_RESI='tResi' + WEG='Weg' + + +class ENUMBalisenhalter(str, Enum): + BSS_85='BSS 85' + KOLSTER='Kolster' + SONSTIGE='sonstige' + UNBEKANNT='unbekannt' + VORTOKDOPPELT='Vortok doppelt' + VORTOKEINFACH='Vortok einfach' + + +class ENUMBandbreite(str, Enum): + _1_00_MBIT_S='100Mbit_s' + _1_0_MBIT_S='10Mbit_s' + _2_MBIT_S='2Mbit_s' + _6_4_KBIT_S='64kbit_s' + SONSTIGE='sonstige' + + +class ENUMBaubereich_Art(str, Enum): + AUSGEBAUT='ausgebaut' + BAUGLEIS='Baugleis' + GESPERRT='gesperrt' + SONSTIGE='sonstige' + + +class ENUMBaumprofil(str, Enum): + RECHTECK='Rechteck' + RUND='rund' + SONSTIGE='sonstige' + + +class ENUMBedien_Einricht_Bauart(str, Enum): + BEDIENPULT='Bedienpult' + BEDIENSAEULE='Bediensaeule' + BEDIENTABLETT='Bedientablett' + BEDIENTAFEL='Bedientafel' + SONSTIGE='sonstige' + STELLPULT='Stellpult' + STELLTISCH='Stelltisch' + + +class ENUMBedien_Platz_Art(str, Enum): + NOT_BPS='Not_BPS' + NOT_BPS_ABGESETZT='Not_BPS_abgesetzt' + SONSTIGE='sonstige' + STANDARD_BPS='Standard_BPS' + STANDARD_BPS_ABGESETZT='Standard_BPS_abgesetzt' + + +class ENUMBedienung_Art(str, Enum): + AUSSEN='aussen' + AUSSEN__AWANST='aussen_Awanst' + INNEN='innen' + + +class ENUMBefestigung_Art(str, Enum): + ANDERE='andere' + ANDERE_SONDERKONSTRUKTION='andere Sonderkonstruktion' + ARBEITSBUEHNE='Arbeitsbuehne' + BAHNSTEIG='Bahnsteig' + DACH='Dach' + FUNDAMENT='Fundament' + KONSTRUKTIONSTEIL='Konstruktionsteil' + OL__KETTENWERK='OL_Kettenwerk' + OL__MAST='OL_Mast' + PFAHL='Pfahl' + PFOSTEN_HOCH='Pfosten_hoch' + PFOSTEN_NIEDRIG='Pfosten_niedrig' + PRELLBOCK='Prellbock' + RAHMEN='Rahmen' + REGELANORDNUNG__MAST_HOCH='Regelanordnung_Mast_hoch' + REGELANORDNUNG__MAST_NIEDRIG='Regelanordnung_Mast_niedrig' + REGELANORDNUNG__SONSTIGE_HOCH='Regelanordnung_Sonstige_hoch' + REGELANORDNUNG__SONSTIGE_NIEDRIG='Regelanordnung_Sonstige_niedrig' + SCHIENENFUSS='Schienenfuss' + SIGNALAUSLEGER='Signalausleger' + SIGNALBRUECKE='Signalbruecke' + SONDERANORDNUNG__MAST_HOCH='Sonderanordnung_Mast_hoch' + SONDERANORDNUNG__MAST_NIEDRIG='Sonderanordnung_Mast_niedrig' + SONSTIGE='sonstige' + WAND='Wand' + + +class ENUMBeleuchtet(str, Enum): + ANGESTRAHLT='angestrahlt' + INNENBELEUCHTET='innenbeleuchtet' + NEIN='nein' + + +class ENUMBesonderes_Fahrwegelement(str, Enum): + ABKLAPPBARER_PRELLBOCK='abklappbarer Prellbock' + BEWEGLICHE_BRÜCKE='bewegliche Brücke' + SONSTIGE='sonstige' + WEHRKAMMERTOR='Wehrkammertor' + + +class ENUMBestandsrelevanz(str, Enum): + BESTANDSDATEN='Bestandsdaten' + BESTANDSDOKUMENTATION='Bestandsdokumentation' + DAUERHAFT='dauerhaft' + NEIN='nein' + + +class ENUMBetriebsfuehrung(str, Enum): + EINGL='eingl' + SONSTIGE='sonstige' + STICHSTRECKENBLOCK='Stichstreckenblock' + ZLB='ZLB' + ZWEIGL='zweigl' + ZWEIGL_GWB='zweigl_GWB' + + +class ENUMBezeichnung_Kennbuchstabe(str, Enum): + B='B' + G='G' + K='K' + W='W' + + +class ENUMBf_Kennung(str, Enum): + _2_0='20' + _2_1='21' + _2_2='22' + _2_3='23' + _2_4='24' + _5_0='50' + _5_1='51' + + +class ENUMBlock_Bauform(str, Enum): + AB_64='AB64' + AB_70='AB70' + BLOCKANPASSUNG_RB='Blockanpassung_RB' + DB__BLOCK='DB_Block' + ELEKTRONISCHER__BLOCK_EBL_2000='elektronischer_Block_EBL2000' + ESTW__ZENTRALBLOCK='ESTW_Zentralblock' + ESTW__ZENTRALBLOCK_MIT__SB__ABSCHLUSS_MCL_84='ESTW_Zentralblock_mit_Sb_Abschluss_MCL84' + ESTW__ZENTRALBLOCK_MIT__SB__ABSCHLUSS_SBL_60='ESTW_Zentralblock_mit_Sb_Abschluss_SBL60' + ESTW__ZENTRALBLOCK_MIT__SB__ABSCHLUSS_SBS_59='ESTW_Zentralblock_mit_Sb_Abschluss_SBS59' + ESTW__ZENTRALBLOCK_MIT__SB__ABSCHLUSS_SBS_60='ESTW_Zentralblock_mit_Sb_Abschluss_SBS60' + FELDERBLOCK='Felderblock' + FIRMENNEUTRALE__BLOCKSCHNITTSTELLE='firmenneutrale_Blockschnittstelle' + ILS_ADAPTER='ILS-Adapter' + SONSTIGE='sonstige' + SELBSTBLOCK_SBL_60='Selbstblock_SBL60' + SELBSTBLOCK_SBS_59='Selbstblock_SBS59' + SELBSTBLOCK_SBS_60='Selbstblock_SBS60' + RELAISBLOCK_RBII_60='Relaisblock_RBII60' + RELAISBLOCK_RBII_SP_64_B='Relaisblock_RBIISp64b' + RELAISBLOCK_RBIII_SP_68='Relaisblock_RBIIISp68' + ZENTRALBLOCK_ZSB_2000='Zentralblock_ZSB2000' + ZENTRALBLOCK_ZBS_600='Zentralblock_ZBS600' + ZENTRALBLOCK_ZBS_65='Zentralblock_ZBS65' + + +class ENUMBremsweg(str, Enum): + _1_000='1000' + _4_00='400' + _7_00='700' + SONSTIGE='sonstige' + + +class ENUMC_Wert(str, Enum): + _0='0' + _6_4='64' + _1_28='128' + _1_92='192' + + +class ENUMDP_ATO(str, Enum): + PRÄZISIONSHALT='Präzisionshalt' + PRÄZISIONSHALTHOCHPRÄZISE='Präzisionshalt hochpräzise' + SONSTIGE='sonstige' + + +class ENUMDP_Bezug_Funktional_Art(str, Enum): + MITTELBAR='mittelbar' + SONSTIGE='sonstige' + UNMITTELBAR='unmittelbar' + + +class ENUMDP_Link_Art(str, Enum): + GRUND='Grund' + HILFS='Hilfs' + SONSTIGE='sonstige' + + +class ENUMDP_Typ_Art(str, Enum): + PRIMAER='primaer' + SEKUNDAER='sekundaer' + + +class ENUMDP_Typ_ESG(str, Enum): + AA='AA' + AB='AB' + AEE='AE-E' + AEL='AE-L' + AGE='AG-E' + AGL='AG-L' + AH='AH' + AM='AM' + AR='AR' + AS='AS' + AT='AT' + ATS='ATS' + AVE='AV-E' + AVL='AV-L' + AW='AW' + AWP='AWP' + BMI='BMI' + BPI='BPI' + BRI='BRI' + BW='BW' + EA='EA' + EF='EF' + EH='EH' + EM='EM' + EP='EP' + GLI='GLI' + HG='HG' + HS='HS' + HV='HV' + LFS='LF-S' + LFV='LF-V' + LFI='LFI' + LGS='LG-S' + LGV='LG-V' + LRS='LR-S' + LRV='LR-V' + MG='MG' + MH='MH' + MP='MP' + MS='MS' + MV='MV' + NV='NV' + SK='SK' + SN='SN' + SP='SP' + ST='ST' + TEE='TE-E' + TEL='TE-L' + TGE='TG-E' + TGL='TG-L' + TME='TM-E' + TML='TM-L' + TP='TP' + TVE='TV-E' + TVL='TV-L' + VP='VP' + VS='VS' + VW='VW' + + +class ENUMDP_Typ_GNT(str, Enum): + B_1='B1' + B_2='B2' + B_3='B3' + SONSTIGE='sonstige' + + +class ENUMDP_Typ_Trans(str, Enum): + A='A' + SONSTIGE='sonstige' + TR='TR' + + +class ENUMDP_Typ_ZBS(str, Enum): + RBE='RBE' + RS='RS' + R_SP='RSp' + SONSTIGE='sonstige' + ZA='ZA' + Z_BB_P='ZBbP' + ZBP='ZBP' + ZF='ZF' + ZH='ZH' + ZHF='ZHF' + Z_LI_H='ZLiH' + Z_LI_V='ZLiV' + ZO='ZO' + ZRE__1='ZRE_1' + ZRE__2='ZRE_2' + ZRH='ZRH' + ZRHF='ZRHF' + ZR_LA='ZRLa' + ZRV='ZRV' + ZÜ='ZÜ' + ZV='ZV' + + +class ENUMDateityp(str, Enum): + JPG='jpg' + MPEG='mpeg' + PDF='pdf' + PNG='png' + TIF='tif' + + +class ENUMDurchfahrt(str, Enum): + ERLAUBT='erlaubt' + NUR_MIT__SH_1='nur_mit_Sh1' + VERBOTEN='verboten' + + +class ENUMETCS_Knoten_Art_Sonstige(str, Enum): + GLEISABSCHLUSS='Gleisabschluss' + GRENZE__AUSRUESTUNGSBEREICH='Grenze_Ausruestungsbereich' + KM__SPRUNG='Km_Sprung' + KR_W='KrW' + SONSTIGE='sonstige' + STRECKENENDE='Streckenende' + STRECKENWECHSEL='Streckenwechsel' + + +class ENUMEV_Art(str, Enum): + """ENUMEV_Art -- VNB: Versorgungsnetzbetreiber; NEA: Netzersatzaggregat + + """ + ANDERE__AUSSENELEMENTANSTEUERUNG='andere_Aussenelementansteuerung' + BATTERIE='Batterie' + BUE='BUE' + ESTW__ZENTRALEINHEIT='ESTW_Zentraleinheit' + FAHRLEITUNG='Fahrleitung' + FE_AK__400_V_DC_DIREKT='FeAk_400V_DC_direkt' + FE_AK__750_V_DC__ENERGIEBUS='FeAk_750V_DC_Energiebus' + LANDESNETZ_VNB='Landesnetz_VNB' + NOTSTROMAGGREGAT_NEA_STATIONAER='Notstromaggregat_NEA_stationaer' + NOTSTROMANSCHLUSS_NEA_MOBIL='Notstromanschluss_NEA_mobil' + SOLAR='Solar' + SONSTIGE='sonstige' + + +class ENUMEV_Modul_Art(str, Enum): + AUTONOM='autonom' + AUTONOMKLEIN='autonom klein' + NETZGEBUNDEN='netzgebunden' + PO_PV='PoP-V' + SONSTIGE='sonstige' + + +class ENUMEinzeldatei_Art(str, Enum): + HILFSDATEI='Hilfsdatei' + LADEDATEI='Ladedatei' + + +class ENUMElement_Lage(str, Enum): + ABSCHNITT='Abschnitt' + WEICHE='Weiche' + WEICHE_L='WeicheL' + WEICHE_R='WeicheR' + + +class ENUMEnergie_Eingang_Art(str, Enum): + BRENNSTOFFZELLE='Brennstoffzelle' + FAHRLEITUNG='Fahrleitung' + LANDESNETZ='Landesnetz' + SOLAR='Solar' + SONSTIGE='sonstige' + + +class ENUMFMA_Anschluss_Speiserichtung(str, Enum): + AUSSPEISUNG='Ausspeisung' + EINSPEISUNG='Einspeisung' + + +class ENUMFMA_Art(str, Enum): + ACHSZAEHLANLAGE='Achszaehlanlage' + FTGS='FTGS' + NF__GLEISSTROMKREIS='NF_Gleisstromkreis' + SONSTIGE='sonstige' + TF__GLEISSTROMKREIS='TF_Gleisstromkreis' + + +class ENUMFMA_Element_Art(str, Enum): + ANSCHLUSSSEILE='Anschlussseile' + DROSSELSPULE='Drosselspule' + ENDVERBINDER='Endverbinder' + ENDVERBINDER_MODIFIZIERT='Endverbinder_modifiziert' + KURZSCHLUSSVERBINDER='Kurzschlussverbinder' + POTENTIALAUSGLEICHSVERBINDER='Potentialausgleichsverbinder' + SONSTIGE='sonstige' + S__VERBINDER='S_Verbinder' + UEBERLAGERUNGSVERBINDER='Ueberlagerungsverbinder' + + +class ENUMFMA_Element_Seilanzahl(str, Enum): + _1='1' + _2='2' + _4='4' + SONSTIGE='sonstige' + + +class ENUMFMA_Komponente_Art(str, Enum): + ELEKTRISCHER__TRENNSTOSS='elektrischer_Trennstoss' + ISOLIERSTOSS_EINSCHIENIG='Isolierstoss_einschienig' + ISOLIERSTOSS_ZWEISCHIENIG='Isolierstoss_zweischienig' + + +class ENUMFT_GNT_Punktart(str, Enum): + _1='1' + _2='2' + _3='3' + + +class ENUMFT_Hinweis_Funktion(str, Enum): + ORTUNG='Ortung' + SONSTIGE='sonstige' + ZBS_ENDE='ZBS Ende' + + +class ENUMFT_ZBS_Typ(str, Enum): + NULL='Null' + RBE='RBE' + RS='RS' + R_SP='RSp' + SONSTIGE='sonstige' + ZA='ZA' + Z_BB_P='ZBbP' + ZBP='ZBP' + ZF='ZF' + ZH='ZH' + ZHF='ZHF' + Z_LI_H='ZLiH' + Z_LI_V='ZLiV' + ZO='ZO' + ZRE='ZRE' + ZRH='ZRH' + ZRHF='ZRHF' + ZR_LA='ZRLa' + ZRV='ZRV' + ZÜ='ZÜ' + ZV='ZV' + + +class ENUMFahrstrom(str, Enum): + _1_200_V_DC__STROMSCHIENE='1200V_DC_Stromschiene' + _1_500_V_DC='1500V_DC' + _1_5_K_V__16__7_HZ='15kV_16_7Hz' + _2_400_V_DC='2400V_DC' + _2_5_K_V__50_HZ='25kV_50Hz' + _3_000_V_DC='3000V_DC' + _7_50_V_DC__STROMSCHIENE='750V_DC_Stromschiene' + SONSTIGE='sonstige' + + +class ENUMFahrt_Ueber(str, Enum): + LINKS='links' + RECHTS='rechts' + SPITZE='Spitze' + + +class ENUMFiktives_Signal_Funktion(str, Enum): + FAP__START='FAP_Start' + FAP__ZIEL='FAP_Ziel' + RANGIER__START__ZIEL_OHNE__SIGNAL='Rangier_Start_Ziel_ohne_Signal' + SONSTIGE='sonstige' + ZUG__START__AWANST='Zug_Start_Awanst' + ZUG__START__MITTELWEICHE='Zug_Start_Mittelweiche' + ZUG__START_OHNE__SIGNAL='Zug_Start_ohne_Signal' + ZUG__ZIEL__AWANST='Zug_Ziel_Awanst' + ZUG__ZIEL_OHNE__SIGNAL='Zug_Ziel_ohne_Signal' + ZUG__ZIEL__STRECKE='Zug_Ziel_Strecke' + + +class ENUMFstr_Mittel_Art(str, Enum): + ZM='ZM' + ZUM='ZUM' + + +class ENUMFstr_Rangier_Art(str, Enum): + RR='RR' + RT='RT' + RTU='RTU' + RU='RU' + + +class ENUMFstr_Zug_Art(str, Enum): + ZH='ZH' + ZR='ZR' + ZT='ZT' + ZTU='ZTU' + ZU='ZU' + ZUH='ZUH' + ZZ='ZZ' + + +class ENUMFue_Schaltfall(str, Enum): + _1_2='12' + _2='2' + + +class ENUMFundament_Art(str, Enum): + GROSS='groß' + KLEIN='klein' + SONSTIGE='sonstige' + + +class ENUMFunktion_Ohne_Signal(str, Enum): + RS='RS' + SONSTIGE='sonstige' + ZS='ZS' + + +class ENUMFunktionalitaet_Anzeigefeld(str, Enum): + ANBIETE__ANNAHMEFELD='Anbiete_Annahmefeld' + MELDEORT='Meldeort' + SONSTIGE='sonstige' + SPIEGELFELD='Spiegelfeld' + STAPELFELD='Stapelfeld' + VORANZEIGEFELD='Voranzeigefeld' + WANDELFELD='Wandelfeld' + + +class ENUMFuss_Radweg_Art(str, Enum): + FUSS__RADWEG_ABGESETZT='Fuss_Radweg_abgesetzt' + FUSS__RADWEG_PARALLEL='Fuss_Radweg_parallel' + FUSSWEG_ABGESETZT='Fussweg_abgesetzt' + FUSSWEG_PARALLEL='Fussweg_parallel' + RADWEG_ABGESETZT='Radweg_abgesetzt' + RADWEG_PARALLEL='Radweg_parallel' + SONSTIGE='sonstige' + + +class ENUMFuss_Radweg_Seite(str, Enum): + BEIDSEITIG='beidseitig' + QUADRANT__1__2='Quadrant_1_2' + QUADRANT__3__4='Quadrant_3_4' + + +class ENUMGEO_Form(str, Enum): + BOGEN='Bogen' + BLOSSKURVE='Blosskurve' + BLOSS_EINFACH_GESCHWUNGEN='Bloss_einfach_geschwungen' + GERADE='Gerade' + KLOTHOIDE='Klothoide' + KM__SPRUNG='Km_Sprung' + POLYLINIE='Polylinie' + RICHTGERADE__KNICK_AM__ENDE__200_GON='Richtgerade_Knick_am_Ende_200_gon' + SONSTIGE='sonstige' + S__FORM_EINFACH_GESCHWUNGEN='S_Form_einfach_geschwungen' + UEBERGANGSBOGEN_S__FORM='Uebergangsbogen_S_Form' + + +class ENUMGEO_Koordinatensystem(str, Enum): + CR_0='CR0' + DR_0='DR0' + ER_0='ER0' + FR_0='FR0' + SONSTIGE='sonstige' + + +class ENUMGFK_Kategorie(str, Enum): + GROSS='gross' + KLEIN='klein' + MITTEL='mittel' + + +class ENUMGFR_Art(str, Enum): + AUTOMATISCH='automatisch' + MIT__BEDIENER='mit_Bediener' + SONSTIGE='sonstige' + + +class ENUMGUE_Anordnung(str, Enum): + _1_EA='1_EA' + _2_AE='2_AE' + + +class ENUMGUE_Bauart(str, Enum): + GPE__90_R='GPE_90R' + GUE__60='GUE_60' + PZ__80='PZ_80' + SONSTIGE='sonstige' + + +class ENUMGUE_Energieversorgung(str, Enum): + SOLAR='Solar' + SONSTIGE='sonstige' + STELLWERK='Stellwerk' + + +class ENUMGeltungsbereich(str, Enum): + DS='DS' + DV='DV' + S_BAHNB='S-Bahn B' + S_BAHNHH='S-Bahn HH' + + +class ENUMGleis_Abschluss_Art(str, Enum): + BREMSPRELLBOCK='Bremsprellbock' + DREHSCHEIBE='Drehscheibe' + FAEHRANLEGER='Faehranleger' + FESTPRELLBOCK='Festprellbock' + INFRASTRUKTURGRENZE='Infrastrukturgrenze' + KOPFRAMPE='Kopframpe' + SCHIEBEBUEHNE='Schiebebuehne' + SCHWELLENKREUZ='Schwellenkreuz' + SONSTIGE='sonstige' + + +class ENUMGleisart(str, Enum): + ANSCHLUSSGLEIS='Anschlussgleis' + DURCHGEHENDES__HAUPTGLEIS='Durchgehendes_Hauptgleis' + HAUPTGLEIS='Hauptgleis' + NEBENGLEIS='Nebengleis' + SONSTIGE='sonstige' + STRECKENGLEIS='Streckengleis' + + +class ENUMGleissperre_Betriebsart(str, Enum): + ABGELEGT='abgelegt' + AUFGELEGT='aufgelegt' + BETRIEB='Betrieb' + + +class ENUMGleissperre_Vorzugslage(str, Enum): + ABGELEGT='abgelegt' + AUFGELEGT='aufgelegt' + + +class ENUMGleissperrensignal(str, Enum): + INNENBELEUCHTET_BEIDSEITIG='innenbeleuchtet_beidseitig' + INNENBELEUCHTET_EINSEITIG='innenbeleuchtet_einseitig' + REFLEKTIEREND_BEIDSEITIG='reflektierend_beidseitig' + REFLEKTIEREND_EINSEITIG='reflektierend_einseitig' + + +class ENUMGsp_Lage(str, Enum): + ABGELEGT='abgelegt' + AUFGELEGT='aufgelegt' + + +class ENUMHSystem(str, Enum): + DBRH__2003='DBRH_2003' + DBRH__2016='DBRH_2016' + DHHN__12='DHHN_12' + DHHN__2016='DHHN_2016' + DHHN__85='DHHN_85' + DHHN__92='DHHN_92' + HN__56='HN_56' + HN__76='HN_76' + SONSTIGE='sonstige' + + +class ENUMHoehenlinie_Form(str, Enum): + """ENUMHoehenlinie_Form -- spa/WS 31.07.2018 + + """ + GERADE='Gerade' + PARABEL='Parabel' + WEICHENABZWEIG='Weichenabzweig' + + +class ENUMHp_Ersatzstecker(str, Enum): + """ENUMHp_Ersatzstecker -- \"sonstige\"==nur B + Ü + -Ersatzstecker sollen abgebildet werden; \"Abhaengigkeit_aufgehoben\"==Ersatzstecker an der Hp-Schnittstelle im Stellwerk hebt die Hp-Abh + ä + ngigkeit auf, sodass eine Fahrstra + ß + e + ü + ber den B + Ü + eingestellt werden kann, ohne dass der B + Ü + dabei ber + ü + cksichtigt wird + + """ + ABHAENGIGKEIT_AUFGEHOBEN='Abhaengigkeit_aufgehoben' + SONSTIGE='sonstige' + + +class ENUMIsolierung(str, Enum): + EINSCHIENIG_L='einschienig_L' + EINSCHIENIG_R='einschienig_R' + SONSTIGE='sonstige' + ZWEISCHIENIG='zweischienig' + + +class ENUMKabel_Art(str, Enum): + BALISENKABEL='Balisenkabel' + ENERGIE_400_VAC='Energie 400V AC' + ENERGIE_750_VDC='Energie 750V DC' + LWL='LWL' + SIGNALKABELADRIG='Signalkabel adrig' + SIGNALKABELKOMBINIERT='Signalkabel kombiniert' + SIGNALKABEL_STERNVIERER='Signalkabel Sternvierer' + SONSTIGE='sonstige' + + +class ENUMKabel_Verteilpunkt_Art(str, Enum): + KABELSCHRANK='Kabelschrank' + KABELVERTEILER='Kabelverteiler' + SONSTIGE='sonstige' + + +class ENUMKlassifizierung(str, Enum): + BUNDESTRASSE_AUSSERORTS='Bundestrasse_ausserorts' + BUNDESTRASSE_INNERORTS='Bundestrasse_innerorts' + FUSSWEG='Fussweg' + FUSSWEG__RADWEG='Fussweg_Radweg' + GEMEINDESTRASSE_AUSSERORTS='Gemeindestrasse_ausserorts' + GEMEINDESTRASSE_INNERORTS='Gemeindestrasse_innerorts' + KREISSTRASSE_AUSSERORTS='Kreisstrasse_ausserorts' + KREISSTRASSE_INNERORTS='Kreisstrasse_innerorts' + LANDSTRASSE_AUSSERORTS='Landstrasse_ausserorts' + LANDSTRASSE_INNERORTS='Landstrasse_innerorts' + PRIVATSTRASSE='Privatstrasse' + PRIVATWEG='Privatweg' + SONSTIGE='sonstige' + WEG__FORST__LAND='Weg_Forst_Land' + + +class ENUMKonstruktion(str, Enum): + FESTE__FAHRBAHN='Feste_Fahrbahn' + SCHUTZSCHIENE_LINKS='Schutzschiene_links' + SCHUTZSCHIENE_RECHTS='Schutzschiene_rechts' + SONSTIGE='sonstige' + + +class ENUMKoordinatensystem(str, Enum): + DB__REF='DB_Ref' + SONSTIGE='sonstige' + WGS_84='WGS84' + + +class ENUMLEU_Art(str, Enum): + LEUP='LEU-P' + VOLLLEU='Voll-LEU' + + +class ENUMLFUE_Impuls(str, Enum): + _1_ZU__40='1_zu_40' + DAUERIMPULS='Dauerimpuls' + SONSTIGE='sonstige' + + +class ENUMLST_Objekt_Art(str, Enum): + ANHANG='Anhang' + ATO__SEGMENT__PROFILE='ATO_Segment_Profile' + ATO__TIMING__POINT='ATO_Timing_Point' + ATO_TS__INSTANZ='ATO_TS_Instanz' + AUSSENELEMENTANSTEUERUNG='Aussenelementansteuerung' + BAHNSTEIG__ANLAGE='Bahnsteig_Anlage' + BAHNSTEIG__DACH='Bahnsteig_Dach' + BAHNSTEIG__KANTE='Bahnsteig_Kante' + BAHNSTEIG__ZUGANG='Bahnsteig_Zugang' + BALISE='Balise' + BEARBEITUNGSVERMERK='Bearbeitungsvermerk' + BEDIEN__ANRUECKABSCHNITT='Bedien_Anrueckabschnitt' + BEDIEN__ANZEIGE__ELEMENT='Bedien_Anzeige_Element' + BEDIEN__BEZIRK='Bedien_Bezirk' + BEDIEN__EINRICHTUNG__OERTLICH='Bedien_Einrichtung_Oertlich' + BEDIEN_GBT='Bedien_GBT' + BEDIEN__OBERFLAECHE='Bedien_Oberflaeche' + BEDIEN__OBERFLAECHE__BILD='Bedien_Oberflaeche_Bild' + BEDIEN__OERTLICHKEIT='Bedien_Oertlichkeit' + BEDIEN__PLATZ='Bedien_Platz' + BEDIEN__STANDORT='Bedien_Standort' + BEDIEN__ZENTRALE='Bedien_Zentrale' + BINAERDATEN='Binaerdaten' + BLOCK__ANLAGE='Block_Anlage' + BLOCK__ELEMENT='Block_Element' + BLOCK__STRECKE='Block_Strecke' + BUE__ANLAGE='BUE_Anlage' + BUE__ANLAGE__STRASSE='BUE_Anlage_Strasse' + BUE__ANLAGE_V='BUE_Anlage_V' + BUE__AUSSCHALTUNG='BUE_Ausschaltung' + BUE__BEDIEN__ANZEIGE__ELEMENT='BUE_Bedien_Anzeige_Element' + BUE__DECKENDES__SIGNAL__ZUORDNUNG='BUE_Deckendes_Signal_Zuordnung' + BUE__EINSCHALTUNG='BUE_Einschaltung' + BUE__EINSCHALTUNG__ZUORDNUNG='BUE_Einschaltung_Zuordnung' + BUE__GEFAHRRAUM__ECKPUNKT='BUE_Gefahrraum_Eckpunkt' + BUE__GLEISBEZOGENER__GEFAHRRAUM='BUE_Gleisbezogener_Gefahrraum' + BUE__KANTE='BUE_Kante' + BUE__KREUZUNGSPLAN='BUE_Kreuzungsplan' + BUE__SCHNITTSTELLE='BUE_Schnittstelle' + BUE__SPEZIFISCHES__SIGNAL='BUE_Spezifisches_Signal' + BUE_WS__FSTR__ZUORDNUNG='BUE_WS_Fstr_Zuordnung' + DATENPUNKT='Datenpunkt' + DATENPUNKT__LINK='Datenpunkt_Link' + ESTW__ZENTRALEINHEIT='ESTW_Zentraleinheit' + ETCS__KANTE='ETCS_Kante' + ETCS__KNOTEN='ETCS_Knoten' + ETCS__RICHTUNGSANZEIGE='ETCS_Richtungsanzeige' + ETCS__SIGNAL='ETCS_Signal' + ETCS_W__KR='ETCS_W_Kr' + EV__MODUL='EV_Modul' + FACHTELEGRAMM='Fachtelegramm' + FLA__FREIMELDE__ZUORDNUNG='Fla_Freimelde_Zuordnung' + FLA__SCHUTZ='Fla_Schutz' + FLA__ZWIESCHUTZ='Fla_Zwieschutz' + FMA__ANLAGE='FMA_Anlage' + FMA__ELEMENT='FMA_Element' + FMA__KOMPONENTE='FMA_Komponente' + FSTR__ABHAENGIGKEIT='Fstr_Abhaengigkeit' + FSTR__ANEINANDER='Fstr_Aneinander' + FSTR__ANEINANDER__ZUORDNUNG='Fstr_Aneinander_Zuordnung' + FSTR_D_WEG='Fstr_DWeg' + FSTR_D_WEG_W__KR='Fstr_DWeg_W_Kr' + FSTR__FAHRWEG='Fstr_Fahrweg' + FSTR__NICHTHALTFALL='Fstr_Nichthaltfall' + FSTR__RANGIER__FLA__ZUORDNUNG='Fstr_Rangier_Fla_Zuordnung' + FSTR__SIGNALISIERUNG='Fstr_Signalisierung' + FSTR__UMFAHRPUNKT='Fstr_Umfahrpunkt' + FSTR__ZUG__RANGIER='Fstr_Zug_Rangier' + FT__ANSCHALTBEDINGUNG='FT_Anschaltbedingung' + FT__FAHRWEG__TEIL='FT_Fahrweg_Teil' + GEO__KANTE='GEO_Kante' + GEO__KNOTEN='GEO_Knoten' + GEO__PUNKT='GEO_Punkt' + GESCHWINDIGKEITSPROFIL='Geschwindigkeitsprofil' + GFR__ANLAGE='GFR_Anlage' + GFR__ELEMENT='GFR_Element' + GFR__TRIPELSPIEGEL='GFR_Tripelspiegel' + GLEIS__ABSCHLUSS='Gleis_Abschluss' + GLEIS__ABSCHNITT='Gleis_Abschnitt' + GLEIS__ART='Gleis_Art' + GLEIS__BAUBEREICH='Gleis_Baubereich' + GLEIS__BEZEICHNUNG='Gleis_Bezeichnung' + GLEIS__FAHRBAHN='Gleis_Fahrbahn' + GLEIS__LICHTRAUM='Gleis_Lichtraum' + GLEIS__SCHALTGRUPPE='Gleis_Schaltgruppe' + HOEHENLINIE='Hoehenlinie' + HOEHENPUNKT='Hoehenpunkt' + KABEL='Kabel' + KABEL__VERTEILPUNKT='Kabel_Verteilpunkt' + LEU__ANLAGE='LEU_Anlage' + LEU__MODUL='LEU_Modul' + LEU__SCHALTKASTEN='LEU_Schaltkasten' + LIEFEROBJEKT='Lieferobjekt' + LUFT__TELEGRAMM='Luft_Telegramm' + MARKANTER__PUNKT='Markanter_Punkt' + NB='NB' + NB__BEDIEN__ANZEIGE__ELEMENT='NB_Bedien_Anzeige_Element' + NB__ZONE='NB_Zone' + NB__ZONE__ELEMENT='NB_Zone_Element' + NB__ZONE__GRENZE='NB_Zone_Grenze' + OERTLICHKEIT='Oertlichkeit' + PROG__DATEI__GRUPPE='Prog_Datei_Gruppe' + PZB__ELEMENT='PZB_Element' + PZB__ELEMENT__ZUORDNUNG='PZB_Element_Zuordnung' + PZB__ZUORDNUNG__SIGNAL='PZB_Zuordnung_Signal' + RBC='RBC' + REGELZEICHNUNG='Regelzeichnung' + REGELZEICHNUNG__PARAMETER='Regelzeichnung_Parameter' + SCHALTMITTEL__FSTR__ZUORDNUNG='Schaltmittel_Fstr_Zuordnung' + SCHALTMITTEL__ZUORDNUNG='Schaltmittel_Zuordnung' + SCHLOSS='Schloss' + SCHLOSSKOMBINATION='Schlosskombination' + SCHLUESSEL='Schluessel' + SCHLUESSELSPERRE='Schluesselsperre' + SCHRANKENANTRIEB='Schrankenantrieb' + SIGNAL='Signal' + SIGNAL__BEFESTIGUNG='Signal_Befestigung' + SIGNAL__FANK__ZUORDNUNG='Signal_Fank_Zuordnung' + SIGNAL__RAHMEN='Signal_Rahmen' + SIGNAL__SIGNALBEGRIFF='Signal_Signalbegriff' + SONSTIGER__PUNKT='Sonstiger_Punkt' + STELL__BEREICH='Stell_Bereich' + STELLELEMENT='Stellelement' + STRECKE='Strecke' + STRECKE__BREMSWEG='Strecke_Bremsweg' + STRECKE__PUNKT='Strecke_Punkt' + TECHNIK__STANDORT='Technik_Standort' + TECHNISCHER__BEREICH='Technischer_Bereich' + TECHNISCHER__PUNKT='Technischer_Punkt' + TOP__KANTE='TOP_Kante' + TOP__KNOTEN='TOP_Knoten' + TRASSE__KANTE='Trasse_Kante' + TRASSE__KNOTEN='Trasse_Knoten' + UEBERHOEHUNG='Ueberhoehung' + UEBERHOEHUNGSLINIE='Ueberhoehungslinie' + UEBERTRAGUNGSWEG='Uebertragungsweg' + UNTERBRINGUNG='Unterbringung' + VERKEHRSZEICHEN='Verkehrszeichen' + W__KR__ANLAGE='W_Kr_Anlage' + W__KR__GSP__ELEMENT='W_Kr_Gsp_Element' + W__KR__GSP__KOMPONENTE='W_Kr_Gsp_Komponente' + WEICHENLAUFKETTE='Weichenlaufkette' + WEICHENLAUFKETTE__ZUORDNUNG='Weichenlaufkette_Zuordnung' + ZBS__SCHUTZSTRECKE='ZBS_Schutzstrecke' + ZBS__SIGNAL='ZBS_Signal' + ZL='ZL' + ZL_DLP__ABSCHNITT='ZL_DLP_Abschnitt' + ZL_DLP__FSTR='ZL_DLP_Fstr' + ZL__FSTR='ZL_Fstr' + ZL__FSTR__ANSTOSS='ZL_Fstr_Anstoss' + ZL__SIGNALGRUPPE='ZL_Signalgruppe' + ZL__SIGNALGRUPPE__ZUORDNUNG='ZL_Signalgruppe_Zuordnung' + ZLV__BUS='ZLV_Bus' + ZLV__BUS__BESONDERE__ANLAGE='ZLV_Bus_Besondere_Anlage' + ZLV__BUS_US__ZUORDNUNG='ZLV_Bus_US_Zuordnung' + ZN='ZN' + ZN__AKUSTIK='ZN_Akustik' + ZN__ANZEIGEFELD='ZN_Anzeigefeld' + ZN__FORTSCHALT__KRITERIUM='ZN_Fortschalt_Kriterium' + ZN__TELEGRAMM__84__ZUORDNUNG='ZN_Telegramm_84_Zuordnung' + ZN__TELEGRAMM__85__ZUORDNUNG='ZN_Telegramm_85_Zuordnung' + ZN__UNTERSTATION='ZN_Unterstation' + ZN_ZBS='ZN_ZBS' + ZUB__BEREICHSGRENZE='ZUB_Bereichsgrenze' + ZUB__STRECKENEIGENSCHAFT='ZUB_Streckeneigenschaft' + ZUGEINWIRKUNG='Zugeinwirkung' + + +class ENUMLagerung(str, Enum): + BEIDSEITIG='beidseitig' + EINSEITIG='einseitig' + + +class ENUMLenkziffernstellen(str, Enum): + _0='0' + _1='1' + + +class ENUMLichtraumprofil(str, Enum): + _1_SMDR='1SMDR' + GC='GC' + S_BAHN__80003='SBahn_80003' + S_BAHN__BERLIN='SBahn_Berlin' + SONSTIGE='sonstige' + + +class ENUMLinksRechts(str, Enum): + """ENUMLinksRechts -- Attribute dieses Basistyps k + ö + nnen den ENUM-Wert 'links' oder 'rechts' annehmen. + + """ + LINKS='links' + RECHTS='rechts' + + +class ENUMM_LEVELTR(str, Enum): + L_0='L0' + L_1='L1' + L_2='L2' + L_3='L3' + SONSTIGE='sonstige' + STM='STM' + + +class ENUMMassnahme(str, Enum): + ERSATZSCHUTZ='Ersatzschutz' + VERSCHLUSS='Verschluss' + VERSCHLUSS__ERSATZSCHUTZ='Verschluss_Ersatzschutz' + VERZICHT='Verzicht' + + +class ENUMMedium_Art(str, Enum): + KUPFER_ADO_8='Kupfer_ADO8' + KUPFER_KAG='Kupfer_KAG' + KUPFER_LSA__PLUS='Kupfer_LSA_Plus' + KUPFER_RJ_45='Kupfer_RJ45' + LWL_DIN='LWL_DIN' + LWL_E_2000='LWL_E2000' + LWL_SC_LC='LWL_SC_LC' + SONSTIGE='sonstige' + + +class ENUMMelder(str, Enum): + ANFORDERUNGSEMPFANG='Anforderungsempfang' + ANZEIGE__BETRIEBSZUSTAND='Anzeige_Betriebszustand' + LEUCHTMELDER_ZP__10='Leuchtmelder_ZP_10' + LEUCHTMELDER_ZP__9='Leuchtmelder_ZP_9' + SIGNALANFORDERUNG_EMPFANGEN='Signalanforderung_empfangen' + SIGNALFAHRTMELDER='Signalfahrtmelder' + SIGNALHALTMELDER='Signalhaltmelder' + SONSTIGE='sonstige' + SPERRMELDER='Sperrmelder' + VORBEREITUNGSMELDUNG='Vorbereitungsmeldung' + WEICHENMELDER='Weichenmelder' + ZIELMELDER='Zielmelder' + + +class ENUMMessfehler(str, Enum): + _2_BIS__3='2_bis_3' + _3_BIS__5='3_bis_5' + _5_BIS__7='5_bis_7' + KLEINER__4='kleiner_4' + KLEINER__5='kleiner_5' + + +class ENUMMontage_Ausgleichsgewichte(str, Enum): + BEIDSEITIG='beidseitig' + EINSEITIG='einseitig' + + +class ENUMNB_Art(str, Enum): + NB_G='NB_G' + NB_R='NB_R' + NB_W='NB_W' + + +class ENUMNB_Grenze_Art(str, Enum): + ESTW__BEREICH='ESTW_Bereich' + NB__ZONE='NB_Zone' + ORTSSTELLBEREICH='Ortsstellbereich' + + +class ENUMNB_Rueckgabevoraussetzung(str, Enum): + ABGELEGT='abgelegt' + AUFGELEGT='aufgelegt' + HP__0='Hp_0' + KEINE='keine' + KENNLICHT='Kennlicht' + LINKS='links' + RECHTS='rechts' + SCHLUESSEL_EINGESCHLOSSEN='Schluessel_eingeschlossen' + + +class ENUMNB_Verhaeltnis_Besonders(str, Enum): + UEBERLAPPEND='ueberlappend' + VEREINIGT='vereinigt' + + +class ENUMNID_STM(str, Enum): + ATB='ATB' + CROCODILE='Crocodile' + EBICAB_900_POLAND='EBICAB 900 (Poland)' + HVB='HVB' + INDUSI='INDUSI' + LS='LS' + MEMORII='MEMOR II+' + PZBLZB='PZB/LZB' + RPS='RPS' + SHP='SHP' + SONSTIGE='sonstige' + TBL_1='TBL 1' + TBL_1_1='TBL 1+' + TBL_2_3='TBL 2/3' + TVM='TVM' + ZUB_121_SIGNUM='ZUB121/Signum' + ZUB_123='ZUB123' + + +class ENUMNetz_Art(str, Enum): + GESCHLOSSEN='geschlossen' + KISA='KISA' + OFFEN='offen' + SBI_INTERN='SBI_intern' + SG='SG' + SONSTIGE='sonstige' + + +class ENUMOberflaeche_Bildart(str, Enum): + BERUE='BERUE' + LUPE='Lupe' + SONSTIGE='sonstige' + + +class ENUMObjektzustand_Besonders(str, Enum): + AM__STANDORT_ANGESTEUERT_NICHT_GUELTIG='am_Standort_angesteuert_nicht_gueltig' + AM__STANDORT_ANGESTEUERT_UNGUELTIG_ABGEDECKT='am_Standort_angesteuert_ungueltig_abgedeckt' + AM__STANDORT_NICHT_ANGESTEUERT_UNGUELTIG='am_Standort_nicht_angesteuert_ungueltig' + AM__STANDORT_NICHT_ANGESTEUERT_VORBEREITEND='am_Standort_nicht_angesteuert_vorbereitend' + SONSTIGE='sonstige' + STANDORTFERN_ANGESTEUERT_UNGUELTIG='standortfern_angesteuert_ungueltig' + STANDORTFERN_NICHT_ANGESTEUERT_UNGUELTIG='standortfern_nicht_angesteuert_ungueltig' + + +class ENUMOertlichkeit_Art(str, Enum): + ABZW='Abzw' + ABZW_ANST='Abzw Anst' + ABZW_AWANST='Abzw Awanst' + ANST='Anst' + ANST_BK='Anst Bk' + AWANST='Awanst' + AWANST_BK='Awanst Bk' + BF='Bf' + BF_ABZW='Bf Abzw' + BFT='Bft' + BFT_ABZW='Bft Abzw' + BK='Bk' + BSO='BSO' + BZ='BZ' + DKST='Dkst' + GP='Gp' + HP='Hp' + HP_ABZW='Hp Abzw' + HP_ABZW_ANST='Hp Abzw Anst' + HP_ABZW_AWANST='Hp Abzw Awanst' + HP_ANST='Hp Anst' + HP_ANST_BK='Hp Anst Bk' + HP_AWANST='Hp Awanst' + HP_AWANST_BK='Hp Awanst Bk' + HP_BFT='Hp Bft' + HP_BK='Hp Bk' + HP_DKST='Hp Dkst' + HPÜST='Hp Üst' + HPÜST_ANST='Hp Üst Anst' + HPÜST_AWANST='Hp Üst Awanst' + L_GR='LGr' + NE_ABZW='NE-Abzw' + NE_ANST='NE-Anst' + NE_AWANST='NE-Awanst' + NE_BF='NE-Bf' + NE_BFT='NE-Bft' + NE_BFT_ABZW='NE-Bft Abzw' + NE_BK='NE-Bk' + NE_GP='NE-Gp' + NE_HP='NE-Hp' + NE_HP_ABZW='NE-Hp Abzw' + NE_HP_ANST='NE-Hp Anst' + NE_HP_AWANST='NE-Hp Awanst' + NE_HP_BK='NE-Hp Bk' + NEL_GR='NE-LGr' + NERB_GR='NE-RBGr' + NEÜST='NE-Üst' + PD_GR='PDGr' + RB_GR='RBGr' + SBK='Sbk' + SONSTIGE='sonstige' + STRW='Strw' + ÜST='Üst' + ÜST_ANST='Üst Anst' + ÜST_AWANST='Üst Awanst' + VP_ABZW='vp-Abzw' + VP_ANST='vp-Anst' + VP_AWANST='vp-Awanst' + VP_BF='vp-Bf' + VP_BFT='vp-Bft' + VP_BK='vp-Bk' + VP_HP='vp-Hp' + VP_HP_ABZW='vp-Hp Abzw' + VP_HP_ANST='vp-Hp Anst' + VP_HP_ANST_BK='vp-Hp Anst Bk' + VP_HP_AWANST='vp-Hp Awanst' + VPL_GR='vp-LGr' + VPRB_GR='vp-RBGr' + + +class ENUMOptik_Symbol(str, Enum): + FUSSGAENGER='Fussgaenger' + FUSSGAENGER__RADFAHRER='Fussgaenger_Radfahrer' + PFEIL_LINKS='Pfeil_links' + PFEIL_RECHTS='Pfeil_rechts' + RADFAHRER='Radfahrer' + SONSTIGE='sonstige' + + +class ENUMPZB_Art(str, Enum): + _1_000__2000__HZ='1000_2000_Hz' + _1_000__HZ='1000_Hz' + _2_000__HZ='2000_Hz' + _5_00__HZ='500_Hz' + + +class ENUMPlan_Quelle(str, Enum): + ERSATZTRASSIERUNG='Ersatztrassierung' + GIS='GIS' + GND='GND' + GND_AUTOKORR='GND_autokorr' + GND_MANKORR='GND_mankorr' + IVL='Ivl' + IVMG='Ivmg' + KOPIE='Kopie' + NEUTRASSIERUNG='Neutrassierung' + PLANUNG='Planung' + PT_2='PT 2' + SONSTIGE='sonstige' + VERMESSUNG='Vermessung' + + +class ENUMPlanung_E_Art(str, Enum): + ATO='ATO' + BAUZUSTAND='Bauzustand' + BESTANDSDIGITALISIERUNG__GEO__TOPO='Bestandsdigitalisierung_Geo_Topo' + BESTANDSDIGITALISIERUNG_LST='Bestandsdigitalisierung_LST' + BESTANDSKORREKTUR='Bestandskorrektur' + GEODATEN='Geodaten' + REVISION='Revision' + REVISION_LETZTE__PLANUNG_E='Revision_letzte_Planung_E' + SONSTIGE='sonstige' + VERBINDUNGSKNOTEN='Verbindungsknoten' + VERSIONSHEBUNG='Versionshebung' + VORAUSSICHTLICH='Voraussichtlich' + + +class ENUMPlanung_G_Art_Besonders(str, Enum): + BESTANDSDIGITALISIERUNG__GEO__TOPO='Bestandsdigitalisierung_Geo_Topo' + BESTANDSDIGITALISIERUNG_LST='Bestandsdigitalisierung_LST' + GEODATEN='Geodaten' + SONSTIGE='sonstige' + VERBINDUNGSKNOTEN='Verbindungsknoten' + VERSIONSHEBUNG='Versionshebung' + + +class ENUMPlanung_Phase(str, Enum): + EP='EP' + PT__1='PT_1' + PT__2='PT_2' + SONSTIGE='sonstige' + VP='VP' + + +class ENUMPosition(str, Enum): + AM='am' + HINTER='hinter' + VOR='vor' + + +class ENUMPruefsumme_Art(str, Enum): + """ENUMPruefsumme_Art -- Art der verwendeten Pr + ü + fsumme (z. B. MD4). + + """ + MD_4='MD4' + MD_5='MD5' + SHA_1='SHA1' + SHA_256='SHA256' + + +class ENUMRahmen_Art(str, Enum): + BEZEICHNUNGSSCHILD='Bezeichnungsschild' + BLECHTAFEL='Blechtafel' + KERAMIKKOERPER='Keramikkoerper' + SCHIRM='Schirm' + SONSTIGE='sonstige' + ZUSATZANZEIGER='Zusatzanzeiger' + + +class ENUMRangier_Gegenfahrtausschluss(str, Enum): + INSELGLEIS_FREI='Inselgleis_frei' + JA='ja' + NEIN='nein' + + +class ENUMRegionalbereich(str, Enum): + MITTE='Mitte' + NORD='Nord' + OST='Ost' + SÜD='Süd' + SÜDOST='Südost' + SÜDWEST='Südwest' + WEST='West' + + +class ENUMRichtungspfeil(str, Enum): + LINKSWEISEND='linksweisend' + RECHTSWEISEND='rechtsweisend' + RICHTUNG__GEFAHRENSTELLE_LINKS='Richtung_Gefahrenstelle_links' + RICHTUNG__GEFAHRENSTELLE_RECHTS='Richtung_Gefahrenstelle_rechts' + SONSTIGE='sonstige' + + +class ENUMRolle(str, Enum): + GEO__PLANER='GEO_Planer' + GIS__DATEN='GIS_Daten' + LST__FACHPLANER='LST_Fachplaner' + SONSTIGE='sonstige' + + +class ENUMSBE(str, Enum): + _1='1' + _2='2' + + +class ENUMSTZ(str, Enum): + _2='2' + _4='4' + + +class ENUMSchalter(str, Enum): + SCHALTER_EIN_AUS='Schalter_ein_aus' + SCHLUESSELSCHALTER_DB__21='Schluesselschalter_DB_21' + SCHLUESSELSCHALTER__VIERKANT='Schluesselschalter_Vierkant' + SONSTIGE='sonstige' + VORBEREITUNGSMELDUNG='Vorbereitungsmeldung' + ZUSTIMMUNGSTASTE='Zustimmungstaste' + + +class ENUMSchaltmittel_Funktion(str, Enum): + ARM='ARM' + AWANST='Awanst' + EIN_BUE='Ein_BUE' + HALTFALL='Haltfall' + RAEUMUNGSPRUEFUNG='Raeumungspruefung' + SONSTIGE='sonstige' + ZL__ANSTOSS='ZL_Anstoss' + + +class ENUMSchaltung(str, Enum): + _3__DRAHTSCHALTUNG='3_Drahtschaltung' + _6__DRAHTSCHALTUNG='6_Drahtschaltung' + _9__DRAHTSCHALTUNG='9_Drahtschaltung' + SONSTIGE='sonstige' + + +class ENUMSchienenprofil(str, Enum): + R_65='R65' + S_49='S49' + S_54='S54' + SONSTIGE='sonstige' + UIC_60='UIC60' + + +class ENUMSchloss_Art(str, Enum): + HV__73='HV_73' + PRUEFERSCHIEBER_ABSCHLIESSBAR='Prueferschieber_abschliessbar' + RIEGELHANDSCHLOSS='Riegelhandschloss' + SONSTIGE='sonstige' + WEICHENSCHLOSS='Weichenschloss' + ZUNGENSPERRE='Zungensperre' + + +class ENUMSchluessel_Bartform(str, Enum): + A='a' + B='b' + C='c' + D='d' + E='e' + F='f' + G='g' + H='h' + I='i' + K='k' + L='l' + M='m' + N='n' + O='o' + P='p' + Q='q' + R='r' + S='s' + T='t' + U='u' + V='v' + W='w' + X='x' + Z='z' + + +class ENUMSchluessel_Gruppe(str, Enum): + _0='0' + _1='1' + _2='2' + _3='3' + _4='4' + _5='5' + + +class ENUMSignal_Art(str, Enum): + ANDERE='andere' + HAUPTSIGNAL='Hauptsignal' + HAUPTSPERRSIGNAL='Hauptsperrsignal' + HAUPTSPERRSIGNAL_NE_14_LS='Hauptsperrsignal Ne 14 Ls' + MEHRABSCHNITTSSIGNAL='Mehrabschnittssignal' + MEHRABSCHNITTSSPERRSIGNAL='Mehrabschnittssperrsignal' + SPERRSIGNAL='Sperrsignal' + VORSIGNAL='Vorsignal' + VORSIGNALWIEDERHOLER='Vorsignalwiederholer' + ZUGDECKUNGSSIGNAL='Zugdeckungssignal' + + +class ENUMSignal_Befestigungsart(str, Enum): + ANDERE='andere' + FUNDAMENT='Fundament' + MAST='Mast' + SIGNALAUSLEGER='Signalausleger' + SIGNALBRUECKE='Signalbruecke' + SONDERKONSTRUKTION='Sonderkonstruktion' + + +class ENUMSignal_Charakter(str, Enum): + AUSFAHR__SIGNAL='Ausfahr_Signal' + AUSFAHR__SIGNAL_NACHGELAGERT='Ausfahr_Signal_nachgelagert' + BLOCK__SIGNAL='Block_Signal' + EINFAHR__SIGNAL='Einfahr_Signal' + NACHRUECK__SIGNAL='Nachrueck_Signal' + + +class ENUMSignal_Funktion(str, Enum): + ALLEINSTEHENDES__ZUSATZSIGNAL='Alleinstehendes_Zusatzsignal' + ANDERE='andere' + AUSFAHR__SIGNAL='Ausfahr_Signal' + AUSFAHR__ZWISCHEN__SIGNAL='Ausfahr_Zwischen_Signal' + BLOCK__SIGNAL='Block_Signal' + BUE__UEBERWACHUNGSSIGNAL='BUE_Ueberwachungssignal' + DECKUNGS__SIGNAL='Deckungs_Signal' + EINFAHR__AUSFAHR__SIGNAL='Einfahr_Ausfahr_Signal' + EINFAHR__BLOCK__SIGNAL='Einfahr_Block_Signal' + EINFAHR__SIGNAL='Einfahr_Signal' + GRUPPENAUSFAHR__GRUPPENZWISCHEN__SIGNAL='Gruppenausfahr_Gruppenzwischen_Signal' + GRUPPENAUSFAHR__SIGNAL='Gruppenausfahr_Signal' + GRUPPENZWISCHEN__SIGNAL='Gruppenzwischen_Signal' + NACHRUECK__SIGNAL='Nachrueck_Signal' + VORSIGNAL__VORSIGNALWIEDERHOLER='Vorsignal_Vorsignalwiederholer' + ZUGDECKUNGS__SIGNAL='Zugdeckungs_Signal' + ZUG__ZIEL__SIGNAL='Zug_Ziel_Signal' + ZWISCHEN__SIGNAL='Zwischen_Signal' + + +class ENUMSignalsystem(str, Enum): + HL='Hl' + HV='HV' + KS='Ks' + SONSTIGE='sonstige' + SV='SV' + + +class ENUMSonderanlage_Lage(str, Enum): + BEFAHRBAR='befahrbar' + NICHTBEFAHRBAR='nicht befahrbar' + SONSTIGE='sonstige' + + +class ENUMSonstige_Zulaessige_Anordnung(str, Enum): + ANORDNUNG_DES__SIGNALS_RECHTS_AM__GLEIS='Anordnung_des_Signals_rechts_am_Gleis' + ANORDNUNG_DES__SIGNALS_RECHTS_AM__GLEIS_OHNE__SCHACHBRETTTAFEL='Anordnung_des_Signals_rechts_am_Gleis_ohne_Schachbretttafel' + NICHTGELTUNG_FUER__FAHRTEN_AUF_DEM__GEGENGLEIS='Nichtgeltung_fuer_Fahrten_auf_dem_Gegengleis' + + +class ENUMSpannung_Art(str, Enum): + AC_110='AC 110' + AC_230='AC 230' + AC_400='AC 400' + DC_110='DC 110' + DC_136='DC 136' + DC_24='DC 24' + DC_36='DC 36' + DC_48='DC 48' + DC_60='DC 60' + + +class ENUMStandortangabe_Balisenschild(str, Enum): + SIGNAL='Signal' + SIGNAL_GLEIS='Signal Gleis' + STRECKENKILOMETER_GLEIS='Streckenkilometer Gleis' + STRECKESONSTIGER_STANDORT='Strecke sonstiger Standort' + + +class ENUMStrecke_Art(str, Enum): + HAUPTBAHN='Hauptbahn' + NEBENBAHN='Nebenbahn' + + +class ENUMStrecke_Richtung(str, Enum): + A='a' + B='b' + SONSTIGE='sonstige' + + +class ENUMStreuscheibe_Art(str, Enum): + HG='HG' + HN='HN' + HRL='HRL' + LED='LED' + ORL='ORL' + SONSTIGE='sonstige' + VRL='VRL' + + +class ENUMStreuscheibe_Betriebsstellung(str, Enum): + """ENUMStreuscheibe_Betriebsstellung -- HGx_gw=Erg + ä + nzung gewendete Streuscheiben (Information zunehmend von SBI gefordert) + + """ + HG_1='HG1' + HG_1_GW='HG1_gw' + HG_2='HG2' + HG_2_GW='HG2_gw' + HG_3='HG3' + HG_3_GW='HG3_gw' + HG_4='HG4' + HG_4_GW='HG4_gw' + HL='HL' + HR='HR' + OL='OL' + OR='OR' + SONSTIGE='sonstige' + VL='VL' + VR='VR' + + +class ENUMSymbol_Lf_1(str, Enum): + _0_5='0,5' + _1='1' + _2='2' + _3='3' + _4='4' + _5='5' + _6='6' + _7='7' + _8='8' + _9='9' + _1_0='10' + _1_1='11' + _1_2='12' + _1_3='13' + _1_4='14' + _1_5='15' + + +class ENUMSymbol_Lf_1_2(str, Enum): + _0_5='0,5' + _1='1' + _2='2' + _3='3' + _4='4' + _5='5' + _6='6' + _7='7' + _8='8' + _9='9' + _1_0='10' + _1_1='11' + _1_2='12' + _1_3='13' + _1_4='14' + _1_5='15' + + +class ENUMSymbol_Lf_1_Wdh(str, Enum): + _0_5='0,5' + _1='1' + _2='2' + _3='3' + _4='4' + _5='5' + _6='6' + _7='7' + _8='8' + _9='9' + _1_0='10' + _1_1='11' + _1_2='12' + _1_3='13' + _1_4='14' + _1_5='15' + + +class ENUMSymbol_Lf_4_DS(str, Enum): + _0_5='0,5' + _1='1' + _2='2' + _3='3' + _4='4' + _5='5' + _6='6' + _7='7' + _8='8' + _9='9' + _1_0='10' + _1_1='11' + _1_2='12' + _1_3='13' + _1_4='14' + _1_5='15' + + +class ENUMSymbol_Lf_4_DV(str, Enum): + _0='0' + _1_0='10' + _2_0='20' + _3_0='30' + _4_0='40' + _5_0='50' + _6_0='60' + _7_0='70' + _8_0='80' + _9_0='90' + _1_00='100' + _1_10='110' + _1_20='120' + _1_30='130' + _1_40='140' + _1_50='150' + + +class ENUMSymbol_Lf_6(str, Enum): + _1='1' + _2='2' + _3='3' + _4='4' + _5='5' + _6='6' + _7='7' + _8='8' + _9='9' + _1_0='10' + _1_1='11' + _1_2='12' + _1_3='13' + _1_4='14' + _1_5='15' + + +class ENUMSymbol_Lf_7(str, Enum): + _1='1' + _2='2' + _3='3' + _4='4' + _5='5' + _6='6' + _7='7' + _8='8' + _9='9' + _1_0='10' + _1_1='11' + _1_2='12' + _1_3='13' + _1_4='14' + _1_5='15' + _1_6='16' + + +class ENUMSymbol_Zs_2(str, Enum): + A='A' + B='B' + C='C' + D='D' + E='E' + F='F' + H='H' + I='I' + J='J' + K='K' + L='L' + M='M' + N='N' + O='O' + P='P' + R='R' + S='S' + T='T' + U='U' + V='V' + W='W' + X='X' + Z='Z' + + +class ENUMSymbol_Zs_2v(str, Enum): + A='A' + B='B' + C='C' + D='D' + E='E' + F='F' + H='H' + I='I' + J='J' + K='K' + L='L' + M='M' + N='N' + O='O' + P='P' + R='R' + S='S' + T='T' + U='U' + V='V' + W='W' + X='X' + Z='Z' + + +class ENUMSymbol_Zs_3(str, Enum): + _1='1' + _2='2' + _3='3' + _4='4' + _5='5' + _6='6' + _7='7' + _8='8' + _9='9' + _1_0='10' + _1_1='11' + _1_2='12' + _1_3='13' + _1_4='14' + _1_5='15' + _1_6='16' + + +class ENUMSymbol_Zs_3v(str, Enum): + _2='2' + _3='3' + _4='4' + _5='5' + _6='6' + _7='7' + _8='8' + _9='9' + _1_0='10' + _1_1='11' + _1_2='12' + _1_3='13' + _1_4='14' + _1_5='15' + + +class ENUMSystemhoehe(str, Enum): + _3_8_CM='38_cm' + _5_5_CM='55_cm' + _7_6_CM='76_cm' + _9_6_CM='96_cm' + SONSTIGE='sonstige' + + +class ENUMTB_Art(str, Enum): + DURCHLASS='Durchlass' + BAHNSTEIGABSENKUNG='Bahnsteigabsenkung' + EISENBAHNKREUZUNGSBAUWERK='Eisenbahnkreuzungsbauwerk' + EISENBAHNUEBERFUEHRUNG='Eisenbahnueberfuehrung' + EISENBAHNUNTERFUEHRUNG='Eisenbahnunterfuehrung' + SCHUTZWAND_LINKS='Schutzwand_links' + SCHUTZWAND_RECHTS='Schutzwand_rechts' + SONSTIGE='sonstige' + TUNNEL='Tunnel' + UEBERFUEHRUNG__STRASSE__WEG='Ueberfuehrung_Straße_Weg' + + +class ENUMTOP_Anschluss(str, Enum): + ENDE='Ende' + ENDE__BESTDIG='Ende_Bestdig' + LINKS='Links' + MERIDIANSPRUNG='Meridiansprung' + RB__GRENZE='RB_Grenze' + RECHTS='Rechts' + SCHNITT='Schnitt' + SONSTIGE='sonstige' + SPITZE='Spitze' + STRECKENWECHSEL='Streckenwechsel' + VERBINDUNG='Verbindung' + + +class ENUMTP_Art(str, Enum): + BAHNSTEIGMONITOR='Bahnsteigmonitor' + BAHNSTEIGSPIEGEL='Bahnsteigspiegel' + GEBAEUDE='Gebaeude' + MAST='Mast' + SONSTIGE='sonstige' + ZUGHALTESENSOR='Zughaltesensor' + + +class ENUMTSO_Teilsystem_Art(str, Enum): + DOKUZMAZL='Doku ZMA ZL' + MDM='MDM' + RBC='RBC' + TRANSFERNETZMITSILST='Transfernetz mit SI LST' + ZE='ZE' + + +class ENUMTaste(str, Enum): + AUSFAHRGRUPPENTASTE_ZP__9__10='Ausfahrgruppentaste_ZP_9_10' + BEDIENTASTE_ZP__10='Bedientaste_ZP_10' + BEDIENTASTE_ZP__9='Bedientaste_ZP_9' + FAHRSTRASSENANFORDERUNG='Fahrstrassenanforderung' + FAHRSTRASSENZUSTIMMUNG='Fahrstrassenzustimmung' + FREIMELDETASTE='Freimeldetaste' + GRUPPENTASTE='Gruppentaste' + HILFSTASTE='Hilfstaste' + LOESCHTASTE='Loeschtaste' + RUECKGABETASTE='Rueckgabetaste' + SCHLUESSELTASTE_DB__21='Schluesseltaste_DB_21' + SCHLUESSELTASTE__STRECKENSCHLUESSEL='Schluesseltaste_Streckenschluessel' + SCHLUESSELTASTE__VIERKANT='Schluesseltaste_Vierkant' + SIGNALANFORDERUNG='Signalanforderung' + SONSTIGE='sonstige' + UMSTELLTASTE='Umstelltaste' + WEICHENAUFFAHRTASTE='Weichenauffahrtaste' + ZIELTASTE='Zieltaste' + ZUGFERTIGMELDETASTE='Zugfertigmeldetaste' + ZUGSCHLUSSMELDUNG='Zugschlussmeldung' + ZUSTIMMUNGSANFORDERUNG='Zustimmungsanforderung' + + +class ENUMTechnik_Art(str, Enum): + ANALOG_FSK='analog_FSK' + ETHERNET='Ethernet' + G__703='G_703' + SBI_INTERN__KUPFERKABEL='SBI_intern_Kupferkabel' + SBI_INTERN_LWL__FASER='SBI_intern_LWL_Faser' + SONSTIGE='sonstige' + + +class ENUMTrasse_Kante_Art(str, Enum): + """ENUMTrasse_Kante_Art -- \"frei\"==Kabelverlegung ohne Kabeltiefbau (z. B. Verlegung auf Schotter, Verbindung benachbarter Schaltschr + ä + nke) + + """ + ERDTRASSE='Erdtrasse' + FREI='frei' + KABELGESTELL__TUNNEL='Kabelgestell_Tunnel' + LUFTTRASSE='Lufttrasse' + ROHRTRASSE='Rohrtrasse' + SONSTIGE='sonstige' + TROGTRASSE='Trogtrasse' + TROGTRASSE_AUFGESTAENDERT='Trogtrasse_aufgestaendert' + TROGTRASSE__BEHELF='Trogtrasse_Behelf' + + +class ENUMTrasse_Knoten_Art(str, Enum): + """ENUMTrasse_Knoten_Art -- \"Schacht, Trassenabzweig\"==Abzweig beliebig vieler Trassen; + \"Trassenauslass\"==Auslass von Kabeln (z. B. zu einem Kabelverteiler), wobei die Verbindung Trasse - Verteiler nicht als eigene Trasse abgebildet wird + + """ + SCHACHT='Schacht' + SONSTIGE='sonstige' + TRASSENABZWEIG='Trassenabzweig' + TRASSENAENDERUNG='Trassenaenderung' + TRASSENAUSLASS='Trassenauslass' + TRASSENENDE='Trassenende' + + +class ENUMTrasse_Nutzer(str, Enum): + DB__ENERGIE='DB_Energie' + DB_KT='DB_KT' + DB__NETZ='DB_Netz' + DB__STU_S='DB_StuS' + DRITTE='Dritte' + SONSTIGE='sonstige' + UNBEKANNT='unbekannt' + + +class ENUMTueranschlag(str, Enum): + ABNEHMBAR='abnehmbar' + BEIDSEITIG='beidseitig' + LINKS='links' + OBEN='oben' + RECHTS='rechts' + SONSTIGE='sonstige' + UNTEN='unten' + + +class ENUMTunnelsignal(str, Enum): + MIT__DAUERNACHTSCHALTUNG='mit_Dauernachtschaltung' + NEIN='nein' + OHNE__DAUERNACHTSCHALTUNG='ohne_Dauernachtschaltung' + + +class ENUMUeberhoehungslinie_Form(str, Enum): + GLEICHBLEIBEND='gleichbleibend' + RAMPE__BLOSS='Rampe_Bloss' + RAMPE_GERADE='Rampe_gerade' + RAMPE_S='Rampe_S' + SCHERE__BLOSS='Schere_Bloss' + SCHERE_S='Schere_S' + + +class ENUMUebertragung_FMinfo_Richtung(str, Enum): + GEHEND='gehend' + KOMMEND='kommend' + + +class ENUMUebertragungsweg_Art(str, Enum): + BAHNUEBERGANG='Bahnuebergang' + DIAGNOSE='Diagnose' + ESTW='ESTW' + SONSTIGE='sonstige' + ZBS='ZBS' + + +class ENUMUnterbringung_Art(str, Enum): + ANTRIEB='Antrieb' + GEBAEUDE='Gebaeude' + KEINE='keine' + SCHALTHAUS='Schalthaus' + SCHALTSCHRANK__SCHALTKASTEN='Schaltschrank_Schaltkasten' + SONSTIGE='sonstige' + TAFEL='Tafel' + + +class ENUMUnterbringung_Befestigung(str, Enum): + FUNDAMENT='Fundament' + GEBAEUDE='Gebaeude' + MAUER='Mauer' + PFOSTEN='Pfosten' + SIGNALAUSLEGER='Signalausleger' + SIGNALBRUECKE='Signalbruecke' + SIGNALMAST='Signalmast' + SONSTIGE='sonstige' + + +class ENUMUntergewerk_Art(str, Enum): + ATO='ATO' + BEDIENUNGETCS='Bedienung ETCS' + BEDIENUNG_FDLBZ='Bedienung Fdl BZ' + BEDIENUNG_FDLESTWZE='Bedienung Fdl ESTW-ZE' + BÜ='BÜ' + ESTW='ESTW' + ETCS='ETCS' + GEO='Geo' + SONSTIGE='sonstige' + ZL='ZL' + ZLV_BUS='ZLV-Bus' + ZN='ZN' + + +class ENUMV_Profil_Art(str, Enum): + """ENUMV_Profil_Art -- ES: Erh + ö + hte Seitenbeschleunigung + + """ + ANZEIGEGEFÜHRT='anzeigegeführt' + ANZEIGEGEFÜHRTES='anzeigegeführt ES' + SIGNALGEFÜHRT='signalgeführt' + SIGNALGEFÜHRTES='signalgeführt ES' + SONSTIGE='sonstige' + WINDABHÄNGIG='windabhängig' + + +class ENUMVerbot_WB_Art(str, Enum): + BETRIEBSBREMSUNG='Betriebsbremsung' + VOLLSTÄNDIG='vollständig' + + +class ENUMVergleichstyp_Besonders(str, Enum): + AE_M='AeM' + AE_P='AeP' + SONSTIGE='sonstige' + + +class ENUMVerschluss_Ort(str, Enum): + HERZSTÜCK='Herzstück' + MITTE='Mitte' + SONSTIGE='sonstige' + SPITZE='Spitze' + + +class ENUMVerwendung_Als_Rueckfall(str, Enum): + NURRÜCKFALL='nur Rückfall' + RÜCKFALL='Rückfall' + SONSTIGE='sonstige' + + +class ENUMW_Anschluss(str, Enum): + LINKS='links' + RECHTS='rechts' + SPITZE='Spitze' + + +class ENUMW_Kr_Art(str, Enum): + ABW='ABW' + DKW='DKW' + DW='DW' + EKW='EKW' + EW='EW' + FLACHKREUZUNG='Flachkreuzung' + IBW='IBW' + KLOTHOIDENWEICHE='Klothoidenweiche' + KORBBOGENWEICHE='Korbbogenweiche' + KR='Kr' + SONSTIGE='sonstige' + + +class ENUMW_Kr_Gsp_Stellart(str, Enum): + ELEKTRISCH_FERNGESTELLT='elektrisch_ferngestellt' + ELEKTRISCH_ORTSGESTELLT='elektrisch_ortsgestellt' + MECHANISCH_FERNGESTELLT='mechanisch_ferngestellt' + MECHANISCH_ORTSGESTELLT='mechanisch_ortsgestellt' + NICHT_STELLBAR='nicht_stellbar' + RUECKFALLWEICHE='Rueckfallweiche' + SONSTIGE='sonstige' + STILLGELEGT_LINKS='stillgelegt_links' + STILLGELEGT_RECHTS='stillgelegt_rechts' + UNBESTIMMT='unbestimmt' + + +class ENUMWeiche_Betriebsart(str, Enum): + BETRIEB='Betrieb' + LINKS='links' + RECHTS='rechts' + + +class ENUMWeichensignal(str, Enum): + INNENBELEUCHTET='innenbeleuchtet' + REFLEKTIEREND='reflektierend' + + +class ENUMWirkrichtung(str, Enum): + BEIDE='beide' + GEGEN='gegen' + IN='in' + + +class ENUMWirksamkeit(str, Enum): + SCHALTBAR_VON__SIGNAL='schaltbar_von_Signal' + SONSTIGE='sonstige' + STAENDIG_WIRKSAM='staendig_wirksam' + + +class ENUMWirksamkeit_Fstr(str, Enum): + SONSTIGE='sonstige' + STAENDIG_WIRKSAM_WENN__FAHRSTRASSE_EINGESTELLT='staendig_wirksam_wenn_Fahrstrasse_eingestellt' + UNWIRKSAM_WENN__FAHRSTRASSE_EINGESTELLT='unwirksam_wenn_Fahrstrasse_eingestellt' + + +class ENUMX_Wert(str, Enum): + _0='0' + _1='1' + _5='5' + _8='8' + _1_1='11' + _1_2='12' + _1_3='13' + _1_5='15' + + +class ENUMZBS_Reaktion(str, Enum): + MELDEREAKTION='Meldereaktion' + SICHERHEITSREAKTION='Sicherheitsreaktion' + SONSTIGE='sonstige' + + +class ENUMZBS_Schnittstelle(str, Enum): + LOGEM_LGM__28__8_D_1='LOGEM_LGM_28_8_D1' + NOKIA_ECM_FAST__14400='NOKIA_ECM_FAST_14400' + NOKIA_ECM_FAST__19200='NOKIA_ECM_FAST_19200' + SONSTIGE='sonstige' + + +class ENUMZN_Anlagentyp(str, Enum): + SONSTIGE='sonstige' + ZN_B_950='ZN_B950' + ZN__SU_B='ZN_SuB' + ZNE_L_2000='ZNE_L2000' + ZNL__2000='ZNL_2000' + ZNL__800='ZNL_800' + ZNP__801='ZNP_801' + ZNS__801='ZNS_801' + ZNS__901='ZNS_901' + ZNS__901_R='ZNS_901R' + + +class ENUMZN_Anzeigefeld_Loeschkriterium(str, Enum): + AUTOMATISCH_NACH__30_S='automatisch_nach_30_s' + FAHRSTRASSE_AUFGELOEST='Fahrstrasse_aufgeloest' + FORTSCHALTUNG_BEIM__NACHBARN='Fortschaltung_beim_Nachbarn' + HAENDISCH='haendisch' + RUECKBLOCK_EINGEGANGEN='Rueckblock_eingegangen' + SONSTIGE='sonstige' + + +class ENUMZN_Modem(str, Enum): + LOGEM__1200_MD='LOGEM_1200_MD' + NOKIA__1200_SE='NOKIA_1200_SE' + SCADA_NG='SCADA_NG' + SONSTIGE='sonstige' + + +class ENUMZN_Schaltkriterium(str, Enum): + GLEIS_BELEGEN='Gleis_belegen' + GLEIS_BELEGEN_UND_DAVOR_FREIFAHREN='Gleis_belegen_und_davor_freifahren' + GLEIS_FREIFAHREN='Gleis_freifahren' + KEIN='kein' + MANUELL='manuell' + SIGNALHALTFALL__HAUPTSIGNAL='Signalhaltfall_Hauptsignal' + SIGNALHALTFALL__RANGIERSIGNAL='Signalhaltfall_Rangiersignal' + SONSTIGE='sonstige' + + +class ENUMZN_Stellen(str, Enum): + _5='5' + _6='6' + + +class ENUMZugeinwirkung_Art(str, Enum): + DOPPEL__SCHLEIFE='Doppel_Schleife' + DOPPEL__SENSOR='Doppel_Sensor' + DREIFACH__SCHLEIFE='Dreifach_Schleife' + EINFACH__SCHLEIFE='Einfach_Schleife' + EINFACH__SENSOR='Einfach_Sensor' + EINFACH__SENSOR_RICHTUNGSABHAENGIG='Einfach_Sensor_richtungsabhaengig' + ISOLIERTE__SCHIENE_ALLEINSTEHEND='Isolierte_Schiene_alleinstehend' + ISOLIERTE__SCHIENE_FMA__ANLAGE_MITBENUTZT='Isolierte_Schiene_FMA_Anlage_mitbenutzt' + SCHIENENKONTAKT='Schienenkontakt' + SONSTIGE='sonstige' + + +class ENUMZwieschutz_Art(str, Enum): + ECHT='echt' + ECHT_EIGEN='echt_eigen' + EIGEN='eigen' + + +# +# Start data representation classes +# +class CPlanung_E_Ausgabe_Besonders(GeneratedsSuper): + """Referenz_Vergleich_Besonders -- Technische Grundlage des Vergleichs zwischen 2 Ausgaben einer Einzelplanung. + Die GUID von derjenigen Ausgabe, die der aktuell erstellten Ausgabe zugrunde liegt, ist manuell anzugeben. Das Attribut wird nur bei einer + Ä + nderungsplanung ben + ö + tigt. + DB-Regelwerk + Bisher keine Abbildung, da Neuerung mit PlanPro-Planungsprozess. + Vergleich_Ausgabestand_Basis -- Informative menschenlesbare Grundlage des Vergleichs zwischen 2 Ausgaben einer Einzelplanung. + Die Angabe setzt sich aus Ausgabedatum und Ausgabenummer zusammen, kann aber auch erg + ä + nzt werden. + DB-Regelwerk + Bisher keine Abbildung, da Neuerung mit PlanPro-Planungsprozess. + Vergleichstyp_Besonders -- Typ der Vergleichsoperation zwischen 2 Ausgaben einer Einzelplanung. + DB-Regelwerk + Bisher keine Abbildung, da Neuerung mit PlanPro-Planungsprozess. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Referenz_Vergleich_Besonders=None, Vergleich_Ausgabestand_Basis=None, Vergleichstyp_Besonders=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Referenz_Vergleich_Besonders = Referenz_Vergleich_Besonders + self.Referenz_Vergleich_Besonders_nsprefix_ = None + self.Vergleich_Ausgabestand_Basis = Vergleich_Ausgabestand_Basis + self.Vergleich_Ausgabestand_Basis_nsprefix_ = None + self.Vergleichstyp_Besonders = Vergleichstyp_Besonders + self.Vergleichstyp_Besonders_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CPlanung_E_Ausgabe_Besonders) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CPlanung_E_Ausgabe_Besonders.subclass: + return CPlanung_E_Ausgabe_Besonders.subclass(*args_, **kwargs_) + else: + return CPlanung_E_Ausgabe_Besonders(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Referenz_Vergleich_Besonders(self): + return self.Referenz_Vergleich_Besonders + def set_Referenz_Vergleich_Besonders(self, Referenz_Vergleich_Besonders): + self.Referenz_Vergleich_Besonders = Referenz_Vergleich_Besonders + def get_Vergleich_Ausgabestand_Basis(self): + return self.Vergleich_Ausgabestand_Basis + def set_Vergleich_Ausgabestand_Basis(self, Vergleich_Ausgabestand_Basis): + self.Vergleich_Ausgabestand_Basis = Vergleich_Ausgabestand_Basis + def get_Vergleichstyp_Besonders(self): + return self.Vergleichstyp_Besonders + def set_Vergleichstyp_Besonders(self, Vergleichstyp_Besonders): + self.Vergleichstyp_Besonders = Vergleichstyp_Besonders + def has__content(self): + if ( + self.Referenz_Vergleich_Besonders is not None or + self.Vergleich_Ausgabestand_Basis is not None or + self.Vergleichstyp_Besonders is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='xmlns:nsPlanPro="http://www.plan-pro.org/modell/PlanPro/1.10.0"', name_='CPlanung_E_Ausgabe_Besonders', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CPlanung_E_Ausgabe_Besonders') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CPlanung_E_Ausgabe_Besonders': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CPlanung_E_Ausgabe_Besonders') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CPlanung_E_Ausgabe_Besonders', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CPlanung_E_Ausgabe_Besonders'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='xmlns:nsPlanPro="http://www.plan-pro.org/modell/PlanPro/1.10.0"', name_='CPlanung_E_Ausgabe_Besonders', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Referenz_Vergleich_Besonders is not None: + namespaceprefix_ = self.Referenz_Vergleich_Besonders_nsprefix_ + ':' if (UseCapturedNS_ and self.Referenz_Vergleich_Besonders_nsprefix_) else '' + self.Referenz_Vergleich_Besonders.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Referenz_Vergleich_Besonders', pretty_print=pretty_print) + if self.Vergleich_Ausgabestand_Basis is not None: + namespaceprefix_ = self.Vergleich_Ausgabestand_Basis_nsprefix_ + ':' if (UseCapturedNS_ and self.Vergleich_Ausgabestand_Basis_nsprefix_) else '' + self.Vergleich_Ausgabestand_Basis.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Vergleich_Ausgabestand_Basis', pretty_print=pretty_print) + if self.Vergleichstyp_Besonders is not None: + namespaceprefix_ = self.Vergleichstyp_Besonders_nsprefix_ + ':' if (UseCapturedNS_ and self.Vergleichstyp_Besonders_nsprefix_) else '' + self.Vergleichstyp_Besonders.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Vergleichstyp_Besonders', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Referenz_Vergleich_Besonders': + obj_ = TCReferenz_Vergleich_Besonders.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Referenz_Vergleich_Besonders = obj_ + obj_.original_tagname_ = 'Referenz_Vergleich_Besonders' + elif nodeName_ == 'Vergleich_Ausgabestand_Basis': + obj_ = TCVergleich_Ausgabestand_Basis.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Vergleich_Ausgabestand_Basis = obj_ + obj_.original_tagname_ = 'Vergleich_Ausgabestand_Basis' + elif nodeName_ == 'Vergleichstyp_Besonders': + obj_ = TCVergleichstyp_Besonders.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Vergleichstyp_Besonders = obj_ + obj_.original_tagname_ = 'Vergleichstyp_Besonders' +# end class CPlanung_E_Ausgabe_Besonders + + +class CPlanung_G_Fuehrende_Strecke(GeneratedsSuper): + """Strecke_Abschnitt -- Abschnitt der beplanten Strecke, z. B. \"km 123,120 - km 140,450\". + DB-Regelwerk + Bisher keine eindeutige Abbildung. + Strecke_Km -- Orientierungskilometer (Schwerpunkt) der beplanten f + ü + hrenden Strecke, z. B. Mitte des gr + ö + ß + ten im Planungsbereich liegenden Bahnhofs. + DB-Regelwerk + Bisher keine eindeutige Abbildung. + Strecke_Nummer -- Streckennummer der beplanten Strecke. + DB-Regelwerk + Bisher keine eindeutige Abbildung. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Strecke_Abschnitt=None, Strecke_Km=None, Strecke_Nummer=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Strecke_Abschnitt = Strecke_Abschnitt + self.Strecke_Abschnitt_nsprefix_ = None + self.Strecke_Km = Strecke_Km + self.Strecke_Km_nsprefix_ = None + self.Strecke_Nummer = Strecke_Nummer + self.Strecke_Nummer_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CPlanung_G_Fuehrende_Strecke) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CPlanung_G_Fuehrende_Strecke.subclass: + return CPlanung_G_Fuehrende_Strecke.subclass(*args_, **kwargs_) + else: + return CPlanung_G_Fuehrende_Strecke(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Strecke_Abschnitt(self): + return self.Strecke_Abschnitt + def set_Strecke_Abschnitt(self, Strecke_Abschnitt): + self.Strecke_Abschnitt = Strecke_Abschnitt + def get_Strecke_Km(self): + return self.Strecke_Km + def set_Strecke_Km(self, Strecke_Km): + self.Strecke_Km = Strecke_Km + def get_Strecke_Nummer(self): + return self.Strecke_Nummer + def set_Strecke_Nummer(self, Strecke_Nummer): + self.Strecke_Nummer = Strecke_Nummer + def has__content(self): + if ( + self.Strecke_Abschnitt is not None or + self.Strecke_Km is not None or + self.Strecke_Nummer is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='xmlns:nsPlanPro="http://www.plan-pro.org/modell/PlanPro/1.10.0"', name_='CPlanung_G_Fuehrende_Strecke', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CPlanung_G_Fuehrende_Strecke') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CPlanung_G_Fuehrende_Strecke': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CPlanung_G_Fuehrende_Strecke') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CPlanung_G_Fuehrende_Strecke', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CPlanung_G_Fuehrende_Strecke'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='xmlns:nsPlanPro="http://www.plan-pro.org/modell/PlanPro/1.10.0"', name_='CPlanung_G_Fuehrende_Strecke', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Strecke_Abschnitt is not None: + namespaceprefix_ = self.Strecke_Abschnitt_nsprefix_ + ':' if (UseCapturedNS_ and self.Strecke_Abschnitt_nsprefix_) else '' + self.Strecke_Abschnitt.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Strecke_Abschnitt', pretty_print=pretty_print) + if self.Strecke_Km is not None: + namespaceprefix_ = self.Strecke_Km_nsprefix_ + ':' if (UseCapturedNS_ and self.Strecke_Km_nsprefix_) else '' + self.Strecke_Km.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Strecke_Km', pretty_print=pretty_print) + if self.Strecke_Nummer is not None: + namespaceprefix_ = self.Strecke_Nummer_nsprefix_ + ':' if (UseCapturedNS_ and self.Strecke_Nummer_nsprefix_) else '' + self.Strecke_Nummer.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Strecke_Nummer', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Strecke_Abschnitt': + obj_ = TCStrecke_Abschnitt.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Strecke_Abschnitt = obj_ + obj_.original_tagname_ = 'Strecke_Abschnitt' + elif nodeName_ == 'Strecke_Km': + obj_ = TCStrecke_Km30.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Strecke_Km = obj_ + obj_.original_tagname_ = 'Strecke_Km' + elif nodeName_ == 'Strecke_Nummer': + obj_ = TCStrecke_Nummer.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Strecke_Nummer = obj_ + obj_.original_tagname_ = 'Strecke_Nummer' +# end class CPlanung_G_Fuehrende_Strecke + + +class CLST_Planung(GeneratedsSuper): + """Fachdaten -- Einbindung der LST-Fachdaten. + DB Regelwerk + Bisher keine Abbildung, da Neuerung mit PlanPro-Planungsprozess. + Objektmanagement -- Einbindung der Objektmanagementdaten. + DB Regelwerk + Bisher keine Abbildung, da Neuerung mit PlanPro-Planungsprozess. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Fachdaten=None, Objektmanagement=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Fachdaten = Fachdaten + self.Fachdaten_nsprefix_ = None + self.Objektmanagement = Objektmanagement + self.Objektmanagement_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CLST_Planung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CLST_Planung.subclass: + return CLST_Planung.subclass(*args_, **kwargs_) + else: + return CLST_Planung(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Fachdaten(self): + return self.Fachdaten + def set_Fachdaten(self, Fachdaten): + self.Fachdaten = Fachdaten + def get_Objektmanagement(self): + return self.Objektmanagement + def set_Objektmanagement(self, Objektmanagement): + self.Objektmanagement = Objektmanagement + def has__content(self): + if ( + self.Fachdaten is not None or + self.Objektmanagement is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='xmlns:nsPlanPro="http://www.plan-pro.org/modell/PlanPro/1.10.0"', name_='CLST_Planung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CLST_Planung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CLST_Planung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CLST_Planung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CLST_Planung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CLST_Planung'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='xmlns:nsPlanPro="http://www.plan-pro.org/modell/PlanPro/1.10.0"', name_='CLST_Planung', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Fachdaten is not None: + namespaceprefix_ = self.Fachdaten_nsprefix_ + ':' if (UseCapturedNS_ and self.Fachdaten_nsprefix_) else '' + self.Fachdaten.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Fachdaten', pretty_print=pretty_print) + if self.Objektmanagement is not None: + namespaceprefix_ = self.Objektmanagement_nsprefix_ + ':' if (UseCapturedNS_ and self.Objektmanagement_nsprefix_) else '' + self.Objektmanagement.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Objektmanagement', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Fachdaten': + obj_ = CFachdaten.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Fachdaten = obj_ + obj_.original_tagname_ = 'Fachdaten' + elif nodeName_ == 'Objektmanagement': + obj_ = CObjektmanagement.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Objektmanagement = obj_ + obj_.original_tagname_ = 'Objektmanagement' +# end class CLST_Planung + + +class CObjektmanagement(GeneratedsSuper): + """LST_Planung_Projekt -- Einbindung der konkreten Objektmanagementdaten der Ebene Planung_Projekt. + DB Regelwerk + Bisher keine Abbildung, da Neuerung mit PlanPro-Planungsprozess. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, LST_Planung_Projekt=None, gds_collector_=None, **kwargs_): + self.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 LST_Planung_Projekt is None: + self.LST_Planung_Projekt = [] + else: + self.LST_Planung_Projekt = LST_Planung_Projekt + self.LST_Planung_Projekt_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CObjektmanagement) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CObjektmanagement.subclass: + return CObjektmanagement.subclass(*args_, **kwargs_) + else: + return CObjektmanagement(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_LST_Planung_Projekt(self): + return self.LST_Planung_Projekt + def set_LST_Planung_Projekt(self, LST_Planung_Projekt): + self.LST_Planung_Projekt = LST_Planung_Projekt + def add_LST_Planung_Projekt(self, value): + self.LST_Planung_Projekt.append(value) + def insert_LST_Planung_Projekt_at(self, index, value): + self.LST_Planung_Projekt.insert(index, value) + def replace_LST_Planung_Projekt_at(self, index, value): + self.LST_Planung_Projekt[index] = value + def has__content(self): + if ( + self.LST_Planung_Projekt + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='xmlns:nsPlanPro="http://www.plan-pro.org/modell/PlanPro/1.10.0"', name_='CObjektmanagement', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CObjektmanagement') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CObjektmanagement': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CObjektmanagement') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CObjektmanagement', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CObjektmanagement'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='xmlns:nsPlanPro="http://www.plan-pro.org/modell/PlanPro/1.10.0"', name_='CObjektmanagement', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for LST_Planung_Projekt_ in self.LST_Planung_Projekt: + namespaceprefix_ = self.LST_Planung_Projekt_nsprefix_ + ':' if (UseCapturedNS_ and self.LST_Planung_Projekt_nsprefix_) else '' + LST_Planung_Projekt_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='LST_Planung_Projekt', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'LST_Planung_Projekt': + obj_ = CPlanung_Projekt.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.LST_Planung_Projekt.append(obj_) + obj_.original_tagname_ = 'LST_Planung_Projekt' +# end class CObjektmanagement + + +class CPolygone_Betrachtungsbereich(GeneratedsSuper): + """Koordinatensystem_BB -- Koordinatensystem, in dem der Polygonzug des Betrachtungsbereichs definiert ist. + Polygonzug_Betrachtungsbereich -- Polygonzug zur Beschreibung des Betrachtungsbereichs unter Nutzung des GML-Standards. + Der definierte Betrachtungsbereich gilt f + ü + r alle Einzelplanungen der Planung Gruppe und dient der Ermittlung der eingeschlossenen Objekte der LST-Anlage sowie der Beschreibung des fl + ä + chenhaften Bereichs. + Der Betrachtungsbereich muss vom LST-Fachplaner f + ü + r die Erbringung seiner beauftragten Leistungen ber + ü + cksichtigt werden und kann nicht ver + ä + ndert werden. + Erg + ä + nzende Beschreibung zum Umgang im PlanPro-Planungsprozess + Bedingt durch die fl + ä + chenhafte Abgrenzung k + ö + nnen auch weitere Objekte enthalten sein, die f + ü + r die Erstellung der Planung nicht relevant sind. Die Vereinigung aller Betrachtungsbereiche muss alle f + ü + r die Planung relevanten Objekte au + ß + erhalb des Planungsbereichs enthalten. Der Betrachtungsbereich ist benachbart zum Planungsbereich, im besonderen Fall umschlie + ß + t er diesen vollst + ä + ndig. + Durch den Prozess der Planung k + ö + nnen keine neuen Objekte in den Betrachtungsbereich eingebracht oder vorhandene Objekte modifiziert bzw. entfernt werden. Ist dies erforderlich, muss der Planungsbereich erweitert werden. Sofern f + ü + r den Betrachtungsbereich noch keine Bestandsdaten vorhanden sind, ist ein eigenes Projekt zur Bestandsdigitalisierung durchzuf + ü + hren. + DB-Regelwerk + Bisher keine eindeutige Abbildung. + Ggf. planerspezifische Darstellungsformen (z. B. grau, gestrichelt). + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Koordinatensystem_BB=None, Polygonzug_Betrachtungsbereich=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Koordinatensystem_BB = Koordinatensystem_BB + self.Koordinatensystem_BB_nsprefix_ = None + if Polygonzug_Betrachtungsbereich is None: + self.Polygonzug_Betrachtungsbereich = [] + else: + self.Polygonzug_Betrachtungsbereich = Polygonzug_Betrachtungsbereich + self.Polygonzug_Betrachtungsbereich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CPolygone_Betrachtungsbereich) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CPolygone_Betrachtungsbereich.subclass: + return CPolygone_Betrachtungsbereich.subclass(*args_, **kwargs_) + else: + return CPolygone_Betrachtungsbereich(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Koordinatensystem_BB(self): + return self.Koordinatensystem_BB + def set_Koordinatensystem_BB(self, Koordinatensystem_BB): + self.Koordinatensystem_BB = Koordinatensystem_BB + def get_Polygonzug_Betrachtungsbereich(self): + return self.Polygonzug_Betrachtungsbereich + def set_Polygonzug_Betrachtungsbereich(self, Polygonzug_Betrachtungsbereich): + self.Polygonzug_Betrachtungsbereich = Polygonzug_Betrachtungsbereich + def add_Polygonzug_Betrachtungsbereich(self, value): + self.Polygonzug_Betrachtungsbereich.append(value) + def insert_Polygonzug_Betrachtungsbereich_at(self, index, value): + self.Polygonzug_Betrachtungsbereich.insert(index, value) + def replace_Polygonzug_Betrachtungsbereich_at(self, index, value): + self.Polygonzug_Betrachtungsbereich[index] = value + def has__content(self): + if ( + self.Koordinatensystem_BB is not None or + self.Polygonzug_Betrachtungsbereich + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='xmlns:nsPlanPro="http://www.plan-pro.org/modell/PlanPro/1.10.0"', name_='CPolygone_Betrachtungsbereich', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CPolygone_Betrachtungsbereich') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CPolygone_Betrachtungsbereich': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CPolygone_Betrachtungsbereich') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CPolygone_Betrachtungsbereich', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CPolygone_Betrachtungsbereich'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='xmlns:nsPlanPro="http://www.plan-pro.org/modell/PlanPro/1.10.0"', name_='CPolygone_Betrachtungsbereich', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Koordinatensystem_BB is not None: + namespaceprefix_ = self.Koordinatensystem_BB_nsprefix_ + ':' if (UseCapturedNS_ and self.Koordinatensystem_BB_nsprefix_) else '' + self.Koordinatensystem_BB.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Koordinatensystem_BB', pretty_print=pretty_print) + for Polygonzug_Betrachtungsbereich_ in self.Polygonzug_Betrachtungsbereich: + namespaceprefix_ = self.Polygonzug_Betrachtungsbereich_nsprefix_ + ':' if (UseCapturedNS_ and self.Polygonzug_Betrachtungsbereich_nsprefix_) else '' + Polygonzug_Betrachtungsbereich_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Polygonzug_Betrachtungsbereich', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Koordinatensystem_BB': + obj_ = TCKoordinatensystem_BB.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Koordinatensystem_BB = obj_ + obj_.original_tagname_ = 'Koordinatensystem_BB' + elif nodeName_ == 'Polygonzug_Betrachtungsbereich': + obj_ = TCPolygonzug_Betrachtungsbereich.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Polygonzug_Betrachtungsbereich.append(obj_) + obj_.original_tagname_ = 'Polygonzug_Betrachtungsbereich' +# end class CPolygone_Betrachtungsbereich + + +class CPlanung_G_Allg(GeneratedsSuper): + """Anhang_BAST -- Beinhaltet die zur Planung geh + ö + rende Betriebliche Aufgabenstellung (BAST), welche als *.pdf der Planung angeh + ä + ngt wird. + DB-Regelwerk + Bisher ohne eindeutige Abbildung. + Datum_Abschluss_Gruppe -- Datum des Abschlusses der letzten Einzelplanung der definierten Planungsgruppe. + Bis zum tats + ä + chlichen Abschluss handelt es sich dabei um ein geplantes Datum, das iterativ nachzupflegen ist. + DB-Regelwerk + Bisher keine eindeutige Abbildung. + PlanPro_XSD_Version -- Angabe der zu verwendenden PlanPro-Modellversion (PlanPro-XSD). Ein XSD-Versionswechsel kann dabei nur zwischen zwei Planungsgruppen erfolgen. + DB-Regelwerk + Bisher nicht abgebildet, da Neuerung durch PlanPro-Planungsprozess. + Planung_G_Art_Besonders -- Gibt an, welche besondere Art der Planungsgruppe vorliegt. + DB-Regelwerk + Bisher ohne eindeutige Abbildung. + Meist Bestandteil Schriftfeldeintrag gem + ä + ß + Ril 886.0102 der Kurzbezeichnung des Bauzustandes. + Untergewerk_Art -- Angabe des Untergewerks, f + ü + r das die Fachdaten ausgegeben werden. + DB Regelwerk + Bisher keine Abbildung, da Neuerung mit PlanPro. + Verantwortliche_Stelle_DB -- Organisationseinheit der DB, die f + ü + r die Bestandsplanbestellung (und Sperrung) bei der Bestandsplan haltenden Stelle verantwortlich ist. + DB-Regelwerk + Schriftfeldeintrag gem + ä + ß + Ril 886.0102, Feld 18 \"Name des Auftraggebers\" bzw. 26 \"Genehmigungsvermerks des Auftraggebers\". + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anhang_BAST=None, Datum_Abschluss_Gruppe=None, PlanPro_XSD_Version=None, Planung_G_Art_Besonders=None, Untergewerk_Art=None, Verantwortliche_Stelle_DB=None, gds_collector_=None, **kwargs_): + self.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 Anhang_BAST is None: + self.Anhang_BAST = [] + else: + self.Anhang_BAST = Anhang_BAST + self.Anhang_BAST_nsprefix_ = None + self.Datum_Abschluss_Gruppe = Datum_Abschluss_Gruppe + self.Datum_Abschluss_Gruppe_nsprefix_ = None + self.PlanPro_XSD_Version = PlanPro_XSD_Version + self.PlanPro_XSD_Version_nsprefix_ = None + self.Planung_G_Art_Besonders = Planung_G_Art_Besonders + self.Planung_G_Art_Besonders_nsprefix_ = None + self.Untergewerk_Art = Untergewerk_Art + self.Untergewerk_Art_nsprefix_ = None + self.Verantwortliche_Stelle_DB = Verantwortliche_Stelle_DB + self.Verantwortliche_Stelle_DB_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CPlanung_G_Allg) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CPlanung_G_Allg.subclass: + return CPlanung_G_Allg.subclass(*args_, **kwargs_) + else: + return CPlanung_G_Allg(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anhang_BAST(self): + return self.Anhang_BAST + def set_Anhang_BAST(self, Anhang_BAST): + self.Anhang_BAST = Anhang_BAST + def add_Anhang_BAST(self, value): + self.Anhang_BAST.append(value) + def insert_Anhang_BAST_at(self, index, value): + self.Anhang_BAST.insert(index, value) + def replace_Anhang_BAST_at(self, index, value): + self.Anhang_BAST[index] = value + def get_Datum_Abschluss_Gruppe(self): + return self.Datum_Abschluss_Gruppe + def set_Datum_Abschluss_Gruppe(self, Datum_Abschluss_Gruppe): + self.Datum_Abschluss_Gruppe = Datum_Abschluss_Gruppe + def get_PlanPro_XSD_Version(self): + return self.PlanPro_XSD_Version + def set_PlanPro_XSD_Version(self, PlanPro_XSD_Version): + self.PlanPro_XSD_Version = PlanPro_XSD_Version + def get_Planung_G_Art_Besonders(self): + return self.Planung_G_Art_Besonders + def set_Planung_G_Art_Besonders(self, Planung_G_Art_Besonders): + self.Planung_G_Art_Besonders = Planung_G_Art_Besonders + def get_Untergewerk_Art(self): + return self.Untergewerk_Art + def set_Untergewerk_Art(self, Untergewerk_Art): + self.Untergewerk_Art = Untergewerk_Art + def get_Verantwortliche_Stelle_DB(self): + return self.Verantwortliche_Stelle_DB + def set_Verantwortliche_Stelle_DB(self, Verantwortliche_Stelle_DB): + self.Verantwortliche_Stelle_DB = Verantwortliche_Stelle_DB + def has__content(self): + if ( + self.Anhang_BAST or + self.Datum_Abschluss_Gruppe is not None or + self.PlanPro_XSD_Version is not None or + self.Planung_G_Art_Besonders is not None or + self.Untergewerk_Art is not None or + self.Verantwortliche_Stelle_DB is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='xmlns:nsPlanPro="http://www.plan-pro.org/modell/PlanPro/1.10.0" xmlns:nsBasisobjekte="http://www.plan-pro.org/modell/Basisobjekte/1.10.0" ', name_='CPlanung_G_Allg', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CPlanung_G_Allg') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CPlanung_G_Allg': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CPlanung_G_Allg') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CPlanung_G_Allg', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CPlanung_G_Allg'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='xmlns:nsPlanPro="http://www.plan-pro.org/modell/PlanPro/1.10.0" xmlns:nsBasisobjekte="http://www.plan-pro.org/modell/Basisobjekte/1.10.0" ', name_='CPlanung_G_Allg', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for Anhang_BAST_ in self.Anhang_BAST: + namespaceprefix_ = self.Anhang_BAST_nsprefix_ + ':' if (UseCapturedNS_ and self.Anhang_BAST_nsprefix_) else '' + Anhang_BAST_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Anhang_BAST', pretty_print=pretty_print) + if self.Datum_Abschluss_Gruppe is not None: + namespaceprefix_ = self.Datum_Abschluss_Gruppe_nsprefix_ + ':' if (UseCapturedNS_ and self.Datum_Abschluss_Gruppe_nsprefix_) else '' + self.Datum_Abschluss_Gruppe.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Datum_Abschluss_Gruppe', pretty_print=pretty_print) + if self.PlanPro_XSD_Version is not None: + namespaceprefix_ = self.PlanPro_XSD_Version_nsprefix_ + ':' if (UseCapturedNS_ and self.PlanPro_XSD_Version_nsprefix_) else '' + self.PlanPro_XSD_Version.export(outfile, level, namespaceprefix_, namespacedef_='', name_='PlanPro_XSD_Version', pretty_print=pretty_print) + if self.Planung_G_Art_Besonders is not None: + namespaceprefix_ = self.Planung_G_Art_Besonders_nsprefix_ + ':' if (UseCapturedNS_ and self.Planung_G_Art_Besonders_nsprefix_) else '' + self.Planung_G_Art_Besonders.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Planung_G_Art_Besonders', pretty_print=pretty_print) + if self.Untergewerk_Art is not None: + namespaceprefix_ = self.Untergewerk_Art_nsprefix_ + ':' if (UseCapturedNS_ and self.Untergewerk_Art_nsprefix_) else '' + self.Untergewerk_Art.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Untergewerk_Art', pretty_print=pretty_print) + if self.Verantwortliche_Stelle_DB is not None: + namespaceprefix_ = self.Verantwortliche_Stelle_DB_nsprefix_ + ':' if (UseCapturedNS_ and self.Verantwortliche_Stelle_DB_nsprefix_) else '' + self.Verantwortliche_Stelle_DB.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Verantwortliche_Stelle_DB', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Anhang_BAST': + obj_ = CAnhang.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Anhang_BAST.append(obj_) + obj_.original_tagname_ = 'Anhang_BAST' + elif nodeName_ == 'Datum_Abschluss_Gruppe': + obj_ = TCDatum_Abschluss_Gruppe.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Datum_Abschluss_Gruppe = obj_ + obj_.original_tagname_ = 'Datum_Abschluss_Gruppe' + elif nodeName_ == 'PlanPro_XSD_Version': + obj_ = TCPlanPro_XSD_Version.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.PlanPro_XSD_Version = obj_ + obj_.original_tagname_ = 'PlanPro_XSD_Version' + elif nodeName_ == 'Planung_G_Art_Besonders': + obj_ = TCPlanung_G_Art_Besonders.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Planung_G_Art_Besonders = obj_ + obj_.original_tagname_ = 'Planung_G_Art_Besonders' + elif nodeName_ == 'Untergewerk_Art': + obj_ = TCUntergewerk_Art.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Untergewerk_Art = obj_ + obj_.original_tagname_ = 'Untergewerk_Art' + elif nodeName_ == 'Verantwortliche_Stelle_DB': + obj_ = TCVerantwortliche_Stelle_DB.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Verantwortliche_Stelle_DB = obj_ + obj_.original_tagname_ = 'Verantwortliche_Stelle_DB' +# end class CPlanung_G_Allg + + +class CPlanPro_Schnittstelle_Allg(GeneratedsSuper): + """Bemerkung -- Dokumentation von Besonderheiten im Zuge der Geodaten-Aufbereitung. + Erzeugung_Zeitstempel -- Zeitstempel der PlanPro-XML-Erzeugung. + DB-Regelwerk + Bisher keine Abbildung, da Neuerung mit PlanPro-Planungsprozess. + Werkzeug_Name -- Name des Werkzeugs, mit dem die PlanPro-XML erzeugt wurde. + DB-Regelwerk + Bisher keine Abbildung, da Neuerung mit PlanPro-Planungsprozess. + Werkzeug_Version -- Version des Werkzeugs, mit der die PlanPro-XML erzeugt wurde. + DB-Regelwerk + Bisher keine Abbildung, da Neuerung mit PlanPro-Planungsprozess. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Bemerkung=None, Erzeugung_Zeitstempel=None, Werkzeug_Name=None, Werkzeug_Version=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Bemerkung = Bemerkung + self.Bemerkung_nsprefix_ = None + self.Erzeugung_Zeitstempel = Erzeugung_Zeitstempel + self.Erzeugung_Zeitstempel_nsprefix_ = None + self.Werkzeug_Name = Werkzeug_Name + self.Werkzeug_Name_nsprefix_ = None + self.Werkzeug_Version = Werkzeug_Version + self.Werkzeug_Version_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CPlanPro_Schnittstelle_Allg) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CPlanPro_Schnittstelle_Allg.subclass: + return CPlanPro_Schnittstelle_Allg.subclass(*args_, **kwargs_) + else: + return CPlanPro_Schnittstelle_Allg(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Bemerkung(self): + return self.Bemerkung + def set_Bemerkung(self, Bemerkung): + self.Bemerkung = Bemerkung + def get_Erzeugung_Zeitstempel(self): + return self.Erzeugung_Zeitstempel + def set_Erzeugung_Zeitstempel(self, Erzeugung_Zeitstempel): + self.Erzeugung_Zeitstempel = Erzeugung_Zeitstempel + def get_Werkzeug_Name(self): + return self.Werkzeug_Name + def set_Werkzeug_Name(self, Werkzeug_Name): + self.Werkzeug_Name = Werkzeug_Name + def get_Werkzeug_Version(self): + return self.Werkzeug_Version + def set_Werkzeug_Version(self, Werkzeug_Version): + self.Werkzeug_Version = Werkzeug_Version + def has__content(self): + if ( + self.Bemerkung is not None or + self.Erzeugung_Zeitstempel is not None or + self.Werkzeug_Name is not None or + self.Werkzeug_Version is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='xmlns:nsPlanPro="http://www.plan-pro.org/modell/PlanPro/1.10.0"', name_='CPlanPro_Schnittstelle_Allg', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CPlanPro_Schnittstelle_Allg') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CPlanPro_Schnittstelle_Allg': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CPlanPro_Schnittstelle_Allg') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CPlanPro_Schnittstelle_Allg', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CPlanPro_Schnittstelle_Allg'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='xmlns:nsPlanPro="http://www.plan-pro.org/modell/PlanPro/1.10.0"', name_='CPlanPro_Schnittstelle_Allg', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Bemerkung is not None: + namespaceprefix_ = self.Bemerkung_nsprefix_ + ':' if (UseCapturedNS_ and self.Bemerkung_nsprefix_) else '' + self.Bemerkung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Bemerkung', pretty_print=pretty_print) + if self.Erzeugung_Zeitstempel is not None: + namespaceprefix_ = self.Erzeugung_Zeitstempel_nsprefix_ + ':' if (UseCapturedNS_ and self.Erzeugung_Zeitstempel_nsprefix_) else '' + self.Erzeugung_Zeitstempel.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Erzeugung_Zeitstempel', pretty_print=pretty_print) + if self.Werkzeug_Name is not None: + namespaceprefix_ = self.Werkzeug_Name_nsprefix_ + ':' if (UseCapturedNS_ and self.Werkzeug_Name_nsprefix_) else '' + self.Werkzeug_Name.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Werkzeug_Name', pretty_print=pretty_print) + if self.Werkzeug_Version is not None: + namespaceprefix_ = self.Werkzeug_Version_nsprefix_ + ':' if (UseCapturedNS_ and self.Werkzeug_Version_nsprefix_) else '' + self.Werkzeug_Version.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Werkzeug_Version', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Bemerkung': + obj_ = TCBemerkung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Bemerkung = obj_ + obj_.original_tagname_ = 'Bemerkung' + elif nodeName_ == 'Erzeugung_Zeitstempel': + obj_ = TCErzeugung_Zeitstempel.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Erzeugung_Zeitstempel = obj_ + obj_.original_tagname_ = 'Erzeugung_Zeitstempel' + elif nodeName_ == 'Werkzeug_Name': + obj_ = TCWerkzeug_Name.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Werkzeug_Name = obj_ + obj_.original_tagname_ = 'Werkzeug_Name' + elif nodeName_ == 'Werkzeug_Version': + obj_ = TCWerkzeug_Version.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Werkzeug_Version = obj_ + obj_.original_tagname_ = 'Werkzeug_Version' +# end class CPlanPro_Schnittstelle_Allg + + +class CLST_Objekte_Planungsbereich(GeneratedsSuper): + """ID_LST_Objekt_Planungsbereich -- ID-Verweis auf LST-Objekt im Planungsbereich. + DB-Regelwerk + Bisher keine Abbildung, da Neuerung mit PlanPro. + Implizite Zuordnung durch Blattzuschnitte der (gesperrten) Bestandspl + ä + ne zur Erstellung der Planung. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, ID_LST_Objekt_Planungsbereich=None, gds_collector_=None, **kwargs_): + self.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 ID_LST_Objekt_Planungsbereich is None: + self.ID_LST_Objekt_Planungsbereich = [] + else: + self.ID_LST_Objekt_Planungsbereich = ID_LST_Objekt_Planungsbereich + self.ID_LST_Objekt_Planungsbereich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CLST_Objekte_Planungsbereich) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CLST_Objekte_Planungsbereich.subclass: + return CLST_Objekte_Planungsbereich.subclass(*args_, **kwargs_) + else: + return CLST_Objekte_Planungsbereich(*args_, **kwargs_) + factory = staticmethod(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_LST_Objekt_Planungsbereich(self): + return self.ID_LST_Objekt_Planungsbereich + def set_ID_LST_Objekt_Planungsbereich(self, ID_LST_Objekt_Planungsbereich): + self.ID_LST_Objekt_Planungsbereich = ID_LST_Objekt_Planungsbereich + def add_ID_LST_Objekt_Planungsbereich(self, value): + self.ID_LST_Objekt_Planungsbereich.append(value) + def insert_ID_LST_Objekt_Planungsbereich_at(self, index, value): + self.ID_LST_Objekt_Planungsbereich.insert(index, value) + def replace_ID_LST_Objekt_Planungsbereich_at(self, index, value): + self.ID_LST_Objekt_Planungsbereich[index] = value + def has__content(self): + if ( + self.ID_LST_Objekt_Planungsbereich + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='xmlns:nsPlanPro="http://www.plan-pro.org/modell/PlanPro/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CLST_Objekte_Planungsbereich', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CLST_Objekte_Planungsbereich') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CLST_Objekte_Planungsbereich': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CLST_Objekte_Planungsbereich') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CLST_Objekte_Planungsbereich', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CLST_Objekte_Planungsbereich'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='xmlns:nsPlanPro="http://www.plan-pro.org/modell/PlanPro/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CLST_Objekte_Planungsbereich', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_LST_Objekt_Planungsbereich_ in self.ID_LST_Objekt_Planungsbereich: + namespaceprefix_ = self.ID_LST_Objekt_Planungsbereich_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_LST_Objekt_Planungsbereich_nsprefix_) else '' + ID_LST_Objekt_Planungsbereich_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_LST_Objekt_Planungsbereich', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_LST_Objekt_Planungsbereich': + obj_ = TCID_Ur_Objekt.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_LST_Objekt_Planungsbereich.append(obj_) + obj_.original_tagname_ = 'ID_LST_Objekt_Planungsbereich' +# end class CLST_Objekte_Planungsbereich + + +class CPolygone_Planungsbereich(GeneratedsSuper): + """Koordinatensystem_PB -- Koordinatensystem, in dem der Polygonzug des Planungsbereichs definiert ist. + Polygonzug_Planungsbereich -- Polygonzug zur Beschreibung des Planungsbereichs unter Nutzung des GML-Standards. + Der definierte Planungsbereich gilt f + ü + r alle Einzelplanungen der Planung Gruppe und dient der Ermittlung der eingeschlossenen Objekte der LST-Anlage sowie der Beschreibung des fl + ä + chenhaften Bereichs. + Der Planungsbereich kann vom LST-Fachplaner durch + Ä + ndern, Eintragen und L + ö + schen von Objekten in einer Einzelplanung ver + ä + ndert werden. + Erg + ä + nzende Beschreibung zum Umgang im PlanPro-Planungsprozess + F + ü + r den Planungsbereich gibt es einen oder mehrere Polygonz + ü + ge, durch die eine geografische Ausdehnung definiert ist. + Ü + ber die geografische Zuordnung hinaus gibt es M + ö + glichkeiten, weitere Objekte dem Planungsbereich zuzuordnen oder von ihm ausnehmen. Innerhalb dieser geografischen Ausdehnung k + ö + nnen Objekte mit GEO-Referenzen nur vom Planer des Planungsbereichs hinzugef + ü + gt oder ge + ä + ndert werden. Der Planungsbereich ist in der 1. Umsetzungsstufe PlanPro auf den Bereich einer ESTW-ZE festgelegt. Er wird durch die Angabe aller darin befindlichen Streckenabschnitte mit Strecke, Abschnittsanfang und Abschnittsende hinreichend beschrieben, alle Bahnhofsgleise werden gem + ä + ß + den + ö + rtlichen Richtlinien der Betriebsstellen den Streckengleisen zugeordnet. + Als Schnittstellen zwischen zwei ESTW-Zentraleinheiten kommen nur die Bahnhofs- und Blockschnittstellen in Frage. An den Planungsbereich kann ein oder k + ö + nnen mehrere Betrachtungsbereich(e) angrenzen. Alle Objekte, auf die aus dem Planungsbereich heraus verwiesen wird, m + ü + ssen im Betrachtungsbereich liegen. Ebenfalls m + ü + ssen Objekte im Betrachtungsbereich liegen, die auf Objekte im Planungsbereich verweisen. + DB-Regelwerk + Bisher keine eindeutige Abbildung. + Prozessuale Definition indirekt durch Sperrung entsprechender Bestandspl + ä + ne der Bestandsdokumentation gem + ä + ß + Ril 809. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Koordinatensystem_PB=None, Polygonzug_Planungsbereich=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Koordinatensystem_PB = Koordinatensystem_PB + self.Koordinatensystem_PB_nsprefix_ = None + if Polygonzug_Planungsbereich is None: + self.Polygonzug_Planungsbereich = [] + else: + self.Polygonzug_Planungsbereich = Polygonzug_Planungsbereich + self.Polygonzug_Planungsbereich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CPolygone_Planungsbereich) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CPolygone_Planungsbereich.subclass: + return CPolygone_Planungsbereich.subclass(*args_, **kwargs_) + else: + return CPolygone_Planungsbereich(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Koordinatensystem_PB(self): + return self.Koordinatensystem_PB + def set_Koordinatensystem_PB(self, Koordinatensystem_PB): + self.Koordinatensystem_PB = Koordinatensystem_PB + def get_Polygonzug_Planungsbereich(self): + return self.Polygonzug_Planungsbereich + def set_Polygonzug_Planungsbereich(self, Polygonzug_Planungsbereich): + self.Polygonzug_Planungsbereich = Polygonzug_Planungsbereich + def add_Polygonzug_Planungsbereich(self, value): + self.Polygonzug_Planungsbereich.append(value) + def insert_Polygonzug_Planungsbereich_at(self, index, value): + self.Polygonzug_Planungsbereich.insert(index, value) + def replace_Polygonzug_Planungsbereich_at(self, index, value): + self.Polygonzug_Planungsbereich[index] = value + def has__content(self): + if ( + self.Koordinatensystem_PB is not None or + self.Polygonzug_Planungsbereich + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='xmlns:nsPlanPro="http://www.plan-pro.org/modell/PlanPro/1.10.0"', name_='CPolygone_Planungsbereich', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CPolygone_Planungsbereich') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CPolygone_Planungsbereich': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CPolygone_Planungsbereich') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CPolygone_Planungsbereich', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CPolygone_Planungsbereich'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='xmlns:nsPlanPro="http://www.plan-pro.org/modell/PlanPro/1.10.0"', name_='CPolygone_Planungsbereich', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Koordinatensystem_PB is not None: + namespaceprefix_ = self.Koordinatensystem_PB_nsprefix_ + ':' if (UseCapturedNS_ and self.Koordinatensystem_PB_nsprefix_) else '' + self.Koordinatensystem_PB.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Koordinatensystem_PB', pretty_print=pretty_print) + for Polygonzug_Planungsbereich_ in self.Polygonzug_Planungsbereich: + namespaceprefix_ = self.Polygonzug_Planungsbereich_nsprefix_ + ':' if (UseCapturedNS_ and self.Polygonzug_Planungsbereich_nsprefix_) else '' + Polygonzug_Planungsbereich_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Polygonzug_Planungsbereich', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Koordinatensystem_PB': + obj_ = TCKoordinatensystem_PB.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Koordinatensystem_PB = obj_ + obj_.original_tagname_ = 'Koordinatensystem_PB' + elif nodeName_ == 'Polygonzug_Planungsbereich': + obj_ = TCPolygonzug_Planungsbereich.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Polygonzug_Planungsbereich.append(obj_) + obj_.original_tagname_ = 'Polygonzug_Planungsbereich' +# end class CPolygone_Planungsbereich + + +class CAkteur_Allg(GeneratedsSuper): + """Name_Akteur -- Nachname des Akteurs. + Name_Akteur_10 -- Nachname des Akteurs, beschr + ä + nkt auf 10 Zeichen. DB-Regelwerk Schriftfeldeintr + ä + ge gem + ä + ß + Ril 886.0102, Namen der (ma + ß + geblich) handelnden Person f + ü + r definierte Rollen des Planungsprozesses. + Name_Akteur_5 -- Nachname des Akteurs, beschr + ä + nkt auf 5 Zeichen. DB-Regelwerk Schriftfeldeintr + ä + ge gem + ä + ß + Ril 886.0102, Namen der (ma + ß + geblich) handelnden Person f + ü + r definierte Rollen des Planungsprozesses. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Name_Akteur=None, Name_Akteur_10=None, Name_Akteur_5=None, gds_collector_=None, **kwargs_): + self.gds_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_Akteur = Name_Akteur + self.Name_Akteur_nsprefix_ = None + self.Name_Akteur_10 = Name_Akteur_10 + self.Name_Akteur_10_nsprefix_ = None + self.Name_Akteur_5 = Name_Akteur_5 + self.Name_Akteur_5_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CAkteur_Allg) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CAkteur_Allg.subclass: + return CAkteur_Allg.subclass(*args_, **kwargs_) + else: + return CAkteur_Allg(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Name_Akteur(self): + return self.Name_Akteur + def set_Name_Akteur(self, Name_Akteur): + self.Name_Akteur = Name_Akteur + def get_Name_Akteur_10(self): + return self.Name_Akteur_10 + def set_Name_Akteur_10(self, Name_Akteur_10): + self.Name_Akteur_10 = Name_Akteur_10 + def get_Name_Akteur_5(self): + return self.Name_Akteur_5 + def set_Name_Akteur_5(self, Name_Akteur_5): + self.Name_Akteur_5 = Name_Akteur_5 + def has__content(self): + if ( + self.Name_Akteur is not None or + self.Name_Akteur_10 is not None or + self.Name_Akteur_5 is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='xmlns:nsPlanPro="http://www.plan-pro.org/modell/PlanPro/1.10.0"', name_='CAkteur_Allg', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CAkteur_Allg') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CAkteur_Allg': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CAkteur_Allg') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CAkteur_Allg', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CAkteur_Allg'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='xmlns:nsPlanPro="http://www.plan-pro.org/modell/PlanPro/1.10.0"', name_='CAkteur_Allg', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Name_Akteur is not None: + namespaceprefix_ = self.Name_Akteur_nsprefix_ + ':' if (UseCapturedNS_ and self.Name_Akteur_nsprefix_) else '' + self.Name_Akteur.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Name_Akteur', pretty_print=pretty_print) + if self.Name_Akteur_10 is not None: + namespaceprefix_ = self.Name_Akteur_10_nsprefix_ + ':' if (UseCapturedNS_ and self.Name_Akteur_10_nsprefix_) else '' + self.Name_Akteur_10.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Name_Akteur_10', pretty_print=pretty_print) + if self.Name_Akteur_5 is not None: + namespaceprefix_ = self.Name_Akteur_5_nsprefix_ + ':' if (UseCapturedNS_ and self.Name_Akteur_5_nsprefix_) else '' + self.Name_Akteur_5.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Name_Akteur_5', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Name_Akteur': + obj_ = TCName_Akteur.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Name_Akteur = obj_ + obj_.original_tagname_ = 'Name_Akteur' + elif nodeName_ == 'Name_Akteur_10': + obj_ = TCName_Akteur_10.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Name_Akteur_10 = obj_ + obj_.original_tagname_ = 'Name_Akteur_10' + elif nodeName_ == 'Name_Akteur_5': + obj_ = TCName_Akteur_5.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Name_Akteur_5 = obj_ + obj_.original_tagname_ = 'Name_Akteur_5' +# end class CAkteur_Allg + + +class CPlanung_P_Allg(GeneratedsSuper): + """Bezeichnung_Planung_Projekt -- \"Gek + ü + rzte Langbezeichnung\" einer Bauma + ß + nahme, die + ü + ber mehrere Planungsgruppen realisiert wird. + z. B. Grunderneuerung Strecke xxxx. + DB-Regelwerk + Bisher keine eindeutige Abbildung. + Meist Zusatzeintrag auf Planungsunterlagen au + ß + erhalb Standard-Schriftfeld nach Ril 886.0102. + Datum_Abschluss_Projekt -- Datum des Abschlusses des Planungsprojektes. + Bis zum tats + ä + chlichen Abschluss handelt es sich dabei um ein geplantes Datum, das iterativ nachzupflegen ist. + DB-Regelwerk + Bisher ohne eindeutige Abbildung. + Projekt_Nummer -- Angabe der Projektnummer. + Die Struktur wird im LST-Datenmodell nicht vorgegeben. + DB-Regelwerk + Bisher keine eindeutige Abbildung. + Projektleiter -- Name des Projektleiters, der f + ü + r die erfolgreiche Projektabwicklung verantwortlich ist. + DB-Regelwerk + Bisher ohne eindeutige Abbildung. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Bezeichnung_Planung_Projekt=None, Datum_Abschluss_Projekt=None, Projekt_Nummer=None, Projektleiter=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Bezeichnung_Planung_Projekt = Bezeichnung_Planung_Projekt + self.Bezeichnung_Planung_Projekt_nsprefix_ = None + self.Datum_Abschluss_Projekt = Datum_Abschluss_Projekt + self.Datum_Abschluss_Projekt_nsprefix_ = None + self.Projekt_Nummer = Projekt_Nummer + self.Projekt_Nummer_nsprefix_ = None + self.Projektleiter = Projektleiter + self.Projektleiter_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CPlanung_P_Allg) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CPlanung_P_Allg.subclass: + return CPlanung_P_Allg.subclass(*args_, **kwargs_) + else: + return CPlanung_P_Allg(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Bezeichnung_Planung_Projekt(self): + return self.Bezeichnung_Planung_Projekt + def set_Bezeichnung_Planung_Projekt(self, Bezeichnung_Planung_Projekt): + self.Bezeichnung_Planung_Projekt = Bezeichnung_Planung_Projekt + def get_Datum_Abschluss_Projekt(self): + return self.Datum_Abschluss_Projekt + def set_Datum_Abschluss_Projekt(self, Datum_Abschluss_Projekt): + self.Datum_Abschluss_Projekt = Datum_Abschluss_Projekt + def get_Projekt_Nummer(self): + return self.Projekt_Nummer + def set_Projekt_Nummer(self, Projekt_Nummer): + self.Projekt_Nummer = Projekt_Nummer + def get_Projektleiter(self): + return self.Projektleiter + def set_Projektleiter(self, Projektleiter): + self.Projektleiter = Projektleiter + def has__content(self): + if ( + self.Bezeichnung_Planung_Projekt is not None or + self.Datum_Abschluss_Projekt is not None or + self.Projekt_Nummer is not None or + self.Projektleiter is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='xmlns:nsPlanPro="http://www.plan-pro.org/modell/PlanPro/1.10.0"', name_='CPlanung_P_Allg', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CPlanung_P_Allg') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CPlanung_P_Allg': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CPlanung_P_Allg') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CPlanung_P_Allg', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CPlanung_P_Allg'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='xmlns:nsPlanPro="http://www.plan-pro.org/modell/PlanPro/1.10.0"', name_='CPlanung_P_Allg', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Bezeichnung_Planung_Projekt is not None: + namespaceprefix_ = self.Bezeichnung_Planung_Projekt_nsprefix_ + ':' if (UseCapturedNS_ and self.Bezeichnung_Planung_Projekt_nsprefix_) else '' + self.Bezeichnung_Planung_Projekt.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Bezeichnung_Planung_Projekt', pretty_print=pretty_print) + if self.Datum_Abschluss_Projekt is not None: + namespaceprefix_ = self.Datum_Abschluss_Projekt_nsprefix_ + ':' if (UseCapturedNS_ and self.Datum_Abschluss_Projekt_nsprefix_) else '' + self.Datum_Abschluss_Projekt.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Datum_Abschluss_Projekt', pretty_print=pretty_print) + if self.Projekt_Nummer is not None: + namespaceprefix_ = self.Projekt_Nummer_nsprefix_ + ':' if (UseCapturedNS_ and self.Projekt_Nummer_nsprefix_) else '' + self.Projekt_Nummer.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Projekt_Nummer', pretty_print=pretty_print) + if self.Projektleiter is not None: + namespaceprefix_ = self.Projektleiter_nsprefix_ + ':' if (UseCapturedNS_ and self.Projektleiter_nsprefix_) else '' + self.Projektleiter.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Projektleiter', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Bezeichnung_Planung_Projekt': + obj_ = TCBezeichnung_Planung_Projekt.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Bezeichnung_Planung_Projekt = obj_ + obj_.original_tagname_ = 'Bezeichnung_Planung_Projekt' + elif nodeName_ == 'Datum_Abschluss_Projekt': + obj_ = TCDatum_Abschluss_Projekt.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Datum_Abschluss_Projekt = obj_ + obj_.original_tagname_ = 'Datum_Abschluss_Projekt' + elif nodeName_ == 'Projekt_Nummer': + obj_ = TCProjekt_Nummer.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Projekt_Nummer = obj_ + obj_.original_tagname_ = 'Projekt_Nummer' + elif nodeName_ == 'Projektleiter': + obj_ = CAkteur.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Projektleiter = obj_ + obj_.original_tagname_ = 'Projektleiter' +# end class CPlanung_P_Allg + + +class CFachdaten(GeneratedsSuper): + """Ausgabe_Fachdaten -- Einbindung der konkreten Lieferung von LST-Fachdaten. + DB Regelwerk + Bisher keine Abbildung, da Neuerung mit PlanPro-Planungsprozess. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Ausgabe_Fachdaten=None, gds_collector_=None, **kwargs_): + self.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 Ausgabe_Fachdaten is None: + self.Ausgabe_Fachdaten = [] + else: + self.Ausgabe_Fachdaten = Ausgabe_Fachdaten + self.Ausgabe_Fachdaten_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CFachdaten) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CFachdaten.subclass: + return CFachdaten.subclass(*args_, **kwargs_) + else: + return CFachdaten(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Ausgabe_Fachdaten(self): + return self.Ausgabe_Fachdaten + def set_Ausgabe_Fachdaten(self, Ausgabe_Fachdaten): + self.Ausgabe_Fachdaten = Ausgabe_Fachdaten + def add_Ausgabe_Fachdaten(self, value): + self.Ausgabe_Fachdaten.append(value) + def insert_Ausgabe_Fachdaten_at(self, index, value): + self.Ausgabe_Fachdaten.insert(index, value) + def replace_Ausgabe_Fachdaten_at(self, index, value): + self.Ausgabe_Fachdaten[index] = value + def has__content(self): + if ( + self.Ausgabe_Fachdaten + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='xmlns:nsPlanPro="http://www.plan-pro.org/modell/PlanPro/1.10.0"', name_='CFachdaten', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CFachdaten') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CFachdaten': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CFachdaten') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CFachdaten', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CFachdaten'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='xmlns:nsPlanPro="http://www.plan-pro.org/modell/PlanPro/1.10.0"', name_='CFachdaten', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for Ausgabe_Fachdaten_ in self.Ausgabe_Fachdaten: + namespaceprefix_ = self.Ausgabe_Fachdaten_nsprefix_ + ':' if (UseCapturedNS_ and self.Ausgabe_Fachdaten_nsprefix_) else '' + Ausgabe_Fachdaten_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Ausgabe_Fachdaten', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Ausgabe_Fachdaten': + obj_ = CAusgabe_Fachdaten.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Ausgabe_Fachdaten.append(obj_) + obj_.original_tagname_ = 'Ausgabe_Fachdaten' +# end class CFachdaten + + +class CContainer(GeneratedsSuper): + """Anhang -- Erm + ö + glicht die Aufnahme von Anhangsdokumenten in das Modell. Das Objekt Anhang erlaubt es, im PlanPro Datenmodell Informationen aus bestehenden Dateien vorzuhalten, die nicht durch ein eigenes Objekt im Modell abgebildet sind. Diese Informationen entsprechen den im bisherigen papiergebundenen Prozess beigef + ü + gten Anlagen, eben den Anh + ä + ngen. Die erlaubten Typen von Anh + ä + ngen sind im Attribut + „ + Anhang Art + “ + definiert. Der Dateiname der Ursprungsdatei wird im Attribut + „ + Dateiname + “ + ohne die Endung abgelegt. Die erlaubte Endung wird im Attribut + „ + Dateityp + “ + definiert. Der eigentliche Inhalt der Ursprungsdatei wird im Attribut + „ + Daten + “ + als base64-codierte Bin + ä + rdaten abgelegt. Ein Anhang wird im Datenmodell auf zwei Arten verwendet. Zum einen kann ein Anhang + ü + ber das Objekt Bearbeitungsvermerk mit jedem Objekt oder Attribut verbunden werden. Dies ist in der Beschreibung des Objekts Bearbeitungsvermerk n + ä + her erl + ä + utert. Spezielle Anh + ä + nge, die direkt in einem Objekt bei der Planung enthalten sein m + ü + ssen, z.B. INA-Berechnung, werden direkt durch Attribute im jeweiligen Objekt definiert und so ohne den Umweg des Bearbeitungsvermerkes eingebunden. + ATO_Segment_Profile -- Infrastrukturabschnitte mit definiertem Beginn und Ende sowie zugeh + ö + rigen Infrastrukturangaben bzw. Eigenschaften f + ü + r den atomatischen Bahnbetrieb (ATO). Die Definition der Richtung wird aus der zugeh + ö + rigen ETCS-Kante + ü + bernommen. + ATO_Timing_Point -- Definierter Punkt in den Infrastrukturdaten f + ü + r ATO (Segment Profile), an dem betriebliche Vorgaben definiert werden k + ö + nnen. Diese betrieblichen Vorgaben werden entweder direkt aus dem Fahrplan abgeleitet oder durch dispositive Handlungen definiert, z. B. Betriebshalte oder Verkehrshalte einf + ü + gen oder auslassen, Beschleunigen oder Verlangsamung der Fahrt (fr + ü + here/sp + ä + tere Zeit f + ü + r die Erreichung des Timing Points) und + ü + ber das Journey Profile an ATO-OB kommandiert. + Dar + ü + ber hinaus kann an einem Timing Point die geplante betriebliche Fahrplanlage eines Zuges mit der tats + ä + chlichen betrieblichen Lage des Zuges verglichen werden. + Die Position des TP im Segment Profile muss + ü + ber die Topologie ermittelt werden. Der TP besitzt keine Wirkrichtung. + ATO_TS_Instanz -- Zentrale Komponente f + ü + r einen ATO-Infrastrukturbereich, die f + ü + r die gesamten ATO-relevanten Infrastrukturdaten, insbesondere Segment Profiles und deren Verteilung an die ATO-Fahrzeugkomponenten (ATO-OB), verantwortlich ist. + Aussenelementansteuerung -- Technisches Objekt, von dem aus die Ansteuerung der ESTW-Elemente der Au + ß + enanlage erfolgt. Au + ß + enelementansteuerungen (AEA) k + ö + nnen hierarchich angeordnet sein. + Ü + ber dem h + ö + chsten Element der Hierarchie steht immer die ESTW Zentraleinheit. Von allen AEA k + ö + nnen ein oder mehrere Elemente der Au + ß + enanlage angesteuert sowie deren Zust + ä + nde eingelesen werden. In der Verkettung zeigt die Verweisrichtung immer auf das in der Hierarchie h + ö + here Element. Die + Ü + bertragung von Daten und Energie wird durch getrennte Verweise modelliert. In der konventionellen ESTW-Technik entspricht die AEA dem ESTW-A. Eine Kaskadierung von AEA ist erst in neuerer ESTW-Technik + ü + blich. Geh + ö + rt ein Schaltkasten zu einem Signal, muss dieser nicht als AEA geplant werden, in dem Fall wird der Schaltkasten als Bestandteil des Signals betrachtet. Kann ein Schaltkasten mehrere Signale steuern, ist er als AEA zu betrachten. Je nach Detaillierungsgrad der Planung kann die prim + ä + re und sekund + ä + re Energieversorgung nur in der grunds + ä + tzlichen Art oder sogar der tats + ä + chliche Lieferant + ü + ber einen Verweis auf diesen angegeben werden. Als AEA werden nur Bestandteile des ESTW modelliert. Schnittstellen zu anderen Untergewerken (z. B. PZB, B + Ü + , ETCS) werden + ü + ber das Stellelement dargestellt. DB-Regelwerk Darstellung und Beschriftung des ESTW-Geb + ä + udes im sicherungstechnischen Lageplan nach Ril 819.9002 + Bahnsteig_Anlage -- Parallel zum Gleis gelegenes Element des Tiefbaus mit befestigter Oberfl + ä + che zum Zwecke des Zugangs der Reisenden von bzw. zu den Z + ü + gen. Ein Bahnsteig kann eine oder mehrere Bahnsteigkanten besitzen. Mehr als zwei Bahnsteigkanten k + ö + nnen dazugeh + ö + ren, wenn z. B. an einen Mittelbahnsteig noch ein Zungenbahnsteig anschlie + ß + t. DB-Regelwerk Ril 813.0201 + Bahnsteig_Dach -- Bahnsteigkanten-bezogene Abbildung der Bahnsteig- + Ü + berdachung. Die Angabe ist im INA-Erhebungsbogen erforderlich. + Bahnsteig_Kante -- Parallel zum Gleis verlaufende Kante eines Bahnsteigs, die f + ü + r den Fahrgastwechsel nutzbar ist. F + ü + r die LST-Planung sind Beginn und Ende der genutzten Bahnsteigkante z. B. f + ü + r die Zugbeeinflussung (PZB 90) sowie die Festlegung von Signalstandorten und Gefahrpunkten ma + ß + gebend. Die Baul + ä + nge der Bahnsteigkante wird im Datenmodell durch die L + ä + nge des Bereichsobjekts Bahnsteig_Kante abgebildet. Eventuell daran anschlie + ß + ende Tiefbauobjekte (auch stillgelegte Bahnsteigbereiche) k + ö + nnen als Ingenieurbauwerke (momentan noch nicht modelliert) abgebildet werden. DB-Regelwerk Darstellung einer Doppellinie im sicherungstechnischen Lageplan + Bahnsteig_Zugang -- Zugangspunkt der Reisenden zum Bahnsteig. Es wird jeweils die Mitte der Linie angegeben, auf der der Zugangsweg auf den Bahnsteig st + ö + ß + t. F + ü + r die Verwendung im Sicherungstechnischen Lageplan w + ä + hrend der Bearbeitung wurde ein neues Symbol erschaffen. Dieses soll im endg + ü + ltigen Lageplan nicht erscheinen. Der Zugang ist in der LST-Planung f + ü + r die INA-Berechnung relevant. Hierbei wird der Punkt auf der Bahnsteigkante ben + ö + tigt, an der der Zustrom der Reisenden erfolgt. Dieser Punkt wird im Datenmodell nicht abgespeichert, er kann aus Bahnsteig_Zugang hergeleitet werden. DB-Regelwerk Nennung des Zugangs im INA-Erhebungsbogen, Verortung erfolgt bisher nicht + Balise -- Bauelement zur + Ü + bertragung von Telegrammen an ETCS-Fahrzeugeinrichtungen. Gesteuerte Balisen sind anhand des Verweises LEU_Modul.LEU_Modul_Ausgang.ID_Balise auf diese Balise zu erkennen. Bei Erstellung des PT 1 ESG sind neben dem Datenpunkt auch die entsprechende Anzahl von Balisen anzulegen. + Bearbeitungsvermerk -- Anhang in Form von Datei oder Text zu einem Objekt oder Attribut. Jeder zugelassene Projektbeteiligte kann zu einem Objekt oder Attribut einen Bearbeitungsvermerk anf + ü + gen, sofern er die entsprechend notwendige Berechtigung besitzt. Dies gilt f + ü + r fachliche wie organisatorische Objekte und Attribute. F + ü + r ENUM-Attribute ist bei Auswahl des Werts \"sonstige\" zwingend ein Bearbeitungsvermerk anzuf + ü + gen. Eine Dokumentenbeigabe ist dabei optional. Zu einem Objekt oder Attribut k + ö + nnen mehrere Bearbeitungsvermerke erstellt werden. Der Bearbeitungsvermerk enth + ä + lt vorl + ä + ufig eine GUID zur Identifikation des Bearbeiters sowie eine GUID f + ü + r die Signatur. Im Attribut + „ + Bearbeitungsvermerk Rolle + “ + kann die fachliche Rolle des Bearbeiters abgelegt werden. Kommentare des Bearbeiters werden als Freitext im Attribut + „ + Kommentar + “ + hinterlegt. Der Bearbeitungsvermerk kann einen Anhang aufnehmen. Um mehrere Anh + ä + nge zu einem Objekt zuzuordnen, m + ü + ssen mehrere Bearbeitungsvermerke erstellt werden. + Bedien_Anrueckabschnitt -- Darstellung der Anr + ü + ckmeldung Auf der Bedienoberfl + ä + che wird bei in den Steuerbereich einfahrenden Z + ü + gen die Zugnummer oder, wenn diese nicht vorhanden ist, der vom anr + ü + ckenden Zug belegte Gleisabschnitt angezeigt. Die Anr + ü + ckmeldung wird aus der ZL generiert. Es wird festgelegt, in der N + ä + he welchen Gleisabschnittes auf der Bedienoberfl + ä + che die Zugnummer bzw. der Gleisabschnitt angezeigt werden soll. Der Gleisabschnitt kann au + ß + erhalb des Planungsbereiches liegen. Es muss nicht der direkte Nachbarabschnitt sein, denn z.B. bei Strecken mit hoher Geschwindigkeit wird als Anr + ü + ckabschnitt auch ein weiter entfernter Gleisabschnitt des Nachbarstellwerks genommen. DB-Regelwerk 819.0603 A2, Tabelle 3, Seite 208 + Bedien_Anzeige_Element -- Zuordnung von Stellelementen zu einer + ö + rtlichen Bedieneinrichtung und Abbildung von Meldern, Tasten und Schaltern einer + ö + rtlichen Bedieneinrichtung. + Bedien_Bezirk -- Bedienung von mehreren ESTW-Zentraleinheiten. Das Objekt Bedien_Bezirk erm + ö + glicht den Anschluss mehrerer ESTW-Zentraleinheiten an einen Bedien_Bezirk z. B. in einer Bedien_Zentrale. F + ü + r einen Bedien_Bezirk gibt es zwei Modellierungen / Auspr + ä + gungen. 1.) Reell in einer Bedien_Zentrale, Regio-BZ oder sonstigem Technikstandort errichteter Bedien_Bezirk mit angeschalteten ESTW_Zentraleinheiten (mindestens einer) ==\u0026gt; zentraler Bedien_Bezirk 2.) Geplante, auf die Streckeninfrastruktur bezogene, logische Zusammenfassung von betrieblich und geographisch zusammenh + ä + ngenden Strecken. ==\u0026gt; virtueller Bedien_Bezirk Beispiele: Siehe auch Anlage Media:Bedien Bezirk Typ.pdf 1.) Zentraler Bedien_Bezirk Das Konzept der zentralen Betriebsf + ü + hrung sieht vor, die Bedienung hochwertiger Strecken von ESTW, durch Bedien_Zentralen (Betriebszentralen) zu b + ü + ndeln. Besonderheit dabei ist, dass in den Bedien_Zentralen selbst keine ESTW_Zentraleinheiten aus Verf + ü + gbarkeitsgr + ü + nden aufgebaut werden d + ü + rfen. Das hei + ß + t, in den Betriebszentralen sind keine ESTW_Zentraleinheiten sondern nur Bedien_Pl + ä + tze und Bedien_Bezirke errichtet. Diese Bedien_Bezirke, die die Bedienung hochwertiger Strecken b + ü + ndeln, sind + „ + zentrale Bedien_Bezirke + “ + . Die Einschr + ä + nkung, ESTW_Zentraleinheiten nicht im selben Geb + ä + ude wie ESTW_Bedien_Bezirke aufzubauen, gilt nicht f + ü + r eine Regio-BZ oder sonstige Technikstandorte. Auch im Regionalnetz werden ESTW_Zentraleinheiten errichtet. Bisher sind diese + ö + rtlich besetzt. Unter anderem ist geplant bzw. in Realisierung, die Geb + ä + ude in denen bereits eine Regio-ESTW_Zentraleinheit errichtet ist, eine weitere Regio-ESTW_Zentraleinheit einzubauen. Um auch hier Redundanzen und Synergien nutzen zu k + ö + nnen, ist geplant auch hier einen Bedien_Bezirk + ü + ber die ESTW_Zentraleinheiten zu installieren. Der entscheidende Unterschied zur Bedienzentrale ist hier, dass Bedien_Bezirk und ESTW_Zentraleinheit in einem Geb + ä + ude untergebracht sind. Da Strecken sowohl das Regionalnetz und das Fern- und Ballungsnetz durchlaufen k + ö + nnen, m + ü + ssen die Kennzahlenplanungen ebenfalls Netzart + ü + bergreifend sein. Siehe auch Attribut + „ + Kennzahl + “ + . 2.) Virtueller Bedienbezirk Als Zweites ist die Option des virtuellen Bedien_Bezirks zu modellieren. Da ein Bedien_Bezirk ja nicht von Heute auf Morgen in ESTW-Technik da steht, m + ü + ssen + Ü + bergangsregelungen geschaffen werden. Auch wenn Stellwerke in einem Bedien_Bezirk (noch) nicht in ESTW-Technik realisiert sind oder die Zuordnung zum Regionalnetz oder Fern- und Ballungsnetz noch offen ist gilt: Die Stw sind einem Bedien_Bezirk zuzuordnen um jegliche sp + ä + tere Realisierungsform zu erm + ö + glichen und so auch die Kennzahlenvergabe sicher zu gestalten. Siehe auch Attribut + „ + Kennzahl + “ + . Am Beispiel der Bedien_Bezirke 08 und 11 in der BZ Hannover sieht man, dass auch Stellwerke, die (noch) nicht an einen Bedien_Bezirk angebunden sind, eine Zuordnung erfahren m + ü + ssen. Alle Stellwerke (HORX, HK, Sarstedt und Barnten) liegen in einem betrieblich zusammenh + ä + ngenden Bezirk. N + ä + mlich auf den Nord-S + ü + d Strecken von Hannover Richtung G + ö + ttingen. Die Stellwerke HK, Sarstedt und Barnten sogar auf derselben Strecke 1732. Aktuell sind die Stellwerke Sarstedt und Barnten noch nicht an einen Bedien_Bezirk angebunden. In den Planungen und betrieblichen Vorgaben des Regionalbereichs aber f + ü + r eine Zuordnung zum Bedien_Bezirk 11 vorgesehen. Daher muss schon jetzt der Bedienbezirk den Stw zugeordnet werden k + ö + nnen, auch wenn sie ggf. trotz ESTW-Aufbau, + ö + rtlich besetzt werden. Durch die Darstellung in dem Verweis + „ + zentral + “ + oder + „ + virtuell + “ + l + ä + sst sich die aktuelle und geplante Anbindung darstellen. Im Verst + ä + ndnis der Betriebszentralen entspricht das Objekt Bedien_Bezirk dem Steuerbezirk. Das Objekt kann im LST-Datenmodell jedoch auch als virtueller Bedien_Bezirk vorkommen. Jeder ESTW-Zentraleinheit wird auch ein Bedien_Bezirk zugeordnet. In der Regel der, der in der Kennzahlenplanung vorgesehen ist. Also auch dann, wenn physisch kein Bedienbezirk (Steuerbezirk) oder eine vergleichbare Einheit vorhanden ist (z. B. Regionale Bedienzentrale mit nur einer ESTW-Zentraleinheit), aber bestimmte Eigenschaften mehrerer gemeinsam gesteuerter ESTW-Zentraleinheiten + ü + bergreifend geplant werden m + ü + ssen (z.B. Richtungssinn und Kennzahlen). Gem + ä + ß + Richtlinie 819.0603 m + ü + ssen Kennzahlen und Betriebsstellenbezeichner im Steuerbezirk und an seinen Grenzen eindeutig (einmalig) sein. Diese Regel kann nicht + ü + ber das Modell abgebildet werden, sondern muss in der Plausibilit + ä + ts- und Zul + ä + ssigkeitspr + ü + fung (PlaZ) abgefangen werden. Die Vorgabe f + ü + r den Richtungssinn bezieht sich immer auf einen kompletten Steuerbezirk. Sie ist jedoch als Eigenschaft der Bedienoberfl + ä + che modelliert. Gegebenenfalls m + ü + ssen hier Zul + ä + ssigkeitspr + ü + fungen ablaufen. Im Bedienbezirk werden au + ß + erdem die Angaben f + ü + r die Datenkommunikation mit den zugeordneten ESTW-Zentraleinheiten geplant. Die Werte A, B und C werden nach Ril 819.0705A01 von der DB Netz festgelegt. Der Ansprechpartner findet sich in der Ril. Alle weiteren Werte lassen sich anhand dieser Unterlage bestimmen. Siehe Anlage Media:ipadr namensv ib1.pdf DB-Regelwerk 819.0603 819.0705A01 + Bedien_Einrichtung_Oertlich -- Abbildung einer + ö + rtlichen Bedieneinrichtung (Stelltafel, Bedienpult etc.) als physisches Element der Au + ß + enanlage. Bedienbare Elemente, die nicht von einer ESTW-Bedienoberfl + ä + che bedient werden, sind durch eine entsprechende Bedieneinrichtung umstellbar. Weiterhin sind in der Bedieneinrichtung Tasten f + ü + r die Kommunikation zwischen + ö + zF und Bediener untergebracht. Im Objekt Bedien_Einrichtung_Oertlich wird die physische Ausbildung der Bedieneinrichtung abgebildet. Die dazugeh + ö + rigen Melder, Schalter und Taster sind im Objekt Bedien Anzeige Element modelliert. Die logischen Funktionen einer Bedieneinrichtung f + ü + r Nahstellbereiche und Bahn + ü + berg + ä + nge befinden sich in den Objekten + „ + BUE Bedien Anzeige Element + “ + oder + „ + NB Bedien Anzeige Element + “ + . Die Bedien_Einrichtung_Oertlich kommt zur Anwendung bei: Nahstellbereichen, Bahn + ü + berg + ä + ngen (HET, UT, etc.), Schl + ü + sselschaltern- und Tastern (Zustimmung, Gleisfreimeldung, Zugschlussmeldung, etc.), ZP 10/9-Bediens + ä + ulen, + ö + rtlicher Abgabe von Zugschlussmeldungen und Bedieneinrichtungen an Schnittstellen zum Zugleitbetrieb. Bedieneinrichtungen von elektrisch ortsgestellten Weichen (EOW) werden mit diesem Objekt nicht modelliert. + Bedien_GBT -- Planung aller Parameter, die f + ü + r die Darstellung der Gleisbenutzungstabelle (GBT) auf dem Bedienplatz f + ü + r den Nutzer erforderlich sind. + Bedien_Oberflaeche -- Topologisches Abbild der f + ü + r die Bedienung und Anzeige eines ESTW relevanten sicherungstechnischen Anlagen. Dies wird in Form von Meldebildern mit unterschiedlicher Informationstiefe dargestellt. Dar + ü + ber hinaus gibt es weitere zum Bedienplatzsystem geh + ö + rende Meldebilder. Folgende Meldebildtypen stehen an einem Bedienplatzsystem (BPS) zur Verf + ü + gung: Bereichs + ü + bersicht (Ber + ü + ), Bereichs + ü + bergreifende Ber + ü + , Lupe, Gleisbenutzungstabelle (GBT), Kommunikationsanzeige (KA), KA-Bild 1 (PSI-Spiegel), KA-Bild 2 (ESTW-St + ö + rungsmeldungen), Betriebsstatus (Rechnerst + ö + rungen), Sammelmelderbild (SM-Bild), Dokumentation (Doku), Integrierte Bedienerf + ü + hrung. An anderen Bedienplatzsystemen k + ö + nnen andere Meldebildtypen m + ö + glich sein. Die Eigenschaften eines Bildes sind unter dem Objekt Bedien Oberflaeche Bild zusammengefasst. Mehrere Bilder verweisen auf das Objekt Bedien_Oberflaeche. Die M + ö + glichkeiten der Aufschaltung der jeweiligen Bedienoberfl + ä + chen auf den Bedienpl + ä + tzen sind implizite Stellwerksfunktion. Die dazu notwendigen Berechtigungen sind Betriebsdaten der Instandhaltung. Diese Parameter werden im PT I nicht geplant und im Datenmodell nicht abgebildet. Sondern von der + ö + rtlichen Instandhaltung in die Systeme eingegeben. Die Bildbezeichnung des jeweiligen Oberfl + ä + chenbildes nach der signifikanten (also der bedeutenstenten) Betriebsstelle entsprechend Richtlinie 819.0603 in der Form \"(Bildart)_(Ril 100 Abk)\" wird + ü + ber die Attribute Oberflaeche Bildart und ID Oertlichkeit gebildet. + Bedien_Oberflaeche_Bild -- Zusammenfassung der Eigenschaften, die sich jeweils nur auf ein Bild der Bedienoberfl + ä + che beziehen. Eigenschaften, die alle Bilder betreffen, sind unter Bedien Oberflaeche eingebunden. + Bedien_Oertlichkeit -- Zuordnung einer Oertlichkeit zum Bedien Bezirk, aus dem sie bedient wird. Dabei werden in diesem Zuordnungsobjekt die vorhandenen Angaben aus dem Objekt + Ö + rtlichkeit der jeweiligen Betriebsstelle um weitere Angaben wie beispielsweise die ESTW-Kennzahl oder den Betriebsstellenbezeichner (Streckenziel) planerisch angereichert. Gem + ä + ß + Richtlinie 819.0603 m + ü + ssen die ESTW-Kennzahlen und Betriebsstellenbezeichner im Steuerbezirk und an seinen Grenzen eindeutig (einmalig) sein. Diese Regel kann nicht + ü + ber das Modell abgebildet werden, sondern muss in der Plausibilit + ä + ts- und Zul + ä + ssigkeitspr + ü + fung (PlaZ) abgefangen werden. Siehe Beispiel Media:Lupen HBS1.pdf \"Bf Braunschweig Hbf (HBS) 30\": Betriebsstellenbezeichner ==\u0026gt; \"Bf Braunschweig Hbf\", Oertlichkeit ==\u0026gt; \"HBS\", Kennzahl ==\u0026gt; \"30\". DB-Regelwerk 819.0603 + Bedien_Platz -- Ö + rtliche Anordnung der Bedien- und Meldeeinrichtungen zur betrieblichen Nutzung eines elektronischen Stellwerks. Der Bedien_Platz kann sowohl an einem Bedien_Bezirk wie auch an einer ESTW_Zentraleinheit angeschaltet sein. Der Aufstellungsort muss aber nicht zwingend der Anschalteort sein. Der Bedien_Platz kann auch als abgesetzter Bedien_Platz an abweichenden Orten untergebracht sein. Z.B. wenn im Modulgeb + ä + ude der ESTW_Zentraleinheit nicht ausreichend Platz ist und der Bedien_Platz im benachbartem alten Stellwerksgeb + ä + ude untergebracht werden soll. Um dem Lieferanten die allgemeine Auspr + ä + gung des Bedien_Platzes im PT 1 zu beschreiben, ist noch der Hinweis zu erbringen, ob es sich um einen Not-Bedien_Platz oder einen Standard-Bedien_Platz handelt. Da es verschiedne Kombinationen und mehere Instanzen von Bedien_Platz geben kann, hier noch mal Beispielhafte Varianten: ESTW_Zentraleinheit mit Anbindung an einen Bedien_Bezirk mit + ö + rtlichem Notbedienplatz im Modulgeb + ä + ude und Standardbedienpl + ä + tzen in der Bedien_Zentrale (z.B. ESTW Orxhausen/Siemens) ESTW_Zentraleinheit mit abgesetzten Standardbedienpl + ä + tzen und mit + ö + rtlichem Notbedienplatz im Modulgeb + ä + ude (z.B. ESTW Kreiensen/Bombardier) ESTW_Zentraleinheit mit Anbindung an einen Bedien_Bezirk mit abgesetztem Notbedienplatz im Altstellwerk und Standardbedienpl + ä + tzen in der Bedien_Zentrale (z.B. ESTW Oldenburg Nord/Siemens) Aus diesem Zusammenhang entstehen vier Typen von Bedienpl + ä + tzen. Standard-Bedienplatz-System (Standard_BPS) Standard-Bedienplatz-System abgesetzt (Standard_BPS_Abgesetzt) Not-Bedienplatz Not-BPS-System (Not_BPS) Not-Bedienplatz Not-BPS-System abgesetzt (Not_BPS_Abgesetzt) Im PT 1 BZ werden f + ü + r den Bedienplatz die Aufstellung im Raum, die Ausstattung und Ausr + ü + stung sowie die Versorgung mit elektrischer Energie und Daten geplant. Siehe Beispiel der BZ Hannover: Plan der Bedienebene: Media:Plan Bedieneben BZH.pdf, Schematischer Plan der Strom- und Datenversorgung am Bedienplatz: Media:Plan Stromversorgung BPL BZH.pdf. + Bedien_Standort -- Bei DSTW: Standort, von dem die Bedienung der DSTW erfolgt. Von einem Bedienstandort k + ö + nnen mehrere Technikstandorte bedient werden. + Bedien_Zentrale -- Betriebsleitstelle eines EIU, aus der die Leit- und Sicherungstechnik von zentral gesteuerten ESTW planm + ä + ß + ig bedient wird. Die Betriebsleitstelle kann eine Betriebszentrale (BZ) der DB Netz oder auch eine zentrale Bedienstelle der Regionalnetze sein. Da die Bedien_Zentrale nicht notwendigerweise in der N + ä + he von Gleisen liegt, wird kein unmittelbarer Bezug zu einer Strecke hergestellt. Eine + Ö + rtlichkeit wird jedoch nach Ril 100 f + ü + r den Standort festgelegt. In der Bedien_Zentrale sind die spezifischen Anh + ä + nge dargestellt. Weitere Pl + ä + ne aus dem PT I BZ, wie beispielsweise Belegungspl + ä + ne f + ü + r Bodentanks, Kabel + ü + bersichtspl + ä + ne, Verteilerbelegungspl + ä + ne, Schrankpl + ä + ne, H + ö + heneinheiten und Patchfeldbelegungen in den Schr + ä + nken f + ü + r die BZ, werden als allgemeiner Anhang f + ü + r die vererbten Eigenschaften aus dem Basisobjekt (Attribut Anhang) im Objekt Bedien_Zentrale angeh + ä + ngt. + Binaerdaten -- Bin + ä + rdatenstrom oder Bin + ä + rdatei mit zugeh + ö + rigen betriebssystemnahen Metadaten (z. B. Dateiname, Dateityp). + Block_Anlage -- Technische Einrichtungen f + ü + r die blocktechnische Sicherung von Zugfahrten auf Streckengleisen. Die zugeh + ö + rige Bezeichnung des Streckengleises wird + ü + ber das Objekt Gleis Bezeichnung ermittelt. Die Klammern der Gleisbezeichnung f + ü + r Streckengleise sind Bestandteil der Gleisbezeichnung. F + ü + r die Darstellung der Streckendaten f + ü + r eine Blockstrecke wird + ü + ber das Objekt Block Element das Objekt Block Strecke verwendet. Ist Streckenblock geplant, wird einem Streckengleis eine Block_Anlage zugeordnet. Bei einer zweigleisigen Strecke, bei der beide Streckengleise mit Streckenblock ausger + ü + stet sind, wird den beiden Streckengleisen jeweils eine eigene Block_Anlage zugeordnet. Eine Block_Anlage verf + ü + gt + ü + ber zwei Block_Elemente A und B (Blockendstellen), die entsprechend der Regelfahrrichtung zugewiesen werden. Bei eingleisigen Strecken ergibt sich der Richtungssinn A - B aus der Streckenkilometrierung. Eine Ausnahme bildet der Stichstreckenblock, dem nur ein Block Element zugeordnet wird. Als Zusammenfassung aller Objekte wird auch die Bezeichnung Block verwendet. + Block_Element -- Element am Ende einer Blockstrecke/Blockanlage. Ein Streckengleis, welches mit einer Block Anlage ausger + ü + stet ist, besitzt zwei korrespondierende Blockelemente in den benachbarten Betriebsstellen. Eine Ausnahme bildet der Stichstreckenblock, der nur ein Block_Element besitzt. Das Block_Element verweist auch auf die zugeh + ö + rige Blockstrecke, die die relevanten blocktechnischen und betrieblichen Daten der Strecke enth + ä + lt. Bei zweigleisigen Strecken verweisen zwei Blockelemente auf die Blockstrecke. Das Block_Element verweist auf ein Signal in Form des Streckenziels (A-Feld) und auf ein Schaltmittel zur R + ä + umungspr + ü + fung (E-Feld). Wenn eine gesonderte Zugschlussmeldung verwendet wird, wird mit ID_Zugschlussmeldung auf eine entsprechende Bedieneinrichtung verwiesen. Aus der Blockbauform der jeweiligen Endstelle kann die Art der technischen Realisierung erkannt werden. + Block_Strecke -- Speicherung der betrieblich relevanter Streckendaten einer Blockstrecke. Das Objekt enth + ä + lt die zwischen zwei Zugmeldestellen typischen betrieblichen Informationen (Streckendaten) zur Information. Es wird dem Blockelement der zugeh + ö + rigen Blockstelle zugeordnet. + BUE_Anlage -- Beschreibung der baulichen Anlage des Bahn + ü + bergangs (B + Ü + ) einschlie + ß + lich der technischen Sicherung, sofern vorhanden. Zurzeit beschr + ä + nken sich die Angaben auf den im Lageplan darzustellenden Teil des B + Ü + . Zu einem sp + ä + teren Zeitpunkt werden die spezifischen B + Ü + -Sicherungsanlagen wie Lichtzeichen, Andreaskreuze, Schrankenantriebe, Belag im B + Ü + -Bereich etc. in das Modell aufgenommen. Gleiches gilt f + ü + r die Einschaltstreckenberechnung sowie die Beeinflussungsberechnung. Das Objekt wird auf den Kreuzungspunkt (in der Mitte der kreuzenden Stra + ß + e) verortet; damit ergibt sich die sogenannte B + Ü + -Mitte gem + ä + ß + Einschaltstreckenberechnung. DB-Regelwerk F + ü + r die Planung von Bahn + ü + berg + ä + ngen gelten folgende Regelwerke: 815 819.12xx Die konkreten Bez + ü + ge zum Regelwerk werden in den einzelnen Attributen angegeben. + BUE_Anlage_Strasse -- Stra + ß + enbezogene Angaben zur BUE_Anlage, die im Wesentlichen im Rahmen der bautechnischen Planung ben + ö + tigt werden. Die Themen L + ä + ngsneigung und Ausrundungshalbmesser werden aufgrund der Vielzahl notwendiger Angaben nicht im Modell abgebildet (separate Betrachtung erforderlich). + BUE_Anlage_V -- Angaben zu gleis- und stra + ß + enseitigen Mindest- und H + ö + chstgeschwindigkeiten f + ü + r die Einschaltstreckenberechnung. + BUE_Ausschaltung -- Logisches Objekt, das alle Informationen zur Ausschaltung eines Bahn + ü + bergangs enth + ä + lt. + Ü + ber den Verweis auf BUE Gleisbezogener Gefahrraum findet eine Verortung am zugeh + ö + rigen Gleis statt, f + ü + r das der Ausschaltkontakt angeordnet wird. Der Ausschaltkontakt selbst ist + ü + ber das Objekt Schaltmittel Zuordnung abgebildet. F + ü + r die BUE_Ausschaltung ist, in Fahrtrichtung Ausschaltkontakt weg vom B + Ü + gesehen, die R + Ü + CKGELEGENE Grenze von BUE Gleisbezogener Gefahrraum f + ü + r die Verortung ma + ß + gebend. Die Gefahrraum-Grenze liegt damit in Fahrtrichtung VOR dem Ausschaltkontakt. DB-Regelwerk 815.0032 4 (3) Die Planung der Ausschaltung erfolgt entsprechend der Projektierungshinweise der konkreten B + Ü + -Technik. Seitens der Ril 815 gibt es dazu keine konkreten Vorgaben. + BUE_Bedien_Anzeige_Element -- Objekt zur Definition der logischen Bedienfunktionen, die + ü + ber Taster auf den B + Ü + einwirken. Es dient der Zuordnung der ausgew + ä + hlten Bedienfunktionen zum B + Ü + bzw. zu den Ein-/Ausschaltungen des zugeh + ö + rigen Gleises. Die Zuordnung zur physischen Unterbringung erfolgt + ü + ber den Verweis auf Bedien Anzeige Element. DB-Regelwerk 819.1204 8 TM 2012 - 001 I.NVT 3 + BUE_Deckendes_Signal_Zuordnung -- Das Zuordnungsobjekt BUE_Deckendes_Signal bildet die diesbez + ü + gliche Angabe in der Signaltabelle 1 sowie in der Einschaltstreckenberechnung ab. Die Angaben in der Signaltabelle 1 sowie in der Einschaltstreckenberechnung beziehen sich auf das deckende Signal (Haupt-/LS-Signal) und nicht auf die den B + Ü + -Schlie + ß + vorgang ansto + ß + ende Fahrstra + ß + e. DB-Regelwerk Signaltabelle 1, Zeile 33 und 34 Einschaltstreckenberechnung + BUE_Einschaltung -- Logisches Objekt, das alle Informationen zur Einschaltung eines Bahn + ü + bergangs (B + Ü + ) enth + ä + lt. + Ü + ber den Verweis auf BUE Gleisbezogener Gefahrraum findet eine Verortung am zugeh + ö + rigen Gleis statt, f + ü + r das der Einschaltkontakt angeordnet wird. Der Einschaltkontakt selbst ist + ü + ber das Objekt Schaltmittel Zuordnung abgebildet. F + ü + r die BUE Einschaltung ist die in Fahrtrichtung von Anr + ü + ckmelder / Einschaltkontakt in Richtung B + Ü + die VOR der B + Ü + -Mitte liegende Grenze von BUE Gleisbezogener Gefahrraum ma + ß + gebend, auf dem das Objekt verortet wird. Die Gefahrraum-Grenze liegt damit in Fahrtrichtung HINTER dem Anr + ü + ckmelder / Einschaltkontakt. Bei Ausbildung des Einschaltpunktes als Doppelschleife gelten hinsichtlich des ma + ß + gebenden Einschaltpunktes gem + ä + ß + Einschaltstreckenberechnung folgende Unterschiede: Hersteller PintschBamag: ma + ß + gebend ist die Mitte der in Fahrtrichtung B + Ü + liegenden ERSTEN Schleife Hersteller Scheidt\u0026amp;Bachmann: ma + ß + gebend ist die Mitte der in Fahrtrichtung B + Ü + liegenden ZWEITE Schleife DB-Regelwerk 815.0033 in Verbindung mit Einschaltstreckenberechnung Die Angaben zur B + Ü + -Einschaltung beschr + ä + nken sich gegenw + ä + rtig auf die Planungswerte mit Auswirkungen auf das Stellwerk. + BUE_Einschaltung_Zuordnung -- Logisches Objekt zur Zuordnung zwischen BUE Einschaltung und zugeh + ö + rigem BUE Gleisbezogener Gefahrraum. Im Regelfall wirkt eine BUE_Einschaltung direkt auf einen gleisbezogenen Gefahrraum; das Zuordnungsobjekt w + ä + re nicht erforderlich. Liegt jedoch zwischen BUE_Einschaltung und dem B + Ü + eine Weichenverbindung, wird eine Zuordnung der BUE_Einschaltung auf mehrere gleisbezogene Gefahrr + ä + ume notwendig. Diese Verbindung stellt das Zuordnungsobjekt her. Zur Vereinheitlichung wurde auf eine Choice zwischen direktem Verweis von BUE_Einschaltung auf BUE_Gleisbezogener_Gefahrraum und den Verweisen durch das Zuordnungsobjekt verzichtet. DB-Regelwerk Dieser Anwendungsfall ist im Regelwerk der DB AG nicht explizit beschrieben. + BUE_Gefahrraum_Eckpunkt -- Eckpunkt des B + Ü + -Gefahrraums. + BUE_Gleisbezogener_Gefahrraum -- Bereichsobjekt, das den Gefahrraum eines B + Ü + f + ü + r ein Gleis abbildet. Die Grenzen des Bereichsobjektes liegen jeweils auf dem Schnittpunkt zwischen Gefahrraumkante und zugeh + ö + rigem Gleis. Die zugeh + ö + rigen Ein- und Ausschaltelemente verweisen auf die jeweilige Grenze des Bereichsobjektes. F + ü + r jedes Gleis am B + Ü + ist ein solches Objekt vorzusehen. Somit hat ein B + Ü + bzw. eine BUE Anlage immer genauso viele Instanzen von BUE_Gleisbezogener_Gefahrraum wie B + Ü + -Gleise. Zu einem sp + ä + teren Zeitpunkt werden ggf. weitere, Gefahrraum-spezifische Angaben erg + ä + nzt. DB-Regelwerk 819.1210 7 (1)-(3) + BUE_Kante -- Gleisbezogene Abbildung der B + Ü + -Kante zur Berechnung des Sicherheitsabstands bei Hp-gedeckten Bahn + ü + berg + ä + ngen. + BUE_Kreuzungsplan -- Verortungspunkte des f + ü + r die B + Ü + -Planung verwendeten bautechnischen B + Ü + -Kreuzungsplans. Sofern der Anhang nicht als GeoTiff vorliegt, sind mindestens 2 Verortungspunkte anzugeben. + BUE_Schnittstelle -- Schnittstelle zwischen dem Planer des ESTW und dem Planer der technischen Sicherung des Bahn + ü + bergangs. Im ESTW wird eine technische Schnittstelle f + ü + r Hp-Abh + ä + ngigkeiten zwischen ESTW und B + Ü + und/oder Fern + ü + berwachung (F + Ü + ) durch den + ö + zF vorgesehen. Bau-B + Ü + , die + ü + ber eine Schl + ü + sselsperre gesichert werden, sowie nichttechnisch gesicherte B + Ü + erhalten keine BUE_Schnittstelle. DB-Regelwerk Die betreffenden Angaben finden sich im \"Datenblatt f + ü + r die Abh + ä + ngigkeiten B + Ü + - Stw\". + BUE_Spezifisches_Signal -- Objekt zur Zuordnung von Signalen, die ausschlie + ß + lich im Zusammenhang mit einem Bahn + ü + bergang (B + Ü + ) angeordnet werden. Dazu geh + ö + ren zum Beispiel Pfeiftafeln, Lf-Signale mit und ohne Zusatz \"B + Ü + \" oder + Ü + berwachungssignale f + ü + r B + Ü + , Merktafeln oder Merkpf + ä + hle u.a. Die Anwendung von Pfeiftafeln und Lf-Signalen erfolgt zumeist bei nichttechnisch gesicherten B + Ü + ; die Anwendung der + Ü + berwachungssignale bei Bahn + ü + berg + ä + ngen der Funktions + ü + berwachung \" + Ü + S\". F + ü + r die vorgenannten F + ä + lle ist der Verweis auf BUE Anlage zu bef + ü + llen. Wird zum Beispiel ein Merkpfahl zur Kennzeichnung eines Einschaltpunktes (Anwendung in besonderen Planungsf + ä + llen) vorgesehen, ist der Verweis auf BUE Einschaltung zu bef + ü + llen. F + ü + r die Bezeichnung von B + Ü + -spezifischen Signalen, insbesondere + Ü + berwachungssignale, sind Ausf + ü + hrungen auf der Seite Bezeichnung Signal vorhanden. DB-Regelwerk Formblatt zur Ermittlung der Sichtfl + ä + chen f + ü + r nichttechnisch gesicherte B + Ü + 819.1204 9 f + ü + r + Ü + S SPU 24 f + ü + r Merktafel /-pfahl B + Ü + -Kabellage- und - + ü + bersichtsplan + BUE_WS_Fstr_Zuordnung -- Zuordnung zwischen BUE-Einschaltung und zugeh + ö + rigen Fahrstra + ß + en, f + ü + r die die Wirksamkeitskontakte wirken sollen. + Datenpunkt -- Beeinflussungspunkt bestehend aus + einer Einzelbalise oder Balisengruppe und ggf. einer LEU. In europ + ä + ischen Spezifikationen wird der Begriff \"Balisengruppe\" auch synonym f + ü + r \"Datenpunkt\" verwendet. Ein ungesteuerter Datenpunkt besteht ausschlie + ß + lich aus ungesteuerten Balisen (Festdatenbalisen). Die Attributgruppe DP_Typ_GESG darf nur ausgew + ä + hlt werden, wenn ausschlie + ß + lich ESG-Telegramme enthalten sind. + Datenpunkt_Link -- Linking-Information zu einem nachfolgenden Datenpunkt. Die Information kann in mehreren Fachtelegrammen verwendet werden. Die Festlegung erfolgt nur bei ZBS und GNT im Rahmen des PT 1. + ESTW_Zentraleinheit -- Zentrale Komponente eines ESTW. Die ESTW-Zentraleinheit (ZE) steuert alle untergeordneten Aussenelementansteuerungen, stellt die Verbindung zu den Bedienbezirken (Notbedienplatz, Steuerbezirk/Zentralbedienung) und zu Nachbar-ESTW-Zentraleinheiten, zur Zuglenkung und zur Zugnummernmeldeanlage her. Die ZE kann ein ESTW-Z oder eine ESTW-UZ sein. Die geografische Grenze einer ZE liegt immer an einem Haupt- oder Sperrsignal (Signal_Real_Aktiv) oder einem Bedienpunkt (Signal_Fiktiv), in der Regel an einem Einfahrsignal. Die von einer Unterzentrale ben + ö + tigten Adressformeln nach Richtlinie 819.0705 werden + ü + ber die Verkn + ü + pfung zu Bedien Bezirk bereitgestellt. DB-Regelwerk Darstellung des ESTW-Geb + ä + udes im sicherungstechnischen Lageplan nach Ril 819.9002, Beschreibung im Erl + ä + uterungsbericht + ETCS_Kante -- Abbildung der Kante des ETCS-spezifischen Knoten-Kanten-Modells auf das topologische PlanPro-Knoten-Kanten-Modell. + ETCS_Knoten -- Abbildung des Knotens des ETCS-spezifischen Knoten-Kanten-Modells auf das topologische PlanPro-Knoten-Kanten-Modell. Bei Kreuzungsweichen erfolgt die Verortung zweifach, sonst einfach. + ETCS_Richtungsanzeige -- Abbildung der Vorgaben zur Richtungsanzeige bei ETCS L2. DB-Regelwerk Ril 819.1344, 4.3.3 (74) + ETCS_Signal -- Zusatzangaben f + ü + r reale Signale im Zusammenhang mit ETCS L2. + Die Signalart \"sonstiges Lichtsperrsignal\" (sLs) f + ü + r Lichtsperrsignale, an denen keine Zugstra + ß + en beginnen oder enden, muss aus dem Fehlen entsprechender Zugstra + ß + en abgeleitet werden. + ETCS_W_Kr -- Zusatzangaben f + ü + r Weichen und Kreuzungen im Zusammenhang mit ETCS L2. Ortsgestellte Weichen sind gem + ä + ß + der Vorgaben in Ril 819.1344 zu ber + ü + cksichtigen. + EV_Modul -- Energieversorgungsmodul. Einheit, die die Energieversorgung aller Ihr zugeordneten Elemente sicherstellt. Das EV-Modul kann physisch (eigenes Element) oder virtuell (Energie-Abgriff von bestehendem Element) sein. + Fachtelegramm -- Informationen auf Planungsebene, die einem Datenpunkt in Abh + ä + ngkeit eines Signalbegriffs oder anderer Eingangsinformationen zugeordnet werden. + Fla_Freimelde_Zuordnung -- Zuordnung der freizupr + ü + fenden Freimeldeabschnitte zur jeweiligen Flankenschutzma + ß + nahme. DB-Regelwerk Flankenschutztabelle, Spalte 10 \" + ü + berwachter Schutzraum\" + Fla_Schutz -- Darstellung der technischen Ma + ß + nahmen, um Flankenschutz zu gew + ä + hrleisten. DB-Regelwerk 819.0505 + Fla_Zwieschutz -- Beschreibung der Verhaltensweise einer Zwieschutzweiche, wenn sie gleichzeitig in beiden Stellungen f + ü + r den Flankenschutz angefordert wird. DB-Regelwerk Zwieschutzweichentabelle + FMA_Anlage -- Technische Anlage, die einen Gleisabschnitt auf Freisein von Schienenfahrzeugen + ü + berwacht; entspricht im gew + ö + hnlichen Sprachgebrauch dem Freimeldeabschnitt. Eine FMA_Anlage wird alleinstehend zur Fahrwegfreipr + ü + fung bzw. zur Freipr + ü + fung des Flankenschutzraumes genutzt sowie in Auswertung der Reihenfolge von Belegung und Wieder-Frei-Werden zur Erfassung einer Fahrt und damit zur Aufl + ö + sung von Teilfahrstra + ß + en. Auch andere Schaltvorg + ä + nge k + ö + nnen durch eine FMA_Anlage ausgel + ö + st werden. Die FMA_Anlage hat mindestens eine Au + ß + enanlage (z. B. Drosselspule, Achsz + ä + hlpunkt) und beansprucht Anteile an einer Gleisfreimelde-Innenanlage (z. B. Motorrelaisgruppe, Achsz + ä + hlrechner). DB-Regelwerk Typspezifische Planungshinweise und Technische Mitteilungen; Planungsdaten: Sicherungstechnischer Lageplan, B + Ü + -Lageplan; Gleisfreimeldepl + ä + ne (Achsz + ä + hl + ü + bersichtsplan, Gleisisolierplan); Freimeldetabelle. + FMA_Element -- Erg + ä + nzung einer FMA Komponente bei Gleisstromkreisen um die Bauelemente zur Ein- und Ausspeisung. FMA_Elemente werden rechts und/oder links der FMA_Komponente direkt den angrenzenden FMA_Anlagen zugewiesen. Das Objekt ist bei Achsz + ä + hlpunkten nicht erforderlich. DB-Regelwerk Typspezifische Planungshinweise und Technische Mitteilungen; Planungsdaten: Sicherungstechnischer Lageplan, B + Ü + -Lageplan, Gleisisolierplan, Freimeldetabelle. + FMA_Komponente -- Freimeldeabschnittsgrenze (Isoliersto + ß + , elektrischer Sto + ß + , Achsz + ä + hlpunkt). Die FMA_Komponente wird dem Punkt im Gleis zugeordnet, bis zu dem die Erkennung einer Belegung gem + ä + ß + Anwendungsrichtlinien als gesichert gilt. Die zu den zugeh + ö + rigen Gleisabschnitten geh + ö + renden Bereichsobjekte Gleis Abschnitt m + ü + ssen deshalb exakt an diesem Punktobjekt enden. Zur Ermittlung der seitlichen Lage einer FMA_Komponente siehe Modellierung Gleisfreimeldung. Eine FMA_Komponente kann nur an einer Seite mindestens einen Freimeldeabschnitt oder beidseitig jeweils mindestens einen Freimeldeabschnitt begrenzen. Bei + ü + berlappenden Freimeldeabschnittsgrenzen (z.B. am + Ü + bergang von FTGS- zu Achsz + ä + hl- Gleisfreimeldeanlagen) ist jede Freimeldeabschnittsgrenze f + ü + r sich als FMA_Komponente zu erfassen. Direkt auf H + ö + he, rechts und/oder links der Freimeldeabschnittsgrenze k + ö + nnen sich technische Anlagen f + ü + r die Gleisfreimeldung befinden, siehe dazu FMA Element. Das Befahren einer FMA_Komponente kann auch weitere Schaltvorg + ä + nge ausl + ö + sen, siehe dazu Schaltmittel Zuordnung. DB-Regelwerk Typspezifische Planungshinweise und Technische Mitteilungen; Planungsdaten: Sicherungstechnischer Lageplan, B + Ü + -Lageplan; Achsz + ä + hl + ü + bersichtsplan; Freimeldetabelle; Achsz + ä + hltabelle. + Fstr_Abhaengigkeit -- Zuordnung aller f + ü + r einen Fstr Fahrweg zu sichernden und nicht durch die Topologie auffindbaren Objekte. Nicht durch die Topologie findbar sind insbesondere: Schluesselsperre, Zustimmungsschalter/-taster. Spezialfall: F + ü + r eine Rangierstra + ß + e kann richtungsabh + ä + ngig geplant werden, dass eine Schl + ü + sselsperre im Zielgleis nicht + ü + berwacht wird. In dem (sehr seltenen) Fall m + ü + ssen f + ü + r eine Zug- und eine Rangierstra + ß + e mit identischem Fahrweg zwei Instanzen Fstr Fahrweg angelegt werden. DB-Regelwerk Schl + ü + sselsperre: Zugstra + ß + entabelle, Spalte 5: \"Ssp in der Fahrstra + ß + e verschlossen und + ü + berwacht\"; Rangierstra + ß + entabelle, Spalte 15: \"Ssp in der Rangierstra + ß + e verschlossen und + ü + berwacht\". Zustimmungsschalter/-taster: Bemerkung/Fu + ß + note. + Fstr_Aneinander -- Aneinandergereihte Zug- oder Rangierstra + ß + e. Die Reihenfolge der aneinandergereihten Fahrstra + ß + en wird nicht mit abgespeichert, da diese aus Start und Ziel erkennbar ist. Durch die Auswahl der letzten Fahrstra + ß + e (bei Zugstra + ß + en) wird der Durchrutschweg festgelegt. Sollen f + ü + r die aneinandergereihte Zugstra + ß + e mehrere Durchrutschwege m + ö + glich sein, so sind entsprechend viele aneinandergereihte Zugstra + ß + en zu planen (Ausnahmefall). F + ü + r die erste bis vorletzte Fahrstra + ß + e muss jeweils ein Durchrutschweg gew + ä + hlt werden, dessen Weg Bestandteil der folgenden Fahrstra + ß + e ist; sollten hiervon mehrere existieren, wird der mit den geringsten betrieblichen Einschr + ä + nkungen (i. d. R. der l + ä + ngste) verwendet. DB-Regelwerk Aneinandergereihte Zugstra + ß + entabelle Aneinandergereihte Rangierstra + ß + entabelle + Fstr_Aneinander_Zuordnung -- Zuordnung der aneinandergereihten Zug- oder Rangierstra + ß + e zu den Fahrstra + ß + en Fstr Zug Rangier (\"Elementarfahrstra + ß + en\"), aus denen sie besteht. DB-Regelwerk Tabelle der aneinandergereihten Zugstra + ß + en Tabelle der aneinandergereihten Rangierstra + ß + en + Fstr_DWeg -- Durchrutschweg oder Gefahrpunktabstand. Die Ausdehnung des Durchrutschwegs bzw. Gefahrpunktabstands wird mit dem Bereich Objekt Fstr Fahrweg festgelegt. Ein Durchrutschweg kann von mehreren Fahrstra + ß + en genutzt werden. Ist die Attributgruppe Fstr_DWeg_Spezifisch nicht gef + ü + llt, so handelt es sich um einen Gefahrpunktabstand. Ein Durchrutschweg der L + ä + nge Null wird ebenfalls als Instanz von Fstr_DWeg abgebildet. In dem Fall wird mit Fstr Fahrweg ein Bereichsobjekt der L + ä + nge Null mit Start und Ziel am Zielsignal der Fahrstra + ß + e verwendet. Derartige Durchrutschwege sind zu planen: am realen Zielsignal, hinter denen ein (Wahl-)Durchrutschweg der L + ä + nge Null vorgesehen ist, am fiktiven Zielsignal bei Stumpfgleiseinfahrt, am Zugdeckungssignal. Siehe hierzu auch Aufloesung Verzoegerung. DB-Regelwerk Durchrutschwegtabelle (eine Zeile) + Fstr_DWeg_W_Kr -- Zuordnung von Weichen und Kreuzungen zum in Fstr DWeg geplanten Durchrutschweg. Eine Zuordnung von Weichen und Kreuzungen + ü + ber den zugrunde liegenden Fstr Fahrweg ist nicht m + ö + glich, da das Ende des Durchrutschweges in einer Weiche liegen kann, deren Sicherung explizit geplant werden muss. Au + ß + erdem muss f + ü + r Weichen im Durchrutschweg angegeben werden, ob sie verschlossen werden sollen. Eine Angabe der Lage der Weiche ist nicht notwendig, da sich diese + ü + ber Fstr Fahrweg (Bereich Objekt) ergibt. Obwohl die Spalten + ü + berschrift in der Durchrutschwegtabelle auch von Gleissperren spricht, werden Gleissperren nicht vorgesehen. DB-Regelwerk Durchrutschwegtabelle, Spalten 9 - 12: \"Weichen, Kreuzungen, Gleissperren\" + Fstr_Fahrweg -- Unverzweigter Bereich auf dem Gleisnetz, der als Grundlage f + ü + r den befahrenen Teil bzw. den Durchrutschweg einer Fahrstra + ß + e dient. Der Start befindet sich immer an einem Signal, das Ziel beim befahrenen Teil an einem Signal, beim Durchrutschweg (bzw. Gefahrpunktabstand) an einem markanten Punkt. F + ü + r Zug- und Rangierstra + ß + en mit gleichem Fahrweg kann die gleiche Instanz von Fstr_Fahrweg verwendet werden; Ausnahmen siehe Fstr Abhaengigkeit. Hinweis zur Modellierung beim Durchrutschweg, wenn der Markante Punkt eine Weichenspitze ist: L + ä + uft ein Durchrutschweg spitz auf eine Weiche zu und die Spitze dieser Weiche ist das Ende des Durchrutschwegs, dann endet das Bereichsobjekt Fstr_Fahrweg am Ende der Kante vor der Spitze der Weiche, ist der markante Punkt das Punktobjekt W_Kr_Gsp_Komponente, was auf anschlie + ß + enden Kanten verweist. Damit liegen das Ende des Bereichsobjekts und der markante Punkt auf verschiedenen Kanten (jeweils mit Abstand 0 zum Knoten), dennoch beschreiben sie geografisch den gleichen Punkt. DB-Regelwerk Im heutigen Planungswerk findet sich der Weg nur implizit durch die Angabe f + ü + r den befahrenen Teil von Start, Ziel und Entscheidungsweichen in der Zug- bzw. Rangierstra + ß + entabelle, f + ü + r den Durchrutschweg und Gefahrpunktabstand von Start und Ziel und allen Weichen in der Durchrutschweg- bzw. Gefahrpunkttabelle. + Fstr_Nichthaltfall -- Nichthaltfallabschnitt (auch: Haltfallverhinderungsabschnitt). Im Gegensatz zur bisherigen Praxis der LST-Planung, den Haltfallabschnitt zu planen, werden im Datenmodell nur die Nichthaltfallabschnitte f + ü + r jeden Fahrweg geplant. In der Regel ist es einer, selten mehrere. DB-Regelwerk Haltfallabschnitt bisher: Zugstra + ß + entabelle, Spalte 6: Signalhaltfall + Fstr_Rangier_Fla_Zuordnung -- Zuordnung von zu gew + ä + hrleistenden Flankenschutzma + ß + nahmen zur Rangierstra + ß + e. Nur in Ausnahmef + ä + llen wird Flankenschutz f + ü + r Rangierstra + ß + en realisiert. Dann kann f + ü + r jede Weiche einzeln bestimmt werden, ob sie Flankenschutz bekommt. + Fstr_Signalisierung -- Je Fahrstra + ß + e zu zeigende Signalisierung, die sich nicht eindeutig aus den Stellwerksfunktionen ergibt. Siehe auch Bildung der Signalbegriffe. DB-Regelwerk Signaltabelle 2, jedoch sind hier alle Signalisierungen angegeben. + Fstr_Umfahrpunkt -- Bezeichner des Umfahrpunkts durch eine Weiche oder einen Gleisabschnitt. Der Bezeichner dient nur dazu, den Umfahrweg zu benennen, nicht dazu, den Fahrweg zu beschreiben; die Beschreibung erfolgt in Fstr Fahrweg (Bereich Objekt). Die Festlegung des Umfahrpunkts gilt je Fahrweg und damit f + ü + r alle Zug- und Rangierstra + ß + en, die diesen Fahrweg nutzen. Das Objekt ist Bestandteil des Untergewerks \"Bedienung Fdl\". DB-Regelwerk Bestandteil des Bezeichners der Umfahrstra + ß + e in der Zug-/Rangierstra + ß + entabelle, Spalte 1 \"Start/Ziel\" + Fstr_Zug_Rangier -- Zug- oder Rangierstra + ß + e. Jeder Zugstra + ß + e ist ein Durchrutschweg (modelliert in Fstr DWeg) zugeordnet. Gibt es Fahrstra + ß + en mit mehreren Durchrutschwegen, so werden daf + ü + r mehrere Zugstra + ß + en angelegt, die auf dem gleichen befahrenen Teil (modelliert in Fstr Fahrweg) basieren. Mit dem Datenmodell werden auch Zentralblockfahrstra + ß + en geplant. Der hiermit verkn + ü + pfte Gefahrpunktabstand wird in Fstr DWeg abgebildet. Eine Zentralblockfahrstra + ß + e (Fstr_Zug_Art==ZB) + ü + ber die ESTW-Zentraleinheit-Grenze wird in zwei Teilblockfahrstra + ß + en (Fstr_Zug_Art==ZB) im Bereich der jeweiligen ESTW-Zentraleinheit geplant. Dabei kann ein befahrener Teil der L + ä + nge Null entstehen, wenn die zweite Teilblockfahrstra + ß + e nur aus dem Durchrutschweg besteht. Zielsignal der ersten ist Startsignal der zweiten Teilblockfahrstra + ß + e. Fahrstra + ß + en + ü + ber eine ESTW-Zentraleinheit-Grenze (FAP) werden als zwei Teilfahrstra + ß + en (Fstr_Zug_Art==ZT/ZTU; Fstr_Rangier_Art==RT/RTU) geplant. Kann die erste Teilfahrstra + ß + e mit mehreren weiteren Teilfahrstra + ß + en fortgesetzt werden, so muss f + ü + r jede geplante Kombination eine eigene Instanz der ersten Teilfahrstra + ß + e angelegt werden (analog der Zuordnung mehrerer Durchrutschwege). Eine Mittelweichenteilfahrstra + ß + e besitzt keinen Durchrutschweg. Eine explizite Verkn + ü + pfung von Mittelweichenteilfahrstra + ß + en untereinander und mit der Zugstra + ß + e erfolgt nicht, da sich diese + ü + ber die Topologie und insbesondere + ü + ber Start und Ziel ergeben. Eine Rangierstra + ß + e besitzt ebenfalls keinen Durchrutschweg. Die speziellen Attribute von Zug-/Rangier-/Mittelweichenteilfahrstra + ß + e werden in eigenen Attributgruppen gespeichert, die sich gegenseitig ausschlie + ß + en. Gruppenausfahrten werden als Zugstra + ß + en ohne besondere Eigenschaft abgebildet. Das Gruppenausfahrsignal wird unter ID Signal Gruppenausfahrt explizit angegeben, die Gruppenausfahrstra + ß + e ist somit eindeutig erkennbar. DB-Regelwerk Zugstra + ß + entabelle (eine Zeile), Rangierstra + ß + entabelle (eine Zeile), Mittelweichenteilfahrstra + ß + entabelle (eine Zeile). + FT_Anschaltbedingung -- Beschreibung der Bedingungen, die zur Auswahl eines Fachtelegramms erf + ü + llt sein m + ü + ssen. + FT_Fahrweg_Teil -- Teil des Fahrwegs, auf den sich die Informationen des Fachtelegramms beziehen. Die Fahrwegteile k + ö + nnen au + ß + erhalb der betroffenen Fahrstra + ß + e liegen. Im Unterschied zum Fahrweg der Fahrstra + ß + e wird der Fahrwegteil nicht als Bereichsobjekt abgebildet, da in einigen F + ä + llen kein Zielelement existiert (z. B. + Ü + bergang in Rangierbereich) oder das exakte Ende des Fahrwegteils nicht bestimmt wird (Kreuzungsweichen). Fahrwegteile mit mehreren Zielpunkten sind durch mehrere Instanzen von FT_Fahrweg_Teil abzubilden. + GEO_Kante -- Kante des topografischen Knoten-Kanten-Modells. Die GEO_Kante ist vom GEO_Knoten A zum GEO_Knoten B gerichtet (GEO Richtungswinkel) und muss immer an zwei GEO_Knoten enden. Die L + ä + nge einer GEO_Kante zwischen den GEO_Knoten A und B entspricht der realen Gleisl + ä + nge zwischen diesen Knoten und wird im Attribut GEO Laenge gespeichert. Mit Bezug auf die Regeln zu den Gleisnetzdaten (GND) ist die L + ä + nge einer GEO_Kante stets kleiner 10 km. Eine GEO_Kante besitzt eine geometrische Form, die durch GEO Form beschrieben wird. GEO_Kanten werden f + ü + r die Abbildung der Gleislinie und der Kilometrierungslinie verwendet. Eine Unterscheidung dieser Anwendung erfolgt durch den Verweis ID GEO Art. Der GEO_Radius (GEO Radius A und GEO Radius B) ist negativ, wenn die GEO_Kante vom GEO_Knoten_A in einem Linksbogen f + ü + hrt und ist positiv, wenn diese in einen Rechtsbogen f + ü + hrt. Die beiden Radien sind jeweils der Radius an der A- bzw. B-Seite der GEO_Kante. Bei einem Kreisbogen wird nur der GEO Radius A angegeben. F + ü + r eine Gerade wird dieser Radius mit 0.000 definiert. Ein Algorithmus zur Darstellung eines Punktes auf einem + Ü + bergangsbogen kann der folgenden Literaturquelle entnommen werden: Media:Literatur Uebergangsbogen.pdf. + GEO_Knoten -- Knoten des topografischen Knoten-Kanten-Modells. Die Anzahl der anschlie + ß + enden topografischen Kanten (Gleislinie oder Kilometrierungslinie) ist je nach Art des GEO Knoten bzw. Art des zugeh + ö + rigen TOP Knoten unterschiedlich: F + ü + r die Gleislinie gilt: Eine GEO-Kante: Der GEO_Knoten ist gleichzeitig auch ein TOP Knoten, an dem die Topografie und Topologie endet (z. B. Gleisende, Betrachtungsende oder Digitalisierungsende). Zwei GEO-Kanten: Der GEO_Knoten verweist nicht auf einen TOP Knoten: + Ä + nderung der Geometrie des Gleises oder Vermessungspunkt. Drei GEO-Kanten: Der GEO_Knoten ist gleichzeitig auch ein Knoten, an dem eine Verzweigung der Gleis- oder Kilometrierungslinie vorhanden ist. + Ü + ber einen Verweis von GEO Punkt zu GEO_Knoten werden die realen Koordinaten (ggf. auch von mehreren Koordinatensystemen) dieses Knotens zugeordnet. Weitere F + ä + lle mit 0..1 anschlie + ß + enden GEO-Kanten treten an GEO_Knoten auf, an deren Stelle sich auch ein TOP Knoten der Art Verbindungsknoten befindet (siehe Beschreibung Verbindungsknoten). + GEO_Punkt -- Topographischer Punkt im Koordinatensystem zur eindeutige Zuordnung im realen Gel + ä + nde. Alle Objekte, die einen entsprechenden Bezug erfordern, werden + ü + ber andere Objekte (z.B Verortung an der Topologie) oder auch direkt auf dieses Objekt abgebildet. + Geschwindigkeitsprofil -- Zul + ä + ssige Geschwindigkeit der Strecke, bei ETCS auch au + ß + erhalb der durchgehenden Hauptgleise. Das Geschwindigkeitsprofil wird zusammengesetzt aus Bereichen mit konstanten Geschwindigkeiten. Es kann in unterschiedlichen Arten (z. B. NeiTec, ETCS) ausgepr + ä + gt sein. F + ü + r jede Art wird ein separates Geschwindigkeitsprofil angelegt. \"Geschwindigkeitsband\" ist ein Synonym f + ü + r Geschwindigkeitsprofil. Unabh + ä + ngig vom Geschwindigkeitsprofil k + ö + nnen in Elementen (Weiche, Gleisabschnitt) eigene Geschwindigkeiten hinterlegt sein. Je nach Anwendung wird + ü + ber die G + ü + ltigkeit der in den Elementen hinterlegten Geschwindigkeit oder der des Geschwindigkeitsprofils entschieden. + GFR_Anlage -- Gerfahrraumfreimeldeanlage. Folgende Rahmenbedingungen sind f + ü + r den Einsatz einer GFR zu beachten: max. H + ö + he der Bodenwellen des B + Ü + : 15 cm; max. Neigung des B + Ü + : 2 + ° + . + GFR_Element -- Detektor der GFR-Anlage (z. B. Radar). Elemente f + ü + r eine Kamera- + Ü + berwachung sind Bestandteil TK-Ausr + ü + stung und werden daher nicht abgebildet. + GFR_Tripelspiegel -- Ortungshilfe f + ü + r GFR-Anlagen der Firma Honeywell. + Gleis_Abschluss -- St + ä + ndig vorhandenes Ende eines betrieblich nutzbaren Gleises (z. B. Prellbock oder Schwellenkreuz). Der Gleisabschluss ist ein Punkt Objekt. Die TOP Kante kann hinter dem Gleisabschluss bis zum baulichen Ende des Gleises weitergef + ü + hrt sein. Er wird auf den Punkt verortet, der die Grenze der m + ö + glichen Fahrzeugbewegung darstellt. Da das bauliche Ende konstruktiv hinter diesem Punkt liegt, f + ä + llt der Gleisabschluss in der Regel nicht mit einem TOP Knoten zusammen. Der Gleisabschluss ist vom klappbaren Prellbock (und anderen beweglichen Elementen) zu unterscheiden. Diese besonderen beweglichen Fahrwegelemente sind als Gleissperre mit einem erg + ä + nzenden Bearbeitungsvermerk zu planen. Der Gleisabschluss ist in der Regel auch Grenze eines Gleisabschnittes. Die Wirkrichtung entspricht der Richtung der m + ö + glichen Fahrzeugbewegung auf den Gleisabschluss. Der Gleisabschluss ist mittig angeordnet, sodass die Angabe des seitlichen Abstands bzw. der seitlichen Lage entf + ä + llt. + Gleis_Abschnitt -- Abschnitt eines Gleises, welcher als kleinste Einheit betrieblich und technisch verwendet wird. Der Gleisabschnitt wird im Allgemeinen durch zwei Enden begrenzt. Wenn in diesem Gleisabschnitt Weichen, Kreuzungen oder Kreuzungsweichen enthalten sind, entstehen weitere Enden. Diese werden in der Regel nur dann definiert, wenn technische Anlagen zur Gleisfreimeldung vorhanden sind. Der Begriff Weichenabschnitt wird wegen Mehrdeutigkeit im Modell nicht verwendet. Ein Gleisabschnitt kann mittels technischer Anlagen (abgebildet im Objekt FMA Anlage) auf Freisein + ü + berwacht werden. Der Gleisabschnitt als Bereich_Objekt muss an seinen Grenzen genau mit dem Punkt_Objekt FMA Element + ü + bereinstimmen. Rundungsfehler bei der Berechnung sind zu beachten! + Gleis_Art -- Klassifizierung des Gleises aus betrieblicher Sicht. Es erfolgt die Unterscheidung in Haupt- und Nebengleise in einem Bahnhof, sowie die Abgrenzung von Strecken und Anschlussgleisen. + Gleis_Baubereich -- Markierung eines Gleisbereiches als Baubereich. Mit diesem Objekt wird der Bereich markiert, der w + ä + hrend einer Planung als Baubereich verwendet wird. Die Topologie des Baubereiches und die verorteten Objekte bleiben erhalten. + Gleis_Bezeichnung -- Tr + ä + ger der betrieblichen Bezeichnung eines Gleises. Ein Gleis erh + ä + lt dann eine Bezeichnung, wenn es f + ü + r die betriebliche Nutzung ben + ö + tigt wird. Topologische Knoten (z. B. Weichen) unterbrechen nicht die Gleisbezeichnung. F + ü + r die durchgehenden Hauptgleise in einem Bahnhof wird das Bereichsobjekt f + ü + r das Gleis in der Regel von einem Einfahrsignal bis zum Einfahrsignal der Gegenrichtung modelliert. Wenn das Gleis hinsichtlich der betrieblichen Bezeichnung geteilt ist (z.B. Gleis 1 und Gleis 21) sind getrennte Bereichsobjekte f + ü + r diese Gleise anzulegen. Weitere Bezeichnungen von Bahnhofsgleisen werden in der Regel zwischen topologischen Knoten gebildet, wobei auch weitere Knoten enthalten sein k + ö + nnen. Gleise, die aus betrieblicher Sicht keine Bezeichnung ben + ö + tigen (z. B. Gleisverbindungen), erhalten keine Gleisbezeichnung. Streckengleise werden in der Regel zwischen den Bahnhofsgrenzen (ggf. auch andere Zugmeldestellen) durchgehend bezeichnet. Die Klammersetzung der Bezeichnung von Streckengleisen ist Bestandteil der Bezeichnung das Steckengleises. + Gleis_Fahrbahn -- Bereich, in dem eine besondere Fahrbahnkonstruktion vorhanden ist, die f + ü + r die Leit- und Sicherungstechnik relevant ist (z. B. Feste Fahrbahn). + Gleis_Lichtraum -- Bereich, in dem besondere Lichtraumbedingungen vorhanden sind. Es werden nur die Bereiche angegeben, in denen von der EBO abweichende und LST-relevante Lichtraumbedingungen vorhanden oder zu beachten sind. + Gleis_Schaltgruppe -- Einzeln schaltbarer Abschnitt einer Fahrleitungsanlage, der mit Fahrstrom versorgt wird. Das Objekt wird vom Grundsatz dem + Ü + bersichtsplan mit Schaltanweisung (Ebs + ü + ) des elektrotechnischen Dienstes entnommen. Zur Beschreibung von Fahrleitungsschaltgruppen in der ESTW-Logik zum Zwecke der Merkhinweiseingabe f + ü + r Befahrbarkeitssperren sind die betroffenen Gleisabschnitte zu beachten. Die Grenzen einer Schaltgruppe m + ü + ssen nicht mit den Grenzen der Gleisabschnitte + ü + bereinstimmen. Wenn ein angeschnittener Gleisabschnitt vorhanden ist, wird dieser in der Befahrbarkeitssperre ber + ü + cksichtigt. Die Schaltgruppen k + ö + nnen sich dann auch + ü + berlagern. In der Regel sollten + Ü + berlagerungen von Schaltgruppen vermieden werden, indem ein Gleisabschnitt nur einer Schaltgruppe zugeordnet wird. Zwischen Bereichen verschiedener Schaltgruppen k + ö + nnen aus vorgenanntem Grund auch L + ü + cken sein. F + ü + r Schaltgruppen, die verschiedenen Fahrstromsystemen zugeordnet werden k + ö + nnen (Systemwechselstellen), ist f + ü + r jedes Fahrstromsystem je eine Instanz mit gleichem Elementnamen und gleichen Bereichsgrenzen anzulegen. Die Zuordnung der Schaltgruppen zu den Gleisabschnitten erfolgt + ü + ber die topologischen Kanten als ein Bereichsobjekt. + Hoehenlinie -- H + ö + henverlauf zwischen zwei H + ö + henpunkten. + Hoehenpunkt -- Ö + rtliche H + ö + he des Bezugspunkts in Metern gem + ä + ß + H + ö + hensystem. Liegt der H + ö + henpunkt innerhalb des zugeh + ö + rigen Gleises, entf + ä + llt die Angabe eines seitlichen Abstands bzw. einer seitlichen Lage. Wird ein seitlicher Abstand ungleich 0.000 angegeben, so handelt es sich um einen sonstigen H + ö + henpunkt, der nicht die H + ö + henlage des Gleises angibt. Ein H + ö + henpunkt, der unmittelbar auf einem Anfang oder Ende eines Weichenschenkels liegt (TOP_Kante, mit Anschluss_A oder Anschluss_B als Links oder Rechts) ist auf die TOP_Kante der Spitze dieser Weiche zu verorten. + Kabel -- Medium zur + Ü + bermittlung von Energie und/oder Information. + Kabel_Verteilpunkt -- Punktf + ö + rmige Installation zur Aufteilung bzw. Verschaltung von Kabeln (ohne Intelligenz). + LEU_Anlage -- Elektronische Einheit zur Ansteuerung der Eurobalisen mit Balisentelegrammen in Abh + ä + ngigkeit von Eingangsinformationen (Signalbegriffe, Weichenlagen etc.). Die LEU-Anlage besteht ggf. aus mehreren Schaltk + ä + sten, die mehrere LEU-Module enthalten k + ö + nnen. + LEU_Modul -- Elektronische Baugruppe zur Ansteuerung von Balisen in Abh + ä + ngigkeit von Eingangsinformationen. Ein LEU-Modul ist in einem LEU-Schaltkasten untergebracht. + LEU_Schaltkasten -- Schaltkasten als Element der LEU-Anlage zur Unterbringung eines oder mehrerer LEU-Module. + Lieferobjekt -- Von der SBI geliefertes Objekt. Hier werden alle relevanten Daten des gelieferten Teils der LST-Anlage eingetragen. Das Lieferobjekt muss einen Bezug zu einem bestehenden bzw. geplanten LST-Objekt haben, das es n + ä + her beschreibt. + Luft_Telegramm -- Zuordnung des Telegramms (Binaerdatei) zur Balise, von der das Telegramm an das Fahrzeug + ü + bertragen wird. Das Telegramm kann dabei in der Balise gespeichert sein oder von der LEU an die Balise gesendet werden. + Markanter_Punkt -- Punkt in der + Ö + rtlichkeit, der eindeutig aufzufinden und beschreibbar ist. Haupts + ä + chlicher Anwendungsfall ist die Definition des Gefahrpunktes oder des Endes eines Durchrutschweges. Auch der PZB-Gefahrpunkt wird damit verortet. Die eindeutige Auffindbarkeit dient der Freimeldung durch Hinsehen in der R + ü + ckfallebene. Wegen schlechter Erkennbarkeit soll eine Gleisfreimeldegrenze nur ausnahmsweise als markanter Punkt genutzt werden, wenn sich in vertretbarer Entfernung kein anderer Punkt finden l + ä + sst. Antennen von Zugbeeinflussungen (z. B. PZB-Gleismagnet) gelten nicht als markanter Punkt. Das Ende des Durchrutschweges muss nicht mit einer Freimeldegrenze zusammenfallen. Ein weiterer Anwendungsfall ist die Verortung von Freimeldegrenzen als Hilfestellung f + ü + r deren Montage. Markante Punkte sind: Signal (insbesondere Haupt- und Sperrsignal, Grenzzeichen, Schutzhaltsignal), Weichenspitze (W Kr Gsp Komponente), Gleissperre (W Kr Gsp Komponente), Kante des Gefahrraums an B + Ü + (Sonstiger Punkt), Besondere Objekte, z. B. an Deckungsstellen (derzeit noch nicht modelliert), Gleisfreimeldegrenze (nur ausnahmsweise), Beginn eines Bahnsteigs (Sonstiger Punkt), Zugschluss bzw. -spitze (Sonstiger Punkt), Sonstige Punkte (Sonstiger Punkt). DB-Regelwerk Ende Durchrutschweg: Durchrutschwegtabelle, Spalte 2: \"bis\"; Gefahrpunkt: Gefahrpunkttabelle, Spalte 2: \"ma + ß + gebender Gefahrpunkt\"; Verortung Gleisfreimeldegrenze: Bema + ß + ungsangabe im sicherungstechnischen Lageplan und Achsz + ä + hlpunkttabelle, Spalte 17: \"Bezugspunkt\". + NB -- Nahstellbereich. Teilbereich innerhalb eines ESTW-Stellbereichs, f + ü + r den zeitweise die Zust + ä + ndigkeit vom Fahrdienstleiter an einen + ö + rtlichen Bediener zur Durchf + ü + hrung von Rangierbewegungen abgegeben werden kann. Die Kommunikation zwischen Fahrdienstleiter und Bediener erfolgt + ü + ber entsprechende Bedieneinrichtung(en). Mit Abgabe der Nahbedienung hat der Fahrdienstleiter auf diesen Bereich keinen Zugriff; die Verantwortung liegt beim + ö + rtlichen Bediener. Mit R + ü + ckgabe der Nahbedienung geht die Verantwortung vom Bediener wieder an den Fahrdienstleiter. F + ü + r die R + ü + ckgabe der Nahbedienung k + ö + nnen bestimmte Voraussetzungen erforderlich sein. F + ü + r die Abgabe bzw. R + ü + ckgabe der Nahbedienung werden in der Literatur auch die Begriffe \"Einschalten\" und \"Ausschalten\" verwendet. Der Nahstellbereich muss vom + ü + brigen Stellwerksbereich durch Flankenschutzma + ß + nahmen abgegrenzt werden. Jeder Nahstellbereich hat immer mindestens eine NB Zone. Bei einem Nahstellbereich mit der Funktionalit + ä + t eines abgesetzten \"Rangierstellwerkes\" (NB-R) k + ö + nnen Weichen mit elektrischem Antrieb umgestellt und innerhalb des NB Fahrten mit Rangierstra + ß + en durchgef + ü + hrt werden. DB-Regelwerk F + ü + r die Planung von Nahstellbereichen exisitert bei der DB AG kein Regelwerk. + NB_Bedien_Anzeige_Element -- Zuordnung von Bedienfunktionen zur Bedieneinrichtung einer oder mehrerer NB_Zonen, + ü + ber die Fahrdienstleiter und + ö + rtlichen Bediener miteinander kommunizieren. Falls sich bedienbare Elemente innerhalb der NB_Zone befinden, sind diese durch eine entsprechende Bedieneinrichtung (um)stellbar, sofern eine (Um-)Stellbarkeit vorgesehen wurde. Der Umfang h + ä + ngt von der gew + ä + hlten NB Art ab. Weiterhin sind in der Bedieneinrichtung Elemente f + ü + r die Kommunikation zwischen Fahrdienstleiter und Bediener untergebracht. In diesem Objekt wird die Logik der Bedieneinrichtung abgebildet. Falls eine Bedieneinrichtung Elemente aus mindestens zwei verschiedenen NB_Zonen enth + ä + lt, ist eine Zuordnung der Bedieneinrichtung zu den betreffenden NB_Zonen erforderlich. Der Verweis auf Bedien Anzeige Element f + ü + hrt zur Zuordnung der physischen Unterbringung. DB-Regelwerk F + ü + r die Planung exisitert bei der DB AG kein Regelwerk. Die Angaben finden sich meist im Erl + ä + uterungsbericht zum PT1. + NB_Zone -- Nahstellbereichszone. Jeder Nahstellbereich hat mindestens eine Zone; es sind auch mehrere Zonen m + ö + glich. Die Zonen k + ö + nnen voneinander unabh + ä + ngig nebeneinander liegen, sich + ü + berlappen oder eine Zone kann eine kleinere \"Teilmenge\" einer gr + ö + ß + eren Zone sein. Als spezieller Fall ist auch die Vereinigung von zwei nebeneinander liegenden Zonen m + ö + glich. F + ü + r jede Zone werden eigene Grenzen zum angrenzenden Bereich (ESTW, NB, Ortstellbereich) festgelegt. DB-Regelwerk F + ü + r die Planung von Nahbedienzonen exisitert bei der DB AG kein Regelwerk. Die Angabe findet sich in der Nahbedienungstabelle, Spalte 1. + NB_Zone_Element -- Zuordnung der ESTW-Elemente (Signale, Weichen, Gleissperren, Schl + ü + sselsperren) zur NB_Zone, in der sie sich befinden. F + ü + r diese Elemente sind in Abh + ä + ngigkeit der vorgesehenen NB Art Eigenschaften zur Stellbarkeit und R + ü + ckgabevoraussetzung festzulegen. DB-Regelwerk Die Angaben finden sich in der Nahbedienungstabelle, Spalten 5, 8 und 9. + NB_Zone_Grenze -- Grenze der NB Zone gegen + ü + ber dem der Zone angrenzenden Bereich. Die NB Zone wird mittels (technischem) Flankenschutz gegen + ü + ber dem benachbarten Bereich (ESTW oder einer weiteren Zone) abgegrenzt. Grenzelemente bilden Signale, Weichen oder Gleissperren, welche in jeweiliger Flankenschutzlage verschlossen werden. Auch die Angabe eines Achz + ä + hlpunkts ist m + ö + glich. Bei an die NB Zone angrenzendem Ortstellbereich ist die TM 2010-388 I.NVT 3 \"Planungsregeln Bedienbereiche - Schnittstellen Stellwerksbereiche\" zu beachten. DB-Regelwerk TM 2010-388 I.NVT 3 Die Angabe von Grenzelementen au + ß + erhalb der NB-Zone finden sich in der Nahbedienungstabelle, Spalte 7. + Oertlichkeit -- Bahnanlagen und Betriebsstellen des Netzes. Die + Ö + rtlichkeit muss eine g + ü + ltige Bezeichnung nach Ril 100 beinhalten und kann mittels ID Strecke Punkt mehreren Strecken mit Bezugskilometer zugeordnet sein. DB-Regelwerk Richtlinie 100.0001 Abschnitt 1 (1) + Prog_Datei_Gruppe -- Gruppe von Dateien, die zum Programmieren der Balise oder LEU ben + ö + tigt werden. + Proxy_Objekt -- Hilfsobjekt zur S + ä + ttigung von Verweisen an der + ä + u + ß + eren Grenze des Betrachtungsbereichs einer Einzelplanung. Die Validierung einer XML-Datei ist nur gesamthaft m + ö + glich. Somit m + ü + ssen Planungs- und Betrachtungsbereich gleicherma + ß + en valide sein. An der + ä + u + ß + eren Grenze des Betrachtungsbereichs sind jedoch u. U. nicht mehr alle Zielobjekte von Verweisen vorhanden, da der Betrachtungsbereich nicht beliebig ausgeweitet werden kann und soll. Unter der Ma + ß + gabe einer validen XML besteht jedoch ein Zwang zur S + ä + ttigung von Verweisen. Das Proxy_Objekt schafft diesbez + ü + glich eine L + ö + sung f + ü + r alle Objekte des LST-Datenmodells. In den Bestandsdaten der LST-Datenbank d + ü + rfen keine Proxyobjekte vorhanden sein. + PZB_Element -- (Bau)Art, Umfang und Funktionen der punktf + ö + rmigen Zugbeeinflussung. Unter dem PZB_Element werden sowohl einzelne Gleismagneten als auch die Geschwindigkeits + ü + berwachungseinrichtungen (G + Ü + - in der Literatur auch als Geschwindigkeitspr + ü + feinrichtungen - GPE bezeichnet) sowie dazugeh + ö + rige Eigenschaften und Parameter zusammenfassend dargestellt. DB-Regelwerk 819.1310 8 f + ü + r Gleismagnete 819.1310 9 f + ü + r G + Ü + In der Gleismagenttabelle finden sich die Angaben in den Zeilen 16 und 17 sowie 33 bis 35 f + ü + r G + Ü + und 29 bis 32 f + ü + r Gleismagnete. + PZB_Element_Zuordnung -- Zuordnung von PZB Element zu einem Signal, einer Fahrstra + ß + e oder auch anderen Objekten, die im Bezug zum PZB_Element stehen. Der Verweis von einem PZB Element + ü + ber das Zuordnungsobjekt auf ein Signal ist dabei immer gef + ü + llt. Die Verkn + ü + pfung mit einer Fahrstra + ß + e (nur Zugstra + ß + en sind relevant) oder weiteren Objekten (INA-Berechnungsrelevante Objekte) ist fallbezogen notwendig. Beispiele f + ü + r die Zuordnung sind unter ID Fstr Zug Rangier zu finden. DB-Regelwerk Eintrag in der Gleismagnettabelle; die Zuordnung zu einzelnen Fahrstra + ß + en wird heute + ü + ber Fu + ß + noten gel + ö + st. + PZB_Zuordnung_Signal -- Das Objekt dient der Zuordnung der Signale (Vorsignal, Vorsignalwiederholer, H-Tafel) zum ma + ß + gebenden Gleismagneten (GM) 2000 Hz des Hauptsignals. Die Unterscheidung zwischen den verschiedenen Signalen wird + ü + ber die GUID des Signals hergestellt. Der angegebene Abstand bezieht sich beim Vorsignal auf den Abstand des GM 1000 Hz, bei Vorsignalwiederholer und H-Tafel auf den Abstand des Signals zum ma + ß + gebenden GM 2000 Hz des Hauptsignals. Es werden in der Regel bis zu vier H-Tafeln pro Hauptsignal geplant. DB-Regelwerk Gleismagnettabelle, Zeilen 19 sowie 21 bis 25 + RBC -- Radio Block Centre (ETCS-Streckenzentrale). + Regelzeichnung -- Regelzeichnungen werden verwendet, um einheitliche Bauausf + ü + hrungen f + ü + r bestimmte Objekte sicherzustellen. Die f + ü + r die LST-Anwendungen im Datenmodell ben + ö + tigten Regelzeichnungen werden in einer Regelzeichnungstabelle aufgelistet. Regelzeichnungen k + ö + nnen neben dem Bild eine beliebige Anzahl von Parametern haben, die die Bausausf + ü + hrung f + ü + r einen konkreten Anwendungsfall genauer spezifizieren. Die G + ü + ltigkeit der Parameter f + ü + r eine konkrete Anwendung in einer Regelzeichnung kann nur mit Hilfe der Plausibilit + ä + ts- und Zul + ä + ssigkeitspr + ü + fung (PlaZ) bestimmt werden. DB-Regelwerk F + ü + r die Anwendung der Regelzeichnugen f + ü + r Weichen, Kreuzungen und Gleissperren ist das Regelwerk 819.0401Z01 bis 819.0401Z03 zu beachten. + Regelzeichnung_Parameter -- Einer Regelzeichnung werden durch dieses Objekt weitere Parameter zugeordnet. F + ü + r eine Regelzeichnung k + ö + nnen beliebig viele Parameter entsprechend der konkreten Anwendung angegeben werden. + Schaltmittel_Fstr_Zuordnung -- Verkn + ü + pft bei einem Bahn + ü + bergang mit der Funktions + ü + berwachung F + ü + die m + ö + glichen Fahrstra + ß + en mit den Elementen f + ü + r die Wirksamschaltung. + Schaltmittel_Zuordnung -- Zuordnungsobjekt f + ü + r die punktuelle Ausl + ö + sung von Schaltvorg + ä + ngen. Beispiel: B + Ü + SA, Rangier- und Ablaufanlagen. Schaltmittel sind oftmals separate Zugeinwirkungen (z. B. Radsensoren), es k + ö + nnen aber auch Freimeldeabschnitte (FMA_Anlagen) oder Achsz + ä + hlpunkte (FMA_Komponenten) f + ü + r den Zweck eines Schaltmittels mitverwendet werden (Doppelausnutzung). Ein Schaltmittel wiederum kann f + ü + r unterschiedliche Funktionen vorgesehen sein. Das Zuordnungsobjekt Schaltmittel erfasst jeweils eine konkrete Anforderung (Verweis, der auf das anfordernde Objekt gerichtet ist, z.B. Bahn + ü + bergang EIN, Bahn + ü + bergang AUS, Fahrstra + ß + e verschlie + ß + en und ordnet diese Funktion dann einer konkreten Anlage (Zugeinwirkung, Freimeldeabschnitt oder Achsz + ä + hlpunkt) sowie eine Beschriftung dieser Anlage im sicherungstechnischen Lageplan zu. Die Funktion \"Fahrstra + ß + e verschlie + ß + en (ID_Anforderung = Fstr_Fahrweg)\" ist vorgesehen f + ü + r den Anr + ü + ckverschluss von Zugstra + ß + en. Weitere Anwendungen sind aktuell nicht im Modell verankert. Der Verweis auf die Anforderung ist nicht erforderlich, wenn sich die Zuordnung eindeutig aus der Topologie ergibt (Beispiel: separates Schaltmittel f + ü + r die Funktion \"Zweites Haltfallkriterium\"). In diesem Fall wird nur der Verweis auf die Anlage sowie die Beschriftung im Lageplan angegeben. DB-Regelwerk Typspezifische Planungshinweise und Technische Mitteilungen; Planungsdaten: Sicherungstechnischer Lageplan, B + Ü + -Lageplan, Gleisfreimeldeplan. + Schloss -- Mechanisches Bauelement, das durch das Ein- oder Ausschlie + ß + en eines Schl + ü + ssels einen Riegel aus- oder einfahren l + ä + sst bzw. einen elektrischen Kontakt schlie + ß + t oder + ö + ffnet. Je nach verschlossenem Element wird die entsprechende Attributgruppe ausgew + ä + hlt: Bahn + ü + bergang, Gleissperre, Schlosskombination, Sonderanlage (z. B. bewegliche Br + ü + cke), Schl + ü + sselsperre, Weiche. DB-Regelwerk Auf dem Lageplan werden nach 819.9002 3 dargestellt: Schl + ö + sser durch ein Symbol (z. B. Schl + ü + sselsperre) oder zus + ä + tzliche Angaben zu anderen Symbolen (z. B. Weiche); Abh + ä + ngigkeiten durch eine Zeichnung mit wiederholter Darstellung der Schlossstellungen als gef + ü + lltes oder leeres Schl + ü + sselloch. + Schlosskombination -- Mechanische Einrichtung zur Freigabe mehrerer (abh + ä + ngiger) Schl + ü + ssel durch einen (Haupt-) Schl + ü + ssel. Der Hauptschl + ü + ssel wird so lange festgehalten, wie mindestens ein Riegel der abh + ä + ngigen Schl + ö + sser ausgefahren ist. In der Regel besteht die Grundstellung darin, dass der Hauptschl + ü + ssel entfernt und die abh + ä + ngigen Schl + ü + ssel eingeschlossen sind. DB-Regelwerk Darstellung durch Zeichnung im Lageplan. Eine aktuelle Ril dazu existiert nicht, es werden alte Zeichnungsstandards verwendet. + Schluessel -- Sicherungstechnisches Element zur Herstellung von Schl + ü + sselabh + ä + ngigkeiten + ü + ber Schl + ö + sser an Elementen. Der Schl + ü + ssel im sicherungstechnischen Sinn ist ein repr + ä + sentativer und innerhalb einer + Ö + rtlichkeit einmaliger Gegenstand. Durch den Besitz des Schl + ü + ssels kann sicher und eindeutig auf einen bestimmten Anlagenzustand geschlossen werden. Somit k + ö + nnen durch Verkn + ü + pfung mit weiteren Fahrwegelementen oder einer informationsverarbeitenden Einheit sichere Abh + ä + ngigkeiten geschaffen werden. In der Regel gibt es + ö + rtlich immer zwei gleich schlie + ß + ende Schl + ö + sser, selten mehr. Wird eine Schl + ü + sselsperre nur als Schalter benutzt (z. B. um Fahrstra + ß + en zu sperren), gibt es zu einem Schl + ü + ssel nur ein Schloss. Um die + ö + rtliche Einmaligkeit herzustellen, darf eine Schl + ü + sselform nur einmal innerhalb einer Betriebsstelle oder besser noch eines Streckenabschnitts verwendet werden. Dazu sind 24 verschiedene Schl + ü + sselbartformen vorhanden, die mit sechs Schl + ü + sselgruppen kombiniert werden k + ö + nnen. Nicht jede Bartform wird mit jeder Gruppe kombiniert. So stehen insgesamt 92 verschiedene Schl + ü + sselformen zur Verf + ü + gung. DB-Regelwerk Die Planung der Schl + ü + sselformen ist bisher nicht Bestandteil des PT1. F + ü + r die Formen existieren Regelzeichnungen. + Schluesselsperre -- Elektromechanisches Bauelement, das die Anwesenheit eines Schl + ü + ssels pr + ü + ft, ihn festh + ä + lt und eine Abh + ä + ngigkeit zur Stellwerkslogik besitzt. Schl + ü + sselsperren dienen der Festhaltung bzw. Freigabe von Schl + ü + sseln, mit denen in der Regel weitere Elemente bedienbar gemacht werden. In Einzelf + ä + llen dienen Schl + ü + sselsperren nur als Schl + ü + sselschalter. Die Darstellung im Lageplan erfolgt am Ort der Bedienung (z. B. Stellwerk, sonstiges Geb + ä + ude), der durch die Unterbringung beschrieben wird. Eine Darstellung am oder auf dem Gleis erfolgt nicht! DB-Regelwerk Darstellung durch Zeichnung im Lageplan nach 819.9002 2. + Schrankenantrieb -- Abbildung von Schrankenantrieben f + ü + r Bahn + ü + berg + ä + nge. + Signal -- Technische, punktf + ö + rmig verortete Einrichtung der Eisenbahninfrastruktur, die als Teil der Au + ß + enanlage einer Au + ß + enelement-Ansteuerung mit statischen oder dynamischen Signalbildern Anweisungen zur Fahrweise oder andere Verhaltensvorschriften an den Triebfahrzeugf + ü + hrer + ü + bermittelt oder als Teil der Innenanlage einer Au + ß + enelement-Ansteuerung mittels eines Bedienpunkts zur Behandlung von Fahrwegen als Start- oder Zielsignal dient. Steht ein Signal an einer Grenze zweier Bereiche, so ist es dem Bereich zuzuordnen, dem der vom Signal gedeckte Gleisabschnitt angeh + ö + rt. Das Objekt Signal beinhaltet zentrale Eigenschaften, die bei Signalen der Au + ß + enanlage in Signal-Befestigungen bzgl. der Konstruktion und in Signal-Rahmen bzgl. der zugeordneten Signalbegriffe erg + ä + nzt werden. Je nach Ausf + ü + hrung eines Signals der Au + ß + enanlage k + ö + nnen daf + ü + r mehrere Signal-Befestigungen erforderlich sein (z.B. \u0027Fundament\u0027 und \u0027Signalanordnung\u0027), daf + ü + r mehrere Signal-Rahmen erforderlich sein (z.B. \u0027Schirm\u0027, 2x\u0027Zusatzanzeiger\u0027 und \u0027Bezeichnungsschild\u0027) und / oder zeitgleich mehrere Signalbegriffe angezeigt werden, die zu diesem Zeitpunkt f + ü + r ein Gleis - meist nur in einer Fahrtrichtung - an einem Punkt g + ü + ltig sind und deren logische + Ü + berlagerung zur Handlungsanweisung f + ü + r den Triebfahrzeugf + ü + hrer wird. Signalbilder, die zwar einem gemeinsamen Punkt zugeordnet sind, aber keiner gemeinsamen logischen Interpretation bed + ü + rfen, werden unterschiedlichen Signalen zugeordnet. Kann ein Signal mehrere Signalbilder anzeigen, so werden diese in Gruppen (analog zur Konstruktion) zusammengefasst, jede dieser Gruppen bildet einen Signal-Rahmen. Zur ausf + ü + hrliche Beschreibung der Modellierung eines Signals s. Modellierung Signal. Besonderheiten zur Verortung von Signalen sind unter Punkt Objekt beschrieben. DB-Regelwerk 301, 819.02, Planungsdaten: Sicherungstechnischer Lageplan, statische Eigenschaften: Signaltabelle 1, dynamische Eigenschaften: Signaltabelle 2, vereinzelt sind einzelne Angaben auch anderen Fundorten zugeordnet, dies ist den jeweiligen Einzelbeitr + ä + gen zu entnehmen. + Signal_Befestigung -- Konstruktionselement, das der baulichen Aufnahme eines oder mehrerer Signalrahmen dient. Die konkreten konstruktiven Merkmale sind in einer (oder im Bedarfsfall mehreren) Regelzeichnung(en) enthalten, auf die jeweils ein GUID-Verweis zeigt. Bei Sonderkonstruktionen wird die Regelzeichnung durch die zugeh + ö + rigen Zulassungsdokumente ersetzt. Diese sind als Anhang mittels eines Bearbeitungsvermerks beizuf + ü + gen. Signalbefestigungen k + ö + nnen auch weitere Signalbefestigungen aufnehmen (z.B. tr + ä + gt ein Signalausleger eine Arbeitsb + ü + hne). Einer Signalbefestigung ist mindestens ein Objekt Signal Rahmen oder Signal Befestigung zugeordnet. Ausf + ü + hrliche Beschreibung s. Modellierung Signal. DB-Regelwerk Regelzeichnungen + Signal_Fank_Zuordnung -- Abbildung des Fahrtank + ü + nders (Wei + ß + es Dreieck) sowie Zuordnung der Startsignale, f + ü + r die eine Fahrtank + ü + ndigung erfolgen soll. Ein physischer Fahrtank + ü + nder (Anzeiger) wird als Signal abgebildet, wobei hierbei nur die Attributgruppen Bezeichnung sowie Signal_Real zu nutzen sind (nicht: Signal_Real_Aktiv, da kein Anschluss mittels ID_Stellelement an ein Stellwerk). Erfolgt die Fahrtank + ü + ndigung ausschlie + ß + lich auf mobilen Endger + ä + ten, so entf + ä + llt das Anlegen des Signals f + ü + r den Fahrtank + ü + nder. + Signal_Rahmen -- Fiktive Signale haben keinen Signalrahmen, da sie keinen Signalbegriff zeigen k + ö + nnen. Ein oder mehrere Signalrahmen bilden ein Signal. Die Gruppierung von Signalbegriffen innerhalb eines Signals zu Signalrahmen wird anhand der konstruktiven Gestaltung vorgenommen, z.B. werden alle Signalbegriffe des Hauptsignalschirms oder alle Signalbegriffe eines Zusatzanzeigers jeweils zu einem Signalrahmen zusammengefasst. Kann die Anzahl oder Art der Signalbegriffe eines Signalrahmens in Abh + ä + ngigkeit vom betrieblichen Zustand ge + ä + ndert werden, so wird dieser als schaltbar bezeichnet, andernfalls als fest. Im LST-Datenmodell ist diese Eigenschaft als Attribut zu den Signalbegriffen definiert; ein Signalrahmen ist danach genau dann schaltbar, wenn mindestens eines der enthaltenen Signalbegriffe schaltbar ist. Typische schaltbare Signalrahmen sind der Signalschirm eines Mehrabschnittssignals, das Lichtsignal eines Zusatzanzeigers und das Form- oder Lichtsignal eines Weichensignals. Typische feste Signalrahmen sind das Mastschild eines Hauptsignals, das Formsignal eines Zusatzanzeigers und die Haltetafel. + Ü + ber den Signalrahmen erfolgt, sofern dies geplant ist, die Zuordnung von Signalbegriffen eines nachgeordneten Signals zu einem anderen Signal ohne Bezug zur Fahrstra + ß + e, siehe dazu ID Signal Nachordnung Ausf + ü + hrliche Beschreibung s. Modellierung Signal. DB-Regelwerk Planungsdaten: im bisherigen PT1 ohne eindeutige Darstellung. In der Regel aus den Angaben in der Signaltabelle 1 zu erkennen. + Signal_Signalbegriff -- Stellt eine Information optisch dar, die das Signal dem Triebfahrzeugf + ü + hrer + ü + bermitteln soll. Signalbegriffe werden im Signalbuch (Ril 301) durch eine Kurzbezeichnung (z. B. \"Zs 1\") und / oder durch eine Langbezeichnung (z. B. \"Ersatzsignal\") beschrieben. Diese und weitere feste Eigenschaften wie der Wertevorrat der anzeigbaren Symbole eines Signalbegriffs sind im Objekt Signalbegriff definiert, das mittels des Attributes Signalbegriff ID eingebunden wird. Anschaltdauer, Beleuchtung und Schaltbarkeit sind nicht fest, sondern w + ä + hlbar an den Signalbegriff nach Signalbuch gekoppelt und so Eigenschaft des Objekts Signal_Signalbegriff. Ein Signal_Signalbegriff befindet sich immer in einem Signal Rahmen. Ausf + ü + hrliche Beschreibung s. Modellierung Signal DB-Regelwerk Ril 301, Planungsdaten: Sicherungstechnischer Lageplan, statische Eigenschaften: Signaltabelle 1, dynamische Eigenschaften: Signaltabelle 2. + Sonstiger_Punkt -- Nicht durch ein anderes Punkt Objekt festgelegter Markanter Punkt. Das Objekt Sonstiger_Punkt wird durch den LST-Planer angelegt, wenn kein bereits existierendes Punkt Objekt f + ü + r die Beschreibung des Markanten Punktes zur Verf + ü + gung steht. Insbesondere handelt es sich dabei um: Beginn eines Bahnsteigs, Kante eines Gefahrraums am B + Ü + , Zugschluss bzw. -spitze, Beginn des zu deckenden Bereichs einer Deckungsstelle (z. B. bewegliche Br + ü + cke), sonstige Punkte (z. B. Merkpfahl, Laternenmast). DB-Regelwerk Siehe Markanter Punkt. + Stell_Bereich -- Bereich_Objekt, mit dem ein Stellbereich beschrieben wird. Ein Stellbereich wird immer von einer AEA (Top) gesteuert. Grenzen des Stellbereichs sind Haupt-, Sperr- oder virtuelle Signale oder Gleisabschl + ü + sse. Jedes Hauptgleis muss einem Stellbereich zugeordnet sein. + Stellelement -- Zusammenfassung der gemeinsamen Eigenschaften aller elektrisch bedienbaren Elemente der Au + ß + enanlage sowie der B + Ü + -Schnittstelle. Folgende Elemente sind Stellelemente: BUE Schnittstelle, PZB Element, Schluesselsperre, Signal, W Kr Gsp Element. Die + Ü + bertragung von Information (Daten) und Energie ist in getrennten Verweisen modelliert. Erfolgt die + Ü + bertragung von Information und Energie gemeinsam, so sind beide Verweise mit dem gleichen Verweisziel anzugeben. DB-Regelwerk Die Zusammenfassung der Stellelemente dient der Vereinheitlichung der Modellierung und wird heute nicht explizit geplant. + Strecke -- Topologische Darstellung der Kilometrierungsachse. Die topologische Kilometrierungsachse wird durch fortlaufende Aneinanderreihung von GEO-Kanten gebildet, die mittels ID GEO Art auf diese Strecke verweisen. + Strecke_Bremsweg -- Bremswegabstand der Strecke als Eingangsgr + ö + ß + e f + ü + r die LST-Planung. Die Vorgabe erfolgt in der BAst. + Strecke_Punkt -- Topologischer Punkt auf der zugeh + ö + rigen Streckenlinie mit dem Wert der Streckenkilometrierung in Meterschreibweise. Der Streckenpunkt kann auf einen GEO Knoten verweisen, der + ü + ber einen (oder mehrere) GEO_Punkte geografisch referenziert wird. Ohne diesen Verweis wird der Streckenpunkt nur auf eine Strecke mit Streckenkilometer referenziert. Die GEO Knoten sind + ü + ber GEO_Kanten untereinander verbunden und beschreiben in ihrer Gesamtheit eine Streckenlinie. Jede Strecke hat mindestens zwei Streckenpunkte als Anfang und Ende der Strecke. Der GEO Knoten am Anfang bzw. am Ende einer Streckenlinie hat nur eine GEO Kante, ansonsten sind es zwei. An einem Kilometersprung werden zwei Streckenpunkte (ggf. mit identischen GEO-Koordinaten) gebildet. Die L + ä + nge der verbindende GEO_Kante (- oder +) beinhaltet den Wert des Kilometersprunges. Eine + Ü + berl + ä + nge ist negativ, eine Fehll + ä + nge ist positiv. + Technik_Standort -- Bei DSTW: B + ü + ndelung der technischen Anlagen f + ü + r ESTW_Zentraleinheit, Telekommunikation, Prozessdaten- und Diagnoseschnittstellen sowie die zugeh + ö + rige technische Geb + ä + udeausr + ü + stung. Je Netzbezirk ist ein Technikstandort vorgesehen. + Technischer_Bereich -- Beschreibung sonstiger bereichsf + ö + rmiger Objekte im Datenmodell. Diese werde durch Fremdsysteme bereitgestellt oder w + ä + hrend einer Planung manuell erg + ä + nzt. Sie dienen nur zur Information f + ü + r planerische Entscheidungen. + Technischer_Punkt -- Beschreibung sonstiger punktf + ö + rmiger Objekte im Datenmodell. Diese werde durch Fremdsysteme bereitgestellt oder w + ä + hrend einer Planung manuell erg + ä + nzt. Sie dienen nur zur Information f + ü + r planerische Entscheidungen. + TOP_Kante -- Kante des topologischen Knoten-Kanten-Modells zur Darstellung der Gleislinien. Die TOP_Kante ist vom Knoten A zum Knoten B gerichtet und muss immer an zwei TOP Knoten enden. Eine TOP_Kante kann mehrere topographische Kanten (GEO_Kanten) beinhalten, die + ü + ber GEO Knoten fortlaufend miteinander verbunden sind. Ein TOP Knoten ist immer auch ein GEO Knoten. Die L + ä + nge einer TOP Kante zwischen den Knoten A und B entspricht der Summe der GEO_Kanten zwischen A und B (reale Gleisl + ä + nge) und wird auf Millimetergenauigkeit gerundet. Die maximale L + ä + nge einer TOP_Kante ist im Modell auf 99999,999 m (\u0026lt;100 km) begrenzt. Um ein eindeutiges Routing im topologischen Modell zu erm + ö + glichen, sind die Anschlussarten der Kante an den beiden Knoten A und B anzugeben (siehe Attribute TOP_Anschluss_A bzw. TOP_Anschluss_B). Hierbei ist zu beachten, dass ein Routing + ü + ber die Verbindung Anschluss Links - Rechts ausgeschlossen ist. + TOP_Knoten -- Knoten des topologischen Knoten-Kanten-Modells. Der TOP_Knoten verweist auf einen GEO_Knoten. Die Anzahl der an den TOP_Knoten anschlie + ß + enden topologischen Kanten ist je nach Art des TOP_Knoten unterschiedlich und muss mit der Anzahl der an den zugeh + ö + rigen GEO Knoten anschlie + ß + enden GEO_Kanten + ü + bereinstimmen: eine TOP-Kante: Gleisende, Digitalisierungsende, Betrachtungsende; drei TOP-Kanten: verzweigendes Fahrwegelement (siehe Modellierung Weichen). Weitere F + ä + lle mit 0..2 anschlie + ß + enden TOP-Kanten treten am Verbindungsknoten auf (siehe entsprechende Beschreibung). Im Fall eines Meridiansprungs werden zwei TOP_Knoten angelegt, die mit einer TOP_Kante der L + ä + nge Null verbunden werden. an die beiden TOP_Knoten schlie + ß + en also genau zwei TOP_Kanten an. + Trasse_Kante -- Kante des topologischen Knoten-Kanten-Modells zur Darstellung des Kabelgef + ä + ß + systems (Kabeltrasse) oder gleichartiger Medientrassen. Die Trasse Kante ist vom Knoten A zum Knoten B gerichtet und muss immer an zwei Trasse Knoten enden. Der geometrische Verlauf einer Trasse_Kante kann durch eine oder mehrere GEO_Kanten beschrieben werden (siehe auch TOP_Kante). + Trasse_Knoten -- Knoten des topologischen Knoten-Kanten-Modells zur Darstellung des Kabelgef + ä + ß + systems (Kabeltrasse) oder gleichartiger Medientrassen. Der Trasse_Knoten verweist auf einen GEO_Knoten. Die Anzahl der an den Trasse_Knoten anschlie + ß + enden topologischen Kanten ist je nach Art des Trasse_Knoten unterschiedlich und muss mit der Anzahl der an den zugeh + ö + rigen GEO Knoten anschlie + ß + enden GEO_Kanten + ü + bereinstimmen. + Ueberhoehung -- Ö + rtlicher H + ö + henunterschied beider Schienen eines Gleises in Querrichtung. Die + Ü + berh + ö + hung ist eine Querneigung eines Gleises in einem Bogen an einem Punkt im Gleis. Es wird immer die bogen + ä + u + ß + ere Schiene + ü + berh + ö + ht. Ein H + ö + henpunkt, der unmittelbar auf einem Anfang oder Ende eines Weichenschenkels liegt (TOP_Kante, mit Anschluss_A oder Anschluss_B als Links oder Rechts) ist auf die TOP_Kante der Spitze dieser Weiche zu verorten. + Ueberhoehungslinie -- Ü + berh + ö + hungsverlauf zwischen zwei + Ü + berh + ö + hungspunkten. + Uebertragungsweg -- Physikalischer/logischer + Ü + bertragungsweg zwischen zwei Objekten f + ü + r eine erforderliche Informations + ü + bertragung. Die Angabe erfolgt, wenn der + Ü + bertragungsweg vom Betreiber beigestellt wird oder die Informations + ü + bertragung vom Lieferanten zus + ä + tzlich zu schalten ist. Es geht um die Erfassung der physikalischen/logischen Verbindung zweier Objekte, die entweder einer funktionalen Verbindung zwischen den Objekten des Modells selbst dient, z.B. der ESTW-Bus zwischen zwei Aussenelementansteuerungen; einer funktionalen Verbindung eines Objektes des Modells zu einer nicht im Modell befindlichen Komponente dient, z.B. der Anbindung der KUS + ü + ber die ZN_ZBS an die Leittechnik der BZ; einer funktionalen Verbindung zwischen zwei Komponenten, die nicht im Modell abgebildet sind, aber + ü + ber diese angebunden werden und darum f + ü + r die SBI dokumentiert werden m + ü + ssen, z.B. die Verbindung von der LZB-Zentrale in der ESTW Zentraleinheit zum LZB-Bedienplatz in der Bedien Zentrale. Je nach Art und Anwendungsfall kann ein Objekt nur eine oder auch mehrere Verbindungen zu einem oder mehreren anderen Objekten haben. Der Anschluss von stellwerkstypischen Elementen an das Stellwerk (Kabelanlage) wird nicht mit diesem Objekt abgebildet. + Unterbringung -- Ort der Anordnung von nicht an das Gleis gebundenen Komponenten. Die Verortung der U. erfolgt entweder analog zum Punkt Objekt, mit einem GEO Punkt, einem Polygonzug oder durch einen beschreibenden Text. Eine U. beschreibt in der Regel die Umhausung der Komponente. Ist sie nicht eingehaust, wird als Unterbringung Art \"keine\" angegeben. In diesen F + ä + llen hat die Komponente dennoch eine Unterbringung Befestigung. Das ist z. B. der Fall, wenn eine wetterfeste Komponente (z. B. Schl + ü + sselschalter) ohne Einhausung direkt an einem Pfosten befestigt ist. In einer U. k + ö + nnen mehrere LST-Objekte untergebracht sein. Eine U. ist z. B. ein Betonschalthaus oder ein Schaltkasten. DB-Regelwerk Darstellung des Geb + ä + udes im sicherungstechnischen Lageplan nach Ril 819.9002 oder Beschreibung im Erl + ä + uterungsbericht + Verkehrszeichen -- Abbildung von Lichtzeichen und Andreaskreuzen im Rahmen der B + Ü + -Planung. Die Attributgruppe Verkehrszeichen_Lz entf + ä + llt bei nichttechnisch gesicherten B + Ü + oder beschrankten B + Ü + mit L + ä + utewerk. Die Attributgruppe Verkehrszeichen_Andreaskreuz entf + ä + llt bei vorgeschalteten Lichtzeichen. Mehrere Andreaskreuze bei einm + ü + ndenden Stra + ß + en sind m + ö + glich (i. d. R. max 3). Die Attributgruppe Vz_Sperrstrecke entf + ä + llt bei vorgeschalteten Lichtzeichen + W_Kr_Anlage -- Bauliche Gesamtheit des Objektes Weiche oder Kreuzung einschlie + ß + lich der f + ü + r seine Funktion unmittelbar und in der N + ä + he vorhandenen Stell-, Steuer- und + Ü + berwachungseinrichtungen. Typische Grundformen der Weichenanlagen sind: einfache Weiche (EW), einfache Kreuzungsweiche (EKW), doppelte Kreuzungsweiche (DKW), starre Kreuzung (KR) und Flachkreuzungen mit doppelten Herzst + ü + cken und beweglichen Spitzen (KR). Grundlage der Bezeichnungen ist die Ril 800.0120 in Verbindung mit den zugeh + ö + rigen Anlagen. Weichenanlagen werden unterteilt in die einzelnen Elemente (Weichenelement). Die Elemente besitzen eine oder mehrere Komponenten (Weichenkomponente). Diese Objekte beschreiben in Verbindung mit Regelzeichnungen weitere Eigenschaften (z.B. Antriebe und Endlagenpr + ü + fer) der Weichenanlage. Siehe auch Modellierung Weichen. DB-Regelwerk Ril 800.0120 + W_Kr_Gsp_Element -- Einzeln stellbarer Teil einer Weichenanlage oder einer Gleissperre, der h + ö + chstens zwei Stellungen (Fahrrichtung rechts oder links bzw. Entgleisungsschuh aufgelegt oder abgelegt) annehmen kann. Weichenanlagen bekommen 1 bzw. 2 Weichenelemente zugeordnet. Jedes Weichenelement besteht aus mindestens einer (ggf. mehreren) Komponenten (Zungenpaare), die die technische Sicht darstellen. Eine Kreuzung hat zwei Weichenelemente (A- und B-Seite). Im Fall beweglicher doppelter Herzst + ü + ckspitzen hat die Kreuzung auch zwei Endlagen. Eine starre Kreuzung hat keine Regelzeichnung, da diese keinen Antrieb besitzt. Gleissperren haben kein Objekt im Sinn einer Anlage. Die Attributgruppen GZ_Freimeldung_R bzw. GZ_Freimeldung_L werden nur angegeben, wenn der rechte bzw. linke Schenkel einer Weiche nicht grenzzeichenfrei freigemeldet ist. Wenn das Element weder f + ü + r eine Weiche oder Gleissperre genutzt wird (z.B. Verrrieglung einer beweglichen Br + ü + cke oder eines Tors), werden die Attributgruppen Gleissperre_Element und Weiche_Element nicht verwendet (optionale Choice). Siehe auch Modellierung Weichen. DB-Regelwerk Weichen werden gem + ä + ß + Richtlinie 800.0120 gebaut. F + ü + r die Anordnung der Bauteile (einschlie + ß + lich Antriebe) an einer Weiche und der Gleissperren existieren Regelzeichnungen der Gruppe S 73xx. F + ü + r die Planung von Weichen ist das Regelwerk 819.0401 zu beachten. + W_Kr_Gsp_Komponente -- Einzelner Teil der Weichenanlage (Zungenpaar) oder konstruktiver Mittelpunkt einer Kreuzung in Form von 2 Kreuzungsseiten. Mit Hilfe der W_Kr_Gsp_Komponente als punktf + ö + rmiges Objekt wird die Verkn + ü + pfung mit dem Knoten im Topologischen Modell hergestellt. Als Zuordnungspunkte f + ü + r die Topologie und die Topographie werden Weichenknoten definiert. Die Verortung der Weichenkomponente ist in f + ü + r die typischen Anwendungsf + ä + lle in der Modellierung Weichen dargestellt. Bei einfachen Weichen entspricht der Weichenknoten dem Weichenanfang. Bei EKW und DKW entspricht der Weichenknoten dem Anfang der entsprechenden Zungenpaare (auch hier einheitlich als Weichenanfang bezeichnet). Bei einer Kreuzung wird der Mittelpunkt der Kreuzung als Weichenknoten verwendet. Beide Kreuzungsseiten werden jeweils auf die beiden sich kreuzenden TOP-Kanten verortet. Der Mittelpunkt einer Kreuzung ist kein TOP-Knoten und kein GEO-Knoten. Bei Gleissperren wird die Lage des Entgleisungsschuhs verortet. + Ü + ber die Seitliche Lage im Punkt Objekt wird die Schiene bestimmt, an der der Entgleisungsschuh angebracht ist. Die seitliche Lage wird im Bezug auf die Richtung der TOP_Kante angegeben und stellt nicht die Entgleisungsrichtung dar! Wenn die Weichenkomponente mit einem nicht mechanisch mit der Weiche verbundenen (Weichen-)Signal (z. B. R + ü + ckfallweichensignal, Weichenlagemelder) ausger + ü + stet werden soll, erfolgt die Modellierung dieses Signals als ein gesondertes Objekt Signal. Auf dieses Signal wird von W Kr Anlage (wenn die Anlage ein Signal hat) bzw. W Kr Gsp Element (wenn mehrere Elemete vorhanden sind und diese unterschiedliche Signale haben) verwiesen. Der Weichelagemelder einer DKW wird von den beiden W_Kr_Gsp_Element gesteuert, aber in einem Signal angezeigt. Er wird deshalb nur als ein Signal in der Weichenanlage modelliert. Ein mit der Weichenkomponente mechanisch verbundenes Weichensignal wird gem + ä + ß + Regelzeichnung errichtet, wenn das Attribut Weichensignal gesetzt ist. Es wird dann kein gesondertes Signal modelliert. Siehe auch Modellierung Weichen. Die im Glossar mit (E) gekennzeichneten Attribute Radius_L und Radius_R sollen nicht mehr bef + ü + llt werden, da ein k + ü + nftiger Entfall vorgesehen ist. + Weichenlaufkette -- Logisches Objekt von mehreren durch Antriebe stellbaren Fahrwegelementen (Weichen, Gleissperren, sonstigen stellbaren Elementen), deren Umlauf automatisch bei einer entsprechenden Anforderung (z.B. Fahrstra + ß + e) erfolgt. Diese stellbaren Elemente k + ö + nnen nur dann automatisch gestellt werden, wenn sie auch einer Weichenlaufkette (WLK) zugeordnet sind. Jedes stellbare Element wird genau einer WLK zugeordnet. Durch Sperren der WLK kann dieser automatische Umlauf verhindert werden. Innerhalb von Weichenlaufketten sind dabei folgende Elemente zul + ä + ssig: Weichen, Gleissperren und Sonderelemente, die automatisch umlaufen sollen. F + ü + r die Bedienung von Ersatzauftr + ä + gen des Typs 2 (EE2, VE2, LE2) an Hauptsignalen m + ü + ssen eine oder mehrere Weichenlaufketten gesperrt werden. Zur Reduzierung betrieblicher Behinderungen werden oftmals mehrere Weichenlaufketten in einer Betriebsstelle eingerichtet. DB-Regelwerk Die Bezeichnung der Weichenlaufkette wird gem + ä + ß + Ril 819.0603 in der Form LKn (n = laufende Nummer) gebildet und in der Attributgruppe Bezeichnung abgebildet. + Weichenlaufkette_Zuordnung -- Logisches Objekt f + ü + r die Zuordnung zwischen Weichenlaufketten und Signalen. Das Objekt ist in der Realit + ä + t des Stellwerkes nicht vorhanden. Die Weichenlaufkette_Zuordnung hat keine Attributgruppe \"..._Allgemeine_Merkmale\". + ZBS_Schutzstrecke -- Abbildung der ZBS-Schutzstrecke. Modellseitig werden f + ü + r die Abbildung einer Schutzstrecke die Objekte Fstr_DWeg und ZBS_Schutzstrecke ben + ö + tigt mit entsprechender Aufteilung der Planungsinformationen. + ZBS_Signal -- Zusatzangaben f + ü + r Signale im Zusammenhang mit ZBS. + ZL -- Anlage zur automatischen Einstellung von Fahrstra + ß + en aufgrund von Zuglaufinformationen. Die Zuglenkung ist eine Anlage, die der Unterst + ü + tzung des Betriebsablaufes dient. Aufgabe der Zuglenkung ist es, auf der Basis von Zuglaufinformationen und zugbezogenen Vorgaben f + ü + r die Benutzung von Strecken- und Bahnhofsgleisen ohne unmittelbare Mitwirkung des Bedieners Stellkommandos an das zust + ä + ndige Stellwerk auszugeben, ihre Ausf + ü + hrung zu + ü + berwachen und sich aus Meldungen des Stellwerkes ergebenden Handlungsbedarf an den Bediener weiterzugeben. Zuglaufinformationen erh + ä + lt die Zuglenkung von der Zuglaufverfolgung (ZLV), die vorgesehene Benutzung der Strecken- und Bahnhofsgleise sowie Wartebedingungen einschlie + ß + lich besonderer Bedingungen f + ü + r die Regelung der Reihenfolge der Z + ü + ge aus einem sogenannten Lenkplan, der in Form einer Gleisbenutzungstabelle (GBT) darstellbar ist. DB-Regelwerk 819.0732 Gleisbenutzungstabelle Wei + tere Angaben finden sich im Lastenheft, das dem LST-Fachplaner nicht zur Verf + ü + gung steht. + ZL_DLP_Abschnitt -- Sammlung der Gleisabschnitte, die in ZL DLP Fstr eingebunden werden und f + ü + r die eine Pr + ü + fung auf Deadlock erfolgen muss. DB-Regelwerk TM 2011-024 I.NVT 3 + ZL_DLP_Fstr -- Zuordnung von ZL-DLP-Abschnitten zur ZL-Fahrstra + ß + e. DB-Regelwerk TM 2011-024 I.NVT 3 + ZL_Fstr -- Objekt zur Aufnahme verschiedener Anstosspunkte (mittels ZL Fstr Anstoss) abh + ä + ngig von den zugeh + ö + rigen Vorsignalen und den Geschwindigkeitsklassen f + ü + r die ZL. + Ü + ber den Verweis zur Fstr Zug Rangier ist die Verbindung zur Fstr des ESTW hergestellt. F + ü + r eine Fstr des ESTW kann es mehrere ZL_Fstr geben, umgekehrt gilt dies nicht. DB-Regelwerk 819.0732 6 (1)b In der Tabelle der Zuglenkanst + ö + ß + e entspricht eine Zeile einer ZL-Fahrstra + ß + e. + ZL_Fstr_Anstoss -- Mit ZL_Fstr_Anstoss wird f + ü + r eine Fahrstrasse der Zuglenkung der Anstosspunkt gebildet. Die f + ü + r diese ZL-Fahrstra + ß + e relevante(n) Geschwindigkeitsklasse(n) (GK) wird/werden + ü + ber die entsprechende Attributgruppe zugeordnet. DB-Regelwerk 819.0732 11 In der Tabelle der Zuglenkanst + ö + ß + e findet sich die Angabe in der Spalte \"EP-MO\". + ZL_Signalgruppe -- Gruppe von Signalen (Haupt-, Sperrsignale), die von der Zug- bzw. Rangierlenkung f + ü + r die Vorzugregelung ben + ö + tigt wird. DB-Regelwerk 819.0732 A06 Im PT1 erfolgt die Angabe in einer gesonderten Tabelle, f + ü + r die es im Regelwerk z. Zt. keine Vorgabe gibt. + ZL_Signalgruppe_Zuordnung -- Zuordnung von Signalen zur ZL Signalgruppe. DB-Regelwerk 819.0732 A06 Im PT1 erfolgt die Angabe in einer gesonderten Tabelle, f + ü + r die es im Regelwerk z. Zt. keine Vorgabe gibt. + ZLV_Bus -- Zuglaufverfolgungsbus. Verbindung zwischen den ZN-Unterstationen zum Transport der Zugnummernmeldetelegramme. ZLV-Busse k + ö + nnen BZ- + ü + bergreifend geplant werden. In diesem Fall gelten f + ü + r die Vergabe der ZLV Bus Nr besondere Bedingungen. DB-Regelwerk 819.0731 8 (2) Die Darstellung der Angaben erfolgt im ZLV-Bus- + Ü + bersichtsplan nach 819.0731 A01 + ZLV_Bus_Besondere_Anlage -- Besondere Anlage, die an einen ZLV-Bus angeschlossen ist. + ZLV_Bus_US_Zuordnung -- Zuordnung von ZLV-Bussen zur ZN Unterstation und Angabe durchzureichender Telegramme. Logisches Objekt, falls eine ZN Unterstation an mehrere ZLV-Busse angebunden wird. DB-Regelwerk 819.0731 5 (4) ff Die Darstellung der Angaben erfolgt im ZLV-Bus- + Ü + bersichtsplan nach 819.0731 A01 + ZN -- Zugnummernmeldeanlage. Wird die ZN-Anlage zusammen mit dem ESTW geplant, gibt es keinen Verweis auf die Anh + ä + nge, da die ZN bereits in der ESTW-Konfiguration ber + ü + cksichtigt ist. Wird die ZN nachger + ü + stet, sind die Verweise auf ESTW_Zentraleinheit und Anh + ä + nge vorhanden. Kann eine ESTW-Bauform keine ZN ber + ü + cksichtigen, dann gibt es keinen Verweis auf ESTW_Zentraleinheit. DB-Regelwerk 819.0731 + ZN_Akustik -- Akustisches Signal bei Bef + ü + llung eines ZN-Anzeigefeldes mit einer Zugnummer Bei der Planung der ZN-Akustik sind herstellerspezifische Besonderheiten zu beachten. Akustiken im Anbiete-/Annahmefeld sind Standard und nicht gesondert zu planen. Das Objekt bzw. die Attributgruppe wird bei Anbiete/Annahme- sowie Voranzeigefeldern IMMER angelegt, um die Dauer der Akustik festzulegen. F + ü + r die weiteren ZN-Anzeigefelder wird das Objekt nur dann angelegt, wenn das betreffene ZN Anzeigefeld mit einer Akustik ausgestatteet wird. DB-Regelwerk Das Planungsdatum ist im Regelwerk der DB AG nicht vorhanden. Es findet sich im Lastenheft sowie in den firmenspezifischen Projektierungsunterlagen, die dem LST-Fachplaner nicht zur Verf + ü + gung stehen. + ZN_Anzeigefeld -- Objekt, welches die Funktionalit + ä + ten der ZN auf der Bedienoberfl + ä + che abbildet. F + ü + r jedes Gleis, in denen die ZN-Anlage Zugnummern verwalten und/oder anzeigen soll, ist mindestens ein ZN-Anzeigefeld zu definieren. Hinsichtlich der Besonderheiten bei der Bezeichnug wird auf die Ausf + ü + hrungen auf der Seite Bezeichnung ZN-Anzeigefeld verwiesen. DB-Regelwerk 819.0731 6 (1) bis (15) sowie (19) ff + ZN_Fortschalt_Kriterium -- Objekt, welches die funktionellen ZN-Fortschaltkriterien beschreibt. Die Attributgruppe ZN_Fortschalt_Krit_Druck wird nur angelegt, wenn aus dem Fortschaltkriterium ein Druck erzeugt wird. DB-Regelwerk 819.0731 6 (16) und (17) + ZN_Telegramm_84_Zuordnung -- Logisches Objekt, welches die Verbindung zwischen ZN und ggf. der einzelnen Fahrstra + ß + e herstellt, f + ü + r die das Telegramm 84 gesendet werden soll. Herstellerbezogen kann die Sendung des Telegramms 84 f + ü + r jede einzelne Fahrstra + ß + e oder nur f + ü + r alle Fahrstra + ß + en programmiert werden. DB-Regelwerk 819.0731A02 1 (5) + ZN_Telegramm_85_Zuordnung -- Logisches Objekt, welches die Verbindung zwischen ZN und ggf. der einzelnen Fahrstra + ß + e herstellt, f + ü + r die das Telegramm 85 gesendet werden soll. Herstellerbezogen kann die Sendung des Telegramms 85 f + ü + r jede einzelne Fahrstra + ß + e oder nur f + ü + r alle Fahrstra + ß + en programmiert werden. DB-Regelwerk 819.0731A02 1 (5) + ZN_Unterstation -- Verbindung zwischen ZN und ZLV Bus und/oder ZN ZBS. + Ü + ber Modems wird die ZN an einen oder mehrere ZLV-Busse und ggf. an eine ZBS (Verbindung zu einer Bedien Zentrale) angebunden. Die Attributgruppe ZN_Unterstation_Bf_Nr kann mehrfach eingebunden werden. Damit werden alle Betriebsstellen, die ZN-seitig + ü + ber diese Unterstation verwaltet bzw \"angesprochen\" werden, beschrieben. Der ZN-seitigen Bahnhofsnummer wird eine + Ö + rtlichkeit (Ril-100-Bezeichner der zugewiesenen Betriebsstelle) und ggf. eine Priorit + ä + t zugeordnet. Letztere wird nur f + ü + r diejenige Bahnhosnummer angegeben, die f + ü + r die Kommunikation der ZN_Unterstation mit dem ZLV-Bus ma + ß + gebend ist. In allen anderen F + ä + llen wird das Attribut nicht bef + ü + llt. Die Darstellung erfolgt auf dem ZLV-Bus- + Ü + bersichtsplan als tabellarischer Block mit den Zeilen \u0026lt;Bf-Nr\u0026gt; \u0026lt;Oertlichkeit_Abkuerzung\u0026gt; in dem Symbol f + ü + r die ZN_Unterstation. Die Bahnhofsnummer mit Priorit + ä + t wird direkt neben dem ZLV-Bus-Anschluss angeordnet. DB-Regelwerk 819.0731 5 Die Darstellung der Angaben erfolgt im ZLV-Bus- + Ü + bersichtsplan nach 819.0731 A01 + ZN_ZBS -- Abbildung der Parameter f + ü + r die Anbindung einer ZN an die BZ. Der Verweis auf ID ESTW Zentraleinheit beschreibt den Ort der r + ä + umlichen Unterbringung der Koppelunterstation. Bei der Bearbeitung im Planungstool kann es notwendig sein, bereits bei Bearbeitung im Dialogfeld ZN-ZBS den Verweis auf die ESTW_Zentraleinheit zu bef + ü + llen. DB-Regelwerk 819.0731 6 (16) Die Darstellung der Angaben erfolgt im ZLV-Bus- + Ü + bersichtsplan nach 819.0731 A01 + ZUB_Bereichsgrenze -- Grenze des Ausr + ü + stungsbereichs eines Zugbeeinflussungssystems oder RBC-Grenze bei L2. Auch im Lastenheft bzw. Planungsregelwerk als Ausstieg definierte Bereichsgrenzen werden im Datenmodell generell als Einstieg abgebildet. Sp + ä + ter Einstieg wird nicht abgebildet. Bei bedingtem Einstieg und Oder-Verkn + ü + pfung von Weichenlagen m + ü + ssen verschiedene Instanzen von ZUB_Bereichsgrenze angelegt werden. + ZUB_Streckeneigenschaft -- Bereich mit einheitlicher Ausr + ü + stung von Zugbeeinflussungssystem(en) oder Kennzeichnung eines besonderen Bereichs (z. B. gro + ß + es Metallteil), der im Rahmen einer Balisen-Planung zu ber + ü + cksichtigen ist. + Sofern in einem Bereich richtungsbezogen unterschiedliche Zugbeeinflussungssysteme genutzt werden (Grenzbereich), sind daf + ü + r richtungsbezogene Bereichsobjekte anzulegen. + Hinweis f + ü + r Planungswerkzeuge: Die Definition des Bereichsobjekts ZUB_Streckeneigenschaft richtet sich nach dem Punktobjekt ZUB_Bereichsgrenze. + Zugeinwirkung -- Technische Anlage, die durch die punktuelle Einwirkung eines Zuges einen Schaltvorgang ausl + ö + sen kann. Bei B + Ü + SA werden Ein- und Ausschaltpunkte sowie Kontakte f + ü + r die Wirksamkeitsschaltung in Abh + ä + ngigkeit vom Hersteller auf verschiedene Art ausgebildet: Die Hersteller Scheidt\u0026amp;Bachmann sowie PintschBamag verwenden als Zugeinwirkung Fahrzeugsensoren in Form von 8-f + ö + rmig verlegten Schleifen im Gleis. Einschaltpunkte und Kontakte f + ü + r die Wirksamkeitsschaltung werden im Regelfall aus zwei Schleifen, Ausschaltpunkte aus einer Schleife gebildet. Nur im Ausnahmefall werden beim Hersteller PintschBamag Einschaltpunkte mit drei Schleifen errichtet. Der Hersteller Siemens AG verwendet dagegen Achsz + ä + hlern vergleichbare sogenannte Doppelsensoren. F + ü + r das Modell werden, unabh + ä + ngig von der herstellerspezifischen Ausbildung, Ein-und Ausschaltpunkte sowie Kontakte der Wirksamkeitsschaltung grunds + ä + tzlich als EINE Zugeinwirkung betrachtet. DB-Regelwerk Typspezifische Planungshinweise und Technische Mitteilungen; Planungsdaten: Sicherungstechnischer Lageplan, B + Ü + -Lageplan, Gleisfreimeldeplan. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anhang=None, ATO_Segment_Profile=None, ATO_Timing_Point=None, ATO_TS_Instanz=None, Aussenelementansteuerung=None, Bahnsteig_Anlage=None, Bahnsteig_Dach=None, Bahnsteig_Kante=None, Bahnsteig_Zugang=None, Balise=None, Bearbeitungsvermerk=None, Bedien_Anrueckabschnitt=None, Bedien_Anzeige_Element=None, Bedien_Bezirk=None, Bedien_Einrichtung_Oertlich=None, Bedien_GBT=None, Bedien_Oberflaeche=None, Bedien_Oberflaeche_Bild=None, Bedien_Oertlichkeit=None, Bedien_Platz=None, Bedien_Standort=None, Bedien_Zentrale=None, Binaerdaten=None, Block_Anlage=None, Block_Element=None, Block_Strecke=None, BUE_Anlage=None, BUE_Anlage_Strasse=None, BUE_Anlage_V=None, BUE_Ausschaltung=None, BUE_Bedien_Anzeige_Element=None, BUE_Deckendes_Signal_Zuordnung=None, BUE_Einschaltung=None, BUE_Einschaltung_Zuordnung=None, BUE_Gefahrraum_Eckpunkt=None, BUE_Gleisbezogener_Gefahrraum=None, BUE_Kante=None, BUE_Kreuzungsplan=None, BUE_Schnittstelle=None, BUE_Spezifisches_Signal=None, BUE_WS_Fstr_Zuordnung=None, Datenpunkt=None, Datenpunkt_Link=None, ESTW_Zentraleinheit=None, ETCS_Kante=None, ETCS_Knoten=None, ETCS_Richtungsanzeige=None, ETCS_Signal=None, ETCS_W_Kr=None, EV_Modul=None, Fachtelegramm=None, Fla_Freimelde_Zuordnung=None, Fla_Schutz=None, Fla_Zwieschutz=None, FMA_Anlage=None, FMA_Element=None, FMA_Komponente=None, Fstr_Abhaengigkeit=None, Fstr_Aneinander=None, Fstr_Aneinander_Zuordnung=None, Fstr_DWeg=None, Fstr_DWeg_W_Kr=None, Fstr_Fahrweg=None, Fstr_Nichthaltfall=None, Fstr_Rangier_Fla_Zuordnung=None, Fstr_Signalisierung=None, Fstr_Umfahrpunkt=None, Fstr_Zug_Rangier=None, FT_Anschaltbedingung=None, FT_Fahrweg_Teil=None, GEO_Kante=None, GEO_Knoten=None, GEO_Punkt=None, Geschwindigkeitsprofil=None, GFR_Anlage=None, GFR_Element=None, GFR_Tripelspiegel=None, Gleis_Abschluss=None, Gleis_Abschnitt=None, Gleis_Art=None, Gleis_Baubereich=None, Gleis_Bezeichnung=None, Gleis_Fahrbahn=None, Gleis_Lichtraum=None, Gleis_Schaltgruppe=None, Hoehenlinie=None, Hoehenpunkt=None, Kabel=None, Kabel_Verteilpunkt=None, LEU_Anlage=None, LEU_Modul=None, LEU_Schaltkasten=None, Lieferobjekt=None, Luft_Telegramm=None, Markanter_Punkt=None, NB=None, NB_Bedien_Anzeige_Element=None, NB_Zone=None, NB_Zone_Element=None, NB_Zone_Grenze=None, Oertlichkeit=None, Prog_Datei_Gruppe=None, Proxy_Objekt=None, PZB_Element=None, PZB_Element_Zuordnung=None, PZB_Zuordnung_Signal=None, RBC=None, Regelzeichnung=None, Regelzeichnung_Parameter=None, Schaltmittel_Fstr_Zuordnung=None, Schaltmittel_Zuordnung=None, Schloss=None, Schlosskombination=None, Schluessel=None, Schluesselsperre=None, Schrankenantrieb=None, Signal=None, Signal_Befestigung=None, Signal_Fank_Zuordnung=None, Signal_Rahmen=None, Signal_Signalbegriff=None, Sonstiger_Punkt=None, Stell_Bereich=None, Stellelement=None, Strecke=None, Strecke_Bremsweg=None, Strecke_Punkt=None, Technik_Standort=None, Technischer_Bereich=None, Technischer_Punkt=None, TOP_Kante=None, TOP_Knoten=None, Trasse_Kante=None, Trasse_Knoten=None, Ueberhoehung=None, Ueberhoehungslinie=None, Uebertragungsweg=None, Unterbringung=None, Verkehrszeichen=None, W_Kr_Anlage=None, W_Kr_Gsp_Element=None, W_Kr_Gsp_Komponente=None, Weichenlaufkette=None, Weichenlaufkette_Zuordnung=None, ZBS_Schutzstrecke=None, ZBS_Signal=None, ZL=None, ZL_DLP_Abschnitt=None, ZL_DLP_Fstr=None, ZL_Fstr=None, ZL_Fstr_Anstoss=None, ZL_Signalgruppe=None, ZL_Signalgruppe_Zuordnung=None, ZLV_Bus=None, ZLV_Bus_Besondere_Anlage=None, ZLV_Bus_US_Zuordnung=None, ZN=None, ZN_Akustik=None, ZN_Anzeigefeld=None, ZN_Fortschalt_Kriterium=None, ZN_Telegramm_84_Zuordnung=None, ZN_Telegramm_85_Zuordnung=None, ZN_Unterstation=None, ZN_ZBS=None, ZUB_Bereichsgrenze=None, ZUB_Streckeneigenschaft=None, Zugeinwirkung=None, gds_collector_=None, **kwargs_): + self.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 Anhang is None: + self.Anhang = [] + else: + self.Anhang = Anhang + self.Anhang_nsprefix_ = None + if ATO_Segment_Profile is None: + self.ATO_Segment_Profile = [] + else: + self.ATO_Segment_Profile = ATO_Segment_Profile + self.ATO_Segment_Profile_nsprefix_ = None + if ATO_Timing_Point is None: + self.ATO_Timing_Point = [] + else: + self.ATO_Timing_Point = ATO_Timing_Point + self.ATO_Timing_Point_nsprefix_ = None + if ATO_TS_Instanz is None: + self.ATO_TS_Instanz = [] + else: + self.ATO_TS_Instanz = ATO_TS_Instanz + self.ATO_TS_Instanz_nsprefix_ = None + if Aussenelementansteuerung is None: + self.Aussenelementansteuerung = [] + else: + self.Aussenelementansteuerung = Aussenelementansteuerung + self.Aussenelementansteuerung_nsprefix_ = None + if Bahnsteig_Anlage is None: + self.Bahnsteig_Anlage = [] + else: + self.Bahnsteig_Anlage = Bahnsteig_Anlage + self.Bahnsteig_Anlage_nsprefix_ = None + if Bahnsteig_Dach is None: + self.Bahnsteig_Dach = [] + else: + self.Bahnsteig_Dach = Bahnsteig_Dach + self.Bahnsteig_Dach_nsprefix_ = None + if Bahnsteig_Kante is None: + self.Bahnsteig_Kante = [] + else: + self.Bahnsteig_Kante = Bahnsteig_Kante + self.Bahnsteig_Kante_nsprefix_ = None + if Bahnsteig_Zugang is None: + self.Bahnsteig_Zugang = [] + else: + self.Bahnsteig_Zugang = Bahnsteig_Zugang + self.Bahnsteig_Zugang_nsprefix_ = None + if Balise is None: + self.Balise = [] + else: + self.Balise = Balise + self.Balise_nsprefix_ = None + if Bearbeitungsvermerk is None: + self.Bearbeitungsvermerk = [] + else: + self.Bearbeitungsvermerk = Bearbeitungsvermerk + self.Bearbeitungsvermerk_nsprefix_ = None + if Bedien_Anrueckabschnitt is None: + self.Bedien_Anrueckabschnitt = [] + else: + self.Bedien_Anrueckabschnitt = Bedien_Anrueckabschnitt + self.Bedien_Anrueckabschnitt_nsprefix_ = None + if Bedien_Anzeige_Element is None: + self.Bedien_Anzeige_Element = [] + else: + self.Bedien_Anzeige_Element = Bedien_Anzeige_Element + self.Bedien_Anzeige_Element_nsprefix_ = None + if Bedien_Bezirk is None: + self.Bedien_Bezirk = [] + else: + self.Bedien_Bezirk = Bedien_Bezirk + self.Bedien_Bezirk_nsprefix_ = None + if Bedien_Einrichtung_Oertlich is None: + self.Bedien_Einrichtung_Oertlich = [] + else: + self.Bedien_Einrichtung_Oertlich = Bedien_Einrichtung_Oertlich + self.Bedien_Einrichtung_Oertlich_nsprefix_ = None + if Bedien_GBT is None: + self.Bedien_GBT = [] + else: + self.Bedien_GBT = Bedien_GBT + self.Bedien_GBT_nsprefix_ = None + if Bedien_Oberflaeche is None: + self.Bedien_Oberflaeche = [] + else: + self.Bedien_Oberflaeche = Bedien_Oberflaeche + self.Bedien_Oberflaeche_nsprefix_ = None + if Bedien_Oberflaeche_Bild is None: + self.Bedien_Oberflaeche_Bild = [] + else: + self.Bedien_Oberflaeche_Bild = Bedien_Oberflaeche_Bild + self.Bedien_Oberflaeche_Bild_nsprefix_ = None + if Bedien_Oertlichkeit is None: + self.Bedien_Oertlichkeit = [] + else: + self.Bedien_Oertlichkeit = Bedien_Oertlichkeit + self.Bedien_Oertlichkeit_nsprefix_ = None + if Bedien_Platz is None: + self.Bedien_Platz = [] + else: + self.Bedien_Platz = Bedien_Platz + self.Bedien_Platz_nsprefix_ = None + if Bedien_Standort is None: + self.Bedien_Standort = [] + else: + self.Bedien_Standort = Bedien_Standort + self.Bedien_Standort_nsprefix_ = None + if Bedien_Zentrale is None: + self.Bedien_Zentrale = [] + else: + self.Bedien_Zentrale = Bedien_Zentrale + self.Bedien_Zentrale_nsprefix_ = None + if Binaerdaten is None: + self.Binaerdaten = [] + else: + self.Binaerdaten = Binaerdaten + self.Binaerdaten_nsprefix_ = None + if Block_Anlage is None: + self.Block_Anlage = [] + else: + self.Block_Anlage = Block_Anlage + self.Block_Anlage_nsprefix_ = None + if Block_Element is None: + self.Block_Element = [] + else: + self.Block_Element = Block_Element + self.Block_Element_nsprefix_ = None + if Block_Strecke is None: + self.Block_Strecke = [] + else: + self.Block_Strecke = Block_Strecke + self.Block_Strecke_nsprefix_ = None + if BUE_Anlage is None: + self.BUE_Anlage = [] + else: + self.BUE_Anlage = BUE_Anlage + self.BUE_Anlage_nsprefix_ = None + if BUE_Anlage_Strasse is None: + self.BUE_Anlage_Strasse = [] + else: + self.BUE_Anlage_Strasse = BUE_Anlage_Strasse + self.BUE_Anlage_Strasse_nsprefix_ = None + if BUE_Anlage_V is None: + self.BUE_Anlage_V = [] + else: + self.BUE_Anlage_V = BUE_Anlage_V + self.BUE_Anlage_V_nsprefix_ = None + if BUE_Ausschaltung is None: + self.BUE_Ausschaltung = [] + else: + self.BUE_Ausschaltung = BUE_Ausschaltung + self.BUE_Ausschaltung_nsprefix_ = None + if BUE_Bedien_Anzeige_Element is None: + self.BUE_Bedien_Anzeige_Element = [] + else: + self.BUE_Bedien_Anzeige_Element = BUE_Bedien_Anzeige_Element + self.BUE_Bedien_Anzeige_Element_nsprefix_ = None + if BUE_Deckendes_Signal_Zuordnung is None: + self.BUE_Deckendes_Signal_Zuordnung = [] + else: + self.BUE_Deckendes_Signal_Zuordnung = BUE_Deckendes_Signal_Zuordnung + self.BUE_Deckendes_Signal_Zuordnung_nsprefix_ = None + if BUE_Einschaltung is None: + self.BUE_Einschaltung = [] + else: + self.BUE_Einschaltung = BUE_Einschaltung + self.BUE_Einschaltung_nsprefix_ = None + if BUE_Einschaltung_Zuordnung is None: + self.BUE_Einschaltung_Zuordnung = [] + else: + self.BUE_Einschaltung_Zuordnung = BUE_Einschaltung_Zuordnung + self.BUE_Einschaltung_Zuordnung_nsprefix_ = None + if BUE_Gefahrraum_Eckpunkt is None: + self.BUE_Gefahrraum_Eckpunkt = [] + else: + self.BUE_Gefahrraum_Eckpunkt = BUE_Gefahrraum_Eckpunkt + self.BUE_Gefahrraum_Eckpunkt_nsprefix_ = None + if BUE_Gleisbezogener_Gefahrraum is None: + self.BUE_Gleisbezogener_Gefahrraum = [] + else: + self.BUE_Gleisbezogener_Gefahrraum = BUE_Gleisbezogener_Gefahrraum + self.BUE_Gleisbezogener_Gefahrraum_nsprefix_ = None + if BUE_Kante is None: + self.BUE_Kante = [] + else: + self.BUE_Kante = BUE_Kante + self.BUE_Kante_nsprefix_ = None + if BUE_Kreuzungsplan is None: + self.BUE_Kreuzungsplan = [] + else: + self.BUE_Kreuzungsplan = BUE_Kreuzungsplan + self.BUE_Kreuzungsplan_nsprefix_ = None + if BUE_Schnittstelle is None: + self.BUE_Schnittstelle = [] + else: + self.BUE_Schnittstelle = BUE_Schnittstelle + self.BUE_Schnittstelle_nsprefix_ = None + if BUE_Spezifisches_Signal is None: + self.BUE_Spezifisches_Signal = [] + else: + self.BUE_Spezifisches_Signal = BUE_Spezifisches_Signal + self.BUE_Spezifisches_Signal_nsprefix_ = None + if BUE_WS_Fstr_Zuordnung is None: + self.BUE_WS_Fstr_Zuordnung = [] + else: + self.BUE_WS_Fstr_Zuordnung = BUE_WS_Fstr_Zuordnung + self.BUE_WS_Fstr_Zuordnung_nsprefix_ = None + if Datenpunkt is None: + self.Datenpunkt = [] + else: + self.Datenpunkt = Datenpunkt + self.Datenpunkt_nsprefix_ = None + if Datenpunkt_Link is None: + self.Datenpunkt_Link = [] + else: + self.Datenpunkt_Link = Datenpunkt_Link + self.Datenpunkt_Link_nsprefix_ = None + if ESTW_Zentraleinheit is None: + self.ESTW_Zentraleinheit = [] + else: + self.ESTW_Zentraleinheit = ESTW_Zentraleinheit + self.ESTW_Zentraleinheit_nsprefix_ = None + if ETCS_Kante is None: + self.ETCS_Kante = [] + else: + self.ETCS_Kante = ETCS_Kante + self.ETCS_Kante_nsprefix_ = None + if ETCS_Knoten is None: + self.ETCS_Knoten = [] + else: + self.ETCS_Knoten = ETCS_Knoten + self.ETCS_Knoten_nsprefix_ = None + if ETCS_Richtungsanzeige is None: + self.ETCS_Richtungsanzeige = [] + else: + self.ETCS_Richtungsanzeige = ETCS_Richtungsanzeige + self.ETCS_Richtungsanzeige_nsprefix_ = None + if ETCS_Signal is None: + self.ETCS_Signal = [] + else: + self.ETCS_Signal = ETCS_Signal + self.ETCS_Signal_nsprefix_ = None + if ETCS_W_Kr is None: + self.ETCS_W_Kr = [] + else: + self.ETCS_W_Kr = ETCS_W_Kr + self.ETCS_W_Kr_nsprefix_ = None + if EV_Modul is None: + self.EV_Modul = [] + else: + self.EV_Modul = EV_Modul + self.EV_Modul_nsprefix_ = None + if Fachtelegramm is None: + self.Fachtelegramm = [] + else: + self.Fachtelegramm = Fachtelegramm + self.Fachtelegramm_nsprefix_ = None + if Fla_Freimelde_Zuordnung is None: + self.Fla_Freimelde_Zuordnung = [] + else: + self.Fla_Freimelde_Zuordnung = Fla_Freimelde_Zuordnung + self.Fla_Freimelde_Zuordnung_nsprefix_ = None + if Fla_Schutz is None: + self.Fla_Schutz = [] + else: + self.Fla_Schutz = Fla_Schutz + self.Fla_Schutz_nsprefix_ = None + if Fla_Zwieschutz is None: + self.Fla_Zwieschutz = [] + else: + self.Fla_Zwieschutz = Fla_Zwieschutz + self.Fla_Zwieschutz_nsprefix_ = None + if FMA_Anlage is None: + self.FMA_Anlage = [] + else: + self.FMA_Anlage = FMA_Anlage + self.FMA_Anlage_nsprefix_ = None + if FMA_Element is None: + self.FMA_Element = [] + else: + self.FMA_Element = FMA_Element + self.FMA_Element_nsprefix_ = None + if FMA_Komponente is None: + self.FMA_Komponente = [] + else: + self.FMA_Komponente = FMA_Komponente + self.FMA_Komponente_nsprefix_ = None + if Fstr_Abhaengigkeit is None: + self.Fstr_Abhaengigkeit = [] + else: + self.Fstr_Abhaengigkeit = Fstr_Abhaengigkeit + self.Fstr_Abhaengigkeit_nsprefix_ = None + if Fstr_Aneinander is None: + self.Fstr_Aneinander = [] + else: + self.Fstr_Aneinander = Fstr_Aneinander + self.Fstr_Aneinander_nsprefix_ = None + if Fstr_Aneinander_Zuordnung is None: + self.Fstr_Aneinander_Zuordnung = [] + else: + self.Fstr_Aneinander_Zuordnung = Fstr_Aneinander_Zuordnung + self.Fstr_Aneinander_Zuordnung_nsprefix_ = None + if Fstr_DWeg is None: + self.Fstr_DWeg = [] + else: + self.Fstr_DWeg = Fstr_DWeg + self.Fstr_DWeg_nsprefix_ = None + if Fstr_DWeg_W_Kr is None: + self.Fstr_DWeg_W_Kr = [] + else: + self.Fstr_DWeg_W_Kr = Fstr_DWeg_W_Kr + self.Fstr_DWeg_W_Kr_nsprefix_ = None + if Fstr_Fahrweg is None: + self.Fstr_Fahrweg = [] + else: + self.Fstr_Fahrweg = Fstr_Fahrweg + self.Fstr_Fahrweg_nsprefix_ = None + if Fstr_Nichthaltfall is None: + self.Fstr_Nichthaltfall = [] + else: + self.Fstr_Nichthaltfall = Fstr_Nichthaltfall + self.Fstr_Nichthaltfall_nsprefix_ = None + if Fstr_Rangier_Fla_Zuordnung is None: + self.Fstr_Rangier_Fla_Zuordnung = [] + else: + self.Fstr_Rangier_Fla_Zuordnung = Fstr_Rangier_Fla_Zuordnung + self.Fstr_Rangier_Fla_Zuordnung_nsprefix_ = None + if Fstr_Signalisierung is None: + self.Fstr_Signalisierung = [] + else: + self.Fstr_Signalisierung = Fstr_Signalisierung + self.Fstr_Signalisierung_nsprefix_ = None + if Fstr_Umfahrpunkt is None: + self.Fstr_Umfahrpunkt = [] + else: + self.Fstr_Umfahrpunkt = Fstr_Umfahrpunkt + self.Fstr_Umfahrpunkt_nsprefix_ = None + if Fstr_Zug_Rangier is None: + self.Fstr_Zug_Rangier = [] + else: + self.Fstr_Zug_Rangier = Fstr_Zug_Rangier + self.Fstr_Zug_Rangier_nsprefix_ = None + if FT_Anschaltbedingung is None: + self.FT_Anschaltbedingung = [] + else: + self.FT_Anschaltbedingung = FT_Anschaltbedingung + self.FT_Anschaltbedingung_nsprefix_ = None + if FT_Fahrweg_Teil is None: + self.FT_Fahrweg_Teil = [] + else: + self.FT_Fahrweg_Teil = FT_Fahrweg_Teil + self.FT_Fahrweg_Teil_nsprefix_ = None + if GEO_Kante is None: + self.GEO_Kante = [] + else: + self.GEO_Kante = GEO_Kante + self.GEO_Kante_nsprefix_ = None + if GEO_Knoten is None: + self.GEO_Knoten = [] + else: + self.GEO_Knoten = GEO_Knoten + self.GEO_Knoten_nsprefix_ = None + if GEO_Punkt is None: + self.GEO_Punkt = [] + else: + self.GEO_Punkt = GEO_Punkt + self.GEO_Punkt_nsprefix_ = None + if Geschwindigkeitsprofil is None: + self.Geschwindigkeitsprofil = [] + else: + self.Geschwindigkeitsprofil = Geschwindigkeitsprofil + self.Geschwindigkeitsprofil_nsprefix_ = None + if GFR_Anlage is None: + self.GFR_Anlage = [] + else: + self.GFR_Anlage = GFR_Anlage + self.GFR_Anlage_nsprefix_ = None + if GFR_Element is None: + self.GFR_Element = [] + else: + self.GFR_Element = GFR_Element + self.GFR_Element_nsprefix_ = None + if GFR_Tripelspiegel is None: + self.GFR_Tripelspiegel = [] + else: + self.GFR_Tripelspiegel = GFR_Tripelspiegel + self.GFR_Tripelspiegel_nsprefix_ = None + if Gleis_Abschluss is None: + self.Gleis_Abschluss = [] + else: + self.Gleis_Abschluss = Gleis_Abschluss + self.Gleis_Abschluss_nsprefix_ = None + if Gleis_Abschnitt is None: + self.Gleis_Abschnitt = [] + else: + self.Gleis_Abschnitt = Gleis_Abschnitt + self.Gleis_Abschnitt_nsprefix_ = None + if Gleis_Art is None: + self.Gleis_Art = [] + else: + self.Gleis_Art = Gleis_Art + self.Gleis_Art_nsprefix_ = None + if Gleis_Baubereich is None: + self.Gleis_Baubereich = [] + else: + self.Gleis_Baubereich = Gleis_Baubereich + self.Gleis_Baubereich_nsprefix_ = None + if Gleis_Bezeichnung is None: + self.Gleis_Bezeichnung = [] + else: + self.Gleis_Bezeichnung = Gleis_Bezeichnung + self.Gleis_Bezeichnung_nsprefix_ = None + if Gleis_Fahrbahn is None: + self.Gleis_Fahrbahn = [] + else: + self.Gleis_Fahrbahn = Gleis_Fahrbahn + self.Gleis_Fahrbahn_nsprefix_ = None + if Gleis_Lichtraum is None: + self.Gleis_Lichtraum = [] + else: + self.Gleis_Lichtraum = Gleis_Lichtraum + self.Gleis_Lichtraum_nsprefix_ = None + if Gleis_Schaltgruppe is None: + self.Gleis_Schaltgruppe = [] + else: + self.Gleis_Schaltgruppe = Gleis_Schaltgruppe + self.Gleis_Schaltgruppe_nsprefix_ = None + if Hoehenlinie is None: + self.Hoehenlinie = [] + else: + self.Hoehenlinie = Hoehenlinie + self.Hoehenlinie_nsprefix_ = None + if Hoehenpunkt is None: + self.Hoehenpunkt = [] + else: + self.Hoehenpunkt = Hoehenpunkt + self.Hoehenpunkt_nsprefix_ = None + if Kabel is None: + self.Kabel = [] + else: + self.Kabel = Kabel + self.Kabel_nsprefix_ = None + if Kabel_Verteilpunkt is None: + self.Kabel_Verteilpunkt = [] + else: + self.Kabel_Verteilpunkt = Kabel_Verteilpunkt + self.Kabel_Verteilpunkt_nsprefix_ = None + if LEU_Anlage is None: + self.LEU_Anlage = [] + else: + self.LEU_Anlage = LEU_Anlage + self.LEU_Anlage_nsprefix_ = None + if LEU_Modul is None: + self.LEU_Modul = [] + else: + self.LEU_Modul = LEU_Modul + self.LEU_Modul_nsprefix_ = None + if LEU_Schaltkasten is None: + self.LEU_Schaltkasten = [] + else: + self.LEU_Schaltkasten = LEU_Schaltkasten + self.LEU_Schaltkasten_nsprefix_ = None + if Lieferobjekt is None: + self.Lieferobjekt = [] + else: + self.Lieferobjekt = Lieferobjekt + self.Lieferobjekt_nsprefix_ = None + if Luft_Telegramm is None: + self.Luft_Telegramm = [] + else: + self.Luft_Telegramm = Luft_Telegramm + self.Luft_Telegramm_nsprefix_ = None + if Markanter_Punkt is None: + self.Markanter_Punkt = [] + else: + self.Markanter_Punkt = Markanter_Punkt + self.Markanter_Punkt_nsprefix_ = None + if NB is None: + self.NB = [] + else: + self.NB = NB + self.NB_nsprefix_ = None + if NB_Bedien_Anzeige_Element is None: + self.NB_Bedien_Anzeige_Element = [] + else: + self.NB_Bedien_Anzeige_Element = NB_Bedien_Anzeige_Element + self.NB_Bedien_Anzeige_Element_nsprefix_ = None + if NB_Zone is None: + self.NB_Zone = [] + else: + self.NB_Zone = NB_Zone + self.NB_Zone_nsprefix_ = None + if NB_Zone_Element is None: + self.NB_Zone_Element = [] + else: + self.NB_Zone_Element = NB_Zone_Element + self.NB_Zone_Element_nsprefix_ = None + if NB_Zone_Grenze is None: + self.NB_Zone_Grenze = [] + else: + self.NB_Zone_Grenze = NB_Zone_Grenze + self.NB_Zone_Grenze_nsprefix_ = None + if Oertlichkeit is None: + self.Oertlichkeit = [] + else: + self.Oertlichkeit = Oertlichkeit + self.Oertlichkeit_nsprefix_ = None + if Prog_Datei_Gruppe is None: + self.Prog_Datei_Gruppe = [] + else: + self.Prog_Datei_Gruppe = Prog_Datei_Gruppe + self.Prog_Datei_Gruppe_nsprefix_ = None + if Proxy_Objekt is None: + self.Proxy_Objekt = [] + else: + self.Proxy_Objekt = Proxy_Objekt + self.Proxy_Objekt_nsprefix_ = None + if PZB_Element is None: + self.PZB_Element = [] + else: + self.PZB_Element = PZB_Element + self.PZB_Element_nsprefix_ = None + if PZB_Element_Zuordnung is None: + self.PZB_Element_Zuordnung = [] + else: + self.PZB_Element_Zuordnung = PZB_Element_Zuordnung + self.PZB_Element_Zuordnung_nsprefix_ = None + if PZB_Zuordnung_Signal is None: + self.PZB_Zuordnung_Signal = [] + else: + self.PZB_Zuordnung_Signal = PZB_Zuordnung_Signal + self.PZB_Zuordnung_Signal_nsprefix_ = None + if RBC is None: + self.RBC = [] + else: + self.RBC = RBC + self.RBC_nsprefix_ = None + if Regelzeichnung is None: + self.Regelzeichnung = [] + else: + self.Regelzeichnung = Regelzeichnung + self.Regelzeichnung_nsprefix_ = None + if Regelzeichnung_Parameter is None: + self.Regelzeichnung_Parameter = [] + else: + self.Regelzeichnung_Parameter = Regelzeichnung_Parameter + self.Regelzeichnung_Parameter_nsprefix_ = None + if Schaltmittel_Fstr_Zuordnung is None: + self.Schaltmittel_Fstr_Zuordnung = [] + else: + self.Schaltmittel_Fstr_Zuordnung = Schaltmittel_Fstr_Zuordnung + self.Schaltmittel_Fstr_Zuordnung_nsprefix_ = None + if Schaltmittel_Zuordnung is None: + self.Schaltmittel_Zuordnung = [] + else: + self.Schaltmittel_Zuordnung = Schaltmittel_Zuordnung + self.Schaltmittel_Zuordnung_nsprefix_ = None + if Schloss is None: + self.Schloss = [] + else: + self.Schloss = Schloss + self.Schloss_nsprefix_ = None + if Schlosskombination is None: + self.Schlosskombination = [] + else: + self.Schlosskombination = Schlosskombination + self.Schlosskombination_nsprefix_ = None + if Schluessel is None: + self.Schluessel = [] + else: + self.Schluessel = Schluessel + self.Schluessel_nsprefix_ = None + if Schluesselsperre is None: + self.Schluesselsperre = [] + else: + self.Schluesselsperre = Schluesselsperre + self.Schluesselsperre_nsprefix_ = None + if Schrankenantrieb is None: + self.Schrankenantrieb = [] + else: + self.Schrankenantrieb = Schrankenantrieb + self.Schrankenantrieb_nsprefix_ = None + if Signal is None: + self.Signal = [] + else: + self.Signal = Signal + self.Signal_nsprefix_ = None + if Signal_Befestigung is None: + self.Signal_Befestigung = [] + else: + self.Signal_Befestigung = Signal_Befestigung + self.Signal_Befestigung_nsprefix_ = None + if Signal_Fank_Zuordnung is None: + self.Signal_Fank_Zuordnung = [] + else: + self.Signal_Fank_Zuordnung = Signal_Fank_Zuordnung + self.Signal_Fank_Zuordnung_nsprefix_ = None + if Signal_Rahmen is None: + self.Signal_Rahmen = [] + else: + self.Signal_Rahmen = Signal_Rahmen + self.Signal_Rahmen_nsprefix_ = None + if Signal_Signalbegriff is None: + self.Signal_Signalbegriff = [] + else: + self.Signal_Signalbegriff = Signal_Signalbegriff + self.Signal_Signalbegriff_nsprefix_ = None + if Sonstiger_Punkt is None: + self.Sonstiger_Punkt = [] + else: + self.Sonstiger_Punkt = Sonstiger_Punkt + self.Sonstiger_Punkt_nsprefix_ = None + if Stell_Bereich is None: + self.Stell_Bereich = [] + else: + self.Stell_Bereich = Stell_Bereich + self.Stell_Bereich_nsprefix_ = None + if Stellelement is None: + self.Stellelement = [] + else: + self.Stellelement = Stellelement + self.Stellelement_nsprefix_ = None + if Strecke is None: + self.Strecke = [] + else: + self.Strecke = Strecke + self.Strecke_nsprefix_ = None + if Strecke_Bremsweg is None: + self.Strecke_Bremsweg = [] + else: + self.Strecke_Bremsweg = Strecke_Bremsweg + self.Strecke_Bremsweg_nsprefix_ = None + if Strecke_Punkt is None: + self.Strecke_Punkt = [] + else: + self.Strecke_Punkt = Strecke_Punkt + self.Strecke_Punkt_nsprefix_ = None + if Technik_Standort is None: + self.Technik_Standort = [] + else: + self.Technik_Standort = Technik_Standort + self.Technik_Standort_nsprefix_ = None + if Technischer_Bereich is None: + self.Technischer_Bereich = [] + else: + self.Technischer_Bereich = Technischer_Bereich + self.Technischer_Bereich_nsprefix_ = None + if Technischer_Punkt is None: + self.Technischer_Punkt = [] + else: + self.Technischer_Punkt = Technischer_Punkt + self.Technischer_Punkt_nsprefix_ = None + if TOP_Kante is None: + self.TOP_Kante = [] + else: + self.TOP_Kante = TOP_Kante + self.TOP_Kante_nsprefix_ = None + if TOP_Knoten is None: + self.TOP_Knoten = [] + else: + self.TOP_Knoten = TOP_Knoten + self.TOP_Knoten_nsprefix_ = None + if Trasse_Kante is None: + self.Trasse_Kante = [] + else: + self.Trasse_Kante = Trasse_Kante + self.Trasse_Kante_nsprefix_ = None + if Trasse_Knoten is None: + self.Trasse_Knoten = [] + else: + self.Trasse_Knoten = Trasse_Knoten + self.Trasse_Knoten_nsprefix_ = None + if Ueberhoehung is None: + self.Ueberhoehung = [] + else: + self.Ueberhoehung = Ueberhoehung + self.Ueberhoehung_nsprefix_ = None + if Ueberhoehungslinie is None: + self.Ueberhoehungslinie = [] + else: + self.Ueberhoehungslinie = Ueberhoehungslinie + self.Ueberhoehungslinie_nsprefix_ = None + if Uebertragungsweg is None: + self.Uebertragungsweg = [] + else: + self.Uebertragungsweg = Uebertragungsweg + self.Uebertragungsweg_nsprefix_ = None + if Unterbringung is None: + self.Unterbringung = [] + else: + self.Unterbringung = Unterbringung + self.Unterbringung_nsprefix_ = None + if Verkehrszeichen is None: + self.Verkehrszeichen = [] + else: + self.Verkehrszeichen = Verkehrszeichen + self.Verkehrszeichen_nsprefix_ = None + if W_Kr_Anlage is None: + self.W_Kr_Anlage = [] + else: + self.W_Kr_Anlage = W_Kr_Anlage + self.W_Kr_Anlage_nsprefix_ = None + if W_Kr_Gsp_Element is None: + self.W_Kr_Gsp_Element = [] + else: + self.W_Kr_Gsp_Element = W_Kr_Gsp_Element + self.W_Kr_Gsp_Element_nsprefix_ = None + if W_Kr_Gsp_Komponente is None: + self.W_Kr_Gsp_Komponente = [] + else: + self.W_Kr_Gsp_Komponente = W_Kr_Gsp_Komponente + self.W_Kr_Gsp_Komponente_nsprefix_ = None + if Weichenlaufkette is None: + self.Weichenlaufkette = [] + else: + self.Weichenlaufkette = Weichenlaufkette + self.Weichenlaufkette_nsprefix_ = None + if Weichenlaufkette_Zuordnung is None: + self.Weichenlaufkette_Zuordnung = [] + else: + self.Weichenlaufkette_Zuordnung = Weichenlaufkette_Zuordnung + self.Weichenlaufkette_Zuordnung_nsprefix_ = None + if ZBS_Schutzstrecke is None: + self.ZBS_Schutzstrecke = [] + else: + self.ZBS_Schutzstrecke = ZBS_Schutzstrecke + self.ZBS_Schutzstrecke_nsprefix_ = None + if ZBS_Signal is None: + self.ZBS_Signal = [] + else: + self.ZBS_Signal = ZBS_Signal + self.ZBS_Signal_nsprefix_ = None + if ZL is None: + self.ZL = [] + else: + self.ZL = ZL + self.ZL_nsprefix_ = None + if ZL_DLP_Abschnitt is None: + self.ZL_DLP_Abschnitt = [] + else: + self.ZL_DLP_Abschnitt = ZL_DLP_Abschnitt + self.ZL_DLP_Abschnitt_nsprefix_ = None + if ZL_DLP_Fstr is None: + self.ZL_DLP_Fstr = [] + else: + self.ZL_DLP_Fstr = ZL_DLP_Fstr + self.ZL_DLP_Fstr_nsprefix_ = None + if ZL_Fstr is None: + self.ZL_Fstr = [] + else: + self.ZL_Fstr = ZL_Fstr + self.ZL_Fstr_nsprefix_ = None + if ZL_Fstr_Anstoss is None: + self.ZL_Fstr_Anstoss = [] + else: + self.ZL_Fstr_Anstoss = ZL_Fstr_Anstoss + self.ZL_Fstr_Anstoss_nsprefix_ = None + if ZL_Signalgruppe is None: + self.ZL_Signalgruppe = [] + else: + self.ZL_Signalgruppe = ZL_Signalgruppe + self.ZL_Signalgruppe_nsprefix_ = None + if ZL_Signalgruppe_Zuordnung is None: + self.ZL_Signalgruppe_Zuordnung = [] + else: + self.ZL_Signalgruppe_Zuordnung = ZL_Signalgruppe_Zuordnung + self.ZL_Signalgruppe_Zuordnung_nsprefix_ = None + if ZLV_Bus is None: + self.ZLV_Bus = [] + else: + self.ZLV_Bus = ZLV_Bus + self.ZLV_Bus_nsprefix_ = None + if ZLV_Bus_Besondere_Anlage is None: + self.ZLV_Bus_Besondere_Anlage = [] + else: + self.ZLV_Bus_Besondere_Anlage = ZLV_Bus_Besondere_Anlage + self.ZLV_Bus_Besondere_Anlage_nsprefix_ = None + if ZLV_Bus_US_Zuordnung is None: + self.ZLV_Bus_US_Zuordnung = [] + else: + self.ZLV_Bus_US_Zuordnung = ZLV_Bus_US_Zuordnung + self.ZLV_Bus_US_Zuordnung_nsprefix_ = None + if ZN is None: + self.ZN = [] + else: + self.ZN = ZN + self.ZN_nsprefix_ = None + if ZN_Akustik is None: + self.ZN_Akustik = [] + else: + self.ZN_Akustik = ZN_Akustik + self.ZN_Akustik_nsprefix_ = None + if ZN_Anzeigefeld is None: + self.ZN_Anzeigefeld = [] + else: + self.ZN_Anzeigefeld = ZN_Anzeigefeld + self.ZN_Anzeigefeld_nsprefix_ = None + if ZN_Fortschalt_Kriterium is None: + self.ZN_Fortschalt_Kriterium = [] + else: + self.ZN_Fortschalt_Kriterium = ZN_Fortschalt_Kriterium + self.ZN_Fortschalt_Kriterium_nsprefix_ = None + if ZN_Telegramm_84_Zuordnung is None: + self.ZN_Telegramm_84_Zuordnung = [] + else: + self.ZN_Telegramm_84_Zuordnung = ZN_Telegramm_84_Zuordnung + self.ZN_Telegramm_84_Zuordnung_nsprefix_ = None + if ZN_Telegramm_85_Zuordnung is None: + self.ZN_Telegramm_85_Zuordnung = [] + else: + self.ZN_Telegramm_85_Zuordnung = ZN_Telegramm_85_Zuordnung + self.ZN_Telegramm_85_Zuordnung_nsprefix_ = None + if ZN_Unterstation is None: + self.ZN_Unterstation = [] + else: + self.ZN_Unterstation = ZN_Unterstation + self.ZN_Unterstation_nsprefix_ = None + if ZN_ZBS is None: + self.ZN_ZBS = [] + else: + self.ZN_ZBS = ZN_ZBS + self.ZN_ZBS_nsprefix_ = None + if ZUB_Bereichsgrenze is None: + self.ZUB_Bereichsgrenze = [] + else: + self.ZUB_Bereichsgrenze = ZUB_Bereichsgrenze + self.ZUB_Bereichsgrenze_nsprefix_ = None + if ZUB_Streckeneigenschaft is None: + self.ZUB_Streckeneigenschaft = [] + else: + self.ZUB_Streckeneigenschaft = ZUB_Streckeneigenschaft + self.ZUB_Streckeneigenschaft_nsprefix_ = None + if Zugeinwirkung is None: + self.Zugeinwirkung = [] + else: + self.Zugeinwirkung = Zugeinwirkung + self.Zugeinwirkung_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CContainer) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CContainer.subclass: + return CContainer.subclass(*args_, **kwargs_) + else: + return CContainer(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anhang(self): + return self.Anhang + def set_Anhang(self, Anhang): + self.Anhang = Anhang + def add_Anhang(self, value): + self.Anhang.append(value) + def insert_Anhang_at(self, index, value): + self.Anhang.insert(index, value) + def replace_Anhang_at(self, index, value): + self.Anhang[index] = value + def get_ATO_Segment_Profile(self): + return self.ATO_Segment_Profile + def set_ATO_Segment_Profile(self, ATO_Segment_Profile): + self.ATO_Segment_Profile = ATO_Segment_Profile + def add_ATO_Segment_Profile(self, value): + self.ATO_Segment_Profile.append(value) + def insert_ATO_Segment_Profile_at(self, index, value): + self.ATO_Segment_Profile.insert(index, value) + def replace_ATO_Segment_Profile_at(self, index, value): + self.ATO_Segment_Profile[index] = value + def get_ATO_Timing_Point(self): + return self.ATO_Timing_Point + def set_ATO_Timing_Point(self, ATO_Timing_Point): + self.ATO_Timing_Point = ATO_Timing_Point + def add_ATO_Timing_Point(self, value): + self.ATO_Timing_Point.append(value) + def insert_ATO_Timing_Point_at(self, index, value): + self.ATO_Timing_Point.insert(index, value) + def replace_ATO_Timing_Point_at(self, index, value): + self.ATO_Timing_Point[index] = value + def get_ATO_TS_Instanz(self): + return self.ATO_TS_Instanz + def set_ATO_TS_Instanz(self, ATO_TS_Instanz): + self.ATO_TS_Instanz = ATO_TS_Instanz + def add_ATO_TS_Instanz(self, value): + self.ATO_TS_Instanz.append(value) + def insert_ATO_TS_Instanz_at(self, index, value): + self.ATO_TS_Instanz.insert(index, value) + def replace_ATO_TS_Instanz_at(self, index, value): + self.ATO_TS_Instanz[index] = value + def get_Aussenelementansteuerung(self): + return self.Aussenelementansteuerung + def set_Aussenelementansteuerung(self, Aussenelementansteuerung): + self.Aussenelementansteuerung = Aussenelementansteuerung + def add_Aussenelementansteuerung(self, value): + self.Aussenelementansteuerung.append(value) + def insert_Aussenelementansteuerung_at(self, index, value): + self.Aussenelementansteuerung.insert(index, value) + def replace_Aussenelementansteuerung_at(self, index, value): + self.Aussenelementansteuerung[index] = value + def get_Bahnsteig_Anlage(self): + return self.Bahnsteig_Anlage + def set_Bahnsteig_Anlage(self, Bahnsteig_Anlage): + self.Bahnsteig_Anlage = Bahnsteig_Anlage + def add_Bahnsteig_Anlage(self, value): + self.Bahnsteig_Anlage.append(value) + def insert_Bahnsteig_Anlage_at(self, index, value): + self.Bahnsteig_Anlage.insert(index, value) + def replace_Bahnsteig_Anlage_at(self, index, value): + self.Bahnsteig_Anlage[index] = value + def get_Bahnsteig_Dach(self): + return self.Bahnsteig_Dach + def set_Bahnsteig_Dach(self, Bahnsteig_Dach): + self.Bahnsteig_Dach = Bahnsteig_Dach + def add_Bahnsteig_Dach(self, value): + self.Bahnsteig_Dach.append(value) + def insert_Bahnsteig_Dach_at(self, index, value): + self.Bahnsteig_Dach.insert(index, value) + def replace_Bahnsteig_Dach_at(self, index, value): + self.Bahnsteig_Dach[index] = value + def get_Bahnsteig_Kante(self): + return self.Bahnsteig_Kante + def set_Bahnsteig_Kante(self, Bahnsteig_Kante): + self.Bahnsteig_Kante = Bahnsteig_Kante + def add_Bahnsteig_Kante(self, value): + self.Bahnsteig_Kante.append(value) + def insert_Bahnsteig_Kante_at(self, index, value): + self.Bahnsteig_Kante.insert(index, value) + def replace_Bahnsteig_Kante_at(self, index, value): + self.Bahnsteig_Kante[index] = value + def get_Bahnsteig_Zugang(self): + return self.Bahnsteig_Zugang + def set_Bahnsteig_Zugang(self, Bahnsteig_Zugang): + self.Bahnsteig_Zugang = Bahnsteig_Zugang + def add_Bahnsteig_Zugang(self, value): + self.Bahnsteig_Zugang.append(value) + def insert_Bahnsteig_Zugang_at(self, index, value): + self.Bahnsteig_Zugang.insert(index, value) + def replace_Bahnsteig_Zugang_at(self, index, value): + self.Bahnsteig_Zugang[index] = value + def get_Balise(self): + return self.Balise + def set_Balise(self, Balise): + self.Balise = Balise + def add_Balise(self, value): + self.Balise.append(value) + def insert_Balise_at(self, index, value): + self.Balise.insert(index, value) + def replace_Balise_at(self, index, value): + self.Balise[index] = value + def get_Bearbeitungsvermerk(self): + return self.Bearbeitungsvermerk + def set_Bearbeitungsvermerk(self, Bearbeitungsvermerk): + self.Bearbeitungsvermerk = Bearbeitungsvermerk + def add_Bearbeitungsvermerk(self, value): + self.Bearbeitungsvermerk.append(value) + def insert_Bearbeitungsvermerk_at(self, index, value): + self.Bearbeitungsvermerk.insert(index, value) + def replace_Bearbeitungsvermerk_at(self, index, value): + self.Bearbeitungsvermerk[index] = value + def get_Bedien_Anrueckabschnitt(self): + return self.Bedien_Anrueckabschnitt + def set_Bedien_Anrueckabschnitt(self, Bedien_Anrueckabschnitt): + self.Bedien_Anrueckabschnitt = Bedien_Anrueckabschnitt + def add_Bedien_Anrueckabschnitt(self, value): + self.Bedien_Anrueckabschnitt.append(value) + def insert_Bedien_Anrueckabschnitt_at(self, index, value): + self.Bedien_Anrueckabschnitt.insert(index, value) + def replace_Bedien_Anrueckabschnitt_at(self, index, value): + self.Bedien_Anrueckabschnitt[index] = value + def get_Bedien_Anzeige_Element(self): + return self.Bedien_Anzeige_Element + def set_Bedien_Anzeige_Element(self, Bedien_Anzeige_Element): + self.Bedien_Anzeige_Element = Bedien_Anzeige_Element + def add_Bedien_Anzeige_Element(self, value): + self.Bedien_Anzeige_Element.append(value) + def insert_Bedien_Anzeige_Element_at(self, index, value): + self.Bedien_Anzeige_Element.insert(index, value) + def replace_Bedien_Anzeige_Element_at(self, index, value): + self.Bedien_Anzeige_Element[index] = value + def get_Bedien_Bezirk(self): + return self.Bedien_Bezirk + def set_Bedien_Bezirk(self, Bedien_Bezirk): + self.Bedien_Bezirk = Bedien_Bezirk + def add_Bedien_Bezirk(self, value): + self.Bedien_Bezirk.append(value) + def insert_Bedien_Bezirk_at(self, index, value): + self.Bedien_Bezirk.insert(index, value) + def replace_Bedien_Bezirk_at(self, index, value): + self.Bedien_Bezirk[index] = value + def get_Bedien_Einrichtung_Oertlich(self): + return self.Bedien_Einrichtung_Oertlich + def set_Bedien_Einrichtung_Oertlich(self, Bedien_Einrichtung_Oertlich): + self.Bedien_Einrichtung_Oertlich = Bedien_Einrichtung_Oertlich + def add_Bedien_Einrichtung_Oertlich(self, value): + self.Bedien_Einrichtung_Oertlich.append(value) + def insert_Bedien_Einrichtung_Oertlich_at(self, index, value): + self.Bedien_Einrichtung_Oertlich.insert(index, value) + def replace_Bedien_Einrichtung_Oertlich_at(self, index, value): + self.Bedien_Einrichtung_Oertlich[index] = value + def get_Bedien_GBT(self): + return self.Bedien_GBT + def set_Bedien_GBT(self, Bedien_GBT): + self.Bedien_GBT = Bedien_GBT + def add_Bedien_GBT(self, value): + self.Bedien_GBT.append(value) + def insert_Bedien_GBT_at(self, index, value): + self.Bedien_GBT.insert(index, value) + def replace_Bedien_GBT_at(self, index, value): + self.Bedien_GBT[index] = value + def get_Bedien_Oberflaeche(self): + return self.Bedien_Oberflaeche + def set_Bedien_Oberflaeche(self, Bedien_Oberflaeche): + self.Bedien_Oberflaeche = Bedien_Oberflaeche + def add_Bedien_Oberflaeche(self, value): + self.Bedien_Oberflaeche.append(value) + def insert_Bedien_Oberflaeche_at(self, index, value): + self.Bedien_Oberflaeche.insert(index, value) + def replace_Bedien_Oberflaeche_at(self, index, value): + self.Bedien_Oberflaeche[index] = value + def get_Bedien_Oberflaeche_Bild(self): + return self.Bedien_Oberflaeche_Bild + def set_Bedien_Oberflaeche_Bild(self, Bedien_Oberflaeche_Bild): + self.Bedien_Oberflaeche_Bild = Bedien_Oberflaeche_Bild + def add_Bedien_Oberflaeche_Bild(self, value): + self.Bedien_Oberflaeche_Bild.append(value) + def insert_Bedien_Oberflaeche_Bild_at(self, index, value): + self.Bedien_Oberflaeche_Bild.insert(index, value) + def replace_Bedien_Oberflaeche_Bild_at(self, index, value): + self.Bedien_Oberflaeche_Bild[index] = value + def get_Bedien_Oertlichkeit(self): + return self.Bedien_Oertlichkeit + def set_Bedien_Oertlichkeit(self, Bedien_Oertlichkeit): + self.Bedien_Oertlichkeit = Bedien_Oertlichkeit + def add_Bedien_Oertlichkeit(self, value): + self.Bedien_Oertlichkeit.append(value) + def insert_Bedien_Oertlichkeit_at(self, index, value): + self.Bedien_Oertlichkeit.insert(index, value) + def replace_Bedien_Oertlichkeit_at(self, index, value): + self.Bedien_Oertlichkeit[index] = value + def get_Bedien_Platz(self): + return self.Bedien_Platz + def set_Bedien_Platz(self, Bedien_Platz): + self.Bedien_Platz = Bedien_Platz + def add_Bedien_Platz(self, value): + self.Bedien_Platz.append(value) + def insert_Bedien_Platz_at(self, index, value): + self.Bedien_Platz.insert(index, value) + def replace_Bedien_Platz_at(self, index, value): + self.Bedien_Platz[index] = value + def get_Bedien_Standort(self): + return self.Bedien_Standort + def set_Bedien_Standort(self, Bedien_Standort): + self.Bedien_Standort = Bedien_Standort + def add_Bedien_Standort(self, value): + self.Bedien_Standort.append(value) + def insert_Bedien_Standort_at(self, index, value): + self.Bedien_Standort.insert(index, value) + def replace_Bedien_Standort_at(self, index, value): + self.Bedien_Standort[index] = value + def get_Bedien_Zentrale(self): + return self.Bedien_Zentrale + def set_Bedien_Zentrale(self, Bedien_Zentrale): + self.Bedien_Zentrale = Bedien_Zentrale + def add_Bedien_Zentrale(self, value): + self.Bedien_Zentrale.append(value) + def insert_Bedien_Zentrale_at(self, index, value): + self.Bedien_Zentrale.insert(index, value) + def replace_Bedien_Zentrale_at(self, index, value): + self.Bedien_Zentrale[index] = value + def get_Binaerdaten(self): + return self.Binaerdaten + def set_Binaerdaten(self, Binaerdaten): + self.Binaerdaten = Binaerdaten + def add_Binaerdaten(self, value): + self.Binaerdaten.append(value) + def insert_Binaerdaten_at(self, index, value): + self.Binaerdaten.insert(index, value) + def replace_Binaerdaten_at(self, index, value): + self.Binaerdaten[index] = value + def get_Block_Anlage(self): + return self.Block_Anlage + def set_Block_Anlage(self, Block_Anlage): + self.Block_Anlage = Block_Anlage + def add_Block_Anlage(self, value): + self.Block_Anlage.append(value) + def insert_Block_Anlage_at(self, index, value): + self.Block_Anlage.insert(index, value) + def replace_Block_Anlage_at(self, index, value): + self.Block_Anlage[index] = value + def get_Block_Element(self): + return self.Block_Element + def set_Block_Element(self, Block_Element): + self.Block_Element = Block_Element + def add_Block_Element(self, value): + self.Block_Element.append(value) + def insert_Block_Element_at(self, index, value): + self.Block_Element.insert(index, value) + def replace_Block_Element_at(self, index, value): + self.Block_Element[index] = value + def get_Block_Strecke(self): + return self.Block_Strecke + def set_Block_Strecke(self, Block_Strecke): + self.Block_Strecke = Block_Strecke + def add_Block_Strecke(self, value): + self.Block_Strecke.append(value) + def insert_Block_Strecke_at(self, index, value): + self.Block_Strecke.insert(index, value) + def replace_Block_Strecke_at(self, index, value): + self.Block_Strecke[index] = value + def get_BUE_Anlage(self): + return self.BUE_Anlage + def set_BUE_Anlage(self, BUE_Anlage): + self.BUE_Anlage = BUE_Anlage + def add_BUE_Anlage(self, value): + self.BUE_Anlage.append(value) + def insert_BUE_Anlage_at(self, index, value): + self.BUE_Anlage.insert(index, value) + def replace_BUE_Anlage_at(self, index, value): + self.BUE_Anlage[index] = value + def get_BUE_Anlage_Strasse(self): + return self.BUE_Anlage_Strasse + def set_BUE_Anlage_Strasse(self, BUE_Anlage_Strasse): + self.BUE_Anlage_Strasse = BUE_Anlage_Strasse + def add_BUE_Anlage_Strasse(self, value): + self.BUE_Anlage_Strasse.append(value) + def insert_BUE_Anlage_Strasse_at(self, index, value): + self.BUE_Anlage_Strasse.insert(index, value) + def replace_BUE_Anlage_Strasse_at(self, index, value): + self.BUE_Anlage_Strasse[index] = value + def get_BUE_Anlage_V(self): + return self.BUE_Anlage_V + def set_BUE_Anlage_V(self, BUE_Anlage_V): + self.BUE_Anlage_V = BUE_Anlage_V + def add_BUE_Anlage_V(self, value): + self.BUE_Anlage_V.append(value) + def insert_BUE_Anlage_V_at(self, index, value): + self.BUE_Anlage_V.insert(index, value) + def replace_BUE_Anlage_V_at(self, index, value): + self.BUE_Anlage_V[index] = value + def get_BUE_Ausschaltung(self): + return self.BUE_Ausschaltung + def set_BUE_Ausschaltung(self, BUE_Ausschaltung): + self.BUE_Ausschaltung = BUE_Ausschaltung + def add_BUE_Ausschaltung(self, value): + self.BUE_Ausschaltung.append(value) + def insert_BUE_Ausschaltung_at(self, index, value): + self.BUE_Ausschaltung.insert(index, value) + def replace_BUE_Ausschaltung_at(self, index, value): + self.BUE_Ausschaltung[index] = value + def get_BUE_Bedien_Anzeige_Element(self): + return self.BUE_Bedien_Anzeige_Element + def set_BUE_Bedien_Anzeige_Element(self, BUE_Bedien_Anzeige_Element): + self.BUE_Bedien_Anzeige_Element = BUE_Bedien_Anzeige_Element + def add_BUE_Bedien_Anzeige_Element(self, value): + self.BUE_Bedien_Anzeige_Element.append(value) + def insert_BUE_Bedien_Anzeige_Element_at(self, index, value): + self.BUE_Bedien_Anzeige_Element.insert(index, value) + def replace_BUE_Bedien_Anzeige_Element_at(self, index, value): + self.BUE_Bedien_Anzeige_Element[index] = value + def get_BUE_Deckendes_Signal_Zuordnung(self): + return self.BUE_Deckendes_Signal_Zuordnung + def set_BUE_Deckendes_Signal_Zuordnung(self, BUE_Deckendes_Signal_Zuordnung): + self.BUE_Deckendes_Signal_Zuordnung = BUE_Deckendes_Signal_Zuordnung + def add_BUE_Deckendes_Signal_Zuordnung(self, value): + self.BUE_Deckendes_Signal_Zuordnung.append(value) + def insert_BUE_Deckendes_Signal_Zuordnung_at(self, index, value): + self.BUE_Deckendes_Signal_Zuordnung.insert(index, value) + def replace_BUE_Deckendes_Signal_Zuordnung_at(self, index, value): + self.BUE_Deckendes_Signal_Zuordnung[index] = value + def get_BUE_Einschaltung(self): + return self.BUE_Einschaltung + def set_BUE_Einschaltung(self, BUE_Einschaltung): + self.BUE_Einschaltung = BUE_Einschaltung + def add_BUE_Einschaltung(self, value): + self.BUE_Einschaltung.append(value) + def insert_BUE_Einschaltung_at(self, index, value): + self.BUE_Einschaltung.insert(index, value) + def replace_BUE_Einschaltung_at(self, index, value): + self.BUE_Einschaltung[index] = value + def get_BUE_Einschaltung_Zuordnung(self): + return self.BUE_Einschaltung_Zuordnung + def set_BUE_Einschaltung_Zuordnung(self, BUE_Einschaltung_Zuordnung): + self.BUE_Einschaltung_Zuordnung = BUE_Einschaltung_Zuordnung + def add_BUE_Einschaltung_Zuordnung(self, value): + self.BUE_Einschaltung_Zuordnung.append(value) + def insert_BUE_Einschaltung_Zuordnung_at(self, index, value): + self.BUE_Einschaltung_Zuordnung.insert(index, value) + def replace_BUE_Einschaltung_Zuordnung_at(self, index, value): + self.BUE_Einschaltung_Zuordnung[index] = value + def get_BUE_Gefahrraum_Eckpunkt(self): + return self.BUE_Gefahrraum_Eckpunkt + def set_BUE_Gefahrraum_Eckpunkt(self, BUE_Gefahrraum_Eckpunkt): + self.BUE_Gefahrraum_Eckpunkt = BUE_Gefahrraum_Eckpunkt + def add_BUE_Gefahrraum_Eckpunkt(self, value): + self.BUE_Gefahrraum_Eckpunkt.append(value) + def insert_BUE_Gefahrraum_Eckpunkt_at(self, index, value): + self.BUE_Gefahrraum_Eckpunkt.insert(index, value) + def replace_BUE_Gefahrraum_Eckpunkt_at(self, index, value): + self.BUE_Gefahrraum_Eckpunkt[index] = value + def get_BUE_Gleisbezogener_Gefahrraum(self): + return self.BUE_Gleisbezogener_Gefahrraum + def set_BUE_Gleisbezogener_Gefahrraum(self, BUE_Gleisbezogener_Gefahrraum): + self.BUE_Gleisbezogener_Gefahrraum = BUE_Gleisbezogener_Gefahrraum + def add_BUE_Gleisbezogener_Gefahrraum(self, value): + self.BUE_Gleisbezogener_Gefahrraum.append(value) + def insert_BUE_Gleisbezogener_Gefahrraum_at(self, index, value): + self.BUE_Gleisbezogener_Gefahrraum.insert(index, value) + def replace_BUE_Gleisbezogener_Gefahrraum_at(self, index, value): + self.BUE_Gleisbezogener_Gefahrraum[index] = value + def get_BUE_Kante(self): + return self.BUE_Kante + def set_BUE_Kante(self, BUE_Kante): + self.BUE_Kante = BUE_Kante + def add_BUE_Kante(self, value): + self.BUE_Kante.append(value) + def insert_BUE_Kante_at(self, index, value): + self.BUE_Kante.insert(index, value) + def replace_BUE_Kante_at(self, index, value): + self.BUE_Kante[index] = value + def get_BUE_Kreuzungsplan(self): + return self.BUE_Kreuzungsplan + def set_BUE_Kreuzungsplan(self, BUE_Kreuzungsplan): + self.BUE_Kreuzungsplan = BUE_Kreuzungsplan + def add_BUE_Kreuzungsplan(self, value): + self.BUE_Kreuzungsplan.append(value) + def insert_BUE_Kreuzungsplan_at(self, index, value): + self.BUE_Kreuzungsplan.insert(index, value) + def replace_BUE_Kreuzungsplan_at(self, index, value): + self.BUE_Kreuzungsplan[index] = value + def get_BUE_Schnittstelle(self): + return self.BUE_Schnittstelle + def set_BUE_Schnittstelle(self, BUE_Schnittstelle): + self.BUE_Schnittstelle = BUE_Schnittstelle + def add_BUE_Schnittstelle(self, value): + self.BUE_Schnittstelle.append(value) + def insert_BUE_Schnittstelle_at(self, index, value): + self.BUE_Schnittstelle.insert(index, value) + def replace_BUE_Schnittstelle_at(self, index, value): + self.BUE_Schnittstelle[index] = value + def get_BUE_Spezifisches_Signal(self): + return self.BUE_Spezifisches_Signal + def set_BUE_Spezifisches_Signal(self, BUE_Spezifisches_Signal): + self.BUE_Spezifisches_Signal = BUE_Spezifisches_Signal + def add_BUE_Spezifisches_Signal(self, value): + self.BUE_Spezifisches_Signal.append(value) + def insert_BUE_Spezifisches_Signal_at(self, index, value): + self.BUE_Spezifisches_Signal.insert(index, value) + def replace_BUE_Spezifisches_Signal_at(self, index, value): + self.BUE_Spezifisches_Signal[index] = value + def get_BUE_WS_Fstr_Zuordnung(self): + return self.BUE_WS_Fstr_Zuordnung + def set_BUE_WS_Fstr_Zuordnung(self, BUE_WS_Fstr_Zuordnung): + self.BUE_WS_Fstr_Zuordnung = BUE_WS_Fstr_Zuordnung + def add_BUE_WS_Fstr_Zuordnung(self, value): + self.BUE_WS_Fstr_Zuordnung.append(value) + def insert_BUE_WS_Fstr_Zuordnung_at(self, index, value): + self.BUE_WS_Fstr_Zuordnung.insert(index, value) + def replace_BUE_WS_Fstr_Zuordnung_at(self, index, value): + self.BUE_WS_Fstr_Zuordnung[index] = value + def get_Datenpunkt(self): + return self.Datenpunkt + def set_Datenpunkt(self, Datenpunkt): + self.Datenpunkt = Datenpunkt + def add_Datenpunkt(self, value): + self.Datenpunkt.append(value) + def insert_Datenpunkt_at(self, index, value): + self.Datenpunkt.insert(index, value) + def replace_Datenpunkt_at(self, index, value): + self.Datenpunkt[index] = value + def get_Datenpunkt_Link(self): + return self.Datenpunkt_Link + def set_Datenpunkt_Link(self, Datenpunkt_Link): + self.Datenpunkt_Link = Datenpunkt_Link + def add_Datenpunkt_Link(self, value): + self.Datenpunkt_Link.append(value) + def insert_Datenpunkt_Link_at(self, index, value): + self.Datenpunkt_Link.insert(index, value) + def replace_Datenpunkt_Link_at(self, index, value): + self.Datenpunkt_Link[index] = value + def get_ESTW_Zentraleinheit(self): + return self.ESTW_Zentraleinheit + def set_ESTW_Zentraleinheit(self, ESTW_Zentraleinheit): + self.ESTW_Zentraleinheit = ESTW_Zentraleinheit + def add_ESTW_Zentraleinheit(self, value): + self.ESTW_Zentraleinheit.append(value) + def insert_ESTW_Zentraleinheit_at(self, index, value): + self.ESTW_Zentraleinheit.insert(index, value) + def replace_ESTW_Zentraleinheit_at(self, index, value): + self.ESTW_Zentraleinheit[index] = value + def get_ETCS_Kante(self): + return self.ETCS_Kante + def set_ETCS_Kante(self, ETCS_Kante): + self.ETCS_Kante = ETCS_Kante + def add_ETCS_Kante(self, value): + self.ETCS_Kante.append(value) + def insert_ETCS_Kante_at(self, index, value): + self.ETCS_Kante.insert(index, value) + def replace_ETCS_Kante_at(self, index, value): + self.ETCS_Kante[index] = value + def get_ETCS_Knoten(self): + return self.ETCS_Knoten + def set_ETCS_Knoten(self, ETCS_Knoten): + self.ETCS_Knoten = ETCS_Knoten + def add_ETCS_Knoten(self, value): + self.ETCS_Knoten.append(value) + def insert_ETCS_Knoten_at(self, index, value): + self.ETCS_Knoten.insert(index, value) + def replace_ETCS_Knoten_at(self, index, value): + self.ETCS_Knoten[index] = value + def get_ETCS_Richtungsanzeige(self): + return self.ETCS_Richtungsanzeige + def set_ETCS_Richtungsanzeige(self, ETCS_Richtungsanzeige): + self.ETCS_Richtungsanzeige = ETCS_Richtungsanzeige + def add_ETCS_Richtungsanzeige(self, value): + self.ETCS_Richtungsanzeige.append(value) + def insert_ETCS_Richtungsanzeige_at(self, index, value): + self.ETCS_Richtungsanzeige.insert(index, value) + def replace_ETCS_Richtungsanzeige_at(self, index, value): + self.ETCS_Richtungsanzeige[index] = value + def get_ETCS_Signal(self): + return self.ETCS_Signal + def set_ETCS_Signal(self, ETCS_Signal): + self.ETCS_Signal = ETCS_Signal + def add_ETCS_Signal(self, value): + self.ETCS_Signal.append(value) + def insert_ETCS_Signal_at(self, index, value): + self.ETCS_Signal.insert(index, value) + def replace_ETCS_Signal_at(self, index, value): + self.ETCS_Signal[index] = value + def get_ETCS_W_Kr(self): + return self.ETCS_W_Kr + def set_ETCS_W_Kr(self, ETCS_W_Kr): + self.ETCS_W_Kr = ETCS_W_Kr + def add_ETCS_W_Kr(self, value): + self.ETCS_W_Kr.append(value) + def insert_ETCS_W_Kr_at(self, index, value): + self.ETCS_W_Kr.insert(index, value) + def replace_ETCS_W_Kr_at(self, index, value): + self.ETCS_W_Kr[index] = value + def get_EV_Modul(self): + return self.EV_Modul + def set_EV_Modul(self, EV_Modul): + self.EV_Modul = EV_Modul + def add_EV_Modul(self, value): + self.EV_Modul.append(value) + def insert_EV_Modul_at(self, index, value): + self.EV_Modul.insert(index, value) + def replace_EV_Modul_at(self, index, value): + self.EV_Modul[index] = value + def get_Fachtelegramm(self): + return self.Fachtelegramm + def set_Fachtelegramm(self, Fachtelegramm): + self.Fachtelegramm = Fachtelegramm + def add_Fachtelegramm(self, value): + self.Fachtelegramm.append(value) + def insert_Fachtelegramm_at(self, index, value): + self.Fachtelegramm.insert(index, value) + def replace_Fachtelegramm_at(self, index, value): + self.Fachtelegramm[index] = value + def get_Fla_Freimelde_Zuordnung(self): + return self.Fla_Freimelde_Zuordnung + def set_Fla_Freimelde_Zuordnung(self, Fla_Freimelde_Zuordnung): + self.Fla_Freimelde_Zuordnung = Fla_Freimelde_Zuordnung + def add_Fla_Freimelde_Zuordnung(self, value): + self.Fla_Freimelde_Zuordnung.append(value) + def insert_Fla_Freimelde_Zuordnung_at(self, index, value): + self.Fla_Freimelde_Zuordnung.insert(index, value) + def replace_Fla_Freimelde_Zuordnung_at(self, index, value): + self.Fla_Freimelde_Zuordnung[index] = value + def get_Fla_Schutz(self): + return self.Fla_Schutz + def set_Fla_Schutz(self, Fla_Schutz): + self.Fla_Schutz = Fla_Schutz + def add_Fla_Schutz(self, value): + self.Fla_Schutz.append(value) + def insert_Fla_Schutz_at(self, index, value): + self.Fla_Schutz.insert(index, value) + def replace_Fla_Schutz_at(self, index, value): + self.Fla_Schutz[index] = value + def get_Fla_Zwieschutz(self): + return self.Fla_Zwieschutz + def set_Fla_Zwieschutz(self, Fla_Zwieschutz): + self.Fla_Zwieschutz = Fla_Zwieschutz + def add_Fla_Zwieschutz(self, value): + self.Fla_Zwieschutz.append(value) + def insert_Fla_Zwieschutz_at(self, index, value): + self.Fla_Zwieschutz.insert(index, value) + def replace_Fla_Zwieschutz_at(self, index, value): + self.Fla_Zwieschutz[index] = value + def get_FMA_Anlage(self): + return self.FMA_Anlage + def set_FMA_Anlage(self, FMA_Anlage): + self.FMA_Anlage = FMA_Anlage + def add_FMA_Anlage(self, value): + self.FMA_Anlage.append(value) + def insert_FMA_Anlage_at(self, index, value): + self.FMA_Anlage.insert(index, value) + def replace_FMA_Anlage_at(self, index, value): + self.FMA_Anlage[index] = value + def get_FMA_Element(self): + return self.FMA_Element + def set_FMA_Element(self, FMA_Element): + self.FMA_Element = FMA_Element + def add_FMA_Element(self, value): + self.FMA_Element.append(value) + def insert_FMA_Element_at(self, index, value): + self.FMA_Element.insert(index, value) + def replace_FMA_Element_at(self, index, value): + self.FMA_Element[index] = value + def get_FMA_Komponente(self): + return self.FMA_Komponente + def set_FMA_Komponente(self, FMA_Komponente): + self.FMA_Komponente = FMA_Komponente + def add_FMA_Komponente(self, value): + self.FMA_Komponente.append(value) + def insert_FMA_Komponente_at(self, index, value): + self.FMA_Komponente.insert(index, value) + def replace_FMA_Komponente_at(self, index, value): + self.FMA_Komponente[index] = value + def get_Fstr_Abhaengigkeit(self): + return self.Fstr_Abhaengigkeit + def set_Fstr_Abhaengigkeit(self, Fstr_Abhaengigkeit): + self.Fstr_Abhaengigkeit = Fstr_Abhaengigkeit + def add_Fstr_Abhaengigkeit(self, value): + self.Fstr_Abhaengigkeit.append(value) + def insert_Fstr_Abhaengigkeit_at(self, index, value): + self.Fstr_Abhaengigkeit.insert(index, value) + def replace_Fstr_Abhaengigkeit_at(self, index, value): + self.Fstr_Abhaengigkeit[index] = value + def get_Fstr_Aneinander(self): + return self.Fstr_Aneinander + def set_Fstr_Aneinander(self, Fstr_Aneinander): + self.Fstr_Aneinander = Fstr_Aneinander + def add_Fstr_Aneinander(self, value): + self.Fstr_Aneinander.append(value) + def insert_Fstr_Aneinander_at(self, index, value): + self.Fstr_Aneinander.insert(index, value) + def replace_Fstr_Aneinander_at(self, index, value): + self.Fstr_Aneinander[index] = value + def get_Fstr_Aneinander_Zuordnung(self): + return self.Fstr_Aneinander_Zuordnung + def set_Fstr_Aneinander_Zuordnung(self, Fstr_Aneinander_Zuordnung): + self.Fstr_Aneinander_Zuordnung = Fstr_Aneinander_Zuordnung + def add_Fstr_Aneinander_Zuordnung(self, value): + self.Fstr_Aneinander_Zuordnung.append(value) + def insert_Fstr_Aneinander_Zuordnung_at(self, index, value): + self.Fstr_Aneinander_Zuordnung.insert(index, value) + def replace_Fstr_Aneinander_Zuordnung_at(self, index, value): + self.Fstr_Aneinander_Zuordnung[index] = value + def get_Fstr_DWeg(self): + return self.Fstr_DWeg + def set_Fstr_DWeg(self, Fstr_DWeg): + self.Fstr_DWeg = Fstr_DWeg + def add_Fstr_DWeg(self, value): + self.Fstr_DWeg.append(value) + def insert_Fstr_DWeg_at(self, index, value): + self.Fstr_DWeg.insert(index, value) + def replace_Fstr_DWeg_at(self, index, value): + self.Fstr_DWeg[index] = value + def get_Fstr_DWeg_W_Kr(self): + return self.Fstr_DWeg_W_Kr + def set_Fstr_DWeg_W_Kr(self, Fstr_DWeg_W_Kr): + self.Fstr_DWeg_W_Kr = Fstr_DWeg_W_Kr + def add_Fstr_DWeg_W_Kr(self, value): + self.Fstr_DWeg_W_Kr.append(value) + def insert_Fstr_DWeg_W_Kr_at(self, index, value): + self.Fstr_DWeg_W_Kr.insert(index, value) + def replace_Fstr_DWeg_W_Kr_at(self, index, value): + self.Fstr_DWeg_W_Kr[index] = value + def get_Fstr_Fahrweg(self): + return self.Fstr_Fahrweg + def set_Fstr_Fahrweg(self, Fstr_Fahrweg): + self.Fstr_Fahrweg = Fstr_Fahrweg + def add_Fstr_Fahrweg(self, value): + self.Fstr_Fahrweg.append(value) + def insert_Fstr_Fahrweg_at(self, index, value): + self.Fstr_Fahrweg.insert(index, value) + def replace_Fstr_Fahrweg_at(self, index, value): + self.Fstr_Fahrweg[index] = value + def get_Fstr_Nichthaltfall(self): + return self.Fstr_Nichthaltfall + def set_Fstr_Nichthaltfall(self, Fstr_Nichthaltfall): + self.Fstr_Nichthaltfall = Fstr_Nichthaltfall + def add_Fstr_Nichthaltfall(self, value): + self.Fstr_Nichthaltfall.append(value) + def insert_Fstr_Nichthaltfall_at(self, index, value): + self.Fstr_Nichthaltfall.insert(index, value) + def replace_Fstr_Nichthaltfall_at(self, index, value): + self.Fstr_Nichthaltfall[index] = value + def get_Fstr_Rangier_Fla_Zuordnung(self): + return self.Fstr_Rangier_Fla_Zuordnung + def set_Fstr_Rangier_Fla_Zuordnung(self, Fstr_Rangier_Fla_Zuordnung): + self.Fstr_Rangier_Fla_Zuordnung = Fstr_Rangier_Fla_Zuordnung + def add_Fstr_Rangier_Fla_Zuordnung(self, value): + self.Fstr_Rangier_Fla_Zuordnung.append(value) + def insert_Fstr_Rangier_Fla_Zuordnung_at(self, index, value): + self.Fstr_Rangier_Fla_Zuordnung.insert(index, value) + def replace_Fstr_Rangier_Fla_Zuordnung_at(self, index, value): + self.Fstr_Rangier_Fla_Zuordnung[index] = value + def get_Fstr_Signalisierung(self): + return self.Fstr_Signalisierung + def set_Fstr_Signalisierung(self, Fstr_Signalisierung): + self.Fstr_Signalisierung = Fstr_Signalisierung + def add_Fstr_Signalisierung(self, value): + self.Fstr_Signalisierung.append(value) + def insert_Fstr_Signalisierung_at(self, index, value): + self.Fstr_Signalisierung.insert(index, value) + def replace_Fstr_Signalisierung_at(self, index, value): + self.Fstr_Signalisierung[index] = value + def get_Fstr_Umfahrpunkt(self): + return self.Fstr_Umfahrpunkt + def set_Fstr_Umfahrpunkt(self, Fstr_Umfahrpunkt): + self.Fstr_Umfahrpunkt = Fstr_Umfahrpunkt + def add_Fstr_Umfahrpunkt(self, value): + self.Fstr_Umfahrpunkt.append(value) + def insert_Fstr_Umfahrpunkt_at(self, index, value): + self.Fstr_Umfahrpunkt.insert(index, value) + def replace_Fstr_Umfahrpunkt_at(self, index, value): + self.Fstr_Umfahrpunkt[index] = value + def get_Fstr_Zug_Rangier(self): + return self.Fstr_Zug_Rangier + def set_Fstr_Zug_Rangier(self, Fstr_Zug_Rangier): + self.Fstr_Zug_Rangier = Fstr_Zug_Rangier + def add_Fstr_Zug_Rangier(self, value): + self.Fstr_Zug_Rangier.append(value) + def insert_Fstr_Zug_Rangier_at(self, index, value): + self.Fstr_Zug_Rangier.insert(index, value) + def replace_Fstr_Zug_Rangier_at(self, index, value): + self.Fstr_Zug_Rangier[index] = value + def get_FT_Anschaltbedingung(self): + return self.FT_Anschaltbedingung + def set_FT_Anschaltbedingung(self, FT_Anschaltbedingung): + self.FT_Anschaltbedingung = FT_Anschaltbedingung + def add_FT_Anschaltbedingung(self, value): + self.FT_Anschaltbedingung.append(value) + def insert_FT_Anschaltbedingung_at(self, index, value): + self.FT_Anschaltbedingung.insert(index, value) + def replace_FT_Anschaltbedingung_at(self, index, value): + self.FT_Anschaltbedingung[index] = value + def get_FT_Fahrweg_Teil(self): + return self.FT_Fahrweg_Teil + def set_FT_Fahrweg_Teil(self, FT_Fahrweg_Teil): + self.FT_Fahrweg_Teil = FT_Fahrweg_Teil + def add_FT_Fahrweg_Teil(self, value): + self.FT_Fahrweg_Teil.append(value) + def insert_FT_Fahrweg_Teil_at(self, index, value): + self.FT_Fahrweg_Teil.insert(index, value) + def replace_FT_Fahrweg_Teil_at(self, index, value): + self.FT_Fahrweg_Teil[index] = value + def get_GEO_Kante(self): + return self.GEO_Kante + def set_GEO_Kante(self, GEO_Kante): + self.GEO_Kante = GEO_Kante + def add_GEO_Kante(self, value): + self.GEO_Kante.append(value) + def insert_GEO_Kante_at(self, index, value): + self.GEO_Kante.insert(index, value) + def replace_GEO_Kante_at(self, index, value): + self.GEO_Kante[index] = value + def get_GEO_Knoten(self): + return self.GEO_Knoten + def set_GEO_Knoten(self, GEO_Knoten): + self.GEO_Knoten = GEO_Knoten + def add_GEO_Knoten(self, value): + self.GEO_Knoten.append(value) + def insert_GEO_Knoten_at(self, index, value): + self.GEO_Knoten.insert(index, value) + def replace_GEO_Knoten_at(self, index, value): + self.GEO_Knoten[index] = value + def get_GEO_Punkt(self): + return self.GEO_Punkt + def set_GEO_Punkt(self, GEO_Punkt): + self.GEO_Punkt = GEO_Punkt + def add_GEO_Punkt(self, value): + self.GEO_Punkt.append(value) + def insert_GEO_Punkt_at(self, index, value): + self.GEO_Punkt.insert(index, value) + def replace_GEO_Punkt_at(self, index, value): + self.GEO_Punkt[index] = value + def get_Geschwindigkeitsprofil(self): + return self.Geschwindigkeitsprofil + def set_Geschwindigkeitsprofil(self, Geschwindigkeitsprofil): + self.Geschwindigkeitsprofil = Geschwindigkeitsprofil + def add_Geschwindigkeitsprofil(self, value): + self.Geschwindigkeitsprofil.append(value) + def insert_Geschwindigkeitsprofil_at(self, index, value): + self.Geschwindigkeitsprofil.insert(index, value) + def replace_Geschwindigkeitsprofil_at(self, index, value): + self.Geschwindigkeitsprofil[index] = value + def get_GFR_Anlage(self): + return self.GFR_Anlage + def set_GFR_Anlage(self, GFR_Anlage): + self.GFR_Anlage = GFR_Anlage + def add_GFR_Anlage(self, value): + self.GFR_Anlage.append(value) + def insert_GFR_Anlage_at(self, index, value): + self.GFR_Anlage.insert(index, value) + def replace_GFR_Anlage_at(self, index, value): + self.GFR_Anlage[index] = value + def get_GFR_Element(self): + return self.GFR_Element + def set_GFR_Element(self, GFR_Element): + self.GFR_Element = GFR_Element + def add_GFR_Element(self, value): + self.GFR_Element.append(value) + def insert_GFR_Element_at(self, index, value): + self.GFR_Element.insert(index, value) + def replace_GFR_Element_at(self, index, value): + self.GFR_Element[index] = value + def get_GFR_Tripelspiegel(self): + return self.GFR_Tripelspiegel + def set_GFR_Tripelspiegel(self, GFR_Tripelspiegel): + self.GFR_Tripelspiegel = GFR_Tripelspiegel + def add_GFR_Tripelspiegel(self, value): + self.GFR_Tripelspiegel.append(value) + def insert_GFR_Tripelspiegel_at(self, index, value): + self.GFR_Tripelspiegel.insert(index, value) + def replace_GFR_Tripelspiegel_at(self, index, value): + self.GFR_Tripelspiegel[index] = value + def get_Gleis_Abschluss(self): + return self.Gleis_Abschluss + def set_Gleis_Abschluss(self, Gleis_Abschluss): + self.Gleis_Abschluss = Gleis_Abschluss + def add_Gleis_Abschluss(self, value): + self.Gleis_Abschluss.append(value) + def insert_Gleis_Abschluss_at(self, index, value): + self.Gleis_Abschluss.insert(index, value) + def replace_Gleis_Abschluss_at(self, index, value): + self.Gleis_Abschluss[index] = value + def get_Gleis_Abschnitt(self): + return self.Gleis_Abschnitt + def set_Gleis_Abschnitt(self, Gleis_Abschnitt): + self.Gleis_Abschnitt = Gleis_Abschnitt + def add_Gleis_Abschnitt(self, value): + self.Gleis_Abschnitt.append(value) + def insert_Gleis_Abschnitt_at(self, index, value): + self.Gleis_Abschnitt.insert(index, value) + def replace_Gleis_Abschnitt_at(self, index, value): + self.Gleis_Abschnitt[index] = value + def get_Gleis_Art(self): + return self.Gleis_Art + def set_Gleis_Art(self, Gleis_Art): + self.Gleis_Art = Gleis_Art + def add_Gleis_Art(self, value): + self.Gleis_Art.append(value) + def insert_Gleis_Art_at(self, index, value): + self.Gleis_Art.insert(index, value) + def replace_Gleis_Art_at(self, index, value): + self.Gleis_Art[index] = value + def get_Gleis_Baubereich(self): + return self.Gleis_Baubereich + def set_Gleis_Baubereich(self, Gleis_Baubereich): + self.Gleis_Baubereich = Gleis_Baubereich + def add_Gleis_Baubereich(self, value): + self.Gleis_Baubereich.append(value) + def insert_Gleis_Baubereich_at(self, index, value): + self.Gleis_Baubereich.insert(index, value) + def replace_Gleis_Baubereich_at(self, index, value): + self.Gleis_Baubereich[index] = value + def get_Gleis_Bezeichnung(self): + return self.Gleis_Bezeichnung + def set_Gleis_Bezeichnung(self, Gleis_Bezeichnung): + self.Gleis_Bezeichnung = Gleis_Bezeichnung + def add_Gleis_Bezeichnung(self, value): + self.Gleis_Bezeichnung.append(value) + def insert_Gleis_Bezeichnung_at(self, index, value): + self.Gleis_Bezeichnung.insert(index, value) + def replace_Gleis_Bezeichnung_at(self, index, value): + self.Gleis_Bezeichnung[index] = value + def get_Gleis_Fahrbahn(self): + return self.Gleis_Fahrbahn + def set_Gleis_Fahrbahn(self, Gleis_Fahrbahn): + self.Gleis_Fahrbahn = Gleis_Fahrbahn + def add_Gleis_Fahrbahn(self, value): + self.Gleis_Fahrbahn.append(value) + def insert_Gleis_Fahrbahn_at(self, index, value): + self.Gleis_Fahrbahn.insert(index, value) + def replace_Gleis_Fahrbahn_at(self, index, value): + self.Gleis_Fahrbahn[index] = value + def get_Gleis_Lichtraum(self): + return self.Gleis_Lichtraum + def set_Gleis_Lichtraum(self, Gleis_Lichtraum): + self.Gleis_Lichtraum = Gleis_Lichtraum + def add_Gleis_Lichtraum(self, value): + self.Gleis_Lichtraum.append(value) + def insert_Gleis_Lichtraum_at(self, index, value): + self.Gleis_Lichtraum.insert(index, value) + def replace_Gleis_Lichtraum_at(self, index, value): + self.Gleis_Lichtraum[index] = value + def get_Gleis_Schaltgruppe(self): + return self.Gleis_Schaltgruppe + def set_Gleis_Schaltgruppe(self, Gleis_Schaltgruppe): + self.Gleis_Schaltgruppe = Gleis_Schaltgruppe + def add_Gleis_Schaltgruppe(self, value): + self.Gleis_Schaltgruppe.append(value) + def insert_Gleis_Schaltgruppe_at(self, index, value): + self.Gleis_Schaltgruppe.insert(index, value) + def replace_Gleis_Schaltgruppe_at(self, index, value): + self.Gleis_Schaltgruppe[index] = value + def get_Hoehenlinie(self): + return self.Hoehenlinie + def set_Hoehenlinie(self, Hoehenlinie): + self.Hoehenlinie = Hoehenlinie + def add_Hoehenlinie(self, value): + self.Hoehenlinie.append(value) + def insert_Hoehenlinie_at(self, index, value): + self.Hoehenlinie.insert(index, value) + def replace_Hoehenlinie_at(self, index, value): + self.Hoehenlinie[index] = value + def get_Hoehenpunkt(self): + return self.Hoehenpunkt + def set_Hoehenpunkt(self, Hoehenpunkt): + self.Hoehenpunkt = Hoehenpunkt + def add_Hoehenpunkt(self, value): + self.Hoehenpunkt.append(value) + def insert_Hoehenpunkt_at(self, index, value): + self.Hoehenpunkt.insert(index, value) + def replace_Hoehenpunkt_at(self, index, value): + self.Hoehenpunkt[index] = value + def get_Kabel(self): + return self.Kabel + def set_Kabel(self, Kabel): + self.Kabel = Kabel + def add_Kabel(self, value): + self.Kabel.append(value) + def insert_Kabel_at(self, index, value): + self.Kabel.insert(index, value) + def replace_Kabel_at(self, index, value): + self.Kabel[index] = value + def get_Kabel_Verteilpunkt(self): + return self.Kabel_Verteilpunkt + def set_Kabel_Verteilpunkt(self, Kabel_Verteilpunkt): + self.Kabel_Verteilpunkt = Kabel_Verteilpunkt + def add_Kabel_Verteilpunkt(self, value): + self.Kabel_Verteilpunkt.append(value) + def insert_Kabel_Verteilpunkt_at(self, index, value): + self.Kabel_Verteilpunkt.insert(index, value) + def replace_Kabel_Verteilpunkt_at(self, index, value): + self.Kabel_Verteilpunkt[index] = value + def get_LEU_Anlage(self): + return self.LEU_Anlage + def set_LEU_Anlage(self, LEU_Anlage): + self.LEU_Anlage = LEU_Anlage + def add_LEU_Anlage(self, value): + self.LEU_Anlage.append(value) + def insert_LEU_Anlage_at(self, index, value): + self.LEU_Anlage.insert(index, value) + def replace_LEU_Anlage_at(self, index, value): + self.LEU_Anlage[index] = value + def get_LEU_Modul(self): + return self.LEU_Modul + def set_LEU_Modul(self, LEU_Modul): + self.LEU_Modul = LEU_Modul + def add_LEU_Modul(self, value): + self.LEU_Modul.append(value) + def insert_LEU_Modul_at(self, index, value): + self.LEU_Modul.insert(index, value) + def replace_LEU_Modul_at(self, index, value): + self.LEU_Modul[index] = value + def get_LEU_Schaltkasten(self): + return self.LEU_Schaltkasten + def set_LEU_Schaltkasten(self, LEU_Schaltkasten): + self.LEU_Schaltkasten = LEU_Schaltkasten + def add_LEU_Schaltkasten(self, value): + self.LEU_Schaltkasten.append(value) + def insert_LEU_Schaltkasten_at(self, index, value): + self.LEU_Schaltkasten.insert(index, value) + def replace_LEU_Schaltkasten_at(self, index, value): + self.LEU_Schaltkasten[index] = value + def get_Lieferobjekt(self): + return self.Lieferobjekt + def set_Lieferobjekt(self, Lieferobjekt): + self.Lieferobjekt = Lieferobjekt + def add_Lieferobjekt(self, value): + self.Lieferobjekt.append(value) + def insert_Lieferobjekt_at(self, index, value): + self.Lieferobjekt.insert(index, value) + def replace_Lieferobjekt_at(self, index, value): + self.Lieferobjekt[index] = value + def get_Luft_Telegramm(self): + return self.Luft_Telegramm + def set_Luft_Telegramm(self, Luft_Telegramm): + self.Luft_Telegramm = Luft_Telegramm + def add_Luft_Telegramm(self, value): + self.Luft_Telegramm.append(value) + def insert_Luft_Telegramm_at(self, index, value): + self.Luft_Telegramm.insert(index, value) + def replace_Luft_Telegramm_at(self, index, value): + self.Luft_Telegramm[index] = value + def get_Markanter_Punkt(self): + return self.Markanter_Punkt + def set_Markanter_Punkt(self, Markanter_Punkt): + self.Markanter_Punkt = Markanter_Punkt + def add_Markanter_Punkt(self, value): + self.Markanter_Punkt.append(value) + def insert_Markanter_Punkt_at(self, index, value): + self.Markanter_Punkt.insert(index, value) + def replace_Markanter_Punkt_at(self, index, value): + self.Markanter_Punkt[index] = value + def get_NB(self): + return self.NB + def set_NB(self, NB): + self.NB = NB + def add_NB(self, value): + self.NB.append(value) + def insert_NB_at(self, index, value): + self.NB.insert(index, value) + def replace_NB_at(self, index, value): + self.NB[index] = value + def get_NB_Bedien_Anzeige_Element(self): + return self.NB_Bedien_Anzeige_Element + def set_NB_Bedien_Anzeige_Element(self, NB_Bedien_Anzeige_Element): + self.NB_Bedien_Anzeige_Element = NB_Bedien_Anzeige_Element + def add_NB_Bedien_Anzeige_Element(self, value): + self.NB_Bedien_Anzeige_Element.append(value) + def insert_NB_Bedien_Anzeige_Element_at(self, index, value): + self.NB_Bedien_Anzeige_Element.insert(index, value) + def replace_NB_Bedien_Anzeige_Element_at(self, index, value): + self.NB_Bedien_Anzeige_Element[index] = value + def get_NB_Zone(self): + return self.NB_Zone + def set_NB_Zone(self, NB_Zone): + self.NB_Zone = NB_Zone + def add_NB_Zone(self, value): + self.NB_Zone.append(value) + def insert_NB_Zone_at(self, index, value): + self.NB_Zone.insert(index, value) + def replace_NB_Zone_at(self, index, value): + self.NB_Zone[index] = value + def get_NB_Zone_Element(self): + return self.NB_Zone_Element + def set_NB_Zone_Element(self, NB_Zone_Element): + self.NB_Zone_Element = NB_Zone_Element + def add_NB_Zone_Element(self, value): + self.NB_Zone_Element.append(value) + def insert_NB_Zone_Element_at(self, index, value): + self.NB_Zone_Element.insert(index, value) + def replace_NB_Zone_Element_at(self, index, value): + self.NB_Zone_Element[index] = value + def get_NB_Zone_Grenze(self): + return self.NB_Zone_Grenze + def set_NB_Zone_Grenze(self, NB_Zone_Grenze): + self.NB_Zone_Grenze = NB_Zone_Grenze + def add_NB_Zone_Grenze(self, value): + self.NB_Zone_Grenze.append(value) + def insert_NB_Zone_Grenze_at(self, index, value): + self.NB_Zone_Grenze.insert(index, value) + def replace_NB_Zone_Grenze_at(self, index, value): + self.NB_Zone_Grenze[index] = value + def get_Oertlichkeit(self): + return self.Oertlichkeit + def set_Oertlichkeit(self, Oertlichkeit): + self.Oertlichkeit = Oertlichkeit + def add_Oertlichkeit(self, value): + self.Oertlichkeit.append(value) + def insert_Oertlichkeit_at(self, index, value): + self.Oertlichkeit.insert(index, value) + def replace_Oertlichkeit_at(self, index, value): + self.Oertlichkeit[index] = value + def get_Prog_Datei_Gruppe(self): + return self.Prog_Datei_Gruppe + def set_Prog_Datei_Gruppe(self, Prog_Datei_Gruppe): + self.Prog_Datei_Gruppe = Prog_Datei_Gruppe + def add_Prog_Datei_Gruppe(self, value): + self.Prog_Datei_Gruppe.append(value) + def insert_Prog_Datei_Gruppe_at(self, index, value): + self.Prog_Datei_Gruppe.insert(index, value) + def replace_Prog_Datei_Gruppe_at(self, index, value): + self.Prog_Datei_Gruppe[index] = value + def get_Proxy_Objekt(self): + return self.Proxy_Objekt + def set_Proxy_Objekt(self, Proxy_Objekt): + self.Proxy_Objekt = Proxy_Objekt + def add_Proxy_Objekt(self, value): + self.Proxy_Objekt.append(value) + def insert_Proxy_Objekt_at(self, index, value): + self.Proxy_Objekt.insert(index, value) + def replace_Proxy_Objekt_at(self, index, value): + self.Proxy_Objekt[index] = value + def get_PZB_Element(self): + return self.PZB_Element + def set_PZB_Element(self, PZB_Element): + self.PZB_Element = PZB_Element + def add_PZB_Element(self, value): + self.PZB_Element.append(value) + def insert_PZB_Element_at(self, index, value): + self.PZB_Element.insert(index, value) + def replace_PZB_Element_at(self, index, value): + self.PZB_Element[index] = value + def get_PZB_Element_Zuordnung(self): + return self.PZB_Element_Zuordnung + def set_PZB_Element_Zuordnung(self, PZB_Element_Zuordnung): + self.PZB_Element_Zuordnung = PZB_Element_Zuordnung + def add_PZB_Element_Zuordnung(self, value): + self.PZB_Element_Zuordnung.append(value) + def insert_PZB_Element_Zuordnung_at(self, index, value): + self.PZB_Element_Zuordnung.insert(index, value) + def replace_PZB_Element_Zuordnung_at(self, index, value): + self.PZB_Element_Zuordnung[index] = value + def get_PZB_Zuordnung_Signal(self): + return self.PZB_Zuordnung_Signal + def set_PZB_Zuordnung_Signal(self, PZB_Zuordnung_Signal): + self.PZB_Zuordnung_Signal = PZB_Zuordnung_Signal + def add_PZB_Zuordnung_Signal(self, value): + self.PZB_Zuordnung_Signal.append(value) + def insert_PZB_Zuordnung_Signal_at(self, index, value): + self.PZB_Zuordnung_Signal.insert(index, value) + def replace_PZB_Zuordnung_Signal_at(self, index, value): + self.PZB_Zuordnung_Signal[index] = value + def get_RBC(self): + return self.RBC + def set_RBC(self, RBC): + self.RBC = RBC + def add_RBC(self, value): + self.RBC.append(value) + def insert_RBC_at(self, index, value): + self.RBC.insert(index, value) + def replace_RBC_at(self, index, value): + self.RBC[index] = value + def get_Regelzeichnung(self): + return self.Regelzeichnung + def set_Regelzeichnung(self, Regelzeichnung): + self.Regelzeichnung = Regelzeichnung + def add_Regelzeichnung(self, value): + self.Regelzeichnung.append(value) + def insert_Regelzeichnung_at(self, index, value): + self.Regelzeichnung.insert(index, value) + def replace_Regelzeichnung_at(self, index, value): + self.Regelzeichnung[index] = value + def get_Regelzeichnung_Parameter(self): + return self.Regelzeichnung_Parameter + def set_Regelzeichnung_Parameter(self, Regelzeichnung_Parameter): + self.Regelzeichnung_Parameter = Regelzeichnung_Parameter + def add_Regelzeichnung_Parameter(self, value): + self.Regelzeichnung_Parameter.append(value) + def insert_Regelzeichnung_Parameter_at(self, index, value): + self.Regelzeichnung_Parameter.insert(index, value) + def replace_Regelzeichnung_Parameter_at(self, index, value): + self.Regelzeichnung_Parameter[index] = value + def get_Schaltmittel_Fstr_Zuordnung(self): + return self.Schaltmittel_Fstr_Zuordnung + def set_Schaltmittel_Fstr_Zuordnung(self, Schaltmittel_Fstr_Zuordnung): + self.Schaltmittel_Fstr_Zuordnung = Schaltmittel_Fstr_Zuordnung + def add_Schaltmittel_Fstr_Zuordnung(self, value): + self.Schaltmittel_Fstr_Zuordnung.append(value) + def insert_Schaltmittel_Fstr_Zuordnung_at(self, index, value): + self.Schaltmittel_Fstr_Zuordnung.insert(index, value) + def replace_Schaltmittel_Fstr_Zuordnung_at(self, index, value): + self.Schaltmittel_Fstr_Zuordnung[index] = value + def get_Schaltmittel_Zuordnung(self): + return self.Schaltmittel_Zuordnung + def set_Schaltmittel_Zuordnung(self, Schaltmittel_Zuordnung): + self.Schaltmittel_Zuordnung = Schaltmittel_Zuordnung + def add_Schaltmittel_Zuordnung(self, value): + self.Schaltmittel_Zuordnung.append(value) + def insert_Schaltmittel_Zuordnung_at(self, index, value): + self.Schaltmittel_Zuordnung.insert(index, value) + def replace_Schaltmittel_Zuordnung_at(self, index, value): + self.Schaltmittel_Zuordnung[index] = value + def get_Schloss(self): + return self.Schloss + def set_Schloss(self, Schloss): + self.Schloss = Schloss + def add_Schloss(self, value): + self.Schloss.append(value) + def insert_Schloss_at(self, index, value): + self.Schloss.insert(index, value) + def replace_Schloss_at(self, index, value): + self.Schloss[index] = value + def get_Schlosskombination(self): + return self.Schlosskombination + def set_Schlosskombination(self, Schlosskombination): + self.Schlosskombination = Schlosskombination + def add_Schlosskombination(self, value): + self.Schlosskombination.append(value) + def insert_Schlosskombination_at(self, index, value): + self.Schlosskombination.insert(index, value) + def replace_Schlosskombination_at(self, index, value): + self.Schlosskombination[index] = value + def get_Schluessel(self): + return self.Schluessel + def set_Schluessel(self, Schluessel): + self.Schluessel = Schluessel + def add_Schluessel(self, value): + self.Schluessel.append(value) + def insert_Schluessel_at(self, index, value): + self.Schluessel.insert(index, value) + def replace_Schluessel_at(self, index, value): + self.Schluessel[index] = value + def get_Schluesselsperre(self): + return self.Schluesselsperre + def set_Schluesselsperre(self, Schluesselsperre): + self.Schluesselsperre = Schluesselsperre + def add_Schluesselsperre(self, value): + self.Schluesselsperre.append(value) + def insert_Schluesselsperre_at(self, index, value): + self.Schluesselsperre.insert(index, value) + def replace_Schluesselsperre_at(self, index, value): + self.Schluesselsperre[index] = value + def get_Schrankenantrieb(self): + return self.Schrankenantrieb + def set_Schrankenantrieb(self, Schrankenantrieb): + self.Schrankenantrieb = Schrankenantrieb + def add_Schrankenantrieb(self, value): + self.Schrankenantrieb.append(value) + def insert_Schrankenantrieb_at(self, index, value): + self.Schrankenantrieb.insert(index, value) + def replace_Schrankenantrieb_at(self, index, value): + self.Schrankenantrieb[index] = value + def get_Signal(self): + return self.Signal + def set_Signal(self, Signal): + self.Signal = Signal + def add_Signal(self, value): + self.Signal.append(value) + def insert_Signal_at(self, index, value): + self.Signal.insert(index, value) + def replace_Signal_at(self, index, value): + self.Signal[index] = value + def get_Signal_Befestigung(self): + return self.Signal_Befestigung + def set_Signal_Befestigung(self, Signal_Befestigung): + self.Signal_Befestigung = Signal_Befestigung + def add_Signal_Befestigung(self, value): + self.Signal_Befestigung.append(value) + def insert_Signal_Befestigung_at(self, index, value): + self.Signal_Befestigung.insert(index, value) + def replace_Signal_Befestigung_at(self, index, value): + self.Signal_Befestigung[index] = value + def get_Signal_Fank_Zuordnung(self): + return self.Signal_Fank_Zuordnung + def set_Signal_Fank_Zuordnung(self, Signal_Fank_Zuordnung): + self.Signal_Fank_Zuordnung = Signal_Fank_Zuordnung + def add_Signal_Fank_Zuordnung(self, value): + self.Signal_Fank_Zuordnung.append(value) + def insert_Signal_Fank_Zuordnung_at(self, index, value): + self.Signal_Fank_Zuordnung.insert(index, value) + def replace_Signal_Fank_Zuordnung_at(self, index, value): + self.Signal_Fank_Zuordnung[index] = value + def get_Signal_Rahmen(self): + return self.Signal_Rahmen + def set_Signal_Rahmen(self, Signal_Rahmen): + self.Signal_Rahmen = Signal_Rahmen + def add_Signal_Rahmen(self, value): + self.Signal_Rahmen.append(value) + def insert_Signal_Rahmen_at(self, index, value): + self.Signal_Rahmen.insert(index, value) + def replace_Signal_Rahmen_at(self, index, value): + self.Signal_Rahmen[index] = value + def get_Signal_Signalbegriff(self): + return self.Signal_Signalbegriff + def set_Signal_Signalbegriff(self, Signal_Signalbegriff): + self.Signal_Signalbegriff = Signal_Signalbegriff + def add_Signal_Signalbegriff(self, value): + self.Signal_Signalbegriff.append(value) + def insert_Signal_Signalbegriff_at(self, index, value): + self.Signal_Signalbegriff.insert(index, value) + def replace_Signal_Signalbegriff_at(self, index, value): + self.Signal_Signalbegriff[index] = value + def get_Sonstiger_Punkt(self): + return self.Sonstiger_Punkt + def set_Sonstiger_Punkt(self, Sonstiger_Punkt): + self.Sonstiger_Punkt = Sonstiger_Punkt + def add_Sonstiger_Punkt(self, value): + self.Sonstiger_Punkt.append(value) + def insert_Sonstiger_Punkt_at(self, index, value): + self.Sonstiger_Punkt.insert(index, value) + def replace_Sonstiger_Punkt_at(self, index, value): + self.Sonstiger_Punkt[index] = value + def get_Stell_Bereich(self): + return self.Stell_Bereich + def set_Stell_Bereich(self, Stell_Bereich): + self.Stell_Bereich = Stell_Bereich + def add_Stell_Bereich(self, value): + self.Stell_Bereich.append(value) + def insert_Stell_Bereich_at(self, index, value): + self.Stell_Bereich.insert(index, value) + def replace_Stell_Bereich_at(self, index, value): + self.Stell_Bereich[index] = value + def get_Stellelement(self): + return self.Stellelement + def set_Stellelement(self, Stellelement): + self.Stellelement = Stellelement + def add_Stellelement(self, value): + self.Stellelement.append(value) + def insert_Stellelement_at(self, index, value): + self.Stellelement.insert(index, value) + def replace_Stellelement_at(self, index, value): + self.Stellelement[index] = value + def get_Strecke(self): + return self.Strecke + def set_Strecke(self, Strecke): + self.Strecke = Strecke + def add_Strecke(self, value): + self.Strecke.append(value) + def insert_Strecke_at(self, index, value): + self.Strecke.insert(index, value) + def replace_Strecke_at(self, index, value): + self.Strecke[index] = value + def get_Strecke_Bremsweg(self): + return self.Strecke_Bremsweg + def set_Strecke_Bremsweg(self, Strecke_Bremsweg): + self.Strecke_Bremsweg = Strecke_Bremsweg + def add_Strecke_Bremsweg(self, value): + self.Strecke_Bremsweg.append(value) + def insert_Strecke_Bremsweg_at(self, index, value): + self.Strecke_Bremsweg.insert(index, value) + def replace_Strecke_Bremsweg_at(self, index, value): + self.Strecke_Bremsweg[index] = value + def get_Strecke_Punkt(self): + return self.Strecke_Punkt + def set_Strecke_Punkt(self, Strecke_Punkt): + self.Strecke_Punkt = Strecke_Punkt + def add_Strecke_Punkt(self, value): + self.Strecke_Punkt.append(value) + def insert_Strecke_Punkt_at(self, index, value): + self.Strecke_Punkt.insert(index, value) + def replace_Strecke_Punkt_at(self, index, value): + self.Strecke_Punkt[index] = value + def get_Technik_Standort(self): + return self.Technik_Standort + def set_Technik_Standort(self, Technik_Standort): + self.Technik_Standort = Technik_Standort + def add_Technik_Standort(self, value): + self.Technik_Standort.append(value) + def insert_Technik_Standort_at(self, index, value): + self.Technik_Standort.insert(index, value) + def replace_Technik_Standort_at(self, index, value): + self.Technik_Standort[index] = value + def get_Technischer_Bereich(self): + return self.Technischer_Bereich + def set_Technischer_Bereich(self, Technischer_Bereich): + self.Technischer_Bereich = Technischer_Bereich + def add_Technischer_Bereich(self, value): + self.Technischer_Bereich.append(value) + def insert_Technischer_Bereich_at(self, index, value): + self.Technischer_Bereich.insert(index, value) + def replace_Technischer_Bereich_at(self, index, value): + self.Technischer_Bereich[index] = value + def get_Technischer_Punkt(self): + return self.Technischer_Punkt + def set_Technischer_Punkt(self, Technischer_Punkt): + self.Technischer_Punkt = Technischer_Punkt + def add_Technischer_Punkt(self, value): + self.Technischer_Punkt.append(value) + def insert_Technischer_Punkt_at(self, index, value): + self.Technischer_Punkt.insert(index, value) + def replace_Technischer_Punkt_at(self, index, value): + self.Technischer_Punkt[index] = value + def get_TOP_Kante(self): + return self.TOP_Kante + def set_TOP_Kante(self, TOP_Kante): + self.TOP_Kante = TOP_Kante + def add_TOP_Kante(self, value): + self.TOP_Kante.append(value) + def insert_TOP_Kante_at(self, index, value): + self.TOP_Kante.insert(index, value) + def replace_TOP_Kante_at(self, index, value): + self.TOP_Kante[index] = value + def get_TOP_Knoten(self): + return self.TOP_Knoten + def set_TOP_Knoten(self, TOP_Knoten): + self.TOP_Knoten = TOP_Knoten + def add_TOP_Knoten(self, value): + self.TOP_Knoten.append(value) + def insert_TOP_Knoten_at(self, index, value): + self.TOP_Knoten.insert(index, value) + def replace_TOP_Knoten_at(self, index, value): + self.TOP_Knoten[index] = value + def get_Trasse_Kante(self): + return self.Trasse_Kante + def set_Trasse_Kante(self, Trasse_Kante): + self.Trasse_Kante = Trasse_Kante + def add_Trasse_Kante(self, value): + self.Trasse_Kante.append(value) + def insert_Trasse_Kante_at(self, index, value): + self.Trasse_Kante.insert(index, value) + def replace_Trasse_Kante_at(self, index, value): + self.Trasse_Kante[index] = value + def get_Trasse_Knoten(self): + return self.Trasse_Knoten + def set_Trasse_Knoten(self, Trasse_Knoten): + self.Trasse_Knoten = Trasse_Knoten + def add_Trasse_Knoten(self, value): + self.Trasse_Knoten.append(value) + def insert_Trasse_Knoten_at(self, index, value): + self.Trasse_Knoten.insert(index, value) + def replace_Trasse_Knoten_at(self, index, value): + self.Trasse_Knoten[index] = value + def get_Ueberhoehung(self): + return self.Ueberhoehung + def set_Ueberhoehung(self, Ueberhoehung): + self.Ueberhoehung = Ueberhoehung + def add_Ueberhoehung(self, value): + self.Ueberhoehung.append(value) + def insert_Ueberhoehung_at(self, index, value): + self.Ueberhoehung.insert(index, value) + def replace_Ueberhoehung_at(self, index, value): + self.Ueberhoehung[index] = value + def get_Ueberhoehungslinie(self): + return self.Ueberhoehungslinie + def set_Ueberhoehungslinie(self, Ueberhoehungslinie): + self.Ueberhoehungslinie = Ueberhoehungslinie + def add_Ueberhoehungslinie(self, value): + self.Ueberhoehungslinie.append(value) + def insert_Ueberhoehungslinie_at(self, index, value): + self.Ueberhoehungslinie.insert(index, value) + def replace_Ueberhoehungslinie_at(self, index, value): + self.Ueberhoehungslinie[index] = value + def get_Uebertragungsweg(self): + return self.Uebertragungsweg + def set_Uebertragungsweg(self, Uebertragungsweg): + self.Uebertragungsweg = Uebertragungsweg + def add_Uebertragungsweg(self, value): + self.Uebertragungsweg.append(value) + def insert_Uebertragungsweg_at(self, index, value): + self.Uebertragungsweg.insert(index, value) + def replace_Uebertragungsweg_at(self, index, value): + self.Uebertragungsweg[index] = value + def get_Unterbringung(self): + return self.Unterbringung + def set_Unterbringung(self, Unterbringung): + self.Unterbringung = Unterbringung + def add_Unterbringung(self, value): + self.Unterbringung.append(value) + def insert_Unterbringung_at(self, index, value): + self.Unterbringung.insert(index, value) + def replace_Unterbringung_at(self, index, value): + self.Unterbringung[index] = value + def get_Verkehrszeichen(self): + return self.Verkehrszeichen + def set_Verkehrszeichen(self, Verkehrszeichen): + self.Verkehrszeichen = Verkehrszeichen + def add_Verkehrszeichen(self, value): + self.Verkehrszeichen.append(value) + def insert_Verkehrszeichen_at(self, index, value): + self.Verkehrszeichen.insert(index, value) + def replace_Verkehrszeichen_at(self, index, value): + self.Verkehrszeichen[index] = value + def get_W_Kr_Anlage(self): + return self.W_Kr_Anlage + def set_W_Kr_Anlage(self, W_Kr_Anlage): + self.W_Kr_Anlage = W_Kr_Anlage + def add_W_Kr_Anlage(self, value): + self.W_Kr_Anlage.append(value) + def insert_W_Kr_Anlage_at(self, index, value): + self.W_Kr_Anlage.insert(index, value) + def replace_W_Kr_Anlage_at(self, index, value): + self.W_Kr_Anlage[index] = value + def get_W_Kr_Gsp_Element(self): + return self.W_Kr_Gsp_Element + def set_W_Kr_Gsp_Element(self, W_Kr_Gsp_Element): + self.W_Kr_Gsp_Element = W_Kr_Gsp_Element + def add_W_Kr_Gsp_Element(self, value): + self.W_Kr_Gsp_Element.append(value) + def insert_W_Kr_Gsp_Element_at(self, index, value): + self.W_Kr_Gsp_Element.insert(index, value) + def replace_W_Kr_Gsp_Element_at(self, index, value): + self.W_Kr_Gsp_Element[index] = value + def get_W_Kr_Gsp_Komponente(self): + return self.W_Kr_Gsp_Komponente + def set_W_Kr_Gsp_Komponente(self, W_Kr_Gsp_Komponente): + self.W_Kr_Gsp_Komponente = W_Kr_Gsp_Komponente + def add_W_Kr_Gsp_Komponente(self, value): + self.W_Kr_Gsp_Komponente.append(value) + def insert_W_Kr_Gsp_Komponente_at(self, index, value): + self.W_Kr_Gsp_Komponente.insert(index, value) + def replace_W_Kr_Gsp_Komponente_at(self, index, value): + self.W_Kr_Gsp_Komponente[index] = value + def get_Weichenlaufkette(self): + return self.Weichenlaufkette + def set_Weichenlaufkette(self, Weichenlaufkette): + self.Weichenlaufkette = Weichenlaufkette + def add_Weichenlaufkette(self, value): + self.Weichenlaufkette.append(value) + def insert_Weichenlaufkette_at(self, index, value): + self.Weichenlaufkette.insert(index, value) + def replace_Weichenlaufkette_at(self, index, value): + self.Weichenlaufkette[index] = value + def get_Weichenlaufkette_Zuordnung(self): + return self.Weichenlaufkette_Zuordnung + def set_Weichenlaufkette_Zuordnung(self, Weichenlaufkette_Zuordnung): + self.Weichenlaufkette_Zuordnung = Weichenlaufkette_Zuordnung + def add_Weichenlaufkette_Zuordnung(self, value): + self.Weichenlaufkette_Zuordnung.append(value) + def insert_Weichenlaufkette_Zuordnung_at(self, index, value): + self.Weichenlaufkette_Zuordnung.insert(index, value) + def replace_Weichenlaufkette_Zuordnung_at(self, index, value): + self.Weichenlaufkette_Zuordnung[index] = value + def get_ZBS_Schutzstrecke(self): + return self.ZBS_Schutzstrecke + def set_ZBS_Schutzstrecke(self, ZBS_Schutzstrecke): + self.ZBS_Schutzstrecke = ZBS_Schutzstrecke + def add_ZBS_Schutzstrecke(self, value): + self.ZBS_Schutzstrecke.append(value) + def insert_ZBS_Schutzstrecke_at(self, index, value): + self.ZBS_Schutzstrecke.insert(index, value) + def replace_ZBS_Schutzstrecke_at(self, index, value): + self.ZBS_Schutzstrecke[index] = value + def get_ZBS_Signal(self): + return self.ZBS_Signal + def set_ZBS_Signal(self, ZBS_Signal): + self.ZBS_Signal = ZBS_Signal + def add_ZBS_Signal(self, value): + self.ZBS_Signal.append(value) + def insert_ZBS_Signal_at(self, index, value): + self.ZBS_Signal.insert(index, value) + def replace_ZBS_Signal_at(self, index, value): + self.ZBS_Signal[index] = value + def get_ZL(self): + return self.ZL + def set_ZL(self, ZL): + self.ZL = ZL + def add_ZL(self, value): + self.ZL.append(value) + def insert_ZL_at(self, index, value): + self.ZL.insert(index, value) + def replace_ZL_at(self, index, value): + self.ZL[index] = value + def get_ZL_DLP_Abschnitt(self): + return self.ZL_DLP_Abschnitt + def set_ZL_DLP_Abschnitt(self, ZL_DLP_Abschnitt): + self.ZL_DLP_Abschnitt = ZL_DLP_Abschnitt + def add_ZL_DLP_Abschnitt(self, value): + self.ZL_DLP_Abschnitt.append(value) + def insert_ZL_DLP_Abschnitt_at(self, index, value): + self.ZL_DLP_Abschnitt.insert(index, value) + def replace_ZL_DLP_Abschnitt_at(self, index, value): + self.ZL_DLP_Abschnitt[index] = value + def get_ZL_DLP_Fstr(self): + return self.ZL_DLP_Fstr + def set_ZL_DLP_Fstr(self, ZL_DLP_Fstr): + self.ZL_DLP_Fstr = ZL_DLP_Fstr + def add_ZL_DLP_Fstr(self, value): + self.ZL_DLP_Fstr.append(value) + def insert_ZL_DLP_Fstr_at(self, index, value): + self.ZL_DLP_Fstr.insert(index, value) + def replace_ZL_DLP_Fstr_at(self, index, value): + self.ZL_DLP_Fstr[index] = value + def get_ZL_Fstr(self): + return self.ZL_Fstr + def set_ZL_Fstr(self, ZL_Fstr): + self.ZL_Fstr = ZL_Fstr + def add_ZL_Fstr(self, value): + self.ZL_Fstr.append(value) + def insert_ZL_Fstr_at(self, index, value): + self.ZL_Fstr.insert(index, value) + def replace_ZL_Fstr_at(self, index, value): + self.ZL_Fstr[index] = value + def get_ZL_Fstr_Anstoss(self): + return self.ZL_Fstr_Anstoss + def set_ZL_Fstr_Anstoss(self, ZL_Fstr_Anstoss): + self.ZL_Fstr_Anstoss = ZL_Fstr_Anstoss + def add_ZL_Fstr_Anstoss(self, value): + self.ZL_Fstr_Anstoss.append(value) + def insert_ZL_Fstr_Anstoss_at(self, index, value): + self.ZL_Fstr_Anstoss.insert(index, value) + def replace_ZL_Fstr_Anstoss_at(self, index, value): + self.ZL_Fstr_Anstoss[index] = value + def get_ZL_Signalgruppe(self): + return self.ZL_Signalgruppe + def set_ZL_Signalgruppe(self, ZL_Signalgruppe): + self.ZL_Signalgruppe = ZL_Signalgruppe + def add_ZL_Signalgruppe(self, value): + self.ZL_Signalgruppe.append(value) + def insert_ZL_Signalgruppe_at(self, index, value): + self.ZL_Signalgruppe.insert(index, value) + def replace_ZL_Signalgruppe_at(self, index, value): + self.ZL_Signalgruppe[index] = value + def get_ZL_Signalgruppe_Zuordnung(self): + return self.ZL_Signalgruppe_Zuordnung + def set_ZL_Signalgruppe_Zuordnung(self, ZL_Signalgruppe_Zuordnung): + self.ZL_Signalgruppe_Zuordnung = ZL_Signalgruppe_Zuordnung + def add_ZL_Signalgruppe_Zuordnung(self, value): + self.ZL_Signalgruppe_Zuordnung.append(value) + def insert_ZL_Signalgruppe_Zuordnung_at(self, index, value): + self.ZL_Signalgruppe_Zuordnung.insert(index, value) + def replace_ZL_Signalgruppe_Zuordnung_at(self, index, value): + self.ZL_Signalgruppe_Zuordnung[index] = value + def get_ZLV_Bus(self): + return self.ZLV_Bus + def set_ZLV_Bus(self, ZLV_Bus): + self.ZLV_Bus = ZLV_Bus + def add_ZLV_Bus(self, value): + self.ZLV_Bus.append(value) + def insert_ZLV_Bus_at(self, index, value): + self.ZLV_Bus.insert(index, value) + def replace_ZLV_Bus_at(self, index, value): + self.ZLV_Bus[index] = value + def get_ZLV_Bus_Besondere_Anlage(self): + return self.ZLV_Bus_Besondere_Anlage + def set_ZLV_Bus_Besondere_Anlage(self, ZLV_Bus_Besondere_Anlage): + self.ZLV_Bus_Besondere_Anlage = ZLV_Bus_Besondere_Anlage + def add_ZLV_Bus_Besondere_Anlage(self, value): + self.ZLV_Bus_Besondere_Anlage.append(value) + def insert_ZLV_Bus_Besondere_Anlage_at(self, index, value): + self.ZLV_Bus_Besondere_Anlage.insert(index, value) + def replace_ZLV_Bus_Besondere_Anlage_at(self, index, value): + self.ZLV_Bus_Besondere_Anlage[index] = value + def get_ZLV_Bus_US_Zuordnung(self): + return self.ZLV_Bus_US_Zuordnung + def set_ZLV_Bus_US_Zuordnung(self, ZLV_Bus_US_Zuordnung): + self.ZLV_Bus_US_Zuordnung = ZLV_Bus_US_Zuordnung + def add_ZLV_Bus_US_Zuordnung(self, value): + self.ZLV_Bus_US_Zuordnung.append(value) + def insert_ZLV_Bus_US_Zuordnung_at(self, index, value): + self.ZLV_Bus_US_Zuordnung.insert(index, value) + def replace_ZLV_Bus_US_Zuordnung_at(self, index, value): + self.ZLV_Bus_US_Zuordnung[index] = value + def get_ZN(self): + return self.ZN + def set_ZN(self, ZN): + self.ZN = ZN + def add_ZN(self, value): + self.ZN.append(value) + def insert_ZN_at(self, index, value): + self.ZN.insert(index, value) + def replace_ZN_at(self, index, value): + self.ZN[index] = value + def get_ZN_Akustik(self): + return self.ZN_Akustik + def set_ZN_Akustik(self, ZN_Akustik): + self.ZN_Akustik = ZN_Akustik + def add_ZN_Akustik(self, value): + self.ZN_Akustik.append(value) + def insert_ZN_Akustik_at(self, index, value): + self.ZN_Akustik.insert(index, value) + def replace_ZN_Akustik_at(self, index, value): + self.ZN_Akustik[index] = value + def get_ZN_Anzeigefeld(self): + return self.ZN_Anzeigefeld + def set_ZN_Anzeigefeld(self, ZN_Anzeigefeld): + self.ZN_Anzeigefeld = ZN_Anzeigefeld + def add_ZN_Anzeigefeld(self, value): + self.ZN_Anzeigefeld.append(value) + def insert_ZN_Anzeigefeld_at(self, index, value): + self.ZN_Anzeigefeld.insert(index, value) + def replace_ZN_Anzeigefeld_at(self, index, value): + self.ZN_Anzeigefeld[index] = value + def get_ZN_Fortschalt_Kriterium(self): + return self.ZN_Fortschalt_Kriterium + def set_ZN_Fortschalt_Kriterium(self, ZN_Fortschalt_Kriterium): + self.ZN_Fortschalt_Kriterium = ZN_Fortschalt_Kriterium + def add_ZN_Fortschalt_Kriterium(self, value): + self.ZN_Fortschalt_Kriterium.append(value) + def insert_ZN_Fortschalt_Kriterium_at(self, index, value): + self.ZN_Fortschalt_Kriterium.insert(index, value) + def replace_ZN_Fortschalt_Kriterium_at(self, index, value): + self.ZN_Fortschalt_Kriterium[index] = value + def get_ZN_Telegramm_84_Zuordnung(self): + return self.ZN_Telegramm_84_Zuordnung + def set_ZN_Telegramm_84_Zuordnung(self, ZN_Telegramm_84_Zuordnung): + self.ZN_Telegramm_84_Zuordnung = ZN_Telegramm_84_Zuordnung + def add_ZN_Telegramm_84_Zuordnung(self, value): + self.ZN_Telegramm_84_Zuordnung.append(value) + def insert_ZN_Telegramm_84_Zuordnung_at(self, index, value): + self.ZN_Telegramm_84_Zuordnung.insert(index, value) + def replace_ZN_Telegramm_84_Zuordnung_at(self, index, value): + self.ZN_Telegramm_84_Zuordnung[index] = value + def get_ZN_Telegramm_85_Zuordnung(self): + return self.ZN_Telegramm_85_Zuordnung + def set_ZN_Telegramm_85_Zuordnung(self, ZN_Telegramm_85_Zuordnung): + self.ZN_Telegramm_85_Zuordnung = ZN_Telegramm_85_Zuordnung + def add_ZN_Telegramm_85_Zuordnung(self, value): + self.ZN_Telegramm_85_Zuordnung.append(value) + def insert_ZN_Telegramm_85_Zuordnung_at(self, index, value): + self.ZN_Telegramm_85_Zuordnung.insert(index, value) + def replace_ZN_Telegramm_85_Zuordnung_at(self, index, value): + self.ZN_Telegramm_85_Zuordnung[index] = value + def get_ZN_Unterstation(self): + return self.ZN_Unterstation + def set_ZN_Unterstation(self, ZN_Unterstation): + self.ZN_Unterstation = ZN_Unterstation + def add_ZN_Unterstation(self, value): + self.ZN_Unterstation.append(value) + def insert_ZN_Unterstation_at(self, index, value): + self.ZN_Unterstation.insert(index, value) + def replace_ZN_Unterstation_at(self, index, value): + self.ZN_Unterstation[index] = value + def get_ZN_ZBS(self): + return self.ZN_ZBS + def set_ZN_ZBS(self, ZN_ZBS): + self.ZN_ZBS = ZN_ZBS + def add_ZN_ZBS(self, value): + self.ZN_ZBS.append(value) + def insert_ZN_ZBS_at(self, index, value): + self.ZN_ZBS.insert(index, value) + def replace_ZN_ZBS_at(self, index, value): + self.ZN_ZBS[index] = value + def get_ZUB_Bereichsgrenze(self): + return self.ZUB_Bereichsgrenze + def set_ZUB_Bereichsgrenze(self, ZUB_Bereichsgrenze): + self.ZUB_Bereichsgrenze = ZUB_Bereichsgrenze + def add_ZUB_Bereichsgrenze(self, value): + self.ZUB_Bereichsgrenze.append(value) + def insert_ZUB_Bereichsgrenze_at(self, index, value): + self.ZUB_Bereichsgrenze.insert(index, value) + def replace_ZUB_Bereichsgrenze_at(self, index, value): + self.ZUB_Bereichsgrenze[index] = value + def get_ZUB_Streckeneigenschaft(self): + return self.ZUB_Streckeneigenschaft + def set_ZUB_Streckeneigenschaft(self, ZUB_Streckeneigenschaft): + self.ZUB_Streckeneigenschaft = ZUB_Streckeneigenschaft + def add_ZUB_Streckeneigenschaft(self, value): + self.ZUB_Streckeneigenschaft.append(value) + def insert_ZUB_Streckeneigenschaft_at(self, index, value): + self.ZUB_Streckeneigenschaft.insert(index, value) + def replace_ZUB_Streckeneigenschaft_at(self, index, value): + self.ZUB_Streckeneigenschaft[index] = value + def get_Zugeinwirkung(self): + return self.Zugeinwirkung + def set_Zugeinwirkung(self, Zugeinwirkung): + self.Zugeinwirkung = Zugeinwirkung + def add_Zugeinwirkung(self, value): + self.Zugeinwirkung.append(value) + def insert_Zugeinwirkung_at(self, index, value): + self.Zugeinwirkung.insert(index, value) + def replace_Zugeinwirkung_at(self, index, value): + self.Zugeinwirkung[index] = value + def has__content(self): + if ( + self.Anhang or + self.ATO_Segment_Profile or + self.ATO_Timing_Point or + self.ATO_TS_Instanz or + self.Aussenelementansteuerung or + self.Bahnsteig_Anlage or + self.Bahnsteig_Dach or + self.Bahnsteig_Kante or + self.Bahnsteig_Zugang or + self.Balise or + self.Bearbeitungsvermerk or + self.Bedien_Anrueckabschnitt or + self.Bedien_Anzeige_Element or + self.Bedien_Bezirk or + self.Bedien_Einrichtung_Oertlich or + self.Bedien_GBT or + self.Bedien_Oberflaeche or + self.Bedien_Oberflaeche_Bild or + self.Bedien_Oertlichkeit or + self.Bedien_Platz or + self.Bedien_Standort or + self.Bedien_Zentrale or + self.Binaerdaten or + self.Block_Anlage or + self.Block_Element or + self.Block_Strecke or + self.BUE_Anlage or + self.BUE_Anlage_Strasse or + self.BUE_Anlage_V or + self.BUE_Ausschaltung or + self.BUE_Bedien_Anzeige_Element or + self.BUE_Deckendes_Signal_Zuordnung or + self.BUE_Einschaltung or + self.BUE_Einschaltung_Zuordnung or + self.BUE_Gefahrraum_Eckpunkt or + self.BUE_Gleisbezogener_Gefahrraum or + self.BUE_Kante or + self.BUE_Kreuzungsplan or + self.BUE_Schnittstelle or + self.BUE_Spezifisches_Signal or + self.BUE_WS_Fstr_Zuordnung or + self.Datenpunkt or + self.Datenpunkt_Link or + self.ESTW_Zentraleinheit or + self.ETCS_Kante or + self.ETCS_Knoten or + self.ETCS_Richtungsanzeige or + self.ETCS_Signal or + self.ETCS_W_Kr or + self.EV_Modul or + self.Fachtelegramm or + self.Fla_Freimelde_Zuordnung or + self.Fla_Schutz or + self.Fla_Zwieschutz or + self.FMA_Anlage or + self.FMA_Element or + self.FMA_Komponente or + self.Fstr_Abhaengigkeit or + self.Fstr_Aneinander or + self.Fstr_Aneinander_Zuordnung or + self.Fstr_DWeg or + self.Fstr_DWeg_W_Kr or + self.Fstr_Fahrweg or + self.Fstr_Nichthaltfall or + self.Fstr_Rangier_Fla_Zuordnung or + self.Fstr_Signalisierung or + self.Fstr_Umfahrpunkt or + self.Fstr_Zug_Rangier or + self.FT_Anschaltbedingung or + self.FT_Fahrweg_Teil or + self.GEO_Kante or + self.GEO_Knoten or + self.GEO_Punkt or + self.Geschwindigkeitsprofil or + self.GFR_Anlage or + self.GFR_Element or + self.GFR_Tripelspiegel or + self.Gleis_Abschluss or + self.Gleis_Abschnitt or + self.Gleis_Art or + self.Gleis_Baubereich or + self.Gleis_Bezeichnung or + self.Gleis_Fahrbahn or + self.Gleis_Lichtraum or + self.Gleis_Schaltgruppe or + self.Hoehenlinie or + self.Hoehenpunkt or + self.Kabel or + self.Kabel_Verteilpunkt or + self.LEU_Anlage or + self.LEU_Modul or + self.LEU_Schaltkasten or + self.Lieferobjekt or + self.Luft_Telegramm or + self.Markanter_Punkt or + self.NB or + self.NB_Bedien_Anzeige_Element or + self.NB_Zone or + self.NB_Zone_Element or + self.NB_Zone_Grenze or + self.Oertlichkeit or + self.Prog_Datei_Gruppe or + self.Proxy_Objekt or + self.PZB_Element or + self.PZB_Element_Zuordnung or + self.PZB_Zuordnung_Signal or + self.RBC or + self.Regelzeichnung or + self.Regelzeichnung_Parameter or + self.Schaltmittel_Fstr_Zuordnung or + self.Schaltmittel_Zuordnung or + self.Schloss or + self.Schlosskombination or + self.Schluessel or + self.Schluesselsperre or + self.Schrankenantrieb or + self.Signal or + self.Signal_Befestigung or + self.Signal_Fank_Zuordnung or + self.Signal_Rahmen or + self.Signal_Signalbegriff or + self.Sonstiger_Punkt or + self.Stell_Bereich or + self.Stellelement or + self.Strecke or + self.Strecke_Bremsweg or + self.Strecke_Punkt or + self.Technik_Standort or + self.Technischer_Bereich or + self.Technischer_Punkt or + self.TOP_Kante or + self.TOP_Knoten or + self.Trasse_Kante or + self.Trasse_Knoten or + self.Ueberhoehung or + self.Ueberhoehungslinie or + self.Uebertragungsweg or + self.Unterbringung or + self.Verkehrszeichen or + self.W_Kr_Anlage or + self.W_Kr_Gsp_Element or + self.W_Kr_Gsp_Komponente or + self.Weichenlaufkette or + self.Weichenlaufkette_Zuordnung or + self.ZBS_Schutzstrecke or + self.ZBS_Signal or + self.ZL or + self.ZL_DLP_Abschnitt or + self.ZL_DLP_Fstr or + self.ZL_Fstr or + self.ZL_Fstr_Anstoss or + self.ZL_Signalgruppe or + self.ZL_Signalgruppe_Zuordnung or + self.ZLV_Bus or + self.ZLV_Bus_Besondere_Anlage or + self.ZLV_Bus_US_Zuordnung or + self.ZN or + self.ZN_Akustik or + self.ZN_Anzeigefeld or + self.ZN_Fortschalt_Kriterium or + self.ZN_Telegramm_84_Zuordnung or + self.ZN_Telegramm_85_Zuordnung or + self.ZN_Unterstation or + self.ZN_ZBS or + self.ZUB_Bereichsgrenze or + self.ZUB_Streckeneigenschaft or + self.Zugeinwirkung + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='xmlns:nsPlanPro="http://www.plan-pro.org/modell/PlanPro/1.10.0" xmlns:nsBasisobjekte="http://www.plan-pro.org/modell/Basisobjekte/1.10.0" xmlns:nsATO="http://www.plan-pro.org/modell/ATO/1.10.0" xmlns:nsAnsteuerung_Element="http://www.plan-pro.org/modell/Ansteuerung_Element/1.10.0" xmlns:nsBahnsteig="http://www.plan-pro.org/modell/Bahnsteig/1.10.0" xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0" xmlns:nsBedienung="http://www.plan-pro.org/modell/Bedienung/1.10.0" xmlns:nsBlock="http://www.plan-pro.org/modell/Block/1.10.0" xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0" xmlns:nsFlankenschutz="http://www.plan-pro.org/modell/Flankenschutz/1.10.0" xmlns:nsOrtung="http://www.plan-pro.org/modell/Ortung/1.10.0" xmlns:nsFahrstrasse="http://www.plan-pro.org/modell/Fahrstrasse/1.10.0" xmlns:nsGeodaten="http://www.plan-pro.org/modell/Geodaten/1.10.0" xmlns:nsWeichen_und_Gleissperren="http://www.plan-pro.org/modell/Weichen_und_Gleissperren/1.10.0" xmlns:nsGleis="http://www.plan-pro.org/modell/Gleis/1.10.0" xmlns:nsMedien_und_Trassen="http://www.plan-pro.org/modell/Medien_und_Trassen/1.10.0" xmlns:nsNahbedienung="http://www.plan-pro.org/modell/Nahbedienung/1.10.0" xmlns:nsPZB="http://www.plan-pro.org/modell/PZB/1.10.0" xmlns:nsRegelzeichnung="http://www.plan-pro.org/modell/Regelzeichnung/1.10.0" xmlns:nsSchluesselabhaengigkeiten="http://www.plan-pro.org/modell/Schluesselabhaengigkeiten/1.10.0" xmlns:nsSignale="http://www.plan-pro.org/modell/Signale/1.10.0" xmlns:nsZuglenkung="http://www.plan-pro.org/modell/Zuglenkung/1.10.0" xmlns:nsZugnummernmeldeanlage="http://www.plan-pro.org/modell/Zugnummernmeldeanlage/1.10.0" ', name_='CContainer', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CContainer') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CContainer': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CContainer') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CContainer', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CContainer'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='xmlns:nsPlanPro="http://www.plan-pro.org/modell/PlanPro/1.10.0" xmlns:nsBasisobjekte="http://www.plan-pro.org/modell/Basisobjekte/1.10.0" xmlns:nsATO="http://www.plan-pro.org/modell/ATO/1.10.0" xmlns:nsAnsteuerung_Element="http://www.plan-pro.org/modell/Ansteuerung_Element/1.10.0" xmlns:nsBahnsteig="http://www.plan-pro.org/modell/Bahnsteig/1.10.0" xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0" xmlns:nsBedienung="http://www.plan-pro.org/modell/Bedienung/1.10.0" xmlns:nsBlock="http://www.plan-pro.org/modell/Block/1.10.0" xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0" xmlns:nsFlankenschutz="http://www.plan-pro.org/modell/Flankenschutz/1.10.0" xmlns:nsOrtung="http://www.plan-pro.org/modell/Ortung/1.10.0" xmlns:nsFahrstrasse="http://www.plan-pro.org/modell/Fahrstrasse/1.10.0" xmlns:nsGeodaten="http://www.plan-pro.org/modell/Geodaten/1.10.0" xmlns:nsWeichen_und_Gleissperren="http://www.plan-pro.org/modell/Weichen_und_Gleissperren/1.10.0" xmlns:nsGleis="http://www.plan-pro.org/modell/Gleis/1.10.0" xmlns:nsMedien_und_Trassen="http://www.plan-pro.org/modell/Medien_und_Trassen/1.10.0" xmlns:nsNahbedienung="http://www.plan-pro.org/modell/Nahbedienung/1.10.0" xmlns:nsPZB="http://www.plan-pro.org/modell/PZB/1.10.0" xmlns:nsRegelzeichnung="http://www.plan-pro.org/modell/Regelzeichnung/1.10.0" xmlns:nsSchluesselabhaengigkeiten="http://www.plan-pro.org/modell/Schluesselabhaengigkeiten/1.10.0" xmlns:nsSignale="http://www.plan-pro.org/modell/Signale/1.10.0" xmlns:nsZuglenkung="http://www.plan-pro.org/modell/Zuglenkung/1.10.0" xmlns:nsZugnummernmeldeanlage="http://www.plan-pro.org/modell/Zugnummernmeldeanlage/1.10.0" ', name_='CContainer', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for Anhang_ in self.Anhang: + namespaceprefix_ = self.Anhang_nsprefix_ + ':' if (UseCapturedNS_ and self.Anhang_nsprefix_) else '' + Anhang_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Anhang', pretty_print=pretty_print) + for ATO_Segment_Profile_ in self.ATO_Segment_Profile: + namespaceprefix_ = self.ATO_Segment_Profile_nsprefix_ + ':' if (UseCapturedNS_ and self.ATO_Segment_Profile_nsprefix_) else '' + ATO_Segment_Profile_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ATO_Segment_Profile', pretty_print=pretty_print) + for ATO_Timing_Point_ in self.ATO_Timing_Point: + namespaceprefix_ = self.ATO_Timing_Point_nsprefix_ + ':' if (UseCapturedNS_ and self.ATO_Timing_Point_nsprefix_) else '' + ATO_Timing_Point_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ATO_Timing_Point', pretty_print=pretty_print) + for ATO_TS_Instanz_ in self.ATO_TS_Instanz: + namespaceprefix_ = self.ATO_TS_Instanz_nsprefix_ + ':' if (UseCapturedNS_ and self.ATO_TS_Instanz_nsprefix_) else '' + ATO_TS_Instanz_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ATO_TS_Instanz', pretty_print=pretty_print) + for Aussenelementansteuerung_ in self.Aussenelementansteuerung: + namespaceprefix_ = self.Aussenelementansteuerung_nsprefix_ + ':' if (UseCapturedNS_ and self.Aussenelementansteuerung_nsprefix_) else '' + Aussenelementansteuerung_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Aussenelementansteuerung', pretty_print=pretty_print) + for Bahnsteig_Anlage_ in self.Bahnsteig_Anlage: + namespaceprefix_ = self.Bahnsteig_Anlage_nsprefix_ + ':' if (UseCapturedNS_ and self.Bahnsteig_Anlage_nsprefix_) else '' + Bahnsteig_Anlage_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Bahnsteig_Anlage', pretty_print=pretty_print) + for Bahnsteig_Dach_ in self.Bahnsteig_Dach: + namespaceprefix_ = self.Bahnsteig_Dach_nsprefix_ + ':' if (UseCapturedNS_ and self.Bahnsteig_Dach_nsprefix_) else '' + Bahnsteig_Dach_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Bahnsteig_Dach', pretty_print=pretty_print) + for Bahnsteig_Kante_ in self.Bahnsteig_Kante: + namespaceprefix_ = self.Bahnsteig_Kante_nsprefix_ + ':' if (UseCapturedNS_ and self.Bahnsteig_Kante_nsprefix_) else '' + Bahnsteig_Kante_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Bahnsteig_Kante', pretty_print=pretty_print) + for Bahnsteig_Zugang_ in self.Bahnsteig_Zugang: + namespaceprefix_ = self.Bahnsteig_Zugang_nsprefix_ + ':' if (UseCapturedNS_ and self.Bahnsteig_Zugang_nsprefix_) else '' + Bahnsteig_Zugang_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Bahnsteig_Zugang', pretty_print=pretty_print) + for Balise_ in self.Balise: + namespaceprefix_ = self.Balise_nsprefix_ + ':' if (UseCapturedNS_ and self.Balise_nsprefix_) else '' + Balise_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Balise', pretty_print=pretty_print) + for Bearbeitungsvermerk_ in self.Bearbeitungsvermerk: + namespaceprefix_ = self.Bearbeitungsvermerk_nsprefix_ + ':' if (UseCapturedNS_ and self.Bearbeitungsvermerk_nsprefix_) else '' + Bearbeitungsvermerk_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Bearbeitungsvermerk', pretty_print=pretty_print) + for Bedien_Anrueckabschnitt_ in self.Bedien_Anrueckabschnitt: + namespaceprefix_ = self.Bedien_Anrueckabschnitt_nsprefix_ + ':' if (UseCapturedNS_ and self.Bedien_Anrueckabschnitt_nsprefix_) else '' + Bedien_Anrueckabschnitt_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Bedien_Anrueckabschnitt', pretty_print=pretty_print) + for Bedien_Anzeige_Element_ in self.Bedien_Anzeige_Element: + namespaceprefix_ = self.Bedien_Anzeige_Element_nsprefix_ + ':' if (UseCapturedNS_ and self.Bedien_Anzeige_Element_nsprefix_) else '' + Bedien_Anzeige_Element_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Bedien_Anzeige_Element', pretty_print=pretty_print) + for Bedien_Bezirk_ in self.Bedien_Bezirk: + namespaceprefix_ = self.Bedien_Bezirk_nsprefix_ + ':' if (UseCapturedNS_ and self.Bedien_Bezirk_nsprefix_) else '' + Bedien_Bezirk_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Bedien_Bezirk', pretty_print=pretty_print) + for Bedien_Einrichtung_Oertlich_ in self.Bedien_Einrichtung_Oertlich: + namespaceprefix_ = self.Bedien_Einrichtung_Oertlich_nsprefix_ + ':' if (UseCapturedNS_ and self.Bedien_Einrichtung_Oertlich_nsprefix_) else '' + Bedien_Einrichtung_Oertlich_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Bedien_Einrichtung_Oertlich', pretty_print=pretty_print) + for Bedien_GBT_ in self.Bedien_GBT: + namespaceprefix_ = self.Bedien_GBT_nsprefix_ + ':' if (UseCapturedNS_ and self.Bedien_GBT_nsprefix_) else '' + Bedien_GBT_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Bedien_GBT', pretty_print=pretty_print) + for Bedien_Oberflaeche_ in self.Bedien_Oberflaeche: + namespaceprefix_ = self.Bedien_Oberflaeche_nsprefix_ + ':' if (UseCapturedNS_ and self.Bedien_Oberflaeche_nsprefix_) else '' + Bedien_Oberflaeche_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Bedien_Oberflaeche', pretty_print=pretty_print) + for Bedien_Oberflaeche_Bild_ in self.Bedien_Oberflaeche_Bild: + namespaceprefix_ = self.Bedien_Oberflaeche_Bild_nsprefix_ + ':' if (UseCapturedNS_ and self.Bedien_Oberflaeche_Bild_nsprefix_) else '' + Bedien_Oberflaeche_Bild_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Bedien_Oberflaeche_Bild', pretty_print=pretty_print) + for Bedien_Oertlichkeit_ in self.Bedien_Oertlichkeit: + namespaceprefix_ = self.Bedien_Oertlichkeit_nsprefix_ + ':' if (UseCapturedNS_ and self.Bedien_Oertlichkeit_nsprefix_) else '' + Bedien_Oertlichkeit_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Bedien_Oertlichkeit', pretty_print=pretty_print) + for Bedien_Platz_ in self.Bedien_Platz: + namespaceprefix_ = self.Bedien_Platz_nsprefix_ + ':' if (UseCapturedNS_ and self.Bedien_Platz_nsprefix_) else '' + Bedien_Platz_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Bedien_Platz', pretty_print=pretty_print) + for Bedien_Standort_ in self.Bedien_Standort: + namespaceprefix_ = self.Bedien_Standort_nsprefix_ + ':' if (UseCapturedNS_ and self.Bedien_Standort_nsprefix_) else '' + Bedien_Standort_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Bedien_Standort', pretty_print=pretty_print) + for Bedien_Zentrale_ in self.Bedien_Zentrale: + namespaceprefix_ = self.Bedien_Zentrale_nsprefix_ + ':' if (UseCapturedNS_ and self.Bedien_Zentrale_nsprefix_) else '' + Bedien_Zentrale_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Bedien_Zentrale', pretty_print=pretty_print) + for Binaerdaten_ in self.Binaerdaten: + namespaceprefix_ = self.Binaerdaten_nsprefix_ + ':' if (UseCapturedNS_ and self.Binaerdaten_nsprefix_) else '' + Binaerdaten_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Binaerdaten', pretty_print=pretty_print) + for Block_Anlage_ in self.Block_Anlage: + namespaceprefix_ = self.Block_Anlage_nsprefix_ + ':' if (UseCapturedNS_ and self.Block_Anlage_nsprefix_) else '' + Block_Anlage_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Block_Anlage', pretty_print=pretty_print) + for Block_Element_ in self.Block_Element: + namespaceprefix_ = self.Block_Element_nsprefix_ + ':' if (UseCapturedNS_ and self.Block_Element_nsprefix_) else '' + Block_Element_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Block_Element', pretty_print=pretty_print) + for Block_Strecke_ in self.Block_Strecke: + namespaceprefix_ = self.Block_Strecke_nsprefix_ + ':' if (UseCapturedNS_ and self.Block_Strecke_nsprefix_) else '' + Block_Strecke_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Block_Strecke', pretty_print=pretty_print) + for BUE_Anlage_ in self.BUE_Anlage: + namespaceprefix_ = self.BUE_Anlage_nsprefix_ + ':' if (UseCapturedNS_ and self.BUE_Anlage_nsprefix_) else '' + BUE_Anlage_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='BUE_Anlage', pretty_print=pretty_print) + for BUE_Anlage_Strasse_ in self.BUE_Anlage_Strasse: + namespaceprefix_ = self.BUE_Anlage_Strasse_nsprefix_ + ':' if (UseCapturedNS_ and self.BUE_Anlage_Strasse_nsprefix_) else '' + BUE_Anlage_Strasse_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='BUE_Anlage_Strasse', pretty_print=pretty_print) + for BUE_Anlage_V_ in self.BUE_Anlage_V: + namespaceprefix_ = self.BUE_Anlage_V_nsprefix_ + ':' if (UseCapturedNS_ and self.BUE_Anlage_V_nsprefix_) else '' + BUE_Anlage_V_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='BUE_Anlage_V', pretty_print=pretty_print) + for BUE_Ausschaltung_ in self.BUE_Ausschaltung: + namespaceprefix_ = self.BUE_Ausschaltung_nsprefix_ + ':' if (UseCapturedNS_ and self.BUE_Ausschaltung_nsprefix_) else '' + BUE_Ausschaltung_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='BUE_Ausschaltung', pretty_print=pretty_print) + for BUE_Bedien_Anzeige_Element_ in self.BUE_Bedien_Anzeige_Element: + namespaceprefix_ = self.BUE_Bedien_Anzeige_Element_nsprefix_ + ':' if (UseCapturedNS_ and self.BUE_Bedien_Anzeige_Element_nsprefix_) else '' + BUE_Bedien_Anzeige_Element_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='BUE_Bedien_Anzeige_Element', pretty_print=pretty_print) + for BUE_Deckendes_Signal_Zuordnung_ in self.BUE_Deckendes_Signal_Zuordnung: + namespaceprefix_ = self.BUE_Deckendes_Signal_Zuordnung_nsprefix_ + ':' if (UseCapturedNS_ and self.BUE_Deckendes_Signal_Zuordnung_nsprefix_) else '' + BUE_Deckendes_Signal_Zuordnung_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='BUE_Deckendes_Signal_Zuordnung', pretty_print=pretty_print) + for BUE_Einschaltung_ in self.BUE_Einschaltung: + namespaceprefix_ = self.BUE_Einschaltung_nsprefix_ + ':' if (UseCapturedNS_ and self.BUE_Einschaltung_nsprefix_) else '' + BUE_Einschaltung_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='BUE_Einschaltung', pretty_print=pretty_print) + for BUE_Einschaltung_Zuordnung_ in self.BUE_Einschaltung_Zuordnung: + namespaceprefix_ = self.BUE_Einschaltung_Zuordnung_nsprefix_ + ':' if (UseCapturedNS_ and self.BUE_Einschaltung_Zuordnung_nsprefix_) else '' + BUE_Einschaltung_Zuordnung_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='BUE_Einschaltung_Zuordnung', pretty_print=pretty_print) + for BUE_Gefahrraum_Eckpunkt_ in self.BUE_Gefahrraum_Eckpunkt: + namespaceprefix_ = self.BUE_Gefahrraum_Eckpunkt_nsprefix_ + ':' if (UseCapturedNS_ and self.BUE_Gefahrraum_Eckpunkt_nsprefix_) else '' + BUE_Gefahrraum_Eckpunkt_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='BUE_Gefahrraum_Eckpunkt', pretty_print=pretty_print) + for BUE_Gleisbezogener_Gefahrraum_ in self.BUE_Gleisbezogener_Gefahrraum: + namespaceprefix_ = self.BUE_Gleisbezogener_Gefahrraum_nsprefix_ + ':' if (UseCapturedNS_ and self.BUE_Gleisbezogener_Gefahrraum_nsprefix_) else '' + BUE_Gleisbezogener_Gefahrraum_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='BUE_Gleisbezogener_Gefahrraum', pretty_print=pretty_print) + for BUE_Kante_ in self.BUE_Kante: + namespaceprefix_ = self.BUE_Kante_nsprefix_ + ':' if (UseCapturedNS_ and self.BUE_Kante_nsprefix_) else '' + BUE_Kante_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='BUE_Kante', pretty_print=pretty_print) + for BUE_Kreuzungsplan_ in self.BUE_Kreuzungsplan: + namespaceprefix_ = self.BUE_Kreuzungsplan_nsprefix_ + ':' if (UseCapturedNS_ and self.BUE_Kreuzungsplan_nsprefix_) else '' + BUE_Kreuzungsplan_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='BUE_Kreuzungsplan', pretty_print=pretty_print) + for BUE_Schnittstelle_ in self.BUE_Schnittstelle: + namespaceprefix_ = self.BUE_Schnittstelle_nsprefix_ + ':' if (UseCapturedNS_ and self.BUE_Schnittstelle_nsprefix_) else '' + BUE_Schnittstelle_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='BUE_Schnittstelle', pretty_print=pretty_print) + for BUE_Spezifisches_Signal_ in self.BUE_Spezifisches_Signal: + namespaceprefix_ = self.BUE_Spezifisches_Signal_nsprefix_ + ':' if (UseCapturedNS_ and self.BUE_Spezifisches_Signal_nsprefix_) else '' + BUE_Spezifisches_Signal_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='BUE_Spezifisches_Signal', pretty_print=pretty_print) + for BUE_WS_Fstr_Zuordnung_ in self.BUE_WS_Fstr_Zuordnung: + namespaceprefix_ = self.BUE_WS_Fstr_Zuordnung_nsprefix_ + ':' if (UseCapturedNS_ and self.BUE_WS_Fstr_Zuordnung_nsprefix_) else '' + BUE_WS_Fstr_Zuordnung_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='BUE_WS_Fstr_Zuordnung', pretty_print=pretty_print) + for Datenpunkt_ in self.Datenpunkt: + namespaceprefix_ = self.Datenpunkt_nsprefix_ + ':' if (UseCapturedNS_ and self.Datenpunkt_nsprefix_) else '' + Datenpunkt_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Datenpunkt', pretty_print=pretty_print) + for Datenpunkt_Link_ in self.Datenpunkt_Link: + namespaceprefix_ = self.Datenpunkt_Link_nsprefix_ + ':' if (UseCapturedNS_ and self.Datenpunkt_Link_nsprefix_) else '' + Datenpunkt_Link_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Datenpunkt_Link', pretty_print=pretty_print) + for ESTW_Zentraleinheit_ in self.ESTW_Zentraleinheit: + namespaceprefix_ = self.ESTW_Zentraleinheit_nsprefix_ + ':' if (UseCapturedNS_ and self.ESTW_Zentraleinheit_nsprefix_) else '' + ESTW_Zentraleinheit_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ESTW_Zentraleinheit', pretty_print=pretty_print) + for ETCS_Kante_ in self.ETCS_Kante: + namespaceprefix_ = self.ETCS_Kante_nsprefix_ + ':' if (UseCapturedNS_ and self.ETCS_Kante_nsprefix_) else '' + ETCS_Kante_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ETCS_Kante', pretty_print=pretty_print) + for ETCS_Knoten_ in self.ETCS_Knoten: + namespaceprefix_ = self.ETCS_Knoten_nsprefix_ + ':' if (UseCapturedNS_ and self.ETCS_Knoten_nsprefix_) else '' + ETCS_Knoten_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ETCS_Knoten', pretty_print=pretty_print) + for ETCS_Richtungsanzeige_ in self.ETCS_Richtungsanzeige: + namespaceprefix_ = self.ETCS_Richtungsanzeige_nsprefix_ + ':' if (UseCapturedNS_ and self.ETCS_Richtungsanzeige_nsprefix_) else '' + ETCS_Richtungsanzeige_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ETCS_Richtungsanzeige', pretty_print=pretty_print) + for ETCS_Signal_ in self.ETCS_Signal: + namespaceprefix_ = self.ETCS_Signal_nsprefix_ + ':' if (UseCapturedNS_ and self.ETCS_Signal_nsprefix_) else '' + ETCS_Signal_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ETCS_Signal', pretty_print=pretty_print) + for ETCS_W_Kr_ in self.ETCS_W_Kr: + namespaceprefix_ = self.ETCS_W_Kr_nsprefix_ + ':' if (UseCapturedNS_ and self.ETCS_W_Kr_nsprefix_) else '' + ETCS_W_Kr_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ETCS_W_Kr', pretty_print=pretty_print) + for EV_Modul_ in self.EV_Modul: + namespaceprefix_ = self.EV_Modul_nsprefix_ + ':' if (UseCapturedNS_ and self.EV_Modul_nsprefix_) else '' + EV_Modul_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='EV_Modul', pretty_print=pretty_print) + for Fachtelegramm_ in self.Fachtelegramm: + namespaceprefix_ = self.Fachtelegramm_nsprefix_ + ':' if (UseCapturedNS_ and self.Fachtelegramm_nsprefix_) else '' + Fachtelegramm_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Fachtelegramm', pretty_print=pretty_print) + for Fla_Freimelde_Zuordnung_ in self.Fla_Freimelde_Zuordnung: + namespaceprefix_ = self.Fla_Freimelde_Zuordnung_nsprefix_ + ':' if (UseCapturedNS_ and self.Fla_Freimelde_Zuordnung_nsprefix_) else '' + Fla_Freimelde_Zuordnung_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Fla_Freimelde_Zuordnung', pretty_print=pretty_print) + for Fla_Schutz_ in self.Fla_Schutz: + namespaceprefix_ = self.Fla_Schutz_nsprefix_ + ':' if (UseCapturedNS_ and self.Fla_Schutz_nsprefix_) else '' + Fla_Schutz_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Fla_Schutz', pretty_print=pretty_print) + for Fla_Zwieschutz_ in self.Fla_Zwieschutz: + namespaceprefix_ = self.Fla_Zwieschutz_nsprefix_ + ':' if (UseCapturedNS_ and self.Fla_Zwieschutz_nsprefix_) else '' + Fla_Zwieschutz_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Fla_Zwieschutz', pretty_print=pretty_print) + for FMA_Anlage_ in self.FMA_Anlage: + namespaceprefix_ = self.FMA_Anlage_nsprefix_ + ':' if (UseCapturedNS_ and self.FMA_Anlage_nsprefix_) else '' + FMA_Anlage_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='FMA_Anlage', pretty_print=pretty_print) + for FMA_Element_ in self.FMA_Element: + namespaceprefix_ = self.FMA_Element_nsprefix_ + ':' if (UseCapturedNS_ and self.FMA_Element_nsprefix_) else '' + FMA_Element_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='FMA_Element', pretty_print=pretty_print) + for FMA_Komponente_ in self.FMA_Komponente: + namespaceprefix_ = self.FMA_Komponente_nsprefix_ + ':' if (UseCapturedNS_ and self.FMA_Komponente_nsprefix_) else '' + FMA_Komponente_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='FMA_Komponente', pretty_print=pretty_print) + for Fstr_Abhaengigkeit_ in self.Fstr_Abhaengigkeit: + namespaceprefix_ = self.Fstr_Abhaengigkeit_nsprefix_ + ':' if (UseCapturedNS_ and self.Fstr_Abhaengigkeit_nsprefix_) else '' + Fstr_Abhaengigkeit_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Fstr_Abhaengigkeit', pretty_print=pretty_print) + for Fstr_Aneinander_ in self.Fstr_Aneinander: + namespaceprefix_ = self.Fstr_Aneinander_nsprefix_ + ':' if (UseCapturedNS_ and self.Fstr_Aneinander_nsprefix_) else '' + Fstr_Aneinander_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Fstr_Aneinander', pretty_print=pretty_print) + for Fstr_Aneinander_Zuordnung_ in self.Fstr_Aneinander_Zuordnung: + namespaceprefix_ = self.Fstr_Aneinander_Zuordnung_nsprefix_ + ':' if (UseCapturedNS_ and self.Fstr_Aneinander_Zuordnung_nsprefix_) else '' + Fstr_Aneinander_Zuordnung_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Fstr_Aneinander_Zuordnung', pretty_print=pretty_print) + for Fstr_DWeg_ in self.Fstr_DWeg: + namespaceprefix_ = self.Fstr_DWeg_nsprefix_ + ':' if (UseCapturedNS_ and self.Fstr_DWeg_nsprefix_) else '' + Fstr_DWeg_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Fstr_DWeg', pretty_print=pretty_print) + for Fstr_DWeg_W_Kr_ in self.Fstr_DWeg_W_Kr: + namespaceprefix_ = self.Fstr_DWeg_W_Kr_nsprefix_ + ':' if (UseCapturedNS_ and self.Fstr_DWeg_W_Kr_nsprefix_) else '' + Fstr_DWeg_W_Kr_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Fstr_DWeg_W_Kr', pretty_print=pretty_print) + for Fstr_Fahrweg_ in self.Fstr_Fahrweg: + namespaceprefix_ = self.Fstr_Fahrweg_nsprefix_ + ':' if (UseCapturedNS_ and self.Fstr_Fahrweg_nsprefix_) else '' + Fstr_Fahrweg_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Fstr_Fahrweg', pretty_print=pretty_print) + for Fstr_Nichthaltfall_ in self.Fstr_Nichthaltfall: + namespaceprefix_ = self.Fstr_Nichthaltfall_nsprefix_ + ':' if (UseCapturedNS_ and self.Fstr_Nichthaltfall_nsprefix_) else '' + Fstr_Nichthaltfall_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Fstr_Nichthaltfall', pretty_print=pretty_print) + for Fstr_Rangier_Fla_Zuordnung_ in self.Fstr_Rangier_Fla_Zuordnung: + namespaceprefix_ = self.Fstr_Rangier_Fla_Zuordnung_nsprefix_ + ':' if (UseCapturedNS_ and self.Fstr_Rangier_Fla_Zuordnung_nsprefix_) else '' + Fstr_Rangier_Fla_Zuordnung_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Fstr_Rangier_Fla_Zuordnung', pretty_print=pretty_print) + for Fstr_Signalisierung_ in self.Fstr_Signalisierung: + namespaceprefix_ = self.Fstr_Signalisierung_nsprefix_ + ':' if (UseCapturedNS_ and self.Fstr_Signalisierung_nsprefix_) else '' + Fstr_Signalisierung_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Fstr_Signalisierung', pretty_print=pretty_print) + for Fstr_Umfahrpunkt_ in self.Fstr_Umfahrpunkt: + namespaceprefix_ = self.Fstr_Umfahrpunkt_nsprefix_ + ':' if (UseCapturedNS_ and self.Fstr_Umfahrpunkt_nsprefix_) else '' + Fstr_Umfahrpunkt_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Fstr_Umfahrpunkt', pretty_print=pretty_print) + for Fstr_Zug_Rangier_ in self.Fstr_Zug_Rangier: + namespaceprefix_ = self.Fstr_Zug_Rangier_nsprefix_ + ':' if (UseCapturedNS_ and self.Fstr_Zug_Rangier_nsprefix_) else '' + Fstr_Zug_Rangier_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Fstr_Zug_Rangier', pretty_print=pretty_print) + for FT_Anschaltbedingung_ in self.FT_Anschaltbedingung: + namespaceprefix_ = self.FT_Anschaltbedingung_nsprefix_ + ':' if (UseCapturedNS_ and self.FT_Anschaltbedingung_nsprefix_) else '' + FT_Anschaltbedingung_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='FT_Anschaltbedingung', pretty_print=pretty_print) + for FT_Fahrweg_Teil_ in self.FT_Fahrweg_Teil: + namespaceprefix_ = self.FT_Fahrweg_Teil_nsprefix_ + ':' if (UseCapturedNS_ and self.FT_Fahrweg_Teil_nsprefix_) else '' + FT_Fahrweg_Teil_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='FT_Fahrweg_Teil', pretty_print=pretty_print) + for GEO_Kante_ in self.GEO_Kante: + namespaceprefix_ = self.GEO_Kante_nsprefix_ + ':' if (UseCapturedNS_ and self.GEO_Kante_nsprefix_) else '' + GEO_Kante_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='GEO_Kante', pretty_print=pretty_print) + for GEO_Knoten_ in self.GEO_Knoten: + namespaceprefix_ = self.GEO_Knoten_nsprefix_ + ':' if (UseCapturedNS_ and self.GEO_Knoten_nsprefix_) else '' + GEO_Knoten_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='GEO_Knoten', pretty_print=pretty_print) + for GEO_Punkt_ in self.GEO_Punkt: + namespaceprefix_ = self.GEO_Punkt_nsprefix_ + ':' if (UseCapturedNS_ and self.GEO_Punkt_nsprefix_) else '' + GEO_Punkt_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='GEO_Punkt', pretty_print=pretty_print) + for Geschwindigkeitsprofil_ in self.Geschwindigkeitsprofil: + namespaceprefix_ = self.Geschwindigkeitsprofil_nsprefix_ + ':' if (UseCapturedNS_ and self.Geschwindigkeitsprofil_nsprefix_) else '' + Geschwindigkeitsprofil_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Geschwindigkeitsprofil', pretty_print=pretty_print) + for GFR_Anlage_ in self.GFR_Anlage: + namespaceprefix_ = self.GFR_Anlage_nsprefix_ + ':' if (UseCapturedNS_ and self.GFR_Anlage_nsprefix_) else '' + GFR_Anlage_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='GFR_Anlage', pretty_print=pretty_print) + for GFR_Element_ in self.GFR_Element: + namespaceprefix_ = self.GFR_Element_nsprefix_ + ':' if (UseCapturedNS_ and self.GFR_Element_nsprefix_) else '' + GFR_Element_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='GFR_Element', pretty_print=pretty_print) + for GFR_Tripelspiegel_ in self.GFR_Tripelspiegel: + namespaceprefix_ = self.GFR_Tripelspiegel_nsprefix_ + ':' if (UseCapturedNS_ and self.GFR_Tripelspiegel_nsprefix_) else '' + GFR_Tripelspiegel_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='GFR_Tripelspiegel', pretty_print=pretty_print) + for Gleis_Abschluss_ in self.Gleis_Abschluss: + namespaceprefix_ = self.Gleis_Abschluss_nsprefix_ + ':' if (UseCapturedNS_ and self.Gleis_Abschluss_nsprefix_) else '' + Gleis_Abschluss_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Gleis_Abschluss', pretty_print=pretty_print) + for Gleis_Abschnitt_ in self.Gleis_Abschnitt: + namespaceprefix_ = self.Gleis_Abschnitt_nsprefix_ + ':' if (UseCapturedNS_ and self.Gleis_Abschnitt_nsprefix_) else '' + Gleis_Abschnitt_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Gleis_Abschnitt', pretty_print=pretty_print) + for Gleis_Art_ in self.Gleis_Art: + namespaceprefix_ = self.Gleis_Art_nsprefix_ + ':' if (UseCapturedNS_ and self.Gleis_Art_nsprefix_) else '' + Gleis_Art_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Gleis_Art', pretty_print=pretty_print) + for Gleis_Baubereich_ in self.Gleis_Baubereich: + namespaceprefix_ = self.Gleis_Baubereich_nsprefix_ + ':' if (UseCapturedNS_ and self.Gleis_Baubereich_nsprefix_) else '' + Gleis_Baubereich_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Gleis_Baubereich', pretty_print=pretty_print) + for Gleis_Bezeichnung_ in self.Gleis_Bezeichnung: + namespaceprefix_ = self.Gleis_Bezeichnung_nsprefix_ + ':' if (UseCapturedNS_ and self.Gleis_Bezeichnung_nsprefix_) else '' + Gleis_Bezeichnung_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Gleis_Bezeichnung', pretty_print=pretty_print) + for Gleis_Fahrbahn_ in self.Gleis_Fahrbahn: + namespaceprefix_ = self.Gleis_Fahrbahn_nsprefix_ + ':' if (UseCapturedNS_ and self.Gleis_Fahrbahn_nsprefix_) else '' + Gleis_Fahrbahn_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Gleis_Fahrbahn', pretty_print=pretty_print) + for Gleis_Lichtraum_ in self.Gleis_Lichtraum: + namespaceprefix_ = self.Gleis_Lichtraum_nsprefix_ + ':' if (UseCapturedNS_ and self.Gleis_Lichtraum_nsprefix_) else '' + Gleis_Lichtraum_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Gleis_Lichtraum', pretty_print=pretty_print) + for Gleis_Schaltgruppe_ in self.Gleis_Schaltgruppe: + namespaceprefix_ = self.Gleis_Schaltgruppe_nsprefix_ + ':' if (UseCapturedNS_ and self.Gleis_Schaltgruppe_nsprefix_) else '' + Gleis_Schaltgruppe_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Gleis_Schaltgruppe', pretty_print=pretty_print) + for Hoehenlinie_ in self.Hoehenlinie: + namespaceprefix_ = self.Hoehenlinie_nsprefix_ + ':' if (UseCapturedNS_ and self.Hoehenlinie_nsprefix_) else '' + Hoehenlinie_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Hoehenlinie', pretty_print=pretty_print) + for Hoehenpunkt_ in self.Hoehenpunkt: + namespaceprefix_ = self.Hoehenpunkt_nsprefix_ + ':' if (UseCapturedNS_ and self.Hoehenpunkt_nsprefix_) else '' + Hoehenpunkt_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Hoehenpunkt', pretty_print=pretty_print) + for Kabel_ in self.Kabel: + namespaceprefix_ = self.Kabel_nsprefix_ + ':' if (UseCapturedNS_ and self.Kabel_nsprefix_) else '' + Kabel_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Kabel', pretty_print=pretty_print) + for Kabel_Verteilpunkt_ in self.Kabel_Verteilpunkt: + namespaceprefix_ = self.Kabel_Verteilpunkt_nsprefix_ + ':' if (UseCapturedNS_ and self.Kabel_Verteilpunkt_nsprefix_) else '' + Kabel_Verteilpunkt_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Kabel_Verteilpunkt', pretty_print=pretty_print) + for LEU_Anlage_ in self.LEU_Anlage: + namespaceprefix_ = self.LEU_Anlage_nsprefix_ + ':' if (UseCapturedNS_ and self.LEU_Anlage_nsprefix_) else '' + LEU_Anlage_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='LEU_Anlage', pretty_print=pretty_print) + for LEU_Modul_ in self.LEU_Modul: + namespaceprefix_ = self.LEU_Modul_nsprefix_ + ':' if (UseCapturedNS_ and self.LEU_Modul_nsprefix_) else '' + LEU_Modul_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='LEU_Modul', pretty_print=pretty_print) + for LEU_Schaltkasten_ in self.LEU_Schaltkasten: + namespaceprefix_ = self.LEU_Schaltkasten_nsprefix_ + ':' if (UseCapturedNS_ and self.LEU_Schaltkasten_nsprefix_) else '' + LEU_Schaltkasten_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='LEU_Schaltkasten', pretty_print=pretty_print) + for Lieferobjekt_ in self.Lieferobjekt: + namespaceprefix_ = self.Lieferobjekt_nsprefix_ + ':' if (UseCapturedNS_ and self.Lieferobjekt_nsprefix_) else '' + Lieferobjekt_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Lieferobjekt', pretty_print=pretty_print) + for Luft_Telegramm_ in self.Luft_Telegramm: + namespaceprefix_ = self.Luft_Telegramm_nsprefix_ + ':' if (UseCapturedNS_ and self.Luft_Telegramm_nsprefix_) else '' + Luft_Telegramm_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Luft_Telegramm', pretty_print=pretty_print) + for Markanter_Punkt_ in self.Markanter_Punkt: + namespaceprefix_ = self.Markanter_Punkt_nsprefix_ + ':' if (UseCapturedNS_ and self.Markanter_Punkt_nsprefix_) else '' + Markanter_Punkt_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Markanter_Punkt', pretty_print=pretty_print) + for NB_ in self.NB: + namespaceprefix_ = self.NB_nsprefix_ + ':' if (UseCapturedNS_ and self.NB_nsprefix_) else '' + NB_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='NB', pretty_print=pretty_print) + for NB_Bedien_Anzeige_Element_ in self.NB_Bedien_Anzeige_Element: + namespaceprefix_ = self.NB_Bedien_Anzeige_Element_nsprefix_ + ':' if (UseCapturedNS_ and self.NB_Bedien_Anzeige_Element_nsprefix_) else '' + NB_Bedien_Anzeige_Element_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='NB_Bedien_Anzeige_Element', pretty_print=pretty_print) + for NB_Zone_ in self.NB_Zone: + namespaceprefix_ = self.NB_Zone_nsprefix_ + ':' if (UseCapturedNS_ and self.NB_Zone_nsprefix_) else '' + NB_Zone_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='NB_Zone', pretty_print=pretty_print) + for NB_Zone_Element_ in self.NB_Zone_Element: + namespaceprefix_ = self.NB_Zone_Element_nsprefix_ + ':' if (UseCapturedNS_ and self.NB_Zone_Element_nsprefix_) else '' + NB_Zone_Element_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='NB_Zone_Element', pretty_print=pretty_print) + for NB_Zone_Grenze_ in self.NB_Zone_Grenze: + namespaceprefix_ = self.NB_Zone_Grenze_nsprefix_ + ':' if (UseCapturedNS_ and self.NB_Zone_Grenze_nsprefix_) else '' + NB_Zone_Grenze_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='NB_Zone_Grenze', pretty_print=pretty_print) + for Oertlichkeit_ in self.Oertlichkeit: + namespaceprefix_ = self.Oertlichkeit_nsprefix_ + ':' if (UseCapturedNS_ and self.Oertlichkeit_nsprefix_) else '' + Oertlichkeit_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Oertlichkeit', pretty_print=pretty_print) + for Prog_Datei_Gruppe_ in self.Prog_Datei_Gruppe: + namespaceprefix_ = self.Prog_Datei_Gruppe_nsprefix_ + ':' if (UseCapturedNS_ and self.Prog_Datei_Gruppe_nsprefix_) else '' + Prog_Datei_Gruppe_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Prog_Datei_Gruppe', pretty_print=pretty_print) + for Proxy_Objekt_ in self.Proxy_Objekt: + namespaceprefix_ = self.Proxy_Objekt_nsprefix_ + ':' if (UseCapturedNS_ and self.Proxy_Objekt_nsprefix_) else '' + Proxy_Objekt_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Proxy_Objekt', pretty_print=pretty_print) + for PZB_Element_ in self.PZB_Element: + namespaceprefix_ = self.PZB_Element_nsprefix_ + ':' if (UseCapturedNS_ and self.PZB_Element_nsprefix_) else '' + PZB_Element_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='PZB_Element', pretty_print=pretty_print) + for PZB_Element_Zuordnung_ in self.PZB_Element_Zuordnung: + namespaceprefix_ = self.PZB_Element_Zuordnung_nsprefix_ + ':' if (UseCapturedNS_ and self.PZB_Element_Zuordnung_nsprefix_) else '' + PZB_Element_Zuordnung_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='PZB_Element_Zuordnung', pretty_print=pretty_print) + for PZB_Zuordnung_Signal_ in self.PZB_Zuordnung_Signal: + namespaceprefix_ = self.PZB_Zuordnung_Signal_nsprefix_ + ':' if (UseCapturedNS_ and self.PZB_Zuordnung_Signal_nsprefix_) else '' + PZB_Zuordnung_Signal_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='PZB_Zuordnung_Signal', pretty_print=pretty_print) + for RBC_ in self.RBC: + namespaceprefix_ = self.RBC_nsprefix_ + ':' if (UseCapturedNS_ and self.RBC_nsprefix_) else '' + RBC_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='RBC', pretty_print=pretty_print) + for Regelzeichnung_ in self.Regelzeichnung: + namespaceprefix_ = self.Regelzeichnung_nsprefix_ + ':' if (UseCapturedNS_ and self.Regelzeichnung_nsprefix_) else '' + Regelzeichnung_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Regelzeichnung', pretty_print=pretty_print) + for Regelzeichnung_Parameter_ in self.Regelzeichnung_Parameter: + namespaceprefix_ = self.Regelzeichnung_Parameter_nsprefix_ + ':' if (UseCapturedNS_ and self.Regelzeichnung_Parameter_nsprefix_) else '' + Regelzeichnung_Parameter_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Regelzeichnung_Parameter', pretty_print=pretty_print) + for Schaltmittel_Fstr_Zuordnung_ in self.Schaltmittel_Fstr_Zuordnung: + namespaceprefix_ = self.Schaltmittel_Fstr_Zuordnung_nsprefix_ + ':' if (UseCapturedNS_ and self.Schaltmittel_Fstr_Zuordnung_nsprefix_) else '' + Schaltmittel_Fstr_Zuordnung_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Schaltmittel_Fstr_Zuordnung', pretty_print=pretty_print) + for Schaltmittel_Zuordnung_ in self.Schaltmittel_Zuordnung: + namespaceprefix_ = self.Schaltmittel_Zuordnung_nsprefix_ + ':' if (UseCapturedNS_ and self.Schaltmittel_Zuordnung_nsprefix_) else '' + Schaltmittel_Zuordnung_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Schaltmittel_Zuordnung', pretty_print=pretty_print) + for Schloss_ in self.Schloss: + namespaceprefix_ = self.Schloss_nsprefix_ + ':' if (UseCapturedNS_ and self.Schloss_nsprefix_) else '' + Schloss_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Schloss', pretty_print=pretty_print) + for Schlosskombination_ in self.Schlosskombination: + namespaceprefix_ = self.Schlosskombination_nsprefix_ + ':' if (UseCapturedNS_ and self.Schlosskombination_nsprefix_) else '' + Schlosskombination_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Schlosskombination', pretty_print=pretty_print) + for Schluessel_ in self.Schluessel: + namespaceprefix_ = self.Schluessel_nsprefix_ + ':' if (UseCapturedNS_ and self.Schluessel_nsprefix_) else '' + Schluessel_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Schluessel', pretty_print=pretty_print) + for Schluesselsperre_ in self.Schluesselsperre: + namespaceprefix_ = self.Schluesselsperre_nsprefix_ + ':' if (UseCapturedNS_ and self.Schluesselsperre_nsprefix_) else '' + Schluesselsperre_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Schluesselsperre', pretty_print=pretty_print) + for Schrankenantrieb_ in self.Schrankenantrieb: + namespaceprefix_ = self.Schrankenantrieb_nsprefix_ + ':' if (UseCapturedNS_ and self.Schrankenantrieb_nsprefix_) else '' + Schrankenantrieb_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Schrankenantrieb', pretty_print=pretty_print) + for Signal_ in self.Signal: + namespaceprefix_ = self.Signal_nsprefix_ + ':' if (UseCapturedNS_ and self.Signal_nsprefix_) else '' + Signal_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Signal', pretty_print=pretty_print) + for Signal_Befestigung_ in self.Signal_Befestigung: + namespaceprefix_ = self.Signal_Befestigung_nsprefix_ + ':' if (UseCapturedNS_ and self.Signal_Befestigung_nsprefix_) else '' + Signal_Befestigung_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Signal_Befestigung', pretty_print=pretty_print) + for Signal_Fank_Zuordnung_ in self.Signal_Fank_Zuordnung: + namespaceprefix_ = self.Signal_Fank_Zuordnung_nsprefix_ + ':' if (UseCapturedNS_ and self.Signal_Fank_Zuordnung_nsprefix_) else '' + Signal_Fank_Zuordnung_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Signal_Fank_Zuordnung', pretty_print=pretty_print) + for Signal_Rahmen_ in self.Signal_Rahmen: + namespaceprefix_ = self.Signal_Rahmen_nsprefix_ + ':' if (UseCapturedNS_ and self.Signal_Rahmen_nsprefix_) else '' + Signal_Rahmen_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Signal_Rahmen', pretty_print=pretty_print) + for Signal_Signalbegriff_ in self.Signal_Signalbegriff: + namespaceprefix_ = self.Signal_Signalbegriff_nsprefix_ + ':' if (UseCapturedNS_ and self.Signal_Signalbegriff_nsprefix_) else '' + Signal_Signalbegriff_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Signal_Signalbegriff', pretty_print=pretty_print) + for Sonstiger_Punkt_ in self.Sonstiger_Punkt: + namespaceprefix_ = self.Sonstiger_Punkt_nsprefix_ + ':' if (UseCapturedNS_ and self.Sonstiger_Punkt_nsprefix_) else '' + Sonstiger_Punkt_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Sonstiger_Punkt', pretty_print=pretty_print) + for Stell_Bereich_ in self.Stell_Bereich: + namespaceprefix_ = self.Stell_Bereich_nsprefix_ + ':' if (UseCapturedNS_ and self.Stell_Bereich_nsprefix_) else '' + Stell_Bereich_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Stell_Bereich', pretty_print=pretty_print) + for Stellelement_ in self.Stellelement: + namespaceprefix_ = self.Stellelement_nsprefix_ + ':' if (UseCapturedNS_ and self.Stellelement_nsprefix_) else '' + Stellelement_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Stellelement', pretty_print=pretty_print) + for Strecke_ in self.Strecke: + namespaceprefix_ = self.Strecke_nsprefix_ + ':' if (UseCapturedNS_ and self.Strecke_nsprefix_) else '' + Strecke_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Strecke', pretty_print=pretty_print) + for Strecke_Bremsweg_ in self.Strecke_Bremsweg: + namespaceprefix_ = self.Strecke_Bremsweg_nsprefix_ + ':' if (UseCapturedNS_ and self.Strecke_Bremsweg_nsprefix_) else '' + Strecke_Bremsweg_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Strecke_Bremsweg', pretty_print=pretty_print) + for Strecke_Punkt_ in self.Strecke_Punkt: + namespaceprefix_ = self.Strecke_Punkt_nsprefix_ + ':' if (UseCapturedNS_ and self.Strecke_Punkt_nsprefix_) else '' + Strecke_Punkt_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Strecke_Punkt', pretty_print=pretty_print) + for Technik_Standort_ in self.Technik_Standort: + namespaceprefix_ = self.Technik_Standort_nsprefix_ + ':' if (UseCapturedNS_ and self.Technik_Standort_nsprefix_) else '' + Technik_Standort_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Technik_Standort', pretty_print=pretty_print) + for Technischer_Bereich_ in self.Technischer_Bereich: + namespaceprefix_ = self.Technischer_Bereich_nsprefix_ + ':' if (UseCapturedNS_ and self.Technischer_Bereich_nsprefix_) else '' + Technischer_Bereich_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Technischer_Bereich', pretty_print=pretty_print) + for Technischer_Punkt_ in self.Technischer_Punkt: + namespaceprefix_ = self.Technischer_Punkt_nsprefix_ + ':' if (UseCapturedNS_ and self.Technischer_Punkt_nsprefix_) else '' + Technischer_Punkt_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Technischer_Punkt', pretty_print=pretty_print) + for TOP_Kante_ in self.TOP_Kante: + namespaceprefix_ = self.TOP_Kante_nsprefix_ + ':' if (UseCapturedNS_ and self.TOP_Kante_nsprefix_) else '' + TOP_Kante_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='TOP_Kante', pretty_print=pretty_print) + for TOP_Knoten_ in self.TOP_Knoten: + namespaceprefix_ = self.TOP_Knoten_nsprefix_ + ':' if (UseCapturedNS_ and self.TOP_Knoten_nsprefix_) else '' + TOP_Knoten_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='TOP_Knoten', pretty_print=pretty_print) + for Trasse_Kante_ in self.Trasse_Kante: + namespaceprefix_ = self.Trasse_Kante_nsprefix_ + ':' if (UseCapturedNS_ and self.Trasse_Kante_nsprefix_) else '' + Trasse_Kante_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Trasse_Kante', pretty_print=pretty_print) + for Trasse_Knoten_ in self.Trasse_Knoten: + namespaceprefix_ = self.Trasse_Knoten_nsprefix_ + ':' if (UseCapturedNS_ and self.Trasse_Knoten_nsprefix_) else '' + Trasse_Knoten_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Trasse_Knoten', pretty_print=pretty_print) + for Ueberhoehung_ in self.Ueberhoehung: + namespaceprefix_ = self.Ueberhoehung_nsprefix_ + ':' if (UseCapturedNS_ and self.Ueberhoehung_nsprefix_) else '' + Ueberhoehung_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Ueberhoehung', pretty_print=pretty_print) + for Ueberhoehungslinie_ in self.Ueberhoehungslinie: + namespaceprefix_ = self.Ueberhoehungslinie_nsprefix_ + ':' if (UseCapturedNS_ and self.Ueberhoehungslinie_nsprefix_) else '' + Ueberhoehungslinie_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Ueberhoehungslinie', pretty_print=pretty_print) + for Uebertragungsweg_ in self.Uebertragungsweg: + namespaceprefix_ = self.Uebertragungsweg_nsprefix_ + ':' if (UseCapturedNS_ and self.Uebertragungsweg_nsprefix_) else '' + Uebertragungsweg_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Uebertragungsweg', pretty_print=pretty_print) + for Unterbringung_ in self.Unterbringung: + namespaceprefix_ = self.Unterbringung_nsprefix_ + ':' if (UseCapturedNS_ and self.Unterbringung_nsprefix_) else '' + Unterbringung_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Unterbringung', pretty_print=pretty_print) + for Verkehrszeichen_ in self.Verkehrszeichen: + namespaceprefix_ = self.Verkehrszeichen_nsprefix_ + ':' if (UseCapturedNS_ and self.Verkehrszeichen_nsprefix_) else '' + Verkehrszeichen_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Verkehrszeichen', pretty_print=pretty_print) + for W_Kr_Anlage_ in self.W_Kr_Anlage: + namespaceprefix_ = self.W_Kr_Anlage_nsprefix_ + ':' if (UseCapturedNS_ and self.W_Kr_Anlage_nsprefix_) else '' + W_Kr_Anlage_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='W_Kr_Anlage', pretty_print=pretty_print) + for W_Kr_Gsp_Element_ in self.W_Kr_Gsp_Element: + namespaceprefix_ = self.W_Kr_Gsp_Element_nsprefix_ + ':' if (UseCapturedNS_ and self.W_Kr_Gsp_Element_nsprefix_) else '' + W_Kr_Gsp_Element_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='W_Kr_Gsp_Element', pretty_print=pretty_print) + for W_Kr_Gsp_Komponente_ in self.W_Kr_Gsp_Komponente: + namespaceprefix_ = self.W_Kr_Gsp_Komponente_nsprefix_ + ':' if (UseCapturedNS_ and self.W_Kr_Gsp_Komponente_nsprefix_) else '' + W_Kr_Gsp_Komponente_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='W_Kr_Gsp_Komponente', pretty_print=pretty_print) + for Weichenlaufkette_ in self.Weichenlaufkette: + namespaceprefix_ = self.Weichenlaufkette_nsprefix_ + ':' if (UseCapturedNS_ and self.Weichenlaufkette_nsprefix_) else '' + Weichenlaufkette_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Weichenlaufkette', pretty_print=pretty_print) + for Weichenlaufkette_Zuordnung_ in self.Weichenlaufkette_Zuordnung: + namespaceprefix_ = self.Weichenlaufkette_Zuordnung_nsprefix_ + ':' if (UseCapturedNS_ and self.Weichenlaufkette_Zuordnung_nsprefix_) else '' + Weichenlaufkette_Zuordnung_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Weichenlaufkette_Zuordnung', pretty_print=pretty_print) + for ZBS_Schutzstrecke_ in self.ZBS_Schutzstrecke: + namespaceprefix_ = self.ZBS_Schutzstrecke_nsprefix_ + ':' if (UseCapturedNS_ and self.ZBS_Schutzstrecke_nsprefix_) else '' + ZBS_Schutzstrecke_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ZBS_Schutzstrecke', pretty_print=pretty_print) + for ZBS_Signal_ in self.ZBS_Signal: + namespaceprefix_ = self.ZBS_Signal_nsprefix_ + ':' if (UseCapturedNS_ and self.ZBS_Signal_nsprefix_) else '' + ZBS_Signal_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ZBS_Signal', pretty_print=pretty_print) + for ZL_ in self.ZL: + namespaceprefix_ = self.ZL_nsprefix_ + ':' if (UseCapturedNS_ and self.ZL_nsprefix_) else '' + ZL_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ZL', pretty_print=pretty_print) + for ZL_DLP_Abschnitt_ in self.ZL_DLP_Abschnitt: + namespaceprefix_ = self.ZL_DLP_Abschnitt_nsprefix_ + ':' if (UseCapturedNS_ and self.ZL_DLP_Abschnitt_nsprefix_) else '' + ZL_DLP_Abschnitt_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ZL_DLP_Abschnitt', pretty_print=pretty_print) + for ZL_DLP_Fstr_ in self.ZL_DLP_Fstr: + namespaceprefix_ = self.ZL_DLP_Fstr_nsprefix_ + ':' if (UseCapturedNS_ and self.ZL_DLP_Fstr_nsprefix_) else '' + ZL_DLP_Fstr_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ZL_DLP_Fstr', pretty_print=pretty_print) + for ZL_Fstr_ in self.ZL_Fstr: + namespaceprefix_ = self.ZL_Fstr_nsprefix_ + ':' if (UseCapturedNS_ and self.ZL_Fstr_nsprefix_) else '' + ZL_Fstr_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ZL_Fstr', pretty_print=pretty_print) + for ZL_Fstr_Anstoss_ in self.ZL_Fstr_Anstoss: + namespaceprefix_ = self.ZL_Fstr_Anstoss_nsprefix_ + ':' if (UseCapturedNS_ and self.ZL_Fstr_Anstoss_nsprefix_) else '' + ZL_Fstr_Anstoss_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ZL_Fstr_Anstoss', pretty_print=pretty_print) + for ZL_Signalgruppe_ in self.ZL_Signalgruppe: + namespaceprefix_ = self.ZL_Signalgruppe_nsprefix_ + ':' if (UseCapturedNS_ and self.ZL_Signalgruppe_nsprefix_) else '' + ZL_Signalgruppe_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ZL_Signalgruppe', pretty_print=pretty_print) + for ZL_Signalgruppe_Zuordnung_ in self.ZL_Signalgruppe_Zuordnung: + namespaceprefix_ = self.ZL_Signalgruppe_Zuordnung_nsprefix_ + ':' if (UseCapturedNS_ and self.ZL_Signalgruppe_Zuordnung_nsprefix_) else '' + ZL_Signalgruppe_Zuordnung_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ZL_Signalgruppe_Zuordnung', pretty_print=pretty_print) + for ZLV_Bus_ in self.ZLV_Bus: + namespaceprefix_ = self.ZLV_Bus_nsprefix_ + ':' if (UseCapturedNS_ and self.ZLV_Bus_nsprefix_) else '' + ZLV_Bus_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ZLV_Bus', pretty_print=pretty_print) + for ZLV_Bus_Besondere_Anlage_ in self.ZLV_Bus_Besondere_Anlage: + namespaceprefix_ = self.ZLV_Bus_Besondere_Anlage_nsprefix_ + ':' if (UseCapturedNS_ and self.ZLV_Bus_Besondere_Anlage_nsprefix_) else '' + ZLV_Bus_Besondere_Anlage_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ZLV_Bus_Besondere_Anlage', pretty_print=pretty_print) + for ZLV_Bus_US_Zuordnung_ in self.ZLV_Bus_US_Zuordnung: + namespaceprefix_ = self.ZLV_Bus_US_Zuordnung_nsprefix_ + ':' if (UseCapturedNS_ and self.ZLV_Bus_US_Zuordnung_nsprefix_) else '' + ZLV_Bus_US_Zuordnung_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ZLV_Bus_US_Zuordnung', pretty_print=pretty_print) + for ZN_ in self.ZN: + namespaceprefix_ = self.ZN_nsprefix_ + ':' if (UseCapturedNS_ and self.ZN_nsprefix_) else '' + ZN_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ZN', pretty_print=pretty_print) + for ZN_Akustik_ in self.ZN_Akustik: + namespaceprefix_ = self.ZN_Akustik_nsprefix_ + ':' if (UseCapturedNS_ and self.ZN_Akustik_nsprefix_) else '' + ZN_Akustik_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ZN_Akustik', pretty_print=pretty_print) + for ZN_Anzeigefeld_ in self.ZN_Anzeigefeld: + namespaceprefix_ = self.ZN_Anzeigefeld_nsprefix_ + ':' if (UseCapturedNS_ and self.ZN_Anzeigefeld_nsprefix_) else '' + ZN_Anzeigefeld_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ZN_Anzeigefeld', pretty_print=pretty_print) + for ZN_Fortschalt_Kriterium_ in self.ZN_Fortschalt_Kriterium: + namespaceprefix_ = self.ZN_Fortschalt_Kriterium_nsprefix_ + ':' if (UseCapturedNS_ and self.ZN_Fortschalt_Kriterium_nsprefix_) else '' + ZN_Fortschalt_Kriterium_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ZN_Fortschalt_Kriterium', pretty_print=pretty_print) + for ZN_Telegramm_84_Zuordnung_ in self.ZN_Telegramm_84_Zuordnung: + namespaceprefix_ = self.ZN_Telegramm_84_Zuordnung_nsprefix_ + ':' if (UseCapturedNS_ and self.ZN_Telegramm_84_Zuordnung_nsprefix_) else '' + ZN_Telegramm_84_Zuordnung_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ZN_Telegramm_84_Zuordnung', pretty_print=pretty_print) + for ZN_Telegramm_85_Zuordnung_ in self.ZN_Telegramm_85_Zuordnung: + namespaceprefix_ = self.ZN_Telegramm_85_Zuordnung_nsprefix_ + ':' if (UseCapturedNS_ and self.ZN_Telegramm_85_Zuordnung_nsprefix_) else '' + ZN_Telegramm_85_Zuordnung_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ZN_Telegramm_85_Zuordnung', pretty_print=pretty_print) + for ZN_Unterstation_ in self.ZN_Unterstation: + namespaceprefix_ = self.ZN_Unterstation_nsprefix_ + ':' if (UseCapturedNS_ and self.ZN_Unterstation_nsprefix_) else '' + ZN_Unterstation_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ZN_Unterstation', pretty_print=pretty_print) + for ZN_ZBS_ in self.ZN_ZBS: + namespaceprefix_ = self.ZN_ZBS_nsprefix_ + ':' if (UseCapturedNS_ and self.ZN_ZBS_nsprefix_) else '' + ZN_ZBS_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ZN_ZBS', pretty_print=pretty_print) + for ZUB_Bereichsgrenze_ in self.ZUB_Bereichsgrenze: + namespaceprefix_ = self.ZUB_Bereichsgrenze_nsprefix_ + ':' if (UseCapturedNS_ and self.ZUB_Bereichsgrenze_nsprefix_) else '' + ZUB_Bereichsgrenze_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ZUB_Bereichsgrenze', pretty_print=pretty_print) + for ZUB_Streckeneigenschaft_ in self.ZUB_Streckeneigenschaft: + namespaceprefix_ = self.ZUB_Streckeneigenschaft_nsprefix_ + ':' if (UseCapturedNS_ and self.ZUB_Streckeneigenschaft_nsprefix_) else '' + ZUB_Streckeneigenschaft_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ZUB_Streckeneigenschaft', pretty_print=pretty_print) + for Zugeinwirkung_ in self.Zugeinwirkung: + namespaceprefix_ = self.Zugeinwirkung_nsprefix_ + ':' if (UseCapturedNS_ and self.Zugeinwirkung_nsprefix_) else '' + Zugeinwirkung_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Zugeinwirkung', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Anhang': + obj_ = CAnhang.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Anhang.append(obj_) + obj_.original_tagname_ = 'Anhang' + elif nodeName_ == 'ATO_Segment_Profile': + obj_ = CATO_Segment_Profile.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ATO_Segment_Profile.append(obj_) + obj_.original_tagname_ = 'ATO_Segment_Profile' + elif nodeName_ == 'ATO_Timing_Point': + obj_ = CATO_Timing_Point.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ATO_Timing_Point.append(obj_) + obj_.original_tagname_ = 'ATO_Timing_Point' + elif nodeName_ == 'ATO_TS_Instanz': + obj_ = CATO_TS_Instanz.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ATO_TS_Instanz.append(obj_) + obj_.original_tagname_ = 'ATO_TS_Instanz' + elif nodeName_ == 'Aussenelementansteuerung': + obj_ = CAussenelementansteuerung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Aussenelementansteuerung.append(obj_) + obj_.original_tagname_ = 'Aussenelementansteuerung' + elif nodeName_ == 'Bahnsteig_Anlage': + obj_ = CBahnsteig_Anlage.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Bahnsteig_Anlage.append(obj_) + obj_.original_tagname_ = 'Bahnsteig_Anlage' + elif nodeName_ == 'Bahnsteig_Dach': + obj_ = CBahnsteig_Dach.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Bahnsteig_Dach.append(obj_) + obj_.original_tagname_ = 'Bahnsteig_Dach' + elif nodeName_ == 'Bahnsteig_Kante': + obj_ = CBahnsteig_Kante.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Bahnsteig_Kante.append(obj_) + obj_.original_tagname_ = 'Bahnsteig_Kante' + elif nodeName_ == 'Bahnsteig_Zugang': + obj_ = CBahnsteig_Zugang.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Bahnsteig_Zugang.append(obj_) + obj_.original_tagname_ = 'Bahnsteig_Zugang' + elif nodeName_ == 'Balise': + obj_ = CBalise.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Balise.append(obj_) + obj_.original_tagname_ = 'Balise' + elif nodeName_ == 'Bearbeitungsvermerk': + obj_ = CBearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Bearbeitungsvermerk.append(obj_) + obj_.original_tagname_ = 'Bearbeitungsvermerk' + elif nodeName_ == 'Bedien_Anrueckabschnitt': + obj_ = CBedien_Anrueckabschnitt.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Bedien_Anrueckabschnitt.append(obj_) + obj_.original_tagname_ = 'Bedien_Anrueckabschnitt' + elif nodeName_ == 'Bedien_Anzeige_Element': + obj_ = CBedien_Anzeige_Element.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Bedien_Anzeige_Element.append(obj_) + obj_.original_tagname_ = 'Bedien_Anzeige_Element' + elif nodeName_ == 'Bedien_Bezirk': + obj_ = CBedien_Bezirk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Bedien_Bezirk.append(obj_) + obj_.original_tagname_ = 'Bedien_Bezirk' + elif nodeName_ == 'Bedien_Einrichtung_Oertlich': + obj_ = CBedien_Einrichtung_Oertlich.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Bedien_Einrichtung_Oertlich.append(obj_) + obj_.original_tagname_ = 'Bedien_Einrichtung_Oertlich' + elif nodeName_ == 'Bedien_GBT': + obj_ = CBedien_GBT.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Bedien_GBT.append(obj_) + obj_.original_tagname_ = 'Bedien_GBT' + elif nodeName_ == 'Bedien_Oberflaeche': + obj_ = CBedien_Oberflaeche.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Bedien_Oberflaeche.append(obj_) + obj_.original_tagname_ = 'Bedien_Oberflaeche' + elif nodeName_ == 'Bedien_Oberflaeche_Bild': + obj_ = CBedien_Oberflaeche_Bild.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Bedien_Oberflaeche_Bild.append(obj_) + obj_.original_tagname_ = 'Bedien_Oberflaeche_Bild' + elif nodeName_ == 'Bedien_Oertlichkeit': + obj_ = CBedien_Oertlichkeit.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Bedien_Oertlichkeit.append(obj_) + obj_.original_tagname_ = 'Bedien_Oertlichkeit' + elif nodeName_ == 'Bedien_Platz': + obj_ = CBedien_Platz.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Bedien_Platz.append(obj_) + obj_.original_tagname_ = 'Bedien_Platz' + elif nodeName_ == 'Bedien_Standort': + obj_ = CBedien_Standort.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Bedien_Standort.append(obj_) + obj_.original_tagname_ = 'Bedien_Standort' + elif nodeName_ == 'Bedien_Zentrale': + obj_ = CBedien_Zentrale.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Bedien_Zentrale.append(obj_) + obj_.original_tagname_ = 'Bedien_Zentrale' + elif nodeName_ == 'Binaerdaten': + obj_ = CBinaerdaten.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Binaerdaten.append(obj_) + obj_.original_tagname_ = 'Binaerdaten' + elif nodeName_ == 'Block_Anlage': + obj_ = CBlock_Anlage.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Block_Anlage.append(obj_) + obj_.original_tagname_ = 'Block_Anlage' + elif nodeName_ == 'Block_Element': + obj_ = CBlock_Element.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Block_Element.append(obj_) + obj_.original_tagname_ = 'Block_Element' + elif nodeName_ == 'Block_Strecke': + obj_ = CBlock_Strecke.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Block_Strecke.append(obj_) + obj_.original_tagname_ = 'Block_Strecke' + elif nodeName_ == 'BUE_Anlage': + obj_ = CBUE_Anlage.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.BUE_Anlage.append(obj_) + obj_.original_tagname_ = 'BUE_Anlage' + elif nodeName_ == 'BUE_Anlage_Strasse': + obj_ = CBUE_Anlage_Strasse.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.BUE_Anlage_Strasse.append(obj_) + obj_.original_tagname_ = 'BUE_Anlage_Strasse' + elif nodeName_ == 'BUE_Anlage_V': + obj_ = CBUE_Anlage_V.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.BUE_Anlage_V.append(obj_) + obj_.original_tagname_ = 'BUE_Anlage_V' + elif nodeName_ == 'BUE_Ausschaltung': + obj_ = CBUE_Ausschaltung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.BUE_Ausschaltung.append(obj_) + obj_.original_tagname_ = 'BUE_Ausschaltung' + elif nodeName_ == 'BUE_Bedien_Anzeige_Element': + obj_ = CBUE_Bedien_Anzeige_Element.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.BUE_Bedien_Anzeige_Element.append(obj_) + obj_.original_tagname_ = 'BUE_Bedien_Anzeige_Element' + elif nodeName_ == 'BUE_Deckendes_Signal_Zuordnung': + obj_ = CBUE_Deckendes_Signal_Zuordnung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.BUE_Deckendes_Signal_Zuordnung.append(obj_) + obj_.original_tagname_ = 'BUE_Deckendes_Signal_Zuordnung' + elif nodeName_ == 'BUE_Einschaltung': + obj_ = CBUE_Einschaltung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.BUE_Einschaltung.append(obj_) + obj_.original_tagname_ = 'BUE_Einschaltung' + elif nodeName_ == 'BUE_Einschaltung_Zuordnung': + obj_ = CBUE_Einschaltung_Zuordnung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.BUE_Einschaltung_Zuordnung.append(obj_) + obj_.original_tagname_ = 'BUE_Einschaltung_Zuordnung' + elif nodeName_ == 'BUE_Gefahrraum_Eckpunkt': + obj_ = CBUE_Gefahrraum_Eckpunkt.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.BUE_Gefahrraum_Eckpunkt.append(obj_) + obj_.original_tagname_ = 'BUE_Gefahrraum_Eckpunkt' + elif nodeName_ == 'BUE_Gleisbezogener_Gefahrraum': + obj_ = CBUE_Gleisbezogener_Gefahrraum.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.BUE_Gleisbezogener_Gefahrraum.append(obj_) + obj_.original_tagname_ = 'BUE_Gleisbezogener_Gefahrraum' + elif nodeName_ == 'BUE_Kante': + obj_ = CBUE_Kante.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.BUE_Kante.append(obj_) + obj_.original_tagname_ = 'BUE_Kante' + elif nodeName_ == 'BUE_Kreuzungsplan': + obj_ = CBUE_Kreuzungsplan.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.BUE_Kreuzungsplan.append(obj_) + obj_.original_tagname_ = 'BUE_Kreuzungsplan' + elif nodeName_ == 'BUE_Schnittstelle': + obj_ = CBUE_Schnittstelle.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.BUE_Schnittstelle.append(obj_) + obj_.original_tagname_ = 'BUE_Schnittstelle' + elif nodeName_ == 'BUE_Spezifisches_Signal': + obj_ = CBUE_Spezifisches_Signal.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.BUE_Spezifisches_Signal.append(obj_) + obj_.original_tagname_ = 'BUE_Spezifisches_Signal' + elif nodeName_ == 'BUE_WS_Fstr_Zuordnung': + obj_ = CBUE_WS_Fstr_Zuordnung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.BUE_WS_Fstr_Zuordnung.append(obj_) + obj_.original_tagname_ = 'BUE_WS_Fstr_Zuordnung' + elif nodeName_ == 'Datenpunkt': + obj_ = CDatenpunkt.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Datenpunkt.append(obj_) + obj_.original_tagname_ = 'Datenpunkt' + elif nodeName_ == 'Datenpunkt_Link': + obj_ = CDatenpunkt_Link.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Datenpunkt_Link.append(obj_) + obj_.original_tagname_ = 'Datenpunkt_Link' + elif nodeName_ == 'ESTW_Zentraleinheit': + obj_ = CESTW_Zentraleinheit.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ESTW_Zentraleinheit.append(obj_) + obj_.original_tagname_ = 'ESTW_Zentraleinheit' + elif nodeName_ == 'ETCS_Kante': + obj_ = CETCS_Kante.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ETCS_Kante.append(obj_) + obj_.original_tagname_ = 'ETCS_Kante' + elif nodeName_ == 'ETCS_Knoten': + obj_ = CETCS_Knoten.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ETCS_Knoten.append(obj_) + obj_.original_tagname_ = 'ETCS_Knoten' + elif nodeName_ == 'ETCS_Richtungsanzeige': + obj_ = CETCS_Richtungsanzeige.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ETCS_Richtungsanzeige.append(obj_) + obj_.original_tagname_ = 'ETCS_Richtungsanzeige' + elif nodeName_ == 'ETCS_Signal': + obj_ = CETCS_Signal.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ETCS_Signal.append(obj_) + obj_.original_tagname_ = 'ETCS_Signal' + elif nodeName_ == 'ETCS_W_Kr': + obj_ = CETCS_W_Kr.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ETCS_W_Kr.append(obj_) + obj_.original_tagname_ = 'ETCS_W_Kr' + elif nodeName_ == 'EV_Modul': + obj_ = CEV_Modul.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.EV_Modul.append(obj_) + obj_.original_tagname_ = 'EV_Modul' + elif nodeName_ == 'Fachtelegramm': + obj_ = CFachtelegramm.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Fachtelegramm.append(obj_) + obj_.original_tagname_ = 'Fachtelegramm' + elif nodeName_ == 'Fla_Freimelde_Zuordnung': + obj_ = CFla_Freimelde_Zuordnung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Fla_Freimelde_Zuordnung.append(obj_) + obj_.original_tagname_ = 'Fla_Freimelde_Zuordnung' + elif nodeName_ == 'Fla_Schutz': + obj_ = CFla_Schutz.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Fla_Schutz.append(obj_) + obj_.original_tagname_ = 'Fla_Schutz' + elif nodeName_ == 'Fla_Zwieschutz': + obj_ = CFla_Zwieschutz.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Fla_Zwieschutz.append(obj_) + obj_.original_tagname_ = 'Fla_Zwieschutz' + elif nodeName_ == 'FMA_Anlage': + obj_ = CFMA_Anlage.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.FMA_Anlage.append(obj_) + obj_.original_tagname_ = 'FMA_Anlage' + elif nodeName_ == 'FMA_Element': + obj_ = CFMA_Element.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.FMA_Element.append(obj_) + obj_.original_tagname_ = 'FMA_Element' + elif nodeName_ == 'FMA_Komponente': + obj_ = CFMA_Komponente.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.FMA_Komponente.append(obj_) + obj_.original_tagname_ = 'FMA_Komponente' + elif nodeName_ == 'Fstr_Abhaengigkeit': + obj_ = CFstr_Abhaengigkeit.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Fstr_Abhaengigkeit.append(obj_) + obj_.original_tagname_ = 'Fstr_Abhaengigkeit' + elif nodeName_ == 'Fstr_Aneinander': + obj_ = CFstr_Aneinander.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Fstr_Aneinander.append(obj_) + obj_.original_tagname_ = 'Fstr_Aneinander' + elif nodeName_ == 'Fstr_Aneinander_Zuordnung': + obj_ = CFstr_Aneinander_Zuordnung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Fstr_Aneinander_Zuordnung.append(obj_) + obj_.original_tagname_ = 'Fstr_Aneinander_Zuordnung' + elif nodeName_ == 'Fstr_DWeg': + obj_ = CFstr_DWeg.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Fstr_DWeg.append(obj_) + obj_.original_tagname_ = 'Fstr_DWeg' + elif nodeName_ == 'Fstr_DWeg_W_Kr': + obj_ = CFstr_DWeg_W_Kr.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Fstr_DWeg_W_Kr.append(obj_) + obj_.original_tagname_ = 'Fstr_DWeg_W_Kr' + elif nodeName_ == 'Fstr_Fahrweg': + obj_ = CFstr_Fahrweg.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Fstr_Fahrweg.append(obj_) + obj_.original_tagname_ = 'Fstr_Fahrweg' + elif nodeName_ == 'Fstr_Nichthaltfall': + obj_ = CFstr_Nichthaltfall.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Fstr_Nichthaltfall.append(obj_) + obj_.original_tagname_ = 'Fstr_Nichthaltfall' + elif nodeName_ == 'Fstr_Rangier_Fla_Zuordnung': + obj_ = CFstr_Rangier_Fla_Zuordnung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Fstr_Rangier_Fla_Zuordnung.append(obj_) + obj_.original_tagname_ = 'Fstr_Rangier_Fla_Zuordnung' + elif nodeName_ == 'Fstr_Signalisierung': + obj_ = CFstr_Signalisierung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Fstr_Signalisierung.append(obj_) + obj_.original_tagname_ = 'Fstr_Signalisierung' + elif nodeName_ == 'Fstr_Umfahrpunkt': + obj_ = CFstr_Umfahrpunkt.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Fstr_Umfahrpunkt.append(obj_) + obj_.original_tagname_ = 'Fstr_Umfahrpunkt' + elif nodeName_ == 'Fstr_Zug_Rangier': + obj_ = CFstr_Zug_Rangier.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Fstr_Zug_Rangier.append(obj_) + obj_.original_tagname_ = 'Fstr_Zug_Rangier' + elif nodeName_ == 'FT_Anschaltbedingung': + obj_ = CFT_Anschaltbedingung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.FT_Anschaltbedingung.append(obj_) + obj_.original_tagname_ = 'FT_Anschaltbedingung' + elif nodeName_ == 'FT_Fahrweg_Teil': + obj_ = CFT_Fahrweg_Teil.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.FT_Fahrweg_Teil.append(obj_) + obj_.original_tagname_ = 'FT_Fahrweg_Teil' + elif nodeName_ == 'GEO_Kante': + obj_ = CGEO_Kante.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.GEO_Kante.append(obj_) + obj_.original_tagname_ = 'GEO_Kante' + elif nodeName_ == 'GEO_Knoten': + obj_ = CGEO_Knoten.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.GEO_Knoten.append(obj_) + obj_.original_tagname_ = 'GEO_Knoten' + elif nodeName_ == 'GEO_Punkt': + obj_ = CGEO_Punkt.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.GEO_Punkt.append(obj_) + obj_.original_tagname_ = 'GEO_Punkt' + elif nodeName_ == 'Geschwindigkeitsprofil': + obj_ = CGeschwindigkeitsprofil.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Geschwindigkeitsprofil.append(obj_) + obj_.original_tagname_ = 'Geschwindigkeitsprofil' + elif nodeName_ == 'GFR_Anlage': + obj_ = CGFR_Anlage.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.GFR_Anlage.append(obj_) + obj_.original_tagname_ = 'GFR_Anlage' + elif nodeName_ == 'GFR_Element': + obj_ = CGFR_Element.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.GFR_Element.append(obj_) + obj_.original_tagname_ = 'GFR_Element' + elif nodeName_ == 'GFR_Tripelspiegel': + obj_ = CGFR_Tripelspiegel.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.GFR_Tripelspiegel.append(obj_) + obj_.original_tagname_ = 'GFR_Tripelspiegel' + elif nodeName_ == 'Gleis_Abschluss': + obj_ = CGleis_Abschluss.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Gleis_Abschluss.append(obj_) + obj_.original_tagname_ = 'Gleis_Abschluss' + elif nodeName_ == 'Gleis_Abschnitt': + obj_ = CGleis_Abschnitt.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Gleis_Abschnitt.append(obj_) + obj_.original_tagname_ = 'Gleis_Abschnitt' + elif nodeName_ == 'Gleis_Art': + obj_ = CGleis_Art.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Gleis_Art.append(obj_) + obj_.original_tagname_ = 'Gleis_Art' + elif nodeName_ == 'Gleis_Baubereich': + obj_ = CGleis_Baubereich.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Gleis_Baubereich.append(obj_) + obj_.original_tagname_ = 'Gleis_Baubereich' + elif nodeName_ == 'Gleis_Bezeichnung': + obj_ = CGleis_Bezeichnung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Gleis_Bezeichnung.append(obj_) + obj_.original_tagname_ = 'Gleis_Bezeichnung' + elif nodeName_ == 'Gleis_Fahrbahn': + obj_ = CGleis_Fahrbahn.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Gleis_Fahrbahn.append(obj_) + obj_.original_tagname_ = 'Gleis_Fahrbahn' + elif nodeName_ == 'Gleis_Lichtraum': + obj_ = CGleis_Lichtraum.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Gleis_Lichtraum.append(obj_) + obj_.original_tagname_ = 'Gleis_Lichtraum' + elif nodeName_ == 'Gleis_Schaltgruppe': + obj_ = CGleis_Schaltgruppe.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Gleis_Schaltgruppe.append(obj_) + obj_.original_tagname_ = 'Gleis_Schaltgruppe' + elif nodeName_ == 'Hoehenlinie': + obj_ = CHoehenlinie.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Hoehenlinie.append(obj_) + obj_.original_tagname_ = 'Hoehenlinie' + elif nodeName_ == 'Hoehenpunkt': + obj_ = CHoehenpunkt.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Hoehenpunkt.append(obj_) + obj_.original_tagname_ = 'Hoehenpunkt' + elif nodeName_ == 'Kabel': + obj_ = CKabel.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Kabel.append(obj_) + obj_.original_tagname_ = 'Kabel' + elif nodeName_ == 'Kabel_Verteilpunkt': + obj_ = CKabel_Verteilpunkt.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Kabel_Verteilpunkt.append(obj_) + obj_.original_tagname_ = 'Kabel_Verteilpunkt' + elif nodeName_ == 'LEU_Anlage': + obj_ = CLEU_Anlage.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.LEU_Anlage.append(obj_) + obj_.original_tagname_ = 'LEU_Anlage' + elif nodeName_ == 'LEU_Modul': + obj_ = CLEU_Modul.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.LEU_Modul.append(obj_) + obj_.original_tagname_ = 'LEU_Modul' + elif nodeName_ == 'LEU_Schaltkasten': + obj_ = CLEU_Schaltkasten.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.LEU_Schaltkasten.append(obj_) + obj_.original_tagname_ = 'LEU_Schaltkasten' + elif nodeName_ == 'Lieferobjekt': + obj_ = CLieferobjekt.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Lieferobjekt.append(obj_) + obj_.original_tagname_ = 'Lieferobjekt' + elif nodeName_ == 'Luft_Telegramm': + obj_ = CLuft_Telegramm.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Luft_Telegramm.append(obj_) + obj_.original_tagname_ = 'Luft_Telegramm' + elif nodeName_ == 'Markanter_Punkt': + obj_ = CMarkanter_Punkt.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Markanter_Punkt.append(obj_) + obj_.original_tagname_ = 'Markanter_Punkt' + elif nodeName_ == 'NB': + obj_ = CNB.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.NB.append(obj_) + obj_.original_tagname_ = 'NB' + elif nodeName_ == 'NB_Bedien_Anzeige_Element': + obj_ = CNB_Bedien_Anzeige_Element.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.NB_Bedien_Anzeige_Element.append(obj_) + obj_.original_tagname_ = 'NB_Bedien_Anzeige_Element' + elif nodeName_ == 'NB_Zone': + obj_ = CNB_Zone.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.NB_Zone.append(obj_) + obj_.original_tagname_ = 'NB_Zone' + elif nodeName_ == 'NB_Zone_Element': + obj_ = CNB_Zone_Element.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.NB_Zone_Element.append(obj_) + obj_.original_tagname_ = 'NB_Zone_Element' + elif nodeName_ == 'NB_Zone_Grenze': + obj_ = CNB_Zone_Grenze.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.NB_Zone_Grenze.append(obj_) + obj_.original_tagname_ = 'NB_Zone_Grenze' + elif nodeName_ == 'Oertlichkeit': + obj_ = COertlichkeit.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Oertlichkeit.append(obj_) + obj_.original_tagname_ = 'Oertlichkeit' + elif nodeName_ == 'Prog_Datei_Gruppe': + obj_ = CProg_Datei_Gruppe.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Prog_Datei_Gruppe.append(obj_) + obj_.original_tagname_ = 'Prog_Datei_Gruppe' + elif nodeName_ == 'Proxy_Objekt': + obj_ = CProxy_Objekt.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Proxy_Objekt.append(obj_) + obj_.original_tagname_ = 'Proxy_Objekt' + elif nodeName_ == 'PZB_Element': + obj_ = CPZB_Element.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.PZB_Element.append(obj_) + obj_.original_tagname_ = 'PZB_Element' + elif nodeName_ == 'PZB_Element_Zuordnung': + obj_ = CPZB_Element_Zuordnung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.PZB_Element_Zuordnung.append(obj_) + obj_.original_tagname_ = 'PZB_Element_Zuordnung' + elif nodeName_ == 'PZB_Zuordnung_Signal': + obj_ = CPZB_Zuordnung_Signal.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.PZB_Zuordnung_Signal.append(obj_) + obj_.original_tagname_ = 'PZB_Zuordnung_Signal' + elif nodeName_ == 'RBC': + obj_ = CRBC.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.RBC.append(obj_) + obj_.original_tagname_ = 'RBC' + elif nodeName_ == 'Regelzeichnung': + obj_ = CRegelzeichnung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Regelzeichnung.append(obj_) + obj_.original_tagname_ = 'Regelzeichnung' + elif nodeName_ == 'Regelzeichnung_Parameter': + obj_ = CRegelzeichnung_Parameter.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Regelzeichnung_Parameter.append(obj_) + obj_.original_tagname_ = 'Regelzeichnung_Parameter' + elif nodeName_ == 'Schaltmittel_Fstr_Zuordnung': + obj_ = CSchaltmittel_Fstr_Zuordnung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Schaltmittel_Fstr_Zuordnung.append(obj_) + obj_.original_tagname_ = 'Schaltmittel_Fstr_Zuordnung' + elif nodeName_ == 'Schaltmittel_Zuordnung': + obj_ = CSchaltmittel_Zuordnung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Schaltmittel_Zuordnung.append(obj_) + obj_.original_tagname_ = 'Schaltmittel_Zuordnung' + elif nodeName_ == 'Schloss': + obj_ = CSchloss.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Schloss.append(obj_) + obj_.original_tagname_ = 'Schloss' + elif nodeName_ == 'Schlosskombination': + obj_ = CSchlosskombination.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Schlosskombination.append(obj_) + obj_.original_tagname_ = 'Schlosskombination' + elif nodeName_ == 'Schluessel': + obj_ = CSchluessel.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Schluessel.append(obj_) + obj_.original_tagname_ = 'Schluessel' + elif nodeName_ == 'Schluesselsperre': + obj_ = CSchluesselsperre.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Schluesselsperre.append(obj_) + obj_.original_tagname_ = 'Schluesselsperre' + elif nodeName_ == 'Schrankenantrieb': + obj_ = CSchrankenantrieb.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Schrankenantrieb.append(obj_) + obj_.original_tagname_ = 'Schrankenantrieb' + elif nodeName_ == 'Signal': + obj_ = CSignal.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Signal.append(obj_) + obj_.original_tagname_ = 'Signal' + elif nodeName_ == 'Signal_Befestigung': + obj_ = CSignal_Befestigung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Signal_Befestigung.append(obj_) + obj_.original_tagname_ = 'Signal_Befestigung' + elif nodeName_ == 'Signal_Fank_Zuordnung': + obj_ = CSignal_Fank_Zuordnung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Signal_Fank_Zuordnung.append(obj_) + obj_.original_tagname_ = 'Signal_Fank_Zuordnung' + elif nodeName_ == 'Signal_Rahmen': + obj_ = CSignal_Rahmen.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Signal_Rahmen.append(obj_) + obj_.original_tagname_ = 'Signal_Rahmen' + elif nodeName_ == 'Signal_Signalbegriff': + obj_ = CSignal_Signalbegriff.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Signal_Signalbegriff.append(obj_) + obj_.original_tagname_ = 'Signal_Signalbegriff' + elif nodeName_ == 'Sonstiger_Punkt': + obj_ = CSonstiger_Punkt.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Sonstiger_Punkt.append(obj_) + obj_.original_tagname_ = 'Sonstiger_Punkt' + elif nodeName_ == 'Stell_Bereich': + obj_ = CStell_Bereich.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Stell_Bereich.append(obj_) + obj_.original_tagname_ = 'Stell_Bereich' + elif nodeName_ == 'Stellelement': + obj_ = CStellelement.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Stellelement.append(obj_) + obj_.original_tagname_ = 'Stellelement' + elif nodeName_ == 'Strecke': + obj_ = CStrecke.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Strecke.append(obj_) + obj_.original_tagname_ = 'Strecke' + elif nodeName_ == 'Strecke_Bremsweg': + obj_ = CStrecke_Bremsweg.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Strecke_Bremsweg.append(obj_) + obj_.original_tagname_ = 'Strecke_Bremsweg' + elif nodeName_ == 'Strecke_Punkt': + obj_ = CStrecke_Punkt.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Strecke_Punkt.append(obj_) + obj_.original_tagname_ = 'Strecke_Punkt' + elif nodeName_ == 'Technik_Standort': + obj_ = CTechnik_Standort.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Technik_Standort.append(obj_) + obj_.original_tagname_ = 'Technik_Standort' + elif nodeName_ == 'Technischer_Bereich': + obj_ = CTechnischer_Bereich.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Technischer_Bereich.append(obj_) + obj_.original_tagname_ = 'Technischer_Bereich' + elif nodeName_ == 'Technischer_Punkt': + obj_ = CTechnischer_Punkt.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Technischer_Punkt.append(obj_) + obj_.original_tagname_ = 'Technischer_Punkt' + elif nodeName_ == 'TOP_Kante': + obj_ = CTOP_Kante.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.TOP_Kante.append(obj_) + obj_.original_tagname_ = 'TOP_Kante' + elif nodeName_ == 'TOP_Knoten': + obj_ = CTOP_Knoten.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.TOP_Knoten.append(obj_) + obj_.original_tagname_ = 'TOP_Knoten' + elif nodeName_ == 'Trasse_Kante': + obj_ = CTrasse_Kante.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Trasse_Kante.append(obj_) + obj_.original_tagname_ = 'Trasse_Kante' + elif nodeName_ == 'Trasse_Knoten': + obj_ = CTrasse_Knoten.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Trasse_Knoten.append(obj_) + obj_.original_tagname_ = 'Trasse_Knoten' + elif nodeName_ == 'Ueberhoehung': + obj_ = CUeberhoehung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Ueberhoehung.append(obj_) + obj_.original_tagname_ = 'Ueberhoehung' + elif nodeName_ == 'Ueberhoehungslinie': + obj_ = CUeberhoehungslinie.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Ueberhoehungslinie.append(obj_) + obj_.original_tagname_ = 'Ueberhoehungslinie' + elif nodeName_ == 'Uebertragungsweg': + obj_ = CUebertragungsweg.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Uebertragungsweg.append(obj_) + obj_.original_tagname_ = 'Uebertragungsweg' + elif nodeName_ == 'Unterbringung': + obj_ = CUnterbringung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Unterbringung.append(obj_) + obj_.original_tagname_ = 'Unterbringung' + elif nodeName_ == 'Verkehrszeichen': + obj_ = CVerkehrszeichen.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Verkehrszeichen.append(obj_) + obj_.original_tagname_ = 'Verkehrszeichen' + elif nodeName_ == 'W_Kr_Anlage': + obj_ = CW_Kr_Anlage.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.W_Kr_Anlage.append(obj_) + obj_.original_tagname_ = 'W_Kr_Anlage' + elif nodeName_ == 'W_Kr_Gsp_Element': + obj_ = CW_Kr_Gsp_Element.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.W_Kr_Gsp_Element.append(obj_) + obj_.original_tagname_ = 'W_Kr_Gsp_Element' + elif nodeName_ == 'W_Kr_Gsp_Komponente': + obj_ = CW_Kr_Gsp_Komponente.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.W_Kr_Gsp_Komponente.append(obj_) + obj_.original_tagname_ = 'W_Kr_Gsp_Komponente' + elif nodeName_ == 'Weichenlaufkette': + obj_ = CWeichenlaufkette.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Weichenlaufkette.append(obj_) + obj_.original_tagname_ = 'Weichenlaufkette' + elif nodeName_ == 'Weichenlaufkette_Zuordnung': + obj_ = CWeichenlaufkette_Zuordnung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Weichenlaufkette_Zuordnung.append(obj_) + obj_.original_tagname_ = 'Weichenlaufkette_Zuordnung' + elif nodeName_ == 'ZBS_Schutzstrecke': + obj_ = CZBS_Schutzstrecke.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ZBS_Schutzstrecke.append(obj_) + obj_.original_tagname_ = 'ZBS_Schutzstrecke' + elif nodeName_ == 'ZBS_Signal': + obj_ = CZBS_Signal.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ZBS_Signal.append(obj_) + obj_.original_tagname_ = 'ZBS_Signal' + elif nodeName_ == 'ZL': + obj_ = CZL.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ZL.append(obj_) + obj_.original_tagname_ = 'ZL' + elif nodeName_ == 'ZL_DLP_Abschnitt': + obj_ = CZL_DLP_Abschnitt.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ZL_DLP_Abschnitt.append(obj_) + obj_.original_tagname_ = 'ZL_DLP_Abschnitt' + elif nodeName_ == 'ZL_DLP_Fstr': + obj_ = CZL_DLP_Fstr.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ZL_DLP_Fstr.append(obj_) + obj_.original_tagname_ = 'ZL_DLP_Fstr' + elif nodeName_ == 'ZL_Fstr': + obj_ = CZL_Fstr.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ZL_Fstr.append(obj_) + obj_.original_tagname_ = 'ZL_Fstr' + elif nodeName_ == 'ZL_Fstr_Anstoss': + obj_ = CZL_Fstr_Anstoss.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ZL_Fstr_Anstoss.append(obj_) + obj_.original_tagname_ = 'ZL_Fstr_Anstoss' + elif nodeName_ == 'ZL_Signalgruppe': + obj_ = CZL_Signalgruppe.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ZL_Signalgruppe.append(obj_) + obj_.original_tagname_ = 'ZL_Signalgruppe' + elif nodeName_ == 'ZL_Signalgruppe_Zuordnung': + obj_ = CZL_Signalgruppe_Zuordnung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ZL_Signalgruppe_Zuordnung.append(obj_) + obj_.original_tagname_ = 'ZL_Signalgruppe_Zuordnung' + elif nodeName_ == 'ZLV_Bus': + obj_ = CZLV_Bus.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ZLV_Bus.append(obj_) + obj_.original_tagname_ = 'ZLV_Bus' + elif nodeName_ == 'ZLV_Bus_Besondere_Anlage': + obj_ = CZLV_Bus_Besondere_Anlage.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ZLV_Bus_Besondere_Anlage.append(obj_) + obj_.original_tagname_ = 'ZLV_Bus_Besondere_Anlage' + elif nodeName_ == 'ZLV_Bus_US_Zuordnung': + obj_ = CZLV_Bus_US_Zuordnung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ZLV_Bus_US_Zuordnung.append(obj_) + obj_.original_tagname_ = 'ZLV_Bus_US_Zuordnung' + elif nodeName_ == 'ZN': + obj_ = CZN.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ZN.append(obj_) + obj_.original_tagname_ = 'ZN' + elif nodeName_ == 'ZN_Akustik': + obj_ = CZN_Akustik.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ZN_Akustik.append(obj_) + obj_.original_tagname_ = 'ZN_Akustik' + elif nodeName_ == 'ZN_Anzeigefeld': + obj_ = CZN_Anzeigefeld.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ZN_Anzeigefeld.append(obj_) + obj_.original_tagname_ = 'ZN_Anzeigefeld' + elif nodeName_ == 'ZN_Fortschalt_Kriterium': + obj_ = CZN_Fortschalt_Kriterium.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ZN_Fortschalt_Kriterium.append(obj_) + obj_.original_tagname_ = 'ZN_Fortschalt_Kriterium' + elif nodeName_ == 'ZN_Telegramm_84_Zuordnung': + obj_ = CZN_Telegramm_84_Zuordnung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ZN_Telegramm_84_Zuordnung.append(obj_) + obj_.original_tagname_ = 'ZN_Telegramm_84_Zuordnung' + elif nodeName_ == 'ZN_Telegramm_85_Zuordnung': + obj_ = CZN_Telegramm_85_Zuordnung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ZN_Telegramm_85_Zuordnung.append(obj_) + obj_.original_tagname_ = 'ZN_Telegramm_85_Zuordnung' + elif nodeName_ == 'ZN_Unterstation': + obj_ = CZN_Unterstation.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ZN_Unterstation.append(obj_) + obj_.original_tagname_ = 'ZN_Unterstation' + elif nodeName_ == 'ZN_ZBS': + obj_ = CZN_ZBS.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ZN_ZBS.append(obj_) + obj_.original_tagname_ = 'ZN_ZBS' + elif nodeName_ == 'ZUB_Bereichsgrenze': + obj_ = CZUB_Bereichsgrenze.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ZUB_Bereichsgrenze.append(obj_) + obj_.original_tagname_ = 'ZUB_Bereichsgrenze' + elif nodeName_ == 'ZUB_Streckeneigenschaft': + obj_ = CZUB_Streckeneigenschaft.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ZUB_Streckeneigenschaft.append(obj_) + obj_.original_tagname_ = 'ZUB_Streckeneigenschaft' + elif nodeName_ == 'Zugeinwirkung': + obj_ = CZugeinwirkung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Zugeinwirkung.append(obj_) + obj_.original_tagname_ = 'Zugeinwirkung' +# end class CContainer + + +class CPlanung_E_Allg(GeneratedsSuper): + """Bauphase -- Bezeichnung f + ü + r die zeitlich-logische Abgrenzung einer Ma + ß + nahme nach bautechnologischen Gesichtspunkten, z. B. Durcharbeitung Gleis x. + Die Bezeichnung der ~ kann f + ü + r mehrere Einzelplanungen einer definierten Planungsgruppe identisch sein. + DB-Regelwerk + Bisher ohne eindeutige Darstellung. + Eintrag au + ß + erhalb des in Ril 886.0102 definierten Schriftfeldes. + Bauzustand_Kurzbezeichnung -- Kurzbezeichnung des Bauzustandes. + DB-Regelwerk + Bestandteil Schriftfeldeintrag Feld 23.1 \" + Ä + nderung (Bezeichnung der Bauma + ß + nahme)\" [Erl + ä + uterungen zur Ril 886.0102 Schriftfeld]). + Bauzustand_Langbezeichnung -- Langbezeichnung des Bauzustands. + DB-Regelwerk + Bisher keine eindeutige Abbildung. + Bestandteil der organisatorischen Projektdaten. + Datum_Abschluss_Einzel -- Datum des Abschlusses der Einzelplanung. + Bis zum tats + ä + chlichen Abschluss handelt es sich dabei um ein geplantes Datum, das iterativ nachzupflegen ist. + DB-Regelwerk + Bisher keine eindeutige Abbildung. + Datum_Regelwerksstand -- Regelwerksstand der Einzelplanung, auf dessen Basis die Objekte ge + ä + ndert bzw. neu geplant wurden. + Erg + ä + nzende Beschreibung zum Umgang im PlanPro-Planungsprozess + Es entspricht im Regelfall dem Datum der Auftragsvergabe oder im besonderen Fall einem festgelegten Datum, wenn bspw. ein zuk + ü + nftig g + ü + ltiges Regelwerk bereits bei der Erstellung des PT 1 ber + ü + cksichtigt werden soll. Anhand des Regelwerksstandes lassen sich die jeweils g + ü + ltigen St + ä + nde der verwendeten Regelwerke herleiten. Abweichungen werden auf Objektebene (Basis_Objekt) + ü + ber das Attribut ID_Anhang_Regelwerk_Besonders beigef + ü + gt. + Die Historie der Bearbeitung von Objekten ergibt sich nur aus der R + ü + ckverfolgung von Planungen (Planungsarchiv), indem identifizierbar ist, welche Objekte sich zuletzt (jeweils) im Pb/Bb einer Planung befanden. + Das Datum_Regelwerksstand der Einzelplanung wird auf Objektebene in das Attribut Datum_Regelwerk der ge + ä + nderten bzw. neu geplanten Objekte + ü + bernommen. Bestandsobjekte behalten ihren alten Regelwerksstand. Wenn durch Beziehungen zwischen diesen Objekten technisch nicht l + ö + sbare Situationen entstehen, muss eine Umplanung erfolgen. + DB-Regelwerk + Bisher ohne eindeutige Abbildung im Schriftfeld gem + ä + ß + Ril 886.0102. + Index_Ausgabe -- Parameter zur Systematisierung der Reihenfolge von Bauzust + ä + nden. + Bei der Neuerstellung von Planungsdaten f + ü + r eine Einzelplanung (Bauzustand) erh + ä + lt der Index_Ausgabe den Startwert \"01\". Dieser wird bei jedem weiteren Bauzustand um \"01\" erh + ö + ht. F + ü + r eine Projektinitialisierung ist der Eintrag \"00\" zu verwenden. Der ~ wird au + ß + erdem zur Generierung der Ausgabenummer ben + ö + tigt. + DB-Regelwerk + Entspricht dem 2ziffrigen Schriftfeldeintrag, Feld 3.1, gem + ä + ß + Ril 886.0102 sowie bei Bestand dem Eintrag in Feld 3.2. + Informativ -- Die Planungsdaten dienen nur zur Information und geben keinen offiziellen Planungsstand wieder. Das Ausgabedatum im Attribut Datum wird zus + ä + tzlich angegeben. + DB-Regelwerk + Bisher keine eindeutige Angabe. + Das Verfahren der Auslieferung von Planungen zur Information wird nicht beschrieben. + Laufende_Nummer_Ausgabe -- Bestandteil des Ausgabestandes. + DB-Regelwerk + Zweiter Bestandteil des 2ziffrig.2ziffrigen Schriftfeldeintrags im Feld 20 gem + ä + ß + Ril 886.0102. + Gem + ä + ß + Erl + ä + uterungen zur Ril 886.0102 zus + ä + tzlich im Feld 3.2 eingetragen, sofern es sich um eine laufende Planung handelt (bei Bestand wird im Feld 3.2 nur der Index eingetragen). + Die laufende Nummer der Ausgabe beginnt bei 01 und wird mit jeder + Ä + nderung um 01 erh + ö + ht. Bei einer Projektinitialisierung ist abweichend der Wert \"00\" zu verwenden. + Planung_E_Art -- Art der Einzelplanung. + DB-Regelwerk + Bisher ohne eindeutige Abbildung. + Meist Bestandteil Schriftfeldeintrag gem + ä + ß + Ril 886.0102 der Kurzbezeichnung des Bauzustandes. + Planung_Phase -- Gibt an, innerhalb welcher Planungsphase die Planung erstellt wurde. + DB-Regelwerk + Ril 809. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Bauphase=None, Bauzustand_Kurzbezeichnung=None, Bauzustand_Langbezeichnung=None, Datum_Abschluss_Einzel=None, Datum_Regelwerksstand=None, Index_Ausgabe=None, Informativ=None, Laufende_Nummer_Ausgabe=None, Planung_E_Art=None, Planung_Phase=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Bauphase = Bauphase + self.Bauphase_nsprefix_ = None + self.Bauzustand_Kurzbezeichnung = Bauzustand_Kurzbezeichnung + self.Bauzustand_Kurzbezeichnung_nsprefix_ = None + self.Bauzustand_Langbezeichnung = Bauzustand_Langbezeichnung + self.Bauzustand_Langbezeichnung_nsprefix_ = None + self.Datum_Abschluss_Einzel = Datum_Abschluss_Einzel + self.Datum_Abschluss_Einzel_nsprefix_ = None + self.Datum_Regelwerksstand = Datum_Regelwerksstand + self.Datum_Regelwerksstand_nsprefix_ = None + self.Index_Ausgabe = Index_Ausgabe + self.Index_Ausgabe_nsprefix_ = None + self.Informativ = Informativ + self.Informativ_nsprefix_ = None + self.Laufende_Nummer_Ausgabe = Laufende_Nummer_Ausgabe + self.Laufende_Nummer_Ausgabe_nsprefix_ = None + self.Planung_E_Art = Planung_E_Art + self.Planung_E_Art_nsprefix_ = None + self.Planung_Phase = Planung_Phase + self.Planung_Phase_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CPlanung_E_Allg) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CPlanung_E_Allg.subclass: + return CPlanung_E_Allg.subclass(*args_, **kwargs_) + else: + return CPlanung_E_Allg(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Bauphase(self): + return self.Bauphase + def set_Bauphase(self, Bauphase): + self.Bauphase = Bauphase + def get_Bauzustand_Kurzbezeichnung(self): + return self.Bauzustand_Kurzbezeichnung + def set_Bauzustand_Kurzbezeichnung(self, Bauzustand_Kurzbezeichnung): + self.Bauzustand_Kurzbezeichnung = Bauzustand_Kurzbezeichnung + def get_Bauzustand_Langbezeichnung(self): + return self.Bauzustand_Langbezeichnung + def set_Bauzustand_Langbezeichnung(self, Bauzustand_Langbezeichnung): + self.Bauzustand_Langbezeichnung = Bauzustand_Langbezeichnung + def get_Datum_Abschluss_Einzel(self): + return self.Datum_Abschluss_Einzel + def set_Datum_Abschluss_Einzel(self, Datum_Abschluss_Einzel): + self.Datum_Abschluss_Einzel = Datum_Abschluss_Einzel + def get_Datum_Regelwerksstand(self): + return self.Datum_Regelwerksstand + def set_Datum_Regelwerksstand(self, Datum_Regelwerksstand): + self.Datum_Regelwerksstand = Datum_Regelwerksstand + def get_Index_Ausgabe(self): + return self.Index_Ausgabe + def set_Index_Ausgabe(self, Index_Ausgabe): + self.Index_Ausgabe = Index_Ausgabe + def get_Informativ(self): + return self.Informativ + def set_Informativ(self, Informativ): + self.Informativ = Informativ + def get_Laufende_Nummer_Ausgabe(self): + return self.Laufende_Nummer_Ausgabe + def set_Laufende_Nummer_Ausgabe(self, Laufende_Nummer_Ausgabe): + self.Laufende_Nummer_Ausgabe = Laufende_Nummer_Ausgabe + def get_Planung_E_Art(self): + return self.Planung_E_Art + def set_Planung_E_Art(self, Planung_E_Art): + self.Planung_E_Art = Planung_E_Art + def get_Planung_Phase(self): + return self.Planung_Phase + def set_Planung_Phase(self, Planung_Phase): + self.Planung_Phase = Planung_Phase + def has__content(self): + if ( + self.Bauphase is not None or + self.Bauzustand_Kurzbezeichnung is not None or + self.Bauzustand_Langbezeichnung is not None or + self.Datum_Abschluss_Einzel is not None or + self.Datum_Regelwerksstand is not None or + self.Index_Ausgabe is not None or + self.Informativ is not None or + self.Laufende_Nummer_Ausgabe is not None or + self.Planung_E_Art is not None or + self.Planung_Phase is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='xmlns:nsPlanPro="http://www.plan-pro.org/modell/PlanPro/1.10.0"', name_='CPlanung_E_Allg', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CPlanung_E_Allg') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CPlanung_E_Allg': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CPlanung_E_Allg') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CPlanung_E_Allg', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CPlanung_E_Allg'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='xmlns:nsPlanPro="http://www.plan-pro.org/modell/PlanPro/1.10.0"', name_='CPlanung_E_Allg', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Bauphase is not None: + namespaceprefix_ = self.Bauphase_nsprefix_ + ':' if (UseCapturedNS_ and self.Bauphase_nsprefix_) else '' + self.Bauphase.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Bauphase', pretty_print=pretty_print) + if self.Bauzustand_Kurzbezeichnung is not None: + namespaceprefix_ = self.Bauzustand_Kurzbezeichnung_nsprefix_ + ':' if (UseCapturedNS_ and self.Bauzustand_Kurzbezeichnung_nsprefix_) else '' + self.Bauzustand_Kurzbezeichnung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Bauzustand_Kurzbezeichnung', pretty_print=pretty_print) + if self.Bauzustand_Langbezeichnung is not None: + namespaceprefix_ = self.Bauzustand_Langbezeichnung_nsprefix_ + ':' if (UseCapturedNS_ and self.Bauzustand_Langbezeichnung_nsprefix_) else '' + self.Bauzustand_Langbezeichnung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Bauzustand_Langbezeichnung', pretty_print=pretty_print) + if self.Datum_Abschluss_Einzel is not None: + namespaceprefix_ = self.Datum_Abschluss_Einzel_nsprefix_ + ':' if (UseCapturedNS_ and self.Datum_Abschluss_Einzel_nsprefix_) else '' + self.Datum_Abschluss_Einzel.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Datum_Abschluss_Einzel', pretty_print=pretty_print) + if self.Datum_Regelwerksstand is not None: + namespaceprefix_ = self.Datum_Regelwerksstand_nsprefix_ + ':' if (UseCapturedNS_ and self.Datum_Regelwerksstand_nsprefix_) else '' + self.Datum_Regelwerksstand.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Datum_Regelwerksstand', pretty_print=pretty_print) + if self.Index_Ausgabe is not None: + namespaceprefix_ = self.Index_Ausgabe_nsprefix_ + ':' if (UseCapturedNS_ and self.Index_Ausgabe_nsprefix_) else '' + self.Index_Ausgabe.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Index_Ausgabe', pretty_print=pretty_print) + if self.Informativ is not None: + namespaceprefix_ = self.Informativ_nsprefix_ + ':' if (UseCapturedNS_ and self.Informativ_nsprefix_) else '' + self.Informativ.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Informativ', pretty_print=pretty_print) + if self.Laufende_Nummer_Ausgabe is not None: + namespaceprefix_ = self.Laufende_Nummer_Ausgabe_nsprefix_ + ':' if (UseCapturedNS_ and self.Laufende_Nummer_Ausgabe_nsprefix_) else '' + self.Laufende_Nummer_Ausgabe.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Laufende_Nummer_Ausgabe', pretty_print=pretty_print) + if self.Planung_E_Art is not None: + namespaceprefix_ = self.Planung_E_Art_nsprefix_ + ':' if (UseCapturedNS_ and self.Planung_E_Art_nsprefix_) else '' + self.Planung_E_Art.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Planung_E_Art', pretty_print=pretty_print) + if self.Planung_Phase is not None: + namespaceprefix_ = self.Planung_Phase_nsprefix_ + ':' if (UseCapturedNS_ and self.Planung_Phase_nsprefix_) else '' + self.Planung_Phase.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Planung_Phase', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Bauphase': + obj_ = TCBauphase.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Bauphase = obj_ + obj_.original_tagname_ = 'Bauphase' + elif nodeName_ == 'Bauzustand_Kurzbezeichnung': + obj_ = TCBauzustand_Kurzbezeichnung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Bauzustand_Kurzbezeichnung = obj_ + obj_.original_tagname_ = 'Bauzustand_Kurzbezeichnung' + elif nodeName_ == 'Bauzustand_Langbezeichnung': + obj_ = TCBauzustand_Langbezeichnung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Bauzustand_Langbezeichnung = obj_ + obj_.original_tagname_ = 'Bauzustand_Langbezeichnung' + elif nodeName_ == 'Datum_Abschluss_Einzel': + obj_ = TCDatum_Abschluss_Einzel.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Datum_Abschluss_Einzel = obj_ + obj_.original_tagname_ = 'Datum_Abschluss_Einzel' + elif nodeName_ == 'Datum_Regelwerksstand': + obj_ = TCDatum_Regelwerksstand.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Datum_Regelwerksstand = obj_ + obj_.original_tagname_ = 'Datum_Regelwerksstand' + elif nodeName_ == 'Index_Ausgabe': + obj_ = TCIndex_Ausgabe.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Index_Ausgabe = obj_ + obj_.original_tagname_ = 'Index_Ausgabe' + elif nodeName_ == 'Informativ': + obj_ = TCInformativ.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Informativ = obj_ + obj_.original_tagname_ = 'Informativ' + elif nodeName_ == 'Laufende_Nummer_Ausgabe': + obj_ = TCLaufende_Nummer_Ausgabe.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Laufende_Nummer_Ausgabe = obj_ + obj_.original_tagname_ = 'Laufende_Nummer_Ausgabe' + elif nodeName_ == 'Planung_E_Art': + obj_ = TCPlanung_E_Art.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Planung_E_Art = obj_ + obj_.original_tagname_ = 'Planung_E_Art' + elif nodeName_ == 'Planung_Phase': + obj_ = TCPlanung_Phase.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Planung_Phase = obj_ + obj_.original_tagname_ = 'Planung_Phase' +# end class CPlanung_E_Allg + + +class CPlanung_E_Handlung(GeneratedsSuper): + """Planung_E_Abnahme -- Abbildung aller notwendigen Informationen zur Dokumentation der Abnahme. + Planung_E_Erstellung -- Abbildung aller notwendigen Informationen zur Dokumentation der Erstellung. + Planung_E_Freigabe -- Abbildung aller notwendigen Informationen zur Dokumentation der Freigabe. + Planung_E_Genehmigung -- Abbildung aller notwendigen Informationen zur Dokumentation der Genehmigung. + Planung_E_Gleichstellung -- Abbildung aller notwendigen Informationen zur Dokumentation der Gleichstellung. + Planung_E_Pruefung -- Abbildung aller notwendigen Informationen zur Dokumentation der (fachtechnischen) Pr + ü + fung. + Planung_E_Qualitaetspruefung -- Abbildung aller notwendigen Informationen zur Dokumentation der Qualit + ä + tspr + ü + fung. + Planung_E_Sonstige -- Abbildung aller notwendigen Informationen zur Dokumentation sonstiger Handlungen. + Planung_E_Uebernahme -- Abbildung aller notwendigen Informationen zur Dokumentation der + Ü + bernahme von Revisionseintr + ä + gen in die Bestandsdaten. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Planung_E_Abnahme=None, Planung_E_Erstellung=None, Planung_E_Freigabe=None, Planung_E_Genehmigung=None, Planung_E_Gleichstellung=None, Planung_E_Pruefung=None, Planung_E_Qualitaetspruefung=None, Planung_E_Sonstige=None, Planung_E_Uebernahme=None, gds_collector_=None, **kwargs_): + self.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 Planung_E_Abnahme is None: + self.Planung_E_Abnahme = [] + else: + self.Planung_E_Abnahme = Planung_E_Abnahme + self.Planung_E_Abnahme_nsprefix_ = None + if Planung_E_Erstellung is None: + self.Planung_E_Erstellung = [] + else: + self.Planung_E_Erstellung = Planung_E_Erstellung + self.Planung_E_Erstellung_nsprefix_ = None + if Planung_E_Freigabe is None: + self.Planung_E_Freigabe = [] + else: + self.Planung_E_Freigabe = Planung_E_Freigabe + self.Planung_E_Freigabe_nsprefix_ = None + if Planung_E_Genehmigung is None: + self.Planung_E_Genehmigung = [] + else: + self.Planung_E_Genehmigung = Planung_E_Genehmigung + self.Planung_E_Genehmigung_nsprefix_ = None + if Planung_E_Gleichstellung is None: + self.Planung_E_Gleichstellung = [] + else: + self.Planung_E_Gleichstellung = Planung_E_Gleichstellung + self.Planung_E_Gleichstellung_nsprefix_ = None + if Planung_E_Pruefung is None: + self.Planung_E_Pruefung = [] + else: + self.Planung_E_Pruefung = Planung_E_Pruefung + self.Planung_E_Pruefung_nsprefix_ = None + if Planung_E_Qualitaetspruefung is None: + self.Planung_E_Qualitaetspruefung = [] + else: + self.Planung_E_Qualitaetspruefung = Planung_E_Qualitaetspruefung + self.Planung_E_Qualitaetspruefung_nsprefix_ = None + if Planung_E_Sonstige is None: + self.Planung_E_Sonstige = [] + else: + self.Planung_E_Sonstige = Planung_E_Sonstige + self.Planung_E_Sonstige_nsprefix_ = None + if Planung_E_Uebernahme is None: + self.Planung_E_Uebernahme = [] + else: + self.Planung_E_Uebernahme = Planung_E_Uebernahme + self.Planung_E_Uebernahme_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CPlanung_E_Handlung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CPlanung_E_Handlung.subclass: + return CPlanung_E_Handlung.subclass(*args_, **kwargs_) + else: + return CPlanung_E_Handlung(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Planung_E_Abnahme(self): + return self.Planung_E_Abnahme + def set_Planung_E_Abnahme(self, Planung_E_Abnahme): + self.Planung_E_Abnahme = Planung_E_Abnahme + def add_Planung_E_Abnahme(self, value): + self.Planung_E_Abnahme.append(value) + def insert_Planung_E_Abnahme_at(self, index, value): + self.Planung_E_Abnahme.insert(index, value) + def replace_Planung_E_Abnahme_at(self, index, value): + self.Planung_E_Abnahme[index] = value + def get_Planung_E_Erstellung(self): + return self.Planung_E_Erstellung + def set_Planung_E_Erstellung(self, Planung_E_Erstellung): + self.Planung_E_Erstellung = Planung_E_Erstellung + def add_Planung_E_Erstellung(self, value): + self.Planung_E_Erstellung.append(value) + def insert_Planung_E_Erstellung_at(self, index, value): + self.Planung_E_Erstellung.insert(index, value) + def replace_Planung_E_Erstellung_at(self, index, value): + self.Planung_E_Erstellung[index] = value + def get_Planung_E_Freigabe(self): + return self.Planung_E_Freigabe + def set_Planung_E_Freigabe(self, Planung_E_Freigabe): + self.Planung_E_Freigabe = Planung_E_Freigabe + def add_Planung_E_Freigabe(self, value): + self.Planung_E_Freigabe.append(value) + def insert_Planung_E_Freigabe_at(self, index, value): + self.Planung_E_Freigabe.insert(index, value) + def replace_Planung_E_Freigabe_at(self, index, value): + self.Planung_E_Freigabe[index] = value + def get_Planung_E_Genehmigung(self): + return self.Planung_E_Genehmigung + def set_Planung_E_Genehmigung(self, Planung_E_Genehmigung): + self.Planung_E_Genehmigung = Planung_E_Genehmigung + def add_Planung_E_Genehmigung(self, value): + self.Planung_E_Genehmigung.append(value) + def insert_Planung_E_Genehmigung_at(self, index, value): + self.Planung_E_Genehmigung.insert(index, value) + def replace_Planung_E_Genehmigung_at(self, index, value): + self.Planung_E_Genehmigung[index] = value + def get_Planung_E_Gleichstellung(self): + return self.Planung_E_Gleichstellung + def set_Planung_E_Gleichstellung(self, Planung_E_Gleichstellung): + self.Planung_E_Gleichstellung = Planung_E_Gleichstellung + def add_Planung_E_Gleichstellung(self, value): + self.Planung_E_Gleichstellung.append(value) + def insert_Planung_E_Gleichstellung_at(self, index, value): + self.Planung_E_Gleichstellung.insert(index, value) + def replace_Planung_E_Gleichstellung_at(self, index, value): + self.Planung_E_Gleichstellung[index] = value + def get_Planung_E_Pruefung(self): + return self.Planung_E_Pruefung + def set_Planung_E_Pruefung(self, Planung_E_Pruefung): + self.Planung_E_Pruefung = Planung_E_Pruefung + def add_Planung_E_Pruefung(self, value): + self.Planung_E_Pruefung.append(value) + def insert_Planung_E_Pruefung_at(self, index, value): + self.Planung_E_Pruefung.insert(index, value) + def replace_Planung_E_Pruefung_at(self, index, value): + self.Planung_E_Pruefung[index] = value + def get_Planung_E_Qualitaetspruefung(self): + return self.Planung_E_Qualitaetspruefung + def set_Planung_E_Qualitaetspruefung(self, Planung_E_Qualitaetspruefung): + self.Planung_E_Qualitaetspruefung = Planung_E_Qualitaetspruefung + def add_Planung_E_Qualitaetspruefung(self, value): + self.Planung_E_Qualitaetspruefung.append(value) + def insert_Planung_E_Qualitaetspruefung_at(self, index, value): + self.Planung_E_Qualitaetspruefung.insert(index, value) + def replace_Planung_E_Qualitaetspruefung_at(self, index, value): + self.Planung_E_Qualitaetspruefung[index] = value + def get_Planung_E_Sonstige(self): + return self.Planung_E_Sonstige + def set_Planung_E_Sonstige(self, Planung_E_Sonstige): + self.Planung_E_Sonstige = Planung_E_Sonstige + def add_Planung_E_Sonstige(self, value): + self.Planung_E_Sonstige.append(value) + def insert_Planung_E_Sonstige_at(self, index, value): + self.Planung_E_Sonstige.insert(index, value) + def replace_Planung_E_Sonstige_at(self, index, value): + self.Planung_E_Sonstige[index] = value + def get_Planung_E_Uebernahme(self): + return self.Planung_E_Uebernahme + def set_Planung_E_Uebernahme(self, Planung_E_Uebernahme): + self.Planung_E_Uebernahme = Planung_E_Uebernahme + def add_Planung_E_Uebernahme(self, value): + self.Planung_E_Uebernahme.append(value) + def insert_Planung_E_Uebernahme_at(self, index, value): + self.Planung_E_Uebernahme.insert(index, value) + def replace_Planung_E_Uebernahme_at(self, index, value): + self.Planung_E_Uebernahme[index] = value + def has__content(self): + if ( + self.Planung_E_Abnahme or + self.Planung_E_Erstellung or + self.Planung_E_Freigabe or + self.Planung_E_Genehmigung or + self.Planung_E_Gleichstellung or + self.Planung_E_Pruefung or + self.Planung_E_Qualitaetspruefung or + self.Planung_E_Sonstige or + self.Planung_E_Uebernahme + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='xmlns:nsPlanPro="http://www.plan-pro.org/modell/PlanPro/1.10.0"', name_='CPlanung_E_Handlung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CPlanung_E_Handlung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CPlanung_E_Handlung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CPlanung_E_Handlung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CPlanung_E_Handlung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CPlanung_E_Handlung'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='xmlns:nsPlanPro="http://www.plan-pro.org/modell/PlanPro/1.10.0"', name_='CPlanung_E_Handlung', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for Planung_E_Abnahme_ in self.Planung_E_Abnahme: + namespaceprefix_ = self.Planung_E_Abnahme_nsprefix_ + ':' if (UseCapturedNS_ and self.Planung_E_Abnahme_nsprefix_) else '' + Planung_E_Abnahme_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Planung_E_Abnahme', pretty_print=pretty_print) + for Planung_E_Erstellung_ in self.Planung_E_Erstellung: + namespaceprefix_ = self.Planung_E_Erstellung_nsprefix_ + ':' if (UseCapturedNS_ and self.Planung_E_Erstellung_nsprefix_) else '' + Planung_E_Erstellung_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Planung_E_Erstellung', pretty_print=pretty_print) + for Planung_E_Freigabe_ in self.Planung_E_Freigabe: + namespaceprefix_ = self.Planung_E_Freigabe_nsprefix_ + ':' if (UseCapturedNS_ and self.Planung_E_Freigabe_nsprefix_) else '' + Planung_E_Freigabe_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Planung_E_Freigabe', pretty_print=pretty_print) + for Planung_E_Genehmigung_ in self.Planung_E_Genehmigung: + namespaceprefix_ = self.Planung_E_Genehmigung_nsprefix_ + ':' if (UseCapturedNS_ and self.Planung_E_Genehmigung_nsprefix_) else '' + Planung_E_Genehmigung_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Planung_E_Genehmigung', pretty_print=pretty_print) + for Planung_E_Gleichstellung_ in self.Planung_E_Gleichstellung: + namespaceprefix_ = self.Planung_E_Gleichstellung_nsprefix_ + ':' if (UseCapturedNS_ and self.Planung_E_Gleichstellung_nsprefix_) else '' + Planung_E_Gleichstellung_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Planung_E_Gleichstellung', pretty_print=pretty_print) + for Planung_E_Pruefung_ in self.Planung_E_Pruefung: + namespaceprefix_ = self.Planung_E_Pruefung_nsprefix_ + ':' if (UseCapturedNS_ and self.Planung_E_Pruefung_nsprefix_) else '' + Planung_E_Pruefung_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Planung_E_Pruefung', pretty_print=pretty_print) + for Planung_E_Qualitaetspruefung_ in self.Planung_E_Qualitaetspruefung: + namespaceprefix_ = self.Planung_E_Qualitaetspruefung_nsprefix_ + ':' if (UseCapturedNS_ and self.Planung_E_Qualitaetspruefung_nsprefix_) else '' + Planung_E_Qualitaetspruefung_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Planung_E_Qualitaetspruefung', pretty_print=pretty_print) + for Planung_E_Sonstige_ in self.Planung_E_Sonstige: + namespaceprefix_ = self.Planung_E_Sonstige_nsprefix_ + ':' if (UseCapturedNS_ and self.Planung_E_Sonstige_nsprefix_) else '' + Planung_E_Sonstige_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Planung_E_Sonstige', pretty_print=pretty_print) + for Planung_E_Uebernahme_ in self.Planung_E_Uebernahme: + namespaceprefix_ = self.Planung_E_Uebernahme_nsprefix_ + ':' if (UseCapturedNS_ and self.Planung_E_Uebernahme_nsprefix_) else '' + Planung_E_Uebernahme_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Planung_E_Uebernahme', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Planung_E_Abnahme': + obj_ = CAkteur_Zuordnung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Planung_E_Abnahme.append(obj_) + obj_.original_tagname_ = 'Planung_E_Abnahme' + elif nodeName_ == 'Planung_E_Erstellung': + obj_ = CAkteur_Zuordnung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Planung_E_Erstellung.append(obj_) + obj_.original_tagname_ = 'Planung_E_Erstellung' + elif nodeName_ == 'Planung_E_Freigabe': + obj_ = CAkteur_Zuordnung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Planung_E_Freigabe.append(obj_) + obj_.original_tagname_ = 'Planung_E_Freigabe' + elif nodeName_ == 'Planung_E_Genehmigung': + obj_ = CAkteur_Zuordnung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Planung_E_Genehmigung.append(obj_) + obj_.original_tagname_ = 'Planung_E_Genehmigung' + elif nodeName_ == 'Planung_E_Gleichstellung': + obj_ = CAkteur_Zuordnung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Planung_E_Gleichstellung.append(obj_) + obj_.original_tagname_ = 'Planung_E_Gleichstellung' + elif nodeName_ == 'Planung_E_Pruefung': + obj_ = CAkteur_Zuordnung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Planung_E_Pruefung.append(obj_) + obj_.original_tagname_ = 'Planung_E_Pruefung' + elif nodeName_ == 'Planung_E_Qualitaetspruefung': + obj_ = CAkteur_Zuordnung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Planung_E_Qualitaetspruefung.append(obj_) + obj_.original_tagname_ = 'Planung_E_Qualitaetspruefung' + elif nodeName_ == 'Planung_E_Sonstige': + obj_ = CAkteur_Zuordnung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Planung_E_Sonstige.append(obj_) + obj_.original_tagname_ = 'Planung_E_Sonstige' + elif nodeName_ == 'Planung_E_Uebernahme': + obj_ = CAkteur_Zuordnung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Planung_E_Uebernahme.append(obj_) + obj_.original_tagname_ = 'Planung_E_Uebernahme' +# end class CPlanung_E_Handlung + + +class CPlanung_G_Schriftfeld(GeneratedsSuper): + """Bauabschnitt -- R + ä + umliche Abgrenzung einer ausgedehnten Gesamtma + ß + nahme (z.B. ABS Leipzig-Dresden, Bauabschnitt Dresden Hbf - Dresden-Neustadt). + DB-Regelwerk + Bisher ohne eindeutige Darstellung. + Bezeichnung_Anlage -- Bezeichnung der Anlage (z. B. ESTW-ZE Xyz). + DB-Regelwerk + Bisher keine eindeutige Abbildung. + Ü + blicherweise Bestandteil des Schriftfeldeintrages Feld 2 \"Kurze treffende Bezeichnung des Planinhaltes (4 Zeilen)\" gem + ä + ß + Ril 886.0102. + Bezeichnung_Planung_Gruppe -- \"Gek + ü + rzte Langbezeichnung\" einer Bauma + ß + nahme, die + ü + ber eine Planungsgruppe realisiert wird. + z. B. Umbau Bf xxxxx, Neuerrichtung ESTW-ZE Xyz + DB-Regelwerk + Bisher keine eindeutige Abbildung. Meist Zusatzeintrag auf Planungsunterlagen au + ß + erhalb Standard-Schriftfeld nach Ril 886.0102. + Bezeichnung_Unteranlage -- Bezeichnung der Unteranlage (z. B. ESTW-A Xyz). + DB-Regelwerk + Bisher keine eindeutige Abbildung. + Ü + blicherweise Bestandteil des Schriftfeldeintrages Feld 2 \"Kurze treffende Bezeichnung des Planinhaltes (4 Zeilen)\" gem + ä + ß + Ril 886.0102. + Planungsbuero -- Angaben zum beauftragten Planungsb + ü + ro zur + Information + ü + ber Ansprechpartner f + ü + r Dritte, die auf aktualisierte Daten aus der beauftragten Planung zugreifen m + ü + ssen. + DB-Regelwerk + Bisher ohne eindeutige Abbildung als Schriftfeldeintrag gem + ä + ß + Ril 886.0102. + In Planungspraxis heute meist als Zusatzfeld auf Planungsunterlagen eingetragen. + Planungsbuero_Logo -- Logo des Planungsb + ü + ros zur Ausgabe im Schriftfeld. DB-Regelwerk Ril 886. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Bauabschnitt=None, Bezeichnung_Anlage=None, Bezeichnung_Planung_Gruppe=None, Bezeichnung_Unteranlage=None, Planungsbuero=None, Planungsbuero_Logo=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Bauabschnitt = Bauabschnitt + self.Bauabschnitt_nsprefix_ = None + self.Bezeichnung_Anlage = Bezeichnung_Anlage + self.Bezeichnung_Anlage_nsprefix_ = None + self.Bezeichnung_Planung_Gruppe = Bezeichnung_Planung_Gruppe + self.Bezeichnung_Planung_Gruppe_nsprefix_ = None + self.Bezeichnung_Unteranlage = Bezeichnung_Unteranlage + self.Bezeichnung_Unteranlage_nsprefix_ = None + self.Planungsbuero = Planungsbuero + self.Planungsbuero_nsprefix_ = None + self.Planungsbuero_Logo = Planungsbuero_Logo + self.Planungsbuero_Logo_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CPlanung_G_Schriftfeld) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CPlanung_G_Schriftfeld.subclass: + return CPlanung_G_Schriftfeld.subclass(*args_, **kwargs_) + else: + return CPlanung_G_Schriftfeld(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Bauabschnitt(self): + return self.Bauabschnitt + def set_Bauabschnitt(self, Bauabschnitt): + self.Bauabschnitt = Bauabschnitt + def get_Bezeichnung_Anlage(self): + return self.Bezeichnung_Anlage + def set_Bezeichnung_Anlage(self, Bezeichnung_Anlage): + self.Bezeichnung_Anlage = Bezeichnung_Anlage + def get_Bezeichnung_Planung_Gruppe(self): + return self.Bezeichnung_Planung_Gruppe + def set_Bezeichnung_Planung_Gruppe(self, Bezeichnung_Planung_Gruppe): + self.Bezeichnung_Planung_Gruppe = Bezeichnung_Planung_Gruppe + def get_Bezeichnung_Unteranlage(self): + return self.Bezeichnung_Unteranlage + def set_Bezeichnung_Unteranlage(self, Bezeichnung_Unteranlage): + self.Bezeichnung_Unteranlage = Bezeichnung_Unteranlage + def get_Planungsbuero(self): + return self.Planungsbuero + def set_Planungsbuero(self, Planungsbuero): + self.Planungsbuero = Planungsbuero + def get_Planungsbuero_Logo(self): + return self.Planungsbuero_Logo + def set_Planungsbuero_Logo(self, Planungsbuero_Logo): + self.Planungsbuero_Logo = Planungsbuero_Logo + def has__content(self): + if ( + self.Bauabschnitt is not None or + self.Bezeichnung_Anlage is not None or + self.Bezeichnung_Planung_Gruppe is not None or + self.Bezeichnung_Unteranlage is not None or + self.Planungsbuero is not None or + self.Planungsbuero_Logo is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='xmlns:nsPlanPro="http://www.plan-pro.org/modell/PlanPro/1.10.0" xmlns:nsBasisobjekte="http://www.plan-pro.org/modell/Basisobjekte/1.10.0" ', name_='CPlanung_G_Schriftfeld', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CPlanung_G_Schriftfeld') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CPlanung_G_Schriftfeld': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CPlanung_G_Schriftfeld') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CPlanung_G_Schriftfeld', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CPlanung_G_Schriftfeld'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='xmlns:nsPlanPro="http://www.plan-pro.org/modell/PlanPro/1.10.0" xmlns:nsBasisobjekte="http://www.plan-pro.org/modell/Basisobjekte/1.10.0" ', name_='CPlanung_G_Schriftfeld', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Bauabschnitt is not None: + namespaceprefix_ = self.Bauabschnitt_nsprefix_ + ':' if (UseCapturedNS_ and self.Bauabschnitt_nsprefix_) else '' + self.Bauabschnitt.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Bauabschnitt', pretty_print=pretty_print) + if self.Bezeichnung_Anlage is not None: + namespaceprefix_ = self.Bezeichnung_Anlage_nsprefix_ + ':' if (UseCapturedNS_ and self.Bezeichnung_Anlage_nsprefix_) else '' + self.Bezeichnung_Anlage.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Bezeichnung_Anlage', pretty_print=pretty_print) + if self.Bezeichnung_Planung_Gruppe is not None: + namespaceprefix_ = self.Bezeichnung_Planung_Gruppe_nsprefix_ + ':' if (UseCapturedNS_ and self.Bezeichnung_Planung_Gruppe_nsprefix_) else '' + self.Bezeichnung_Planung_Gruppe.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Bezeichnung_Planung_Gruppe', pretty_print=pretty_print) + if self.Bezeichnung_Unteranlage is not None: + namespaceprefix_ = self.Bezeichnung_Unteranlage_nsprefix_ + ':' if (UseCapturedNS_ and self.Bezeichnung_Unteranlage_nsprefix_) else '' + self.Bezeichnung_Unteranlage.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Bezeichnung_Unteranlage', pretty_print=pretty_print) + if self.Planungsbuero is not None: + namespaceprefix_ = self.Planungsbuero_nsprefix_ + ':' if (UseCapturedNS_ and self.Planungsbuero_nsprefix_) else '' + self.Planungsbuero.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Planungsbuero', pretty_print=pretty_print) + if self.Planungsbuero_Logo is not None: + namespaceprefix_ = self.Planungsbuero_Logo_nsprefix_ + ':' if (UseCapturedNS_ and self.Planungsbuero_Logo_nsprefix_) else '' + self.Planungsbuero_Logo.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Planungsbuero_Logo', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Bauabschnitt': + obj_ = TCBauabschnitt.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Bauabschnitt = obj_ + obj_.original_tagname_ = 'Bauabschnitt' + elif nodeName_ == 'Bezeichnung_Anlage': + obj_ = TCBezeichnung_Anlage.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Bezeichnung_Anlage = obj_ + obj_.original_tagname_ = 'Bezeichnung_Anlage' + elif nodeName_ == 'Bezeichnung_Planung_Gruppe': + obj_ = TCBezeichnung_Planung_Gruppe.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Bezeichnung_Planung_Gruppe = obj_ + obj_.original_tagname_ = 'Bezeichnung_Planung_Gruppe' + elif nodeName_ == 'Bezeichnung_Unteranlage': + obj_ = TCBezeichnung_Unteranlage.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Bezeichnung_Unteranlage = obj_ + obj_.original_tagname_ = 'Bezeichnung_Unteranlage' + elif nodeName_ == 'Planungsbuero': + obj_ = COrganisation.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Planungsbuero = obj_ + obj_.original_tagname_ = 'Planungsbuero' + elif nodeName_ == 'Planungsbuero_Logo': + obj_ = CAnhang.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Planungsbuero_Logo = obj_ + obj_.original_tagname_ = 'Planungsbuero_Logo' +# end class CPlanung_G_Schriftfeld + + +class CZLV_Bus_Bezeichnung(GeneratedsSuper): + """ZLV_Bus_Nr -- Nummer des ZLV-Busses. Jeder ZLV-Bus hat eine ihn identifizierende Nummer, die zentral festgelegt wird. Zuk + ü + nftig wird die Nummer vierstellig angegeben; die ersten beiden Ziffern geben die Region an. Damit ist jeder ZLV-Bus bereits anhand seiner Nummer eindeutig in der Region identifizierbar. Bei BZ- + ü + bergreifenden ZLV-Bussen wird der BZ-Code nach Ril 100.0001A01 der ZLV-Bus-Nummer vorangestellt, getrennt durch einen Schr + ä + gstrich. Der BZ-Code wird aus dem Verweis auf die Bedien Zentrale generiert. DB-Regelwerk 100.0001A01 819.0731 5 (14) + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, ZLV_Bus_Nr=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.ZLV_Bus_Nr = ZLV_Bus_Nr + self.ZLV_Bus_Nr_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CZLV_Bus_Bezeichnung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CZLV_Bus_Bezeichnung.subclass: + return CZLV_Bus_Bezeichnung.subclass(*args_, **kwargs_) + else: + return CZLV_Bus_Bezeichnung(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_ZLV_Bus_Nr(self): + return self.ZLV_Bus_Nr + def set_ZLV_Bus_Nr(self, ZLV_Bus_Nr): + self.ZLV_Bus_Nr = ZLV_Bus_Nr + def has__content(self): + if ( + self.ZLV_Bus_Nr is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsZugnummernmeldeanlage:', namespacedef_='xmlns:nsZugnummernmeldeanlage="http://www.plan-pro.org/modell/Zugnummernmeldeanlage/1.10.0"', name_='CZLV_Bus_Bezeichnung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CZLV_Bus_Bezeichnung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CZLV_Bus_Bezeichnung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CZLV_Bus_Bezeichnung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CZLV_Bus_Bezeichnung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsZugnummernmeldeanlage:', name_='CZLV_Bus_Bezeichnung'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsZugnummernmeldeanlage:', namespacedef_='xmlns:nsZugnummernmeldeanlage="http://www.plan-pro.org/modell/Zugnummernmeldeanlage/1.10.0"', name_='CZLV_Bus_Bezeichnung', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.ZLV_Bus_Nr is not None: + namespaceprefix_ = self.ZLV_Bus_Nr_nsprefix_ + ':' if (UseCapturedNS_ and self.ZLV_Bus_Nr_nsprefix_) else '' + self.ZLV_Bus_Nr.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ZLV_Bus_Nr', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ZLV_Bus_Nr': + obj_ = TCZLV_Bus_Nr.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ZLV_Bus_Nr = obj_ + obj_.original_tagname_ = 'ZLV_Bus_Nr' +# end class CZLV_Bus_Bezeichnung + + +class CZN_Akustik_Anzeigefeld(GeneratedsSuper): + """Akustikdauer_Anb_Ann -- Dauer der akustischen Meldung im Anbiete-/Annahmefeld Eine akustische Meldung im Anbiete-/Annahmefeld (mit Anzeige der Zugnummer) ist Standard und daher nicht gesondert zu planen. Es kann nur zwischen der Akustikdauer von 5s oder bis zur Annahme des Zuges unterschieden werden. DB-Regelwerk Das Planungsdatum ist im Regelwerk der DB AG nicht enthalten. Es ist nur im Lastenheft zu finden, das dem LST-Fachplaner nicht zur Verf + ü + gung steht. + Akustikdauer_Sonst -- Dauer einer akustischen Meldung im ZN Anzeigefeld. Herstellerspezifisch ist es m + ö + glich, jedes ZN Anzeigefeld, welches nicht Anbiet-/Annahme- oder Voranzeigefeld ist, mit einer akustischen Meldung bei Bef + ü + llung mit einer Zugnummer zu belegen. Dieses Attribut wird nur bef + ü + llt, wenn die ZN-Anlage dieses herstellerseitig zul + ä + sst. DB-Regelwerk Das Planungsdatum ist im Regelwerk der DB AG nicht enthalten. Es bedarf der Abstimmung zwischen LST-Fachplaner und dem Hersteller. + Akustikdauer_Voranz -- Dauer einer akustischen Meldung im Voranzeigefeld. Es ist anzugeben, ob bei Bef + ü + llen der Voranzeige durch eine Zugnummer eine akustische Meldung erfolgt. Bei den Bauarten der Hersteller Siemens und Thales muss die Angabe f + ü + r alle Voranzeigefelder einheitlich sein, da eine Unterscheidung je Voranzeigefeld systembedingt z. Zt. nicht realisiert ist. DB-Regelwerk Das Planungsdatum ist im Regelwerk der DB AG nicht enthalten. Es bedarf der Abstimmung zwischen LST-Fachplaner und Hersteller. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Akustikdauer_Anb_Ann=None, Akustikdauer_Sonst=None, Akustikdauer_Voranz=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Akustikdauer_Anb_Ann = Akustikdauer_Anb_Ann + self.Akustikdauer_Anb_Ann_nsprefix_ = None + self.Akustikdauer_Sonst = Akustikdauer_Sonst + self.Akustikdauer_Sonst_nsprefix_ = None + self.Akustikdauer_Voranz = Akustikdauer_Voranz + self.Akustikdauer_Voranz_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CZN_Akustik_Anzeigefeld) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CZN_Akustik_Anzeigefeld.subclass: + return CZN_Akustik_Anzeigefeld.subclass(*args_, **kwargs_) + else: + return CZN_Akustik_Anzeigefeld(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Akustikdauer_Anb_Ann(self): + return self.Akustikdauer_Anb_Ann + def set_Akustikdauer_Anb_Ann(self, Akustikdauer_Anb_Ann): + self.Akustikdauer_Anb_Ann = Akustikdauer_Anb_Ann + def get_Akustikdauer_Sonst(self): + return self.Akustikdauer_Sonst + def set_Akustikdauer_Sonst(self, Akustikdauer_Sonst): + self.Akustikdauer_Sonst = Akustikdauer_Sonst + def get_Akustikdauer_Voranz(self): + return self.Akustikdauer_Voranz + def set_Akustikdauer_Voranz(self, Akustikdauer_Voranz): + self.Akustikdauer_Voranz = Akustikdauer_Voranz + def has__content(self): + if ( + self.Akustikdauer_Anb_Ann is not None or + self.Akustikdauer_Sonst is not None or + self.Akustikdauer_Voranz is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsZugnummernmeldeanlage:', namespacedef_='xmlns:nsZugnummernmeldeanlage="http://www.plan-pro.org/modell/Zugnummernmeldeanlage/1.10.0"', name_='CZN_Akustik_Anzeigefeld', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CZN_Akustik_Anzeigefeld') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CZN_Akustik_Anzeigefeld': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CZN_Akustik_Anzeigefeld') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CZN_Akustik_Anzeigefeld', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsZugnummernmeldeanlage:', name_='CZN_Akustik_Anzeigefeld'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsZugnummernmeldeanlage:', namespacedef_='xmlns:nsZugnummernmeldeanlage="http://www.plan-pro.org/modell/Zugnummernmeldeanlage/1.10.0"', name_='CZN_Akustik_Anzeigefeld', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Akustikdauer_Anb_Ann is not None: + namespaceprefix_ = self.Akustikdauer_Anb_Ann_nsprefix_ + ':' if (UseCapturedNS_ and self.Akustikdauer_Anb_Ann_nsprefix_) else '' + self.Akustikdauer_Anb_Ann.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Akustikdauer_Anb_Ann', pretty_print=pretty_print) + if self.Akustikdauer_Sonst is not None: + namespaceprefix_ = self.Akustikdauer_Sonst_nsprefix_ + ':' if (UseCapturedNS_ and self.Akustikdauer_Sonst_nsprefix_) else '' + self.Akustikdauer_Sonst.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Akustikdauer_Sonst', pretty_print=pretty_print) + if self.Akustikdauer_Voranz is not None: + namespaceprefix_ = self.Akustikdauer_Voranz_nsprefix_ + ':' if (UseCapturedNS_ and self.Akustikdauer_Voranz_nsprefix_) else '' + self.Akustikdauer_Voranz.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Akustikdauer_Voranz', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Akustikdauer_Anb_Ann': + obj_ = TCAkustikdauer_Anb_Ann.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Akustikdauer_Anb_Ann = obj_ + obj_.original_tagname_ = 'Akustikdauer_Anb_Ann' + elif nodeName_ == 'Akustikdauer_Sonst': + obj_ = TCAkustikdauer_Sonst.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Akustikdauer_Sonst = obj_ + obj_.original_tagname_ = 'Akustikdauer_Sonst' + elif nodeName_ == 'Akustikdauer_Voranz': + obj_ = TCAkustikdauer_Voranz.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Akustikdauer_Voranz = obj_ + obj_.original_tagname_ = 'Akustikdauer_Voranz' +# end class CZN_Akustik_Anzeigefeld + + +class CZN_Unterstation_Allg(GeneratedsSuper): + """Bf_Kennung -- Angabe der Bahnhofskennung. Die erste Ziffer gibt die Basis f + ü + r die Bestimmung der Fehlnummernbereiche an (2 = 20, 5 = 50). In BZ-Bereichen kann die Vergabe von gleichen Bahnhofsadressen nicht ausgeschlossen werden. Es sind daher Bereiche mit eindeutiger Bahnhofsadresse festzulegen und zur Unterscheidung von Nachbarbereichen mit einer Bahnhofskennung zu markieren. Die Fehlnummernbereiche werden automatisch in Abh + ä + ngigkeit der Bahnhofskennung gebildet (siehe Ril 819.0731A03 (3)). Dies gilt f + ü + r alle Bauarten der ZN. DB-Regelwerk 819.0731A03 (3) + Koppelunterstation -- Angabe, ob es sich um eine Koppelunterstation handelt. Bei einer Koppelunterstation treffen ein oder mehrere ZLV-Bus-Leitungen sowie eine ZBS zusammen. Eine Koppelunterstation hat somit immer eine Anbindung an die Betriebszentrale (BZ). Eine Unterstation hat eine oder mehrere Anbindung(en) an einen ZLV-Bus. DB-Regelwerk F + ü + r das Planungsdatum gibt es im Regelwerk der DB AG keine konkrete Vorgabe. Die Art der Unterstation ergibt sich aus dem ZLV-Bus-Konzept, welches die DB AG erstellt. 819.0731 5 (17). Koppelunterstationen erhalten eine ZBS-Anbindung. 819.0731 8 (1), 819.0731 8 (2), 819.0731 9 (7), 819.0731 A05. + KUs_Zeittelegramm -- Angabe, ob die Koppelunterstation (KUs) zur Zeitsynchronisation ein Zeittelegramm auf den ZLV-Bus sendet (true) oder nicht (false). Sind zwei + KUs an einem ZLV-Bus angeschlossen, so darf jeweils nur eine KUs ein Zeittelegramm auf den ZLV-Bus senden. DB-Regelwerk 819.0731 5 (22) + ZBS_Adresse -- Angabe der ZBS-Adresse (KUs-Kennung) f + ü + r die Koppelunterstation. Bei einer MUs (Mehrfachunterstation) bzw. Us (Unterstation) wird das Attribut nicht gef + ü + llt. Die Angabe erfolgt hexadezimal. DB-Regelwerk 819.0731 5 (16) + ZBS_Anbindung -- Die Unterstation erh + ä + lt eine ZBS-Anbindung. DB-Regelwerk 819.0731 8 (1) 819.0731 8 (2) 819.0731 9 (7) 819.0731A05 + Zeitsynchronisation_Funkuhr -- Angabe, ob eine Zeitsynchronisation + ü + ber Funkuhr zu projektieren is (true). Bei Benutzung der Funkuhr darf keine Zeitsynchronisation + ü + ber den ZLV-Bus (Telegramm 80) oder + ü + ber Network-Time-Protocol (ntp) erfolgen. Der Wert \"false\" wird nicht verwendet. DB-Regelwerk Ril 819.0731 2 (4) + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Bf_Kennung=None, Koppelunterstation=None, KUs_Zeittelegramm=None, ZBS_Adresse=None, ZBS_Anbindung=None, Zeitsynchronisation_Funkuhr=None, ZN_Unterstation_Bf_Nr=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Bf_Kennung = Bf_Kennung + self.Bf_Kennung_nsprefix_ = None + self.Koppelunterstation = Koppelunterstation + self.Koppelunterstation_nsprefix_ = None + self.KUs_Zeittelegramm = KUs_Zeittelegramm + self.KUs_Zeittelegramm_nsprefix_ = None + self.ZBS_Adresse = ZBS_Adresse + self.ZBS_Adresse_nsprefix_ = None + self.ZBS_Anbindung = ZBS_Anbindung + self.ZBS_Anbindung_nsprefix_ = None + self.Zeitsynchronisation_Funkuhr = Zeitsynchronisation_Funkuhr + self.Zeitsynchronisation_Funkuhr_nsprefix_ = None + if ZN_Unterstation_Bf_Nr is None: + self.ZN_Unterstation_Bf_Nr = [] + else: + self.ZN_Unterstation_Bf_Nr = ZN_Unterstation_Bf_Nr + self.ZN_Unterstation_Bf_Nr_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CZN_Unterstation_Allg) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CZN_Unterstation_Allg.subclass: + return CZN_Unterstation_Allg.subclass(*args_, **kwargs_) + else: + return CZN_Unterstation_Allg(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Bf_Kennung(self): + return self.Bf_Kennung + def set_Bf_Kennung(self, Bf_Kennung): + self.Bf_Kennung = Bf_Kennung + def get_Koppelunterstation(self): + return self.Koppelunterstation + def set_Koppelunterstation(self, Koppelunterstation): + self.Koppelunterstation = Koppelunterstation + def get_KUs_Zeittelegramm(self): + return self.KUs_Zeittelegramm + def set_KUs_Zeittelegramm(self, KUs_Zeittelegramm): + self.KUs_Zeittelegramm = KUs_Zeittelegramm + def get_ZBS_Adresse(self): + return self.ZBS_Adresse + def set_ZBS_Adresse(self, ZBS_Adresse): + self.ZBS_Adresse = ZBS_Adresse + def get_ZBS_Anbindung(self): + return self.ZBS_Anbindung + def set_ZBS_Anbindung(self, ZBS_Anbindung): + self.ZBS_Anbindung = ZBS_Anbindung + def get_Zeitsynchronisation_Funkuhr(self): + return self.Zeitsynchronisation_Funkuhr + def set_Zeitsynchronisation_Funkuhr(self, Zeitsynchronisation_Funkuhr): + self.Zeitsynchronisation_Funkuhr = Zeitsynchronisation_Funkuhr + def get_ZN_Unterstation_Bf_Nr(self): + return self.ZN_Unterstation_Bf_Nr + def set_ZN_Unterstation_Bf_Nr(self, ZN_Unterstation_Bf_Nr): + self.ZN_Unterstation_Bf_Nr = ZN_Unterstation_Bf_Nr + def add_ZN_Unterstation_Bf_Nr(self, value): + self.ZN_Unterstation_Bf_Nr.append(value) + def insert_ZN_Unterstation_Bf_Nr_at(self, index, value): + self.ZN_Unterstation_Bf_Nr.insert(index, value) + def replace_ZN_Unterstation_Bf_Nr_at(self, index, value): + self.ZN_Unterstation_Bf_Nr[index] = value + def has__content(self): + if ( + self.Bf_Kennung is not None or + self.Koppelunterstation is not None or + self.KUs_Zeittelegramm is not None or + self.ZBS_Adresse is not None or + self.ZBS_Anbindung is not None or + self.Zeitsynchronisation_Funkuhr is not None or + self.ZN_Unterstation_Bf_Nr + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsZugnummernmeldeanlage:', namespacedef_='xmlns:nsZugnummernmeldeanlage="http://www.plan-pro.org/modell/Zugnummernmeldeanlage/1.10.0"', name_='CZN_Unterstation_Allg', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CZN_Unterstation_Allg') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CZN_Unterstation_Allg': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CZN_Unterstation_Allg') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CZN_Unterstation_Allg', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsZugnummernmeldeanlage:', name_='CZN_Unterstation_Allg'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsZugnummernmeldeanlage:', namespacedef_='xmlns:nsZugnummernmeldeanlage="http://www.plan-pro.org/modell/Zugnummernmeldeanlage/1.10.0"', name_='CZN_Unterstation_Allg', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Bf_Kennung is not None: + namespaceprefix_ = self.Bf_Kennung_nsprefix_ + ':' if (UseCapturedNS_ and self.Bf_Kennung_nsprefix_) else '' + self.Bf_Kennung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Bf_Kennung', pretty_print=pretty_print) + if self.Koppelunterstation is not None: + namespaceprefix_ = self.Koppelunterstation_nsprefix_ + ':' if (UseCapturedNS_ and self.Koppelunterstation_nsprefix_) else '' + self.Koppelunterstation.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Koppelunterstation', pretty_print=pretty_print) + if self.KUs_Zeittelegramm is not None: + namespaceprefix_ = self.KUs_Zeittelegramm_nsprefix_ + ':' if (UseCapturedNS_ and self.KUs_Zeittelegramm_nsprefix_) else '' + self.KUs_Zeittelegramm.export(outfile, level, namespaceprefix_, namespacedef_='', name_='KUs_Zeittelegramm', pretty_print=pretty_print) + if self.ZBS_Adresse is not None: + namespaceprefix_ = self.ZBS_Adresse_nsprefix_ + ':' if (UseCapturedNS_ and self.ZBS_Adresse_nsprefix_) else '' + self.ZBS_Adresse.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ZBS_Adresse', pretty_print=pretty_print) + if self.ZBS_Anbindung is not None: + namespaceprefix_ = self.ZBS_Anbindung_nsprefix_ + ':' if (UseCapturedNS_ and self.ZBS_Anbindung_nsprefix_) else '' + self.ZBS_Anbindung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ZBS_Anbindung', pretty_print=pretty_print) + if self.Zeitsynchronisation_Funkuhr is not None: + namespaceprefix_ = self.Zeitsynchronisation_Funkuhr_nsprefix_ + ':' if (UseCapturedNS_ and self.Zeitsynchronisation_Funkuhr_nsprefix_) else '' + self.Zeitsynchronisation_Funkuhr.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Zeitsynchronisation_Funkuhr', pretty_print=pretty_print) + for ZN_Unterstation_Bf_Nr_ in self.ZN_Unterstation_Bf_Nr: + namespaceprefix_ = self.ZN_Unterstation_Bf_Nr_nsprefix_ + ':' if (UseCapturedNS_ and self.ZN_Unterstation_Bf_Nr_nsprefix_) else '' + ZN_Unterstation_Bf_Nr_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ZN_Unterstation_Bf_Nr', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Bf_Kennung': + obj_ = TCBf_Kennung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Bf_Kennung = obj_ + obj_.original_tagname_ = 'Bf_Kennung' + elif nodeName_ == 'Koppelunterstation': + obj_ = TCKoppelunterstation.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Koppelunterstation = obj_ + obj_.original_tagname_ = 'Koppelunterstation' + elif nodeName_ == 'KUs_Zeittelegramm': + obj_ = TCKUs_Zeittelegramm.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.KUs_Zeittelegramm = obj_ + obj_.original_tagname_ = 'KUs_Zeittelegramm' + elif nodeName_ == 'ZBS_Adresse': + obj_ = TCZBS_Adresse.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ZBS_Adresse = obj_ + obj_.original_tagname_ = 'ZBS_Adresse' + elif nodeName_ == 'ZBS_Anbindung': + obj_ = TCZBS_Anbindung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ZBS_Anbindung = obj_ + obj_.original_tagname_ = 'ZBS_Anbindung' + elif nodeName_ == 'Zeitsynchronisation_Funkuhr': + obj_ = TCZeitsynchronisation_Funkuhr.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Zeitsynchronisation_Funkuhr = obj_ + obj_.original_tagname_ = 'Zeitsynchronisation_Funkuhr' + elif nodeName_ == 'ZN_Unterstation_Bf_Nr': + obj_ = CZN_Unterstation_Bf_Nr.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ZN_Unterstation_Bf_Nr.append(obj_) + obj_.original_tagname_ = 'ZN_Unterstation_Bf_Nr' +# end class CZN_Unterstation_Allg + + +class CZLV_Bus_Allg(GeneratedsSuper): + """Unterstation_Max -- Anzahl der maximal auf einen ZLV-Bus anschlie + ß + baren Unterstationen. Die Anzahl h + ä + ngt von der L + ä + nge, der Qualit + ä + t und des Umfangs der Telegramme ab. Nach Ril sind in der Regel maximal 10 Unterstationen pro ZLV-Bus zu planen. DB-Regelwerk 819.0731 5 (12) 819.0731 5 (13) + ZN_Modem -- Modem, welches die Verbindung zwischen ZN Unterstation und ZLV-Bus f + ü + r die Datenkommunikation herstellt. Je ZLV-Bus ist nur eine Modembauart zul + ä + ssig. F + ü + r Neuanlagen ist das Modem der Bauart LOGEM 1200 MD oder LineRunner SCADA NG zu verwenden. Bei Auswahl von \"sonstige\" ist ein Bearbeitungsvermerk mit entsprechenden Erl + ä + uterungen anzuf + ü + gen. DB-Regelwerk 819.0731A04 1 + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Unterstation_Max=None, ZN_Modem=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Unterstation_Max = Unterstation_Max + self.Unterstation_Max_nsprefix_ = None + self.ZN_Modem = ZN_Modem + self.ZN_Modem_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CZLV_Bus_Allg) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CZLV_Bus_Allg.subclass: + return CZLV_Bus_Allg.subclass(*args_, **kwargs_) + else: + return CZLV_Bus_Allg(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Unterstation_Max(self): + return self.Unterstation_Max + def set_Unterstation_Max(self, Unterstation_Max): + self.Unterstation_Max = Unterstation_Max + def get_ZN_Modem(self): + return self.ZN_Modem + def set_ZN_Modem(self, ZN_Modem): + self.ZN_Modem = ZN_Modem + def has__content(self): + if ( + self.Unterstation_Max is not None or + self.ZN_Modem is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsZugnummernmeldeanlage:', namespacedef_='xmlns:nsZugnummernmeldeanlage="http://www.plan-pro.org/modell/Zugnummernmeldeanlage/1.10.0"', name_='CZLV_Bus_Allg', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CZLV_Bus_Allg') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CZLV_Bus_Allg': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CZLV_Bus_Allg') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CZLV_Bus_Allg', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsZugnummernmeldeanlage:', name_='CZLV_Bus_Allg'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsZugnummernmeldeanlage:', namespacedef_='xmlns:nsZugnummernmeldeanlage="http://www.plan-pro.org/modell/Zugnummernmeldeanlage/1.10.0"', name_='CZLV_Bus_Allg', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Unterstation_Max is not None: + namespaceprefix_ = self.Unterstation_Max_nsprefix_ + ':' if (UseCapturedNS_ and self.Unterstation_Max_nsprefix_) else '' + self.Unterstation_Max.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Unterstation_Max', pretty_print=pretty_print) + if self.ZN_Modem is not None: + namespaceprefix_ = self.ZN_Modem_nsprefix_ + ':' if (UseCapturedNS_ and self.ZN_Modem_nsprefix_) else '' + self.ZN_Modem.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ZN_Modem', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Unterstation_Max': + obj_ = TCUnterstation_Max.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Unterstation_Max = obj_ + obj_.original_tagname_ = 'Unterstation_Max' + elif nodeName_ == 'ZN_Modem': + obj_ = TCZN_Modem.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ZN_Modem = obj_ + obj_.original_tagname_ = 'ZN_Modem' +# end class CZLV_Bus_Allg + + +class CZN_Unterstation_Bf_Nr(GeneratedsSuper): + """Bf_Nr -- Angabe der Bahnhofsnummer zur eindeutigen Identifikation einer Betriebsstelle auf dem ZLV-Bus. Die Bahnhofsnummer muss im Bereich der angrenzenden ZLV-Busse eindeutig sein. Bei der Verwendung von Bahnhosnummern in Bereichen mit (Koppel-/Mehrfach-)Unterstation (siehe ZN Unterstation Art) sind besondere Randbedingungen zu beachten. DB-Regelwerk 819.0731 5 (3) 819.0731 5 (4) Bei Bereichen mit (K/M)-Unterstationen: 819.0731 5 (5) - (7) + ID_Oertlichkeit -- Ö + rtlichkeit, die einer Bahnhofsnummer zugeordnet ist, welche zus + ä + tzlich von der ZN_Unterstation verwaltet wird. Es ist der Wert \"Oertlichkeit_Abkuerzung\" zu verwenden. + Prioritaet -- Angabe der ma + ß + gebenden Bahnhofsnummer der ZN Unterstation Das Attribut wird nur f + ü + r diejenige Bahnhofsnummer mit \"1\" bef + ü + llt, welche f + ü + r die Kommunikation der ZN_Unterstation mit dem ZLV Bus ma + ß + gebend ist. In allen + ü + brigen F + ä + llen wird das Attribut nicht bef + ü + llt. DB-Regelwerk Das Planungsdatum hat keine Entsprechung im Regelwerk. Es findet zeichnerisch Anwendung auf dem ZLV-Bus- + Ü + bersichtsplan einzelner Regionen. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Bf_Nr=None, ID_Oertlichkeit=None, Prioritaet=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Bf_Nr = Bf_Nr + self.Bf_Nr_nsprefix_ = None + self.ID_Oertlichkeit = ID_Oertlichkeit + self.ID_Oertlichkeit_nsprefix_ = None + self.Prioritaet = Prioritaet + self.Prioritaet_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CZN_Unterstation_Bf_Nr) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CZN_Unterstation_Bf_Nr.subclass: + return CZN_Unterstation_Bf_Nr.subclass(*args_, **kwargs_) + else: + return CZN_Unterstation_Bf_Nr(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Bf_Nr(self): + return self.Bf_Nr + def set_Bf_Nr(self, Bf_Nr): + self.Bf_Nr = Bf_Nr + def get_ID_Oertlichkeit(self): + return self.ID_Oertlichkeit + def set_ID_Oertlichkeit(self, ID_Oertlichkeit): + self.ID_Oertlichkeit = ID_Oertlichkeit + def get_Prioritaet(self): + return self.Prioritaet + def set_Prioritaet(self, Prioritaet): + self.Prioritaet = Prioritaet + def has__content(self): + if ( + self.Bf_Nr is not None or + self.ID_Oertlichkeit is not None or + self.Prioritaet is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsZugnummernmeldeanlage:', namespacedef_='xmlns:nsZugnummernmeldeanlage="http://www.plan-pro.org/modell/Zugnummernmeldeanlage/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CZN_Unterstation_Bf_Nr', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CZN_Unterstation_Bf_Nr') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CZN_Unterstation_Bf_Nr': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CZN_Unterstation_Bf_Nr') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CZN_Unterstation_Bf_Nr', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsZugnummernmeldeanlage:', name_='CZN_Unterstation_Bf_Nr'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsZugnummernmeldeanlage:', namespacedef_='xmlns:nsZugnummernmeldeanlage="http://www.plan-pro.org/modell/Zugnummernmeldeanlage/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CZN_Unterstation_Bf_Nr', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Bf_Nr is not None: + namespaceprefix_ = self.Bf_Nr_nsprefix_ + ':' if (UseCapturedNS_ and self.Bf_Nr_nsprefix_) else '' + self.Bf_Nr.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Bf_Nr', pretty_print=pretty_print) + if self.ID_Oertlichkeit is not None: + namespaceprefix_ = self.ID_Oertlichkeit_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Oertlichkeit_nsprefix_) else '' + self.ID_Oertlichkeit.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Oertlichkeit', pretty_print=pretty_print) + if self.Prioritaet is not None: + namespaceprefix_ = self.Prioritaet_nsprefix_ + ':' if (UseCapturedNS_ and self.Prioritaet_nsprefix_) else '' + self.Prioritaet.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Prioritaet', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Bf_Nr': + obj_ = TCBf_Nr.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Bf_Nr = obj_ + obj_.original_tagname_ = 'Bf_Nr' + elif nodeName_ == 'ID_Oertlichkeit': + obj_ = TCID_Oertlichkeit_Proxy.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Oertlichkeit = obj_ + obj_.original_tagname_ = 'ID_Oertlichkeit' + elif nodeName_ == 'Prioritaet': + obj_ = TCPrioritaet.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Prioritaet = obj_ + obj_.original_tagname_ = 'Prioritaet' +# end class CZN_Unterstation_Bf_Nr + + +class CTelegramm_84_Alle_Fstr(GeneratedsSuper): + """ID_ZLV_Bus -- Der Verweis wird gef + ü + llt, wenn das Telegramm 84 durchzureichen ist. Verweis auf den ZLV-Bus, auf den das Telegramm durchgereicht wird. + Telegramm_84_Fuer_Alle_Fstr -- Telegramm 84 (Fahrstra + ß + e aufgel + ö + st). Die Angabe von Telegrammen ist f + ü + r die Durchreichfunktion erforderlich. Eine Aufstellung aller verf + ü + gbaren Telegramme steht dem LST-Fachplaner nicht zur Verf + ü + gung. Es bedarf der Vorgabe des Betreibers, welche Telegramme von wo nach wo durchgereicht werden sollen. Herstellerspezifisch ist anzugeben, ob dieses Telegramm f + ü + r einzelne Fahrstra + ß + en oder f + ü + r alle Fahrstra + ß + en gesendet werden soll. Zudem sind herstellerspezifischen Abh + ä + ngigkeiten beim Senden von Telegramm 84 und 85 zu beachten. Kann die ZN das Telegramm 84 nur f + ü + r alle oder keine Fahrstra + ß + en senden, ist dieser Boolean auszuw + ä + hlen. DB-Regelwerk 819.0731A02 1 (5) + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, ID_ZLV_Bus=None, Telegramm_84_Fuer_Alle_Fstr=None, gds_collector_=None, **kwargs_): + self.gds_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_ZLV_Bus = ID_ZLV_Bus + self.ID_ZLV_Bus_nsprefix_ = None + self.Telegramm_84_Fuer_Alle_Fstr = Telegramm_84_Fuer_Alle_Fstr + self.Telegramm_84_Fuer_Alle_Fstr_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CTelegramm_84_Alle_Fstr) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CTelegramm_84_Alle_Fstr.subclass: + return CTelegramm_84_Alle_Fstr.subclass(*args_, **kwargs_) + else: + return CTelegramm_84_Alle_Fstr(*args_, **kwargs_) + factory = staticmethod(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_ZLV_Bus(self): + return self.ID_ZLV_Bus + def set_ID_ZLV_Bus(self, ID_ZLV_Bus): + self.ID_ZLV_Bus = ID_ZLV_Bus + def get_Telegramm_84_Fuer_Alle_Fstr(self): + return self.Telegramm_84_Fuer_Alle_Fstr + def set_Telegramm_84_Fuer_Alle_Fstr(self, Telegramm_84_Fuer_Alle_Fstr): + self.Telegramm_84_Fuer_Alle_Fstr = Telegramm_84_Fuer_Alle_Fstr + def has__content(self): + if ( + self.ID_ZLV_Bus is not None or + self.Telegramm_84_Fuer_Alle_Fstr is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsZugnummernmeldeanlage:', namespacedef_='xmlns:nsZugnummernmeldeanlage="http://www.plan-pro.org/modell/Zugnummernmeldeanlage/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CTelegramm_84_Alle_Fstr', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CTelegramm_84_Alle_Fstr') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CTelegramm_84_Alle_Fstr': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CTelegramm_84_Alle_Fstr') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CTelegramm_84_Alle_Fstr', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsZugnummernmeldeanlage:', name_='CTelegramm_84_Alle_Fstr'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsZugnummernmeldeanlage:', namespacedef_='xmlns:nsZugnummernmeldeanlage="http://www.plan-pro.org/modell/Zugnummernmeldeanlage/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CTelegramm_84_Alle_Fstr', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.ID_ZLV_Bus is not None: + namespaceprefix_ = self.ID_ZLV_Bus_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_ZLV_Bus_nsprefix_) else '' + self.ID_ZLV_Bus.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_ZLV_Bus', pretty_print=pretty_print) + if self.Telegramm_84_Fuer_Alle_Fstr is not None: + namespaceprefix_ = self.Telegramm_84_Fuer_Alle_Fstr_nsprefix_ + ':' if (UseCapturedNS_ and self.Telegramm_84_Fuer_Alle_Fstr_nsprefix_) else '' + self.Telegramm_84_Fuer_Alle_Fstr.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Telegramm_84_Fuer_Alle_Fstr', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_ZLV_Bus': + obj_ = TCID_ZLV_Bus.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_ZLV_Bus = obj_ + obj_.original_tagname_ = 'ID_ZLV_Bus' + elif nodeName_ == 'Telegramm_84_Fuer_Alle_Fstr': + obj_ = TCTelegramm_84_Fuer_Alle_Fstr.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Telegramm_84_Fuer_Alle_Fstr = obj_ + obj_.original_tagname_ = 'Telegramm_84_Fuer_Alle_Fstr' +# end class CTelegramm_84_Alle_Fstr + + +class CZLV_Bus_Besondere_Anlage_Bezeichnung(GeneratedsSuper): + """Bezeichnung_Besondere_Anlage -- Bezeichnung der besonderen Anlage, die Informationen + ü + ber den ZLV-Bus empf + ä + ngt bzw. sendet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Bezeichnung_Besondere_Anlage=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Bezeichnung_Besondere_Anlage = Bezeichnung_Besondere_Anlage + self.Bezeichnung_Besondere_Anlage_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CZLV_Bus_Besondere_Anlage_Bezeichnung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CZLV_Bus_Besondere_Anlage_Bezeichnung.subclass: + return CZLV_Bus_Besondere_Anlage_Bezeichnung.subclass(*args_, **kwargs_) + else: + return CZLV_Bus_Besondere_Anlage_Bezeichnung(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Bezeichnung_Besondere_Anlage(self): + return self.Bezeichnung_Besondere_Anlage + def set_Bezeichnung_Besondere_Anlage(self, Bezeichnung_Besondere_Anlage): + self.Bezeichnung_Besondere_Anlage = Bezeichnung_Besondere_Anlage + def has__content(self): + if ( + self.Bezeichnung_Besondere_Anlage is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsZugnummernmeldeanlage:', namespacedef_='xmlns:nsZugnummernmeldeanlage="http://www.plan-pro.org/modell/Zugnummernmeldeanlage/1.10.0"', name_='CZLV_Bus_Besondere_Anlage_Bezeichnung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CZLV_Bus_Besondere_Anlage_Bezeichnung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CZLV_Bus_Besondere_Anlage_Bezeichnung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CZLV_Bus_Besondere_Anlage_Bezeichnung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CZLV_Bus_Besondere_Anlage_Bezeichnung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsZugnummernmeldeanlage:', name_='CZLV_Bus_Besondere_Anlage_Bezeichnung'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsZugnummernmeldeanlage:', namespacedef_='xmlns:nsZugnummernmeldeanlage="http://www.plan-pro.org/modell/Zugnummernmeldeanlage/1.10.0"', name_='CZLV_Bus_Besondere_Anlage_Bezeichnung', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Bezeichnung_Besondere_Anlage is not None: + namespaceprefix_ = self.Bezeichnung_Besondere_Anlage_nsprefix_ + ':' if (UseCapturedNS_ and self.Bezeichnung_Besondere_Anlage_nsprefix_) else '' + self.Bezeichnung_Besondere_Anlage.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Bezeichnung_Besondere_Anlage', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Bezeichnung_Besondere_Anlage': + obj_ = TCBezeichnung_Besondere_Anlage.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Bezeichnung_Besondere_Anlage = obj_ + obj_.original_tagname_ = 'Bezeichnung_Besondere_Anlage' +# end class CZLV_Bus_Besondere_Anlage_Bezeichnung + + +class CZN_Fortschalt_Krit_Schalt(GeneratedsSuper): + """Besonderes_Schaltkriterium -- Angabe von besonderen Fortschaltkriterien f + ü + r die Zugnummernfortschaltung als Kommentar. Die Angabe kann auch in Verbindung mit dem Attribut ZN Schaltkriterium erfolgen; z. B. \"positive Stellbarkeitspr + ü + fung Signal xy\". DB-Regelwerk Das Planungsdatum ist im Regelwerk der DB AG nicht enthalten. Es bedarf dazu der Abstimmung zwischen LST-Fachplaner und Betreiber. + ID_Fortschaltung_Start -- Verweis auf das Startelement, von dem fortgeschaltet wird. Aus Start und Ziel l + ä + sst sich eine Fortschaltrichtung ableiten. DB-Regelwerk 819.0731 6 (15) 819.0731 6 (16) 819.0731 6 (17) + Telegrammwiederholung -- Bei Fortschaltung wird die Sendung des Telegramms wiederholt. Falls keine Telegrammwiederholung erfolgt, wird das Attribut nicht bef + ü + llt. DB-Regelwerk 819.0731 6 (21) + ZN_Schaltkriterium -- Kriterium zur Fortschaltung der Zugnummer. Die Angabe eines ZN-Fortschaltkriteriums erfolgt, sofern es nicht Funktionalit + ä + t der Anlage ist (ENUM-Wert + „ + kein + “ + ). Firmenspezifische Besonderheiten nach Ril 819.0731A03 sind zu beachten. Das Kriterium \"Signalhaltfall\" beinhaltet neben Haltstellung von Hauptsignalen auch das Erl + ö + schen von Kennlicht, Sh1, Ersatz- bzw. Vorsichtssignalen. Diese sind im ESTW Stellwerksfunktionalit + ä + t und werden nicht explizit geplant. Das Kriterium der Haltstellung von virtuellen Signalen (Anwendung bei ETCS) wird zu einem sp + ä + teren Zeitpunkt im Modell ber + ü + cksichtigt. Bei Auswahl von \"sonstige\" ist ein Bearbeitungsvermerk mit entsprechenden Erl + ä + uterungen anzuf + ü + gen. DB-Regelwerk Ril 819.0731A03 + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Besonderes_Schaltkriterium=None, ID_Fortschaltung_Start=None, Telegrammwiederholung=None, ZN_Schaltkriterium=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Besonderes_Schaltkriterium = Besonderes_Schaltkriterium + self.Besonderes_Schaltkriterium_nsprefix_ = None + self.ID_Fortschaltung_Start = ID_Fortschaltung_Start + self.ID_Fortschaltung_Start_nsprefix_ = None + self.Telegrammwiederholung = Telegrammwiederholung + self.Telegrammwiederholung_nsprefix_ = None + self.ZN_Schaltkriterium = ZN_Schaltkriterium + self.ZN_Schaltkriterium_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CZN_Fortschalt_Krit_Schalt) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CZN_Fortschalt_Krit_Schalt.subclass: + return CZN_Fortschalt_Krit_Schalt.subclass(*args_, **kwargs_) + else: + return CZN_Fortschalt_Krit_Schalt(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Besonderes_Schaltkriterium(self): + return self.Besonderes_Schaltkriterium + def set_Besonderes_Schaltkriterium(self, Besonderes_Schaltkriterium): + self.Besonderes_Schaltkriterium = Besonderes_Schaltkriterium + def get_ID_Fortschaltung_Start(self): + return self.ID_Fortschaltung_Start + def set_ID_Fortschaltung_Start(self, ID_Fortschaltung_Start): + self.ID_Fortschaltung_Start = ID_Fortschaltung_Start + def get_Telegrammwiederholung(self): + return self.Telegrammwiederholung + def set_Telegrammwiederholung(self, Telegrammwiederholung): + self.Telegrammwiederholung = Telegrammwiederholung + def get_ZN_Schaltkriterium(self): + return self.ZN_Schaltkriterium + def set_ZN_Schaltkriterium(self, ZN_Schaltkriterium): + self.ZN_Schaltkriterium = ZN_Schaltkriterium + def has__content(self): + if ( + self.Besonderes_Schaltkriterium is not None or + self.ID_Fortschaltung_Start is not None or + self.Telegrammwiederholung is not None or + self.ZN_Schaltkriterium is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsZugnummernmeldeanlage:', namespacedef_='xmlns:nsZugnummernmeldeanlage="http://www.plan-pro.org/modell/Zugnummernmeldeanlage/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CZN_Fortschalt_Krit_Schalt', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CZN_Fortschalt_Krit_Schalt') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CZN_Fortschalt_Krit_Schalt': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CZN_Fortschalt_Krit_Schalt') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CZN_Fortschalt_Krit_Schalt', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsZugnummernmeldeanlage:', name_='CZN_Fortschalt_Krit_Schalt'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsZugnummernmeldeanlage:', namespacedef_='xmlns:nsZugnummernmeldeanlage="http://www.plan-pro.org/modell/Zugnummernmeldeanlage/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CZN_Fortschalt_Krit_Schalt', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Besonderes_Schaltkriterium is not None: + namespaceprefix_ = self.Besonderes_Schaltkriterium_nsprefix_ + ':' if (UseCapturedNS_ and self.Besonderes_Schaltkriterium_nsprefix_) else '' + self.Besonderes_Schaltkriterium.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Besonderes_Schaltkriterium', pretty_print=pretty_print) + if self.ID_Fortschaltung_Start is not None: + namespaceprefix_ = self.ID_Fortschaltung_Start_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Fortschaltung_Start_nsprefix_) else '' + self.ID_Fortschaltung_Start.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Fortschaltung_Start', pretty_print=pretty_print) + if self.Telegrammwiederholung is not None: + namespaceprefix_ = self.Telegrammwiederholung_nsprefix_ + ':' if (UseCapturedNS_ and self.Telegrammwiederholung_nsprefix_) else '' + self.Telegrammwiederholung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Telegrammwiederholung', pretty_print=pretty_print) + if self.ZN_Schaltkriterium is not None: + namespaceprefix_ = self.ZN_Schaltkriterium_nsprefix_ + ':' if (UseCapturedNS_ and self.ZN_Schaltkriterium_nsprefix_) else '' + self.ZN_Schaltkriterium.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ZN_Schaltkriterium', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Besonderes_Schaltkriterium': + obj_ = TCBesonderes_Schaltkriterium.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Besonderes_Schaltkriterium = obj_ + obj_.original_tagname_ = 'Besonderes_Schaltkriterium' + elif nodeName_ == 'ID_Fortschaltung_Start': + obj_ = TCID_Fortschaltung_Start.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Fortschaltung_Start = obj_ + obj_.original_tagname_ = 'ID_Fortschaltung_Start' + elif nodeName_ == 'Telegrammwiederholung': + obj_ = TCTelegrammwiederholung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Telegrammwiederholung = obj_ + obj_.original_tagname_ = 'Telegrammwiederholung' + elif nodeName_ == 'ZN_Schaltkriterium': + obj_ = TCZN_Schaltkriterium.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ZN_Schaltkriterium = obj_ + obj_.original_tagname_ = 'ZN_Schaltkriterium' +# end class CZN_Fortschalt_Krit_Schalt + + +class CZN_Fortschalt_Krit_Druck(GeneratedsSuper): + """Ausfahrdruck -- Druck nach Ausfahrt eines Zuges. Im ZN Anzeigefeld wird ein Druck nach Ausfahrt des Zuges generiert. Die Ausgabe erfolgt auf einem ZN-Drucker oder in ein Doku-System. Das DB-Regelwerk enth + ä + lt keine konkreten Planungsvorgaben. Es bedarf der Abstimmung zwischen LST-Fachplaner und sp + ä + terem Betreiber. DB-Regelwerk Allgemein gehaltene Aussagen zu den Drucken finden sich in 819.0731 2 (3) 819.0731 6 (12) 819.0731 6 (18) + Ausfahrdruck_Gegengleis -- Druck nach Ausfahrt des Zuges ins Gegengleis. Im ZN Anzeigefeld wird ein Druck nach Ausfahrt des Zuges ins Gegengleis generiert. Die Ausgabe erfolgt auf einem ZN-Drucker oder in ein Doku-System. Das DB-Regelwerk enth + ä + lt keine konkreten Planungsvorgaben. Es bedarf der Abstimmung zwischen LST-Fachplaner und sp + ä + terem Betreiber. DB-Regelwerk Allgemein gehaltene Aussagen zu den Drucken finden sich in 819.0731 2 (3) 819.0731 6 (12) 819.0731 6 (18) + Durchfahrdruck -- Druck nach Durchfahrt des Zuges. Im ZN Anzeigefeld wird ein Druck nach Durchfahrt des Zuges (z. B. nach Passieren eines Bahnhofsteils) generiert. Die Ausgabe erfolgt auf einem ZN-Drucker oder in ein Doku-System. Das DB-Regelwerk enth + ä + lt keine konkreten Planungsvorgaben. Es bedarf der Abstimmung zwischen LST-Fachplaner und sp + ä + terem Betreiber. DB-Regelwerk Allgemein gehaltene Aussagen zu den Drucken finden sich in 819.0731 2 (3) 819.0731 6 (12) 819.0731 6 (18) + Einfahrdruck -- Druck nach Einfahrt des Zuges. Im ZN Anzeigefeld wird ein Druck nach Einfahrt des Zuges in den Bahnhof generiert. Die Ausgabe erfolgt auf einem ZN-Drucker oder in ein Doku-System. Das DB-Regelwerk enth + ä + lt keine konkreten Planungsvorgaben. Es bedarf der Abstimmung zwischen LST-Fachplaner und sp + ä + terem Betreiber. DB-Regelwerk Allgemein gehaltene Aussagen zu den Drucken finden sich in 819.0731 2 (3) 819.0731 6 (12) 819.0731 6 (18) + Einfahrdruck_Gegengleis -- Druck nach Einfahrt des Zuges aus dem Gegengleis. Im ZN Anzeigefeld wird ein Druck nach Einfahrt des Zuges aus dem Gegengleis in den Bahnhof generiert. Die Ausgabe erfolgt auf einem ZN-Drucker oder in ein Doku-System. Das DB-Regelwerk enth + ä + lt keine konkreten Planungsvorgaben. Es bedarf der Abstimmung zwischen LST-Fachplaner und sp + ä + terem Betreiber. DB-Regelwerk Allgemein gehaltene Aussagen zu den Drucken finden sich in 819.0731 2 (3) 819.0731 6 (12) 819.0731 6 (18) + Meldedruck -- Druck nach Fortschaltung der Zugnummer. Im ZN Anzeigefeld wird ein Druck nach Fortschaltung der Zugnummer generiert. Die Ausgabe erfolgt auf einem ZN-Drucker oder in ein Doku-System. Das DB-Regelwerk enth + ä + lt keine konkreten Planungsvorgaben. Es bedarf der Abstimmung zwischen LST-Fachplaner und sp + ä + terem Betreiber. DB-Regelwerk Allgemein gehaltene Aussagen zu den Drucken finden sich in 819.0731 2 (3) 819.0731 6 (12) 819.0731 6 (18) + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Ausfahrdruck=None, Ausfahrdruck_Gegengleis=None, Durchfahrdruck=None, Einfahrdruck=None, Einfahrdruck_Gegengleis=None, Meldedruck=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Ausfahrdruck = Ausfahrdruck + self.Ausfahrdruck_nsprefix_ = None + self.Ausfahrdruck_Gegengleis = Ausfahrdruck_Gegengleis + self.Ausfahrdruck_Gegengleis_nsprefix_ = None + self.Durchfahrdruck = Durchfahrdruck + self.Durchfahrdruck_nsprefix_ = None + self.Einfahrdruck = Einfahrdruck + self.Einfahrdruck_nsprefix_ = None + self.Einfahrdruck_Gegengleis = Einfahrdruck_Gegengleis + self.Einfahrdruck_Gegengleis_nsprefix_ = None + self.Meldedruck = Meldedruck + self.Meldedruck_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CZN_Fortschalt_Krit_Druck) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CZN_Fortschalt_Krit_Druck.subclass: + return CZN_Fortschalt_Krit_Druck.subclass(*args_, **kwargs_) + else: + return CZN_Fortschalt_Krit_Druck(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Ausfahrdruck(self): + return self.Ausfahrdruck + def set_Ausfahrdruck(self, Ausfahrdruck): + self.Ausfahrdruck = Ausfahrdruck + def get_Ausfahrdruck_Gegengleis(self): + return self.Ausfahrdruck_Gegengleis + def set_Ausfahrdruck_Gegengleis(self, Ausfahrdruck_Gegengleis): + self.Ausfahrdruck_Gegengleis = Ausfahrdruck_Gegengleis + def get_Durchfahrdruck(self): + return self.Durchfahrdruck + def set_Durchfahrdruck(self, Durchfahrdruck): + self.Durchfahrdruck = Durchfahrdruck + def get_Einfahrdruck(self): + return self.Einfahrdruck + def set_Einfahrdruck(self, Einfahrdruck): + self.Einfahrdruck = Einfahrdruck + def get_Einfahrdruck_Gegengleis(self): + return self.Einfahrdruck_Gegengleis + def set_Einfahrdruck_Gegengleis(self, Einfahrdruck_Gegengleis): + self.Einfahrdruck_Gegengleis = Einfahrdruck_Gegengleis + def get_Meldedruck(self): + return self.Meldedruck + def set_Meldedruck(self, Meldedruck): + self.Meldedruck = Meldedruck + def has__content(self): + if ( + self.Ausfahrdruck is not None or + self.Ausfahrdruck_Gegengleis is not None or + self.Durchfahrdruck is not None or + self.Einfahrdruck is not None or + self.Einfahrdruck_Gegengleis is not None or + self.Meldedruck is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsZugnummernmeldeanlage:', namespacedef_='xmlns:nsZugnummernmeldeanlage="http://www.plan-pro.org/modell/Zugnummernmeldeanlage/1.10.0"', name_='CZN_Fortschalt_Krit_Druck', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CZN_Fortschalt_Krit_Druck') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CZN_Fortschalt_Krit_Druck': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CZN_Fortschalt_Krit_Druck') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CZN_Fortschalt_Krit_Druck', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsZugnummernmeldeanlage:', name_='CZN_Fortschalt_Krit_Druck'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsZugnummernmeldeanlage:', namespacedef_='xmlns:nsZugnummernmeldeanlage="http://www.plan-pro.org/modell/Zugnummernmeldeanlage/1.10.0"', name_='CZN_Fortschalt_Krit_Druck', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Ausfahrdruck is not None: + namespaceprefix_ = self.Ausfahrdruck_nsprefix_ + ':' if (UseCapturedNS_ and self.Ausfahrdruck_nsprefix_) else '' + self.Ausfahrdruck.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Ausfahrdruck', pretty_print=pretty_print) + if self.Ausfahrdruck_Gegengleis is not None: + namespaceprefix_ = self.Ausfahrdruck_Gegengleis_nsprefix_ + ':' if (UseCapturedNS_ and self.Ausfahrdruck_Gegengleis_nsprefix_) else '' + self.Ausfahrdruck_Gegengleis.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Ausfahrdruck_Gegengleis', pretty_print=pretty_print) + if self.Durchfahrdruck is not None: + namespaceprefix_ = self.Durchfahrdruck_nsprefix_ + ':' if (UseCapturedNS_ and self.Durchfahrdruck_nsprefix_) else '' + self.Durchfahrdruck.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Durchfahrdruck', pretty_print=pretty_print) + if self.Einfahrdruck is not None: + namespaceprefix_ = self.Einfahrdruck_nsprefix_ + ':' if (UseCapturedNS_ and self.Einfahrdruck_nsprefix_) else '' + self.Einfahrdruck.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Einfahrdruck', pretty_print=pretty_print) + if self.Einfahrdruck_Gegengleis is not None: + namespaceprefix_ = self.Einfahrdruck_Gegengleis_nsprefix_ + ':' if (UseCapturedNS_ and self.Einfahrdruck_Gegengleis_nsprefix_) else '' + self.Einfahrdruck_Gegengleis.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Einfahrdruck_Gegengleis', pretty_print=pretty_print) + if self.Meldedruck is not None: + namespaceprefix_ = self.Meldedruck_nsprefix_ + ':' if (UseCapturedNS_ and self.Meldedruck_nsprefix_) else '' + self.Meldedruck.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Meldedruck', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Ausfahrdruck': + obj_ = TCAusfahrdruck.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Ausfahrdruck = obj_ + obj_.original_tagname_ = 'Ausfahrdruck' + elif nodeName_ == 'Ausfahrdruck_Gegengleis': + obj_ = TCAusfahrdruck_Gegengleis.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Ausfahrdruck_Gegengleis = obj_ + obj_.original_tagname_ = 'Ausfahrdruck_Gegengleis' + elif nodeName_ == 'Durchfahrdruck': + obj_ = TCDurchfahrdruck.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Durchfahrdruck = obj_ + obj_.original_tagname_ = 'Durchfahrdruck' + elif nodeName_ == 'Einfahrdruck': + obj_ = TCEinfahrdruck.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Einfahrdruck = obj_ + obj_.original_tagname_ = 'Einfahrdruck' + elif nodeName_ == 'Einfahrdruck_Gegengleis': + obj_ = TCEinfahrdruck_Gegengleis.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Einfahrdruck_Gegengleis = obj_ + obj_.original_tagname_ = 'Einfahrdruck_Gegengleis' + elif nodeName_ == 'Meldedruck': + obj_ = TCMeldedruck.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Meldedruck = obj_ + obj_.original_tagname_ = 'Meldedruck' +# end class CZN_Fortschalt_Krit_Druck + + +class CZN_Allg(GeneratedsSuper): + """Einwahlstelle -- Anlage zur Einwahl von Zugnummern. Eine ZN-Einwahlstelle wird im Allgemeinen an benachbarten Stellwerken zu neu errichteten ESTW vorgesehen, sofern diese noch nicht mit einer ZN-Anlage ausger + ü + stet sind. Hinsichtlich der eigentlichen Planungsdaten einer Einwahlstelle gibt es keine Unterschiede zur Planung einer \"normalen\" ZN-Anlage. Bei der Planung der Einwahlstelle werden die Anh + ä + nge f + ü + r die Einr + ä + umung von Rechner- und Bedienraum beigef + ü + gt. In der Regel hat die Einwahlstelle keine Anschaltung an die Stellwerkstechnik. Eine Einwahlstelle der Bauform ZNP801 unterscheidet dieses Merkmal hinsichtlich der Anbindung nicht. DB-Regelwerk Das Planungsdatum ist im Regelwerk der DB AG nicht enthalten. Es bedarf der umfangreichen Abstimmungen zwischen LST-Fachplaner und Betreiber. + Reaktivierungsfunktion -- Im Fall der St + ö + rung eines ZLV-Busses sendet die ZN-Anlage ein Reaktivierungstelegramm. In Abh + ä + ngigkeit zum Hersteller muss die Reaktivierungsfunktion geplant werden. DB-Regelwerk 819.0731 5 (19) + ZN_Anlagentyp -- Herstellerspezifischer Typ der ZN-Anlage. Aufgrund firmenspezifischer Projektierungsunterschiede muss der Hersteller vor Beginn der Planung bekannt sein. Bei Auswahl von \"sonstige\" ist ein Bearbeitungsvermerk mit entsprechenden Erl + ä + uterungen anzuf + ü + gen. DB-Regelwerk Aufgrund firmenspezifischer Projektierungsunterschiede muss der Hersteller vor Beginn der Planung bekannt sein. Siehe dazu Ril 819.0731 A0x. Die Anlagentypen ZNL_800, ZNS_800 und ZNS_801 sind f + ü + r Neuanlagen nicht mehr zu verwenden. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Einwahlstelle=None, Reaktivierungsfunktion=None, ZN_Anlagentyp=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Einwahlstelle = Einwahlstelle + self.Einwahlstelle_nsprefix_ = None + self.Reaktivierungsfunktion = Reaktivierungsfunktion + self.Reaktivierungsfunktion_nsprefix_ = None + self.ZN_Anlagentyp = ZN_Anlagentyp + self.ZN_Anlagentyp_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CZN_Allg) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CZN_Allg.subclass: + return CZN_Allg.subclass(*args_, **kwargs_) + else: + return CZN_Allg(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Einwahlstelle(self): + return self.Einwahlstelle + def set_Einwahlstelle(self, Einwahlstelle): + self.Einwahlstelle = Einwahlstelle + def get_Reaktivierungsfunktion(self): + return self.Reaktivierungsfunktion + def set_Reaktivierungsfunktion(self, Reaktivierungsfunktion): + self.Reaktivierungsfunktion = Reaktivierungsfunktion + def get_ZN_Anlagentyp(self): + return self.ZN_Anlagentyp + def set_ZN_Anlagentyp(self, ZN_Anlagentyp): + self.ZN_Anlagentyp = ZN_Anlagentyp + def has__content(self): + if ( + self.Einwahlstelle is not None or + self.Reaktivierungsfunktion is not None or + self.ZN_Anlagentyp is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsZugnummernmeldeanlage:', namespacedef_='xmlns:nsZugnummernmeldeanlage="http://www.plan-pro.org/modell/Zugnummernmeldeanlage/1.10.0"', name_='CZN_Allg', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CZN_Allg') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CZN_Allg': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CZN_Allg') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CZN_Allg', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsZugnummernmeldeanlage:', name_='CZN_Allg'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsZugnummernmeldeanlage:', namespacedef_='xmlns:nsZugnummernmeldeanlage="http://www.plan-pro.org/modell/Zugnummernmeldeanlage/1.10.0"', name_='CZN_Allg', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Einwahlstelle is not None: + namespaceprefix_ = self.Einwahlstelle_nsprefix_ + ':' if (UseCapturedNS_ and self.Einwahlstelle_nsprefix_) else '' + self.Einwahlstelle.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Einwahlstelle', pretty_print=pretty_print) + if self.Reaktivierungsfunktion is not None: + namespaceprefix_ = self.Reaktivierungsfunktion_nsprefix_ + ':' if (UseCapturedNS_ and self.Reaktivierungsfunktion_nsprefix_) else '' + self.Reaktivierungsfunktion.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Reaktivierungsfunktion', pretty_print=pretty_print) + if self.ZN_Anlagentyp is not None: + namespaceprefix_ = self.ZN_Anlagentyp_nsprefix_ + ':' if (UseCapturedNS_ and self.ZN_Anlagentyp_nsprefix_) else '' + self.ZN_Anlagentyp.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ZN_Anlagentyp', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Einwahlstelle': + obj_ = TCEinwahlstelle.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Einwahlstelle = obj_ + obj_.original_tagname_ = 'Einwahlstelle' + elif nodeName_ == 'Reaktivierungsfunktion': + obj_ = TCReaktivierungsfunktion.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Reaktivierungsfunktion = obj_ + obj_.original_tagname_ = 'Reaktivierungsfunktion' + elif nodeName_ == 'ZN_Anlagentyp': + obj_ = TCZN_Anlagentyp.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ZN_Anlagentyp = obj_ + obj_.original_tagname_ = 'ZN_Anlagentyp' +# end class CZN_Allg + + +class CTelegramm_84_Einzelne_Fstr(GeneratedsSuper): + """ID_Fstr_Zug_Rangier -- Verweis auf die betreffende Fahrstra + ß + e, f + ü + r die das Telegramm 84 von der ZN gesendet wird. DB-Regelwerk 819.0731 1 sowie detaillierte Abstimmungen mit dem Betreiber + ID_ZLV_Bus -- Der Verweis wird gef + ü + llt, wenn das Telegramm 84 durchzureichen ist. Verweis auf den ZLV-Bus, auf den das Telegramm durchgereicht wird. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, ID_Fstr_Zug_Rangier=None, ID_ZLV_Bus=None, gds_collector_=None, **kwargs_): + self.gds_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_Fstr_Zug_Rangier = ID_Fstr_Zug_Rangier + self.ID_Fstr_Zug_Rangier_nsprefix_ = None + self.ID_ZLV_Bus = ID_ZLV_Bus + self.ID_ZLV_Bus_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CTelegramm_84_Einzelne_Fstr) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CTelegramm_84_Einzelne_Fstr.subclass: + return CTelegramm_84_Einzelne_Fstr.subclass(*args_, **kwargs_) + else: + return CTelegramm_84_Einzelne_Fstr(*args_, **kwargs_) + factory = staticmethod(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_Fstr_Zug_Rangier(self): + return self.ID_Fstr_Zug_Rangier + def set_ID_Fstr_Zug_Rangier(self, ID_Fstr_Zug_Rangier): + self.ID_Fstr_Zug_Rangier = ID_Fstr_Zug_Rangier + def get_ID_ZLV_Bus(self): + return self.ID_ZLV_Bus + def set_ID_ZLV_Bus(self, ID_ZLV_Bus): + self.ID_ZLV_Bus = ID_ZLV_Bus + def has__content(self): + if ( + self.ID_Fstr_Zug_Rangier is not None or + self.ID_ZLV_Bus is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsZugnummernmeldeanlage:', namespacedef_='xmlns:nsZugnummernmeldeanlage="http://www.plan-pro.org/modell/Zugnummernmeldeanlage/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CTelegramm_84_Einzelne_Fstr', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CTelegramm_84_Einzelne_Fstr') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CTelegramm_84_Einzelne_Fstr': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CTelegramm_84_Einzelne_Fstr') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CTelegramm_84_Einzelne_Fstr', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsZugnummernmeldeanlage:', name_='CTelegramm_84_Einzelne_Fstr'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsZugnummernmeldeanlage:', namespacedef_='xmlns:nsZugnummernmeldeanlage="http://www.plan-pro.org/modell/Zugnummernmeldeanlage/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CTelegramm_84_Einzelne_Fstr', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.ID_Fstr_Zug_Rangier is not None: + namespaceprefix_ = self.ID_Fstr_Zug_Rangier_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Fstr_Zug_Rangier_nsprefix_) else '' + self.ID_Fstr_Zug_Rangier.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Fstr_Zug_Rangier', pretty_print=pretty_print) + if self.ID_ZLV_Bus is not None: + namespaceprefix_ = self.ID_ZLV_Bus_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_ZLV_Bus_nsprefix_) else '' + self.ID_ZLV_Bus.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_ZLV_Bus', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Fstr_Zug_Rangier': + obj_ = TCID_Fstr_Zug_Rangier.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Fstr_Zug_Rangier = obj_ + obj_.original_tagname_ = 'ID_Fstr_Zug_Rangier' + elif nodeName_ == 'ID_ZLV_Bus': + obj_ = TCID_ZLV_Bus.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_ZLV_Bus = obj_ + obj_.original_tagname_ = 'ID_ZLV_Bus' +# end class CTelegramm_84_Einzelne_Fstr + + +class CZLV_Bus_Zuordnung_Allg(GeneratedsSuper): + """Anschlussnummer -- Anschlussnummer der (K/M)Unterstation auf dem ZLV-Bus. Jede Unterstation einer Kus hat f + ü + r jeden angeschlossenen ZLV-Bus eine eigene und einmalige Anschlussnummer. Das Attribut wird nur gef + ü + llt, wenn die Unterstation an mehr als einem ZLV-Bus angeschlossen wird. DB-Regelwerk Allgemeine Angaben finden sich in Ril 819.0731 5 (12). + Unterstation_Nr -- Angabe der Unterstationsnummer auf diesem ZLV-Bus. Es wird empfohlen, auf einem ZLV-Bus nur gerade Nummern im Bereich 02..20 oder ungerade Nummern im Bereich 01..19 zu verwenden. DB-Regelwerk 819.0731 5 (12) + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anschlussnummer=None, Unterstation_Nr=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anschlussnummer = Anschlussnummer + self.Anschlussnummer_nsprefix_ = None + self.Unterstation_Nr = Unterstation_Nr + self.Unterstation_Nr_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CZLV_Bus_Zuordnung_Allg) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CZLV_Bus_Zuordnung_Allg.subclass: + return CZLV_Bus_Zuordnung_Allg.subclass(*args_, **kwargs_) + else: + return CZLV_Bus_Zuordnung_Allg(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anschlussnummer(self): + return self.Anschlussnummer + def set_Anschlussnummer(self, Anschlussnummer): + self.Anschlussnummer = Anschlussnummer + def get_Unterstation_Nr(self): + return self.Unterstation_Nr + def set_Unterstation_Nr(self, Unterstation_Nr): + self.Unterstation_Nr = Unterstation_Nr + def has__content(self): + if ( + self.Anschlussnummer is not None or + self.Unterstation_Nr is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsZugnummernmeldeanlage:', namespacedef_='xmlns:nsZugnummernmeldeanlage="http://www.plan-pro.org/modell/Zugnummernmeldeanlage/1.10.0"', name_='CZLV_Bus_Zuordnung_Allg', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CZLV_Bus_Zuordnung_Allg') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CZLV_Bus_Zuordnung_Allg': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CZLV_Bus_Zuordnung_Allg') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CZLV_Bus_Zuordnung_Allg', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsZugnummernmeldeanlage:', name_='CZLV_Bus_Zuordnung_Allg'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsZugnummernmeldeanlage:', namespacedef_='xmlns:nsZugnummernmeldeanlage="http://www.plan-pro.org/modell/Zugnummernmeldeanlage/1.10.0"', name_='CZLV_Bus_Zuordnung_Allg', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Anschlussnummer is not None: + namespaceprefix_ = self.Anschlussnummer_nsprefix_ + ':' if (UseCapturedNS_ and self.Anschlussnummer_nsprefix_) else '' + self.Anschlussnummer.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Anschlussnummer', pretty_print=pretty_print) + if self.Unterstation_Nr is not None: + namespaceprefix_ = self.Unterstation_Nr_nsprefix_ + ':' if (UseCapturedNS_ and self.Unterstation_Nr_nsprefix_) else '' + self.Unterstation_Nr.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Unterstation_Nr', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Anschlussnummer': + obj_ = TCAnschlussnummer.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Anschlussnummer = obj_ + obj_.original_tagname_ = 'Anschlussnummer' + elif nodeName_ == 'Unterstation_Nr': + obj_ = TCUnterstation_Nr.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Unterstation_Nr = obj_ + obj_.original_tagname_ = 'Unterstation_Nr' +# end class CZLV_Bus_Zuordnung_Allg + + +class CZN_Anzeigefeld_Allg(GeneratedsSuper): + """Bedienbarkeit_Anzeigefeld -- Das Anzeigefeld ist auf der Bedienoberfl + ä + che bedienbar. DB-Regelwerk 819.0731 6 (20) + Bf_Nr_ANB -- Bahnhofsnummer aus der ZN-Anlage des Nachbarn. Die Angabe wird nur f + ü + r die ZN-Anzeigefelder mit der Funktionalit + ä + t ANB/ANN ben + ö + tigt. + Bf_Nr_ZN_A -- Bahnhofsnummer, in deren Bereich das ZN-Anzeigefeld angeordnet wird. Es kann dieselbe Bahnhofsnummer sein wie die der gesamten ZN-Anlage, muss es aber nicht. Es ist m + ö + glich, dass f + ü + r jede Betriebsstelle im Erfassungsbereich der ZN-Anlage je eine Bahnhofsnummer geplant werden kann. + Funktionalitaet_Anzeigefeld -- Angabe der Funktionalit + ä + t des Anzeigefeldes, aus dem der Buchstabe in der Anzeigefeldbezeichnung abgeleitet wird. Anbiete_Annahmefeld: A, Meldeort: M, Spiegelfeld: S Stapelfeld: N, Voranzeigefeld: V, Wandelfeld: W. Die Anzeigefelder sind auf dem ZN- + Ü + bersichtsplan darzustellen. Bei Auswahl von \"sonstige\" ist ein Bearbeitungsvermerk mit entsprechenden Erl + ä + uterungen anzuf + ü + gen. DB-Regelwerk 819.0731 6 + HOA -- Angabe der in dem betreffenden ZN Anzeigefeld auszuwertenden HOA (Hei + ß + l + ä + ufer-Ortungs-Anlage). Im Datenmodell wird nicht die Anlage selber ber + ü + cksichtigt, sondern nur deren Auswertung im ZN Anzeigefeld. Es wird auf dem ZN- + Ü + bersichtsplan an dem betreffenden ZN Anzeigefeld die Nummer der auszuwertenden HOA mit dem Zusatz + „ + Nur zur Information + “ + vermerkt. DB-Regelwerk 819.0731 8 (4) + Sichtbarkeit_Anzeigefeld -- Das ZN Anzeigefeld ist auf der Bedienoberfl + ä + che sichtbar. DB-Regelwerk 819.0731 6 (19) + Verzoegerung_Manuell_Loeschung -- Verz + ö + gerungszeit, bis die L + ö + schung der Zugnummer erfolgt. Die Angabe ist bei manueller Zugnummernl + ö + schung notwendig. Standard lt. LH sind ca. 5 min. DB-Regelwerk Das Planungsdatum ist nur im Lastenheft zu finden, das dem LST-Fachplaner nicht zur Verf + ü + gung steht. + Vormeldestart -- Angabe, ob aus diesem ZN Anzeigefeld eine Vormeldung generiert wird Sofern aus dem ZN_Anzeigefeld eine Vormeldung generiert wird, ist die entsprechende Richtung anzugeben. Wird keine Vormelduing generiert, erfolgt in dem Attribut keine Angabe. DB-Regelwerk In der Ril 819.0731 sind zur Vormeldung keine Aussagen getroffen. Bisher erfolgen die notwendigen Angaben regionalbereichsspezifisch als Symbol und/oder Text mit/ohne Beschreibung konkreter Vormeldebedingungen. + ZN_Anzeigefeld_Loeschkriterium -- Angabe des Kriteriums, mit dem die Zugnummer aus dem ZN Anzeigefeld gel + ö + scht wird. Das Kriterium wird vorrangig f + ü + r ZN-Anzeigefelder an der Grenze der eigenen zur benachbarten ZN-Anlage angegeben. Bei Auswahl von \"sonstige\" ist ein Bearbeitungsvermerk mit entsprechenden Erl + ä + uterungen anzuf + ü + gen. DB-Regelwerk 819.0731 7 (4) enth + ä + lt nur eine allgemeine Aussage. Das Planungsdatum ist im Regelwerk der DB AG nicht enthalten. Es bedarf der Abstimmung zwischen LST-Fachplaner und Betreiber. + ZN_Feld_Ohne_Anzeige -- Im ZN Anzeigefeld erfolgt keine Anzeige einer Zugnummer. DB-Regelwerk Das Planungsdatum ist im Regelwerk der DB AG nicht enthalten. Es findet sich im Lastenheft, das dem LST-Fachplaner nicht zur Verf + ü + gung steht. + Zugvorbereitungsmeldung -- In diesem ZN-Anzeigefeld ist eine Zugvorbereitungsmeldung im ZN- + Ü + bersichtsplan zu kennzeichnen; die ZN-Anlage enth + ä + lt keine ZFM-Funktionalit + ä + t. Im Regelwerk wird dieses Planungsdatum historisch bedingt als \"Zugfertigmeldung\" bezeichnet. DB-Regelwerk 819.0731 6 (23) + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Bedienbarkeit_Anzeigefeld=None, Bf_Nr_ANB=None, Bf_Nr_ZN_A=None, Funktionalitaet_Anzeigefeld=None, HOA=None, Sichtbarkeit_Anzeigefeld=None, Verzoegerung_Manuell_Loeschung=None, Vormeldestart=None, ZN_Anzeigefeld_Loeschkriterium=None, ZN_Feld_Ohne_Anzeige=None, Zugvorbereitungsmeldung=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Bedienbarkeit_Anzeigefeld = Bedienbarkeit_Anzeigefeld + self.Bedienbarkeit_Anzeigefeld_nsprefix_ = None + self.Bf_Nr_ANB = Bf_Nr_ANB + self.Bf_Nr_ANB_nsprefix_ = None + self.Bf_Nr_ZN_A = Bf_Nr_ZN_A + self.Bf_Nr_ZN_A_nsprefix_ = None + self.Funktionalitaet_Anzeigefeld = Funktionalitaet_Anzeigefeld + self.Funktionalitaet_Anzeigefeld_nsprefix_ = None + self.HOA = HOA + self.HOA_nsprefix_ = None + self.Sichtbarkeit_Anzeigefeld = Sichtbarkeit_Anzeigefeld + self.Sichtbarkeit_Anzeigefeld_nsprefix_ = None + self.Verzoegerung_Manuell_Loeschung = Verzoegerung_Manuell_Loeschung + self.Verzoegerung_Manuell_Loeschung_nsprefix_ = None + self.Vormeldestart = Vormeldestart + self.Vormeldestart_nsprefix_ = None + self.ZN_Anzeigefeld_Loeschkriterium = ZN_Anzeigefeld_Loeschkriterium + self.ZN_Anzeigefeld_Loeschkriterium_nsprefix_ = None + self.ZN_Feld_Ohne_Anzeige = ZN_Feld_Ohne_Anzeige + self.ZN_Feld_Ohne_Anzeige_nsprefix_ = None + self.Zugvorbereitungsmeldung = Zugvorbereitungsmeldung + self.Zugvorbereitungsmeldung_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CZN_Anzeigefeld_Allg) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CZN_Anzeigefeld_Allg.subclass: + return CZN_Anzeigefeld_Allg.subclass(*args_, **kwargs_) + else: + return CZN_Anzeigefeld_Allg(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Bedienbarkeit_Anzeigefeld(self): + return self.Bedienbarkeit_Anzeigefeld + def set_Bedienbarkeit_Anzeigefeld(self, Bedienbarkeit_Anzeigefeld): + self.Bedienbarkeit_Anzeigefeld = Bedienbarkeit_Anzeigefeld + def get_Bf_Nr_ANB(self): + return self.Bf_Nr_ANB + def set_Bf_Nr_ANB(self, Bf_Nr_ANB): + self.Bf_Nr_ANB = Bf_Nr_ANB + def get_Bf_Nr_ZN_A(self): + return self.Bf_Nr_ZN_A + def set_Bf_Nr_ZN_A(self, Bf_Nr_ZN_A): + self.Bf_Nr_ZN_A = Bf_Nr_ZN_A + def get_Funktionalitaet_Anzeigefeld(self): + return self.Funktionalitaet_Anzeigefeld + def set_Funktionalitaet_Anzeigefeld(self, Funktionalitaet_Anzeigefeld): + self.Funktionalitaet_Anzeigefeld = Funktionalitaet_Anzeigefeld + def get_HOA(self): + return self.HOA + def set_HOA(self, HOA): + self.HOA = HOA + def get_Sichtbarkeit_Anzeigefeld(self): + return self.Sichtbarkeit_Anzeigefeld + def set_Sichtbarkeit_Anzeigefeld(self, Sichtbarkeit_Anzeigefeld): + self.Sichtbarkeit_Anzeigefeld = Sichtbarkeit_Anzeigefeld + def get_Verzoegerung_Manuell_Loeschung(self): + return self.Verzoegerung_Manuell_Loeschung + def set_Verzoegerung_Manuell_Loeschung(self, Verzoegerung_Manuell_Loeschung): + self.Verzoegerung_Manuell_Loeschung = Verzoegerung_Manuell_Loeschung + def get_Vormeldestart(self): + return self.Vormeldestart + def set_Vormeldestart(self, Vormeldestart): + self.Vormeldestart = Vormeldestart + def get_ZN_Anzeigefeld_Loeschkriterium(self): + return self.ZN_Anzeigefeld_Loeschkriterium + def set_ZN_Anzeigefeld_Loeschkriterium(self, ZN_Anzeigefeld_Loeschkriterium): + self.ZN_Anzeigefeld_Loeschkriterium = ZN_Anzeigefeld_Loeschkriterium + def get_ZN_Feld_Ohne_Anzeige(self): + return self.ZN_Feld_Ohne_Anzeige + def set_ZN_Feld_Ohne_Anzeige(self, ZN_Feld_Ohne_Anzeige): + self.ZN_Feld_Ohne_Anzeige = ZN_Feld_Ohne_Anzeige + def get_Zugvorbereitungsmeldung(self): + return self.Zugvorbereitungsmeldung + def set_Zugvorbereitungsmeldung(self, Zugvorbereitungsmeldung): + self.Zugvorbereitungsmeldung = Zugvorbereitungsmeldung + def has__content(self): + if ( + self.Bedienbarkeit_Anzeigefeld is not None or + self.Bf_Nr_ANB is not None or + self.Bf_Nr_ZN_A is not None or + self.Funktionalitaet_Anzeigefeld is not None or + self.HOA is not None or + self.Sichtbarkeit_Anzeigefeld is not None or + self.Verzoegerung_Manuell_Loeschung is not None or + self.Vormeldestart is not None or + self.ZN_Anzeigefeld_Loeschkriterium is not None or + self.ZN_Feld_Ohne_Anzeige is not None or + self.Zugvorbereitungsmeldung is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsZugnummernmeldeanlage:', namespacedef_='xmlns:nsZugnummernmeldeanlage="http://www.plan-pro.org/modell/Zugnummernmeldeanlage/1.10.0"', name_='CZN_Anzeigefeld_Allg', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CZN_Anzeigefeld_Allg') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CZN_Anzeigefeld_Allg': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CZN_Anzeigefeld_Allg') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CZN_Anzeigefeld_Allg', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsZugnummernmeldeanlage:', name_='CZN_Anzeigefeld_Allg'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsZugnummernmeldeanlage:', namespacedef_='xmlns:nsZugnummernmeldeanlage="http://www.plan-pro.org/modell/Zugnummernmeldeanlage/1.10.0"', name_='CZN_Anzeigefeld_Allg', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Bedienbarkeit_Anzeigefeld is not None: + namespaceprefix_ = self.Bedienbarkeit_Anzeigefeld_nsprefix_ + ':' if (UseCapturedNS_ and self.Bedienbarkeit_Anzeigefeld_nsprefix_) else '' + self.Bedienbarkeit_Anzeigefeld.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Bedienbarkeit_Anzeigefeld', pretty_print=pretty_print) + if self.Bf_Nr_ANB is not None: + namespaceprefix_ = self.Bf_Nr_ANB_nsprefix_ + ':' if (UseCapturedNS_ and self.Bf_Nr_ANB_nsprefix_) else '' + self.Bf_Nr_ANB.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Bf_Nr_ANB', pretty_print=pretty_print) + if self.Bf_Nr_ZN_A is not None: + namespaceprefix_ = self.Bf_Nr_ZN_A_nsprefix_ + ':' if (UseCapturedNS_ and self.Bf_Nr_ZN_A_nsprefix_) else '' + self.Bf_Nr_ZN_A.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Bf_Nr_ZN_A', pretty_print=pretty_print) + if self.Funktionalitaet_Anzeigefeld is not None: + namespaceprefix_ = self.Funktionalitaet_Anzeigefeld_nsprefix_ + ':' if (UseCapturedNS_ and self.Funktionalitaet_Anzeigefeld_nsprefix_) else '' + self.Funktionalitaet_Anzeigefeld.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Funktionalitaet_Anzeigefeld', pretty_print=pretty_print) + if self.HOA is not None: + namespaceprefix_ = self.HOA_nsprefix_ + ':' if (UseCapturedNS_ and self.HOA_nsprefix_) else '' + self.HOA.export(outfile, level, namespaceprefix_, namespacedef_='', name_='HOA', pretty_print=pretty_print) + if self.Sichtbarkeit_Anzeigefeld is not None: + namespaceprefix_ = self.Sichtbarkeit_Anzeigefeld_nsprefix_ + ':' if (UseCapturedNS_ and self.Sichtbarkeit_Anzeigefeld_nsprefix_) else '' + self.Sichtbarkeit_Anzeigefeld.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Sichtbarkeit_Anzeigefeld', pretty_print=pretty_print) + if self.Verzoegerung_Manuell_Loeschung is not None: + namespaceprefix_ = self.Verzoegerung_Manuell_Loeschung_nsprefix_ + ':' if (UseCapturedNS_ and self.Verzoegerung_Manuell_Loeschung_nsprefix_) else '' + self.Verzoegerung_Manuell_Loeschung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Verzoegerung_Manuell_Loeschung', pretty_print=pretty_print) + if self.Vormeldestart is not None: + namespaceprefix_ = self.Vormeldestart_nsprefix_ + ':' if (UseCapturedNS_ and self.Vormeldestart_nsprefix_) else '' + self.Vormeldestart.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Vormeldestart', pretty_print=pretty_print) + if self.ZN_Anzeigefeld_Loeschkriterium is not None: + namespaceprefix_ = self.ZN_Anzeigefeld_Loeschkriterium_nsprefix_ + ':' if (UseCapturedNS_ and self.ZN_Anzeigefeld_Loeschkriterium_nsprefix_) else '' + self.ZN_Anzeigefeld_Loeschkriterium.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ZN_Anzeigefeld_Loeschkriterium', pretty_print=pretty_print) + if self.ZN_Feld_Ohne_Anzeige is not None: + namespaceprefix_ = self.ZN_Feld_Ohne_Anzeige_nsprefix_ + ':' if (UseCapturedNS_ and self.ZN_Feld_Ohne_Anzeige_nsprefix_) else '' + self.ZN_Feld_Ohne_Anzeige.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ZN_Feld_Ohne_Anzeige', pretty_print=pretty_print) + if self.Zugvorbereitungsmeldung is not None: + namespaceprefix_ = self.Zugvorbereitungsmeldung_nsprefix_ + ':' if (UseCapturedNS_ and self.Zugvorbereitungsmeldung_nsprefix_) else '' + self.Zugvorbereitungsmeldung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Zugvorbereitungsmeldung', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Bedienbarkeit_Anzeigefeld': + obj_ = TCBedienbarkeit_Anzeigefeld.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Bedienbarkeit_Anzeigefeld = obj_ + obj_.original_tagname_ = 'Bedienbarkeit_Anzeigefeld' + elif nodeName_ == 'Bf_Nr_ANB': + obj_ = TCBf_Nr_ANB.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Bf_Nr_ANB = obj_ + obj_.original_tagname_ = 'Bf_Nr_ANB' + elif nodeName_ == 'Bf_Nr_ZN_A': + obj_ = TCBf_Nr_ZN_A.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Bf_Nr_ZN_A = obj_ + obj_.original_tagname_ = 'Bf_Nr_ZN_A' + elif nodeName_ == 'Funktionalitaet_Anzeigefeld': + obj_ = TCFunktionalitaet_Anzeigefeld.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Funktionalitaet_Anzeigefeld = obj_ + obj_.original_tagname_ = 'Funktionalitaet_Anzeigefeld' + elif nodeName_ == 'HOA': + obj_ = TCHOA.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.HOA = obj_ + obj_.original_tagname_ = 'HOA' + elif nodeName_ == 'Sichtbarkeit_Anzeigefeld': + obj_ = TCSichtbarkeit_Anzeigefeld.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Sichtbarkeit_Anzeigefeld = obj_ + obj_.original_tagname_ = 'Sichtbarkeit_Anzeigefeld' + elif nodeName_ == 'Verzoegerung_Manuell_Loeschung': + obj_ = TCVerzoegerung_Manuell_Loeschung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Verzoegerung_Manuell_Loeschung = obj_ + obj_.original_tagname_ = 'Verzoegerung_Manuell_Loeschung' + elif nodeName_ == 'Vormeldestart': + obj_ = TCVormeldestart.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Vormeldestart = obj_ + obj_.original_tagname_ = 'Vormeldestart' + elif nodeName_ == 'ZN_Anzeigefeld_Loeschkriterium': + obj_ = TCZN_Anzeigefeld_Loeschkriterium.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ZN_Anzeigefeld_Loeschkriterium = obj_ + obj_.original_tagname_ = 'ZN_Anzeigefeld_Loeschkriterium' + elif nodeName_ == 'ZN_Feld_Ohne_Anzeige': + obj_ = TCZN_Feld_Ohne_Anzeige.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ZN_Feld_Ohne_Anzeige = obj_ + obj_.original_tagname_ = 'ZN_Feld_Ohne_Anzeige' + elif nodeName_ == 'Zugvorbereitungsmeldung': + obj_ = TCZugvorbereitungsmeldung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Zugvorbereitungsmeldung = obj_ + obj_.original_tagname_ = 'Zugvorbereitungsmeldung' +# end class CZN_Anzeigefeld_Allg + + +class CTelegramm_85_Einzelne_Fstr(GeneratedsSuper): + """ID_Fstr_Zug_Rangier -- Verweis auf die betreffende Fahrstra + ß + e, f + ü + r die das Telegramm 85 von der ZN gesendet wird. DB-Regelwerk 819.0731 1 sowie detaillierte Abstimmungen mit dem Betreiber + ID_ZLV_Bus -- Der Verweis wird gef + ü + llt, wenn das Telegramm 85 durchzureichen ist. Verweis auf den ZLV-Bus, auf den das Telegramm durchgereicht wird. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, ID_Fstr_Zug_Rangier=None, ID_ZLV_Bus=None, gds_collector_=None, **kwargs_): + self.gds_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_Fstr_Zug_Rangier = ID_Fstr_Zug_Rangier + self.ID_Fstr_Zug_Rangier_nsprefix_ = None + self.ID_ZLV_Bus = ID_ZLV_Bus + self.ID_ZLV_Bus_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CTelegramm_85_Einzelne_Fstr) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CTelegramm_85_Einzelne_Fstr.subclass: + return CTelegramm_85_Einzelne_Fstr.subclass(*args_, **kwargs_) + else: + return CTelegramm_85_Einzelne_Fstr(*args_, **kwargs_) + factory = staticmethod(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_Fstr_Zug_Rangier(self): + return self.ID_Fstr_Zug_Rangier + def set_ID_Fstr_Zug_Rangier(self, ID_Fstr_Zug_Rangier): + self.ID_Fstr_Zug_Rangier = ID_Fstr_Zug_Rangier + def get_ID_ZLV_Bus(self): + return self.ID_ZLV_Bus + def set_ID_ZLV_Bus(self, ID_ZLV_Bus): + self.ID_ZLV_Bus = ID_ZLV_Bus + def has__content(self): + if ( + self.ID_Fstr_Zug_Rangier is not None or + self.ID_ZLV_Bus is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsZugnummernmeldeanlage:', namespacedef_='xmlns:nsZugnummernmeldeanlage="http://www.plan-pro.org/modell/Zugnummernmeldeanlage/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CTelegramm_85_Einzelne_Fstr', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CTelegramm_85_Einzelne_Fstr') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CTelegramm_85_Einzelne_Fstr': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CTelegramm_85_Einzelne_Fstr') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CTelegramm_85_Einzelne_Fstr', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsZugnummernmeldeanlage:', name_='CTelegramm_85_Einzelne_Fstr'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsZugnummernmeldeanlage:', namespacedef_='xmlns:nsZugnummernmeldeanlage="http://www.plan-pro.org/modell/Zugnummernmeldeanlage/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CTelegramm_85_Einzelne_Fstr', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.ID_Fstr_Zug_Rangier is not None: + namespaceprefix_ = self.ID_Fstr_Zug_Rangier_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Fstr_Zug_Rangier_nsprefix_) else '' + self.ID_Fstr_Zug_Rangier.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Fstr_Zug_Rangier', pretty_print=pretty_print) + if self.ID_ZLV_Bus is not None: + namespaceprefix_ = self.ID_ZLV_Bus_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_ZLV_Bus_nsprefix_) else '' + self.ID_ZLV_Bus.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_ZLV_Bus', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Fstr_Zug_Rangier': + obj_ = TCID_Fstr_Zug_Rangier.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Fstr_Zug_Rangier = obj_ + obj_.original_tagname_ = 'ID_Fstr_Zug_Rangier' + elif nodeName_ == 'ID_ZLV_Bus': + obj_ = TCID_ZLV_Bus.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_ZLV_Bus = obj_ + obj_.original_tagname_ = 'ID_ZLV_Bus' +# end class CTelegramm_85_Einzelne_Fstr + + +class CTelegramm_85_Alle_Fstr(GeneratedsSuper): + """ID_ZLV_Bus -- Der Verweis wird gef + ü + llt, wenn das Telegramm 85 durchzureichen ist. Verweis auf den ZLV-Bus, auf den das Telegramm durchgereicht wird. + Telegramm_85_Fuer_Alle_Fstr -- Telegramm 85 (Fahrstra + ß + e eingestellt). Die Angabe von Telegrammen ist f + ü + r die Durchreichfunktion erforderlich. Eine Aufstellung aller verf + ü + gbaren Telegramme steht dem LST-Fachplaner nicht zur Verf + ü + gung. Es bedarf der Vorgabe des Betreibers, welche Telegramme von wo nach wo durchgereicht werden sollen. Herstellerspezifisch ist anzugeben, ob das Telegramm f + ü + r einzelne oder f + ü + r alle Fahrstra + ß + en gesendet werden soll. Zudem sind herstellerspezifische Abh + ä + ngigkeiten beim Senden von Telegramm 84 und 85 zu beachten. Kann die ZN das Telegramm 85 nur f + ü + r alle oder keine Fahrstra + ß + en senden, ist dieser Boolean auszuw + ä + hlen. DB-Regelwerk 819.0731A02 1 (5) + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, ID_ZLV_Bus=None, Telegramm_85_Fuer_Alle_Fstr=None, gds_collector_=None, **kwargs_): + self.gds_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_ZLV_Bus = ID_ZLV_Bus + self.ID_ZLV_Bus_nsprefix_ = None + self.Telegramm_85_Fuer_Alle_Fstr = Telegramm_85_Fuer_Alle_Fstr + self.Telegramm_85_Fuer_Alle_Fstr_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CTelegramm_85_Alle_Fstr) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CTelegramm_85_Alle_Fstr.subclass: + return CTelegramm_85_Alle_Fstr.subclass(*args_, **kwargs_) + else: + return CTelegramm_85_Alle_Fstr(*args_, **kwargs_) + factory = staticmethod(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_ZLV_Bus(self): + return self.ID_ZLV_Bus + def set_ID_ZLV_Bus(self, ID_ZLV_Bus): + self.ID_ZLV_Bus = ID_ZLV_Bus + def get_Telegramm_85_Fuer_Alle_Fstr(self): + return self.Telegramm_85_Fuer_Alle_Fstr + def set_Telegramm_85_Fuer_Alle_Fstr(self, Telegramm_85_Fuer_Alle_Fstr): + self.Telegramm_85_Fuer_Alle_Fstr = Telegramm_85_Fuer_Alle_Fstr + def has__content(self): + if ( + self.ID_ZLV_Bus is not None or + self.Telegramm_85_Fuer_Alle_Fstr is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsZugnummernmeldeanlage:', namespacedef_='xmlns:nsZugnummernmeldeanlage="http://www.plan-pro.org/modell/Zugnummernmeldeanlage/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CTelegramm_85_Alle_Fstr', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CTelegramm_85_Alle_Fstr') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CTelegramm_85_Alle_Fstr': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CTelegramm_85_Alle_Fstr') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CTelegramm_85_Alle_Fstr', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsZugnummernmeldeanlage:', name_='CTelegramm_85_Alle_Fstr'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsZugnummernmeldeanlage:', namespacedef_='xmlns:nsZugnummernmeldeanlage="http://www.plan-pro.org/modell/Zugnummernmeldeanlage/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CTelegramm_85_Alle_Fstr', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.ID_ZLV_Bus is not None: + namespaceprefix_ = self.ID_ZLV_Bus_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_ZLV_Bus_nsprefix_) else '' + self.ID_ZLV_Bus.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_ZLV_Bus', pretty_print=pretty_print) + if self.Telegramm_85_Fuer_Alle_Fstr is not None: + namespaceprefix_ = self.Telegramm_85_Fuer_Alle_Fstr_nsprefix_ + ':' if (UseCapturedNS_ and self.Telegramm_85_Fuer_Alle_Fstr_nsprefix_) else '' + self.Telegramm_85_Fuer_Alle_Fstr.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Telegramm_85_Fuer_Alle_Fstr', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_ZLV_Bus': + obj_ = TCID_ZLV_Bus.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_ZLV_Bus = obj_ + obj_.original_tagname_ = 'ID_ZLV_Bus' + elif nodeName_ == 'Telegramm_85_Fuer_Alle_Fstr': + obj_ = TCTelegramm_85_Fuer_Alle_Fstr.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Telegramm_85_Fuer_Alle_Fstr = obj_ + obj_.original_tagname_ = 'Telegramm_85_Fuer_Alle_Fstr' +# end class CTelegramm_85_Alle_Fstr + + +class CZLV_Bus_US_Zuordnung_Telegramm(GeneratedsSuper): + """Telegramm_02 -- Telegramm 02 (ZN/FN Meldung ohne erfolgte + Ü + berschreibung, jedoch auch bei + Ü + berspeicherung) ist durchzureichen. Die Angabe von Telegrammen ist f + ü + r die Durchreichfunktion erforderlich. Eine Aufstellung aller verf + ü + gbaren Telegramme steht dem LST-Fachplaner nicht zur Verf + ü + gung. Es bedarf der Vorgabe des Betreibers, welche Telegramme von wo nach wo durchgereicht werden sollen. DB-Regelwerk 819.0731A02 + Telegramm_03 -- Telegramm 03 (Erste FN-Meldung) ist durchzureichen. Die Angabe von Telegrammen ist f + ü + r die Durchreichfunktion erforderlich. Eine Aufstellung aller verf + ü + gbaren Telegramme steht dem LST-Fachplaner nicht zur Verf + ü + gung. Es bedarf der Vorgabe des Betreibers, welche Telegramme von wo nach wo durchgereicht werden sollen. DB-Regelwerk 819.0731A02 + Telegramm_04 -- Telegramm 04 (ZN/FN mit erfolgter + Ü + berschreibung von ZN/FN). Die Angabe von Telegrammen ist f + ü + r die Durchreichfunktion erforderlich. Eine Aufstellung aller verf + ü + gbaren Telegramme steht dem LST-Fachplaner nicht zur Verf + ü + gung. Es bedarf der Vorgabe des Betreibers, welche Telegramme von wo nach wo durchgereicht werden sollen. DB-Regelwerk 819.0731A02 + Telegramm_10 -- Telegramm 10 (Einwahl von ZN und Verf + ü + gbarkeitshinweisen und Wiederkehr von Verf + ü + gbarkeitshinweisen). Die Angabe von Telegrammen ist f + ü + r die Durchreichfunktion erforderlich. Eine Aufstellung aller verf + ü + gbaren Telegramme steht dem LST-Fachplaner nicht zur Verf + ü + gung. Es bedarf der Vorgabe des Betreibers, welche Telegramme von wo nach wo durchgereicht werden sollen. DB-Regelwerk 819.0731A02 + Telegramm_21 -- Telegramm 21 (L + ö + schen von ZN/FN). Die Angabe von Telegrammen ist f + ü + r die Durchreichfunktion erforderlich. Eine Aufstellung aller verf + ü + gbaren Telegramme steht dem LST-Fachplaner nicht zur Verf + ü + gung. Es bedarf der Vorgabe des Betreibers, welche Telegramme von wo nach wo durchgereicht werden sollen. Bei ZN-Anlagen der Bauformen Thales (einschlie + ß + lich Bauformen Alcatel SEL) und Bombardier wird das Telegramm 21 unabh + ä + ngig von einer Filterung IMMER durchgereicht. DB-Regelwerk 819.0731A02 + Telegramm_30 -- Telegramm 30 (Ersetzen von ZN/FN). Die Angabe von Telegrammen ist f + ü + r die Durchreichfunktion erforderlich. Eine Aufstellung aller verf + ü + gbaren Telegramme steht dem LST-Fachplaner nicht zur Verf + ü + gung. Es bedarf der Vorgabe des Betreibers, welche Telegramme von wo nach wo durchgereicht werden sollen. Bei ZN-Anlagen der Bauformen Thales (einschlie + ß + lich Bauformen Alcatel SEL) und Bombardier wird das Telegramm 30 unabh + ä + ngig von einer Filterung IMMER durchgereicht. DB-Regelwerk 819.0731A02 + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Telegramm_02=None, Telegramm_03=None, Telegramm_04=None, Telegramm_10=None, Telegramm_21=None, Telegramm_30=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Telegramm_02 = Telegramm_02 + self.Telegramm_02_nsprefix_ = None + self.Telegramm_03 = Telegramm_03 + self.Telegramm_03_nsprefix_ = None + self.Telegramm_04 = Telegramm_04 + self.Telegramm_04_nsprefix_ = None + self.Telegramm_10 = Telegramm_10 + self.Telegramm_10_nsprefix_ = None + self.Telegramm_21 = Telegramm_21 + self.Telegramm_21_nsprefix_ = None + self.Telegramm_30 = Telegramm_30 + self.Telegramm_30_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CZLV_Bus_US_Zuordnung_Telegramm) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CZLV_Bus_US_Zuordnung_Telegramm.subclass: + return CZLV_Bus_US_Zuordnung_Telegramm.subclass(*args_, **kwargs_) + else: + return CZLV_Bus_US_Zuordnung_Telegramm(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Telegramm_02(self): + return self.Telegramm_02 + def set_Telegramm_02(self, Telegramm_02): + self.Telegramm_02 = Telegramm_02 + def get_Telegramm_03(self): + return self.Telegramm_03 + def set_Telegramm_03(self, Telegramm_03): + self.Telegramm_03 = Telegramm_03 + def get_Telegramm_04(self): + return self.Telegramm_04 + def set_Telegramm_04(self, Telegramm_04): + self.Telegramm_04 = Telegramm_04 + def get_Telegramm_10(self): + return self.Telegramm_10 + def set_Telegramm_10(self, Telegramm_10): + self.Telegramm_10 = Telegramm_10 + def get_Telegramm_21(self): + return self.Telegramm_21 + def set_Telegramm_21(self, Telegramm_21): + self.Telegramm_21 = Telegramm_21 + def get_Telegramm_30(self): + return self.Telegramm_30 + def set_Telegramm_30(self, Telegramm_30): + self.Telegramm_30 = Telegramm_30 + def has__content(self): + if ( + self.Telegramm_02 is not None or + self.Telegramm_03 is not None or + self.Telegramm_04 is not None or + self.Telegramm_10 is not None or + self.Telegramm_21 is not None or + self.Telegramm_30 is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsZugnummernmeldeanlage:', namespacedef_='xmlns:nsZugnummernmeldeanlage="http://www.plan-pro.org/modell/Zugnummernmeldeanlage/1.10.0"', name_='CZLV_Bus_US_Zuordnung_Telegramm', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CZLV_Bus_US_Zuordnung_Telegramm') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CZLV_Bus_US_Zuordnung_Telegramm': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CZLV_Bus_US_Zuordnung_Telegramm') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CZLV_Bus_US_Zuordnung_Telegramm', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsZugnummernmeldeanlage:', name_='CZLV_Bus_US_Zuordnung_Telegramm'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsZugnummernmeldeanlage:', namespacedef_='xmlns:nsZugnummernmeldeanlage="http://www.plan-pro.org/modell/Zugnummernmeldeanlage/1.10.0"', name_='CZLV_Bus_US_Zuordnung_Telegramm', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Telegramm_02 is not None: + namespaceprefix_ = self.Telegramm_02_nsprefix_ + ':' if (UseCapturedNS_ and self.Telegramm_02_nsprefix_) else '' + self.Telegramm_02.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Telegramm_02', pretty_print=pretty_print) + if self.Telegramm_03 is not None: + namespaceprefix_ = self.Telegramm_03_nsprefix_ + ':' if (UseCapturedNS_ and self.Telegramm_03_nsprefix_) else '' + self.Telegramm_03.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Telegramm_03', pretty_print=pretty_print) + if self.Telegramm_04 is not None: + namespaceprefix_ = self.Telegramm_04_nsprefix_ + ':' if (UseCapturedNS_ and self.Telegramm_04_nsprefix_) else '' + self.Telegramm_04.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Telegramm_04', pretty_print=pretty_print) + if self.Telegramm_10 is not None: + namespaceprefix_ = self.Telegramm_10_nsprefix_ + ':' if (UseCapturedNS_ and self.Telegramm_10_nsprefix_) else '' + self.Telegramm_10.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Telegramm_10', pretty_print=pretty_print) + if self.Telegramm_21 is not None: + namespaceprefix_ = self.Telegramm_21_nsprefix_ + ':' if (UseCapturedNS_ and self.Telegramm_21_nsprefix_) else '' + self.Telegramm_21.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Telegramm_21', pretty_print=pretty_print) + if self.Telegramm_30 is not None: + namespaceprefix_ = self.Telegramm_30_nsprefix_ + ':' if (UseCapturedNS_ and self.Telegramm_30_nsprefix_) else '' + self.Telegramm_30.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Telegramm_30', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Telegramm_02': + obj_ = TCTelegramm_02.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Telegramm_02 = obj_ + obj_.original_tagname_ = 'Telegramm_02' + elif nodeName_ == 'Telegramm_03': + obj_ = TCTelegramm_03.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Telegramm_03 = obj_ + obj_.original_tagname_ = 'Telegramm_03' + elif nodeName_ == 'Telegramm_04': + obj_ = TCTelegramm_04.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Telegramm_04 = obj_ + obj_.original_tagname_ = 'Telegramm_04' + elif nodeName_ == 'Telegramm_10': + obj_ = TCTelegramm_10.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Telegramm_10 = obj_ + obj_.original_tagname_ = 'Telegramm_10' + elif nodeName_ == 'Telegramm_21': + obj_ = TCTelegramm_21.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Telegramm_21 = obj_ + obj_.original_tagname_ = 'Telegramm_21' + elif nodeName_ == 'Telegramm_30': + obj_ = TCTelegramm_30.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Telegramm_30 = obj_ + obj_.original_tagname_ = 'Telegramm_30' +# end class CZLV_Bus_US_Zuordnung_Telegramm + + +class CZN_Anzeigefeld_Bezeichnung(GeneratedsSuper): + """ZN_A_Bedienbezeichner_Frei -- Angabe des ESTW-Bedienbezeichners als Texteingabe, Im Regelfall entspricht der Bedienbezeichner des ZN_Anzeigefeldes dem des zugeh + ö + rigen Gleisfreimeldeabschnitts, in dem das ZN_Anzeigefeld angeordnet wird. Falls abweichend vom Regelfall nicht die Bezeichnung des Gleisfreimeldeabschnitts angewendet werden kann oder wird, ist eine Bezeichnung als Freitext festzulegen. DB-Regelwerk 819.0731 + ZN_A_Bezeichner -- Angabe der Anzeigefeldbezeichnung als numerischer Wert. Als Bezeichnung ist eine ZN-Gleisnummer festzulegen, die f + ü + r den Bereich der ZN-Anlage eindeutig sein muss. Die Bezeichnung (ZN-Gleisnummer) sollte aus der Gleisbezeichnung des ESTW hergeleitet werden. Spiegelfelder werden wie das gespiegelte Anzeigefeld bezeichnet. Anbiete-/Annahme sowie Voranzeigefelder erhalten eine Bezeichnung, die eine Zuordnung zum ZN Anzeigefeld im zugeh + ö + rigen Gleisabschnitt erkennen l + ä + sst. Das Attribut dient der eindeutigen Erkennung des ZN-Anzeigefeldes auf dem ZLV-Bus und wird daher auch + „ + ZLV-Bus-Bezeichner + “ + genannt. DB-Regelwerk 819.0731 6 (14) + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, ZN_A_Bedienbezeichner_Frei=None, ZN_A_Bezeichner=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.ZN_A_Bedienbezeichner_Frei = ZN_A_Bedienbezeichner_Frei + self.ZN_A_Bedienbezeichner_Frei_nsprefix_ = None + self.ZN_A_Bezeichner = ZN_A_Bezeichner + self.ZN_A_Bezeichner_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CZN_Anzeigefeld_Bezeichnung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CZN_Anzeigefeld_Bezeichnung.subclass: + return CZN_Anzeigefeld_Bezeichnung.subclass(*args_, **kwargs_) + else: + return CZN_Anzeigefeld_Bezeichnung(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_ZN_A_Bedienbezeichner_Frei(self): + return self.ZN_A_Bedienbezeichner_Frei + def set_ZN_A_Bedienbezeichner_Frei(self, ZN_A_Bedienbezeichner_Frei): + self.ZN_A_Bedienbezeichner_Frei = ZN_A_Bedienbezeichner_Frei + def get_ZN_A_Bezeichner(self): + return self.ZN_A_Bezeichner + def set_ZN_A_Bezeichner(self, ZN_A_Bezeichner): + self.ZN_A_Bezeichner = ZN_A_Bezeichner + def has__content(self): + if ( + self.ZN_A_Bedienbezeichner_Frei is not None or + self.ZN_A_Bezeichner is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsZugnummernmeldeanlage:', namespacedef_='xmlns:nsZugnummernmeldeanlage="http://www.plan-pro.org/modell/Zugnummernmeldeanlage/1.10.0"', name_='CZN_Anzeigefeld_Bezeichnung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CZN_Anzeigefeld_Bezeichnung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CZN_Anzeigefeld_Bezeichnung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CZN_Anzeigefeld_Bezeichnung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CZN_Anzeigefeld_Bezeichnung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsZugnummernmeldeanlage:', name_='CZN_Anzeigefeld_Bezeichnung'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsZugnummernmeldeanlage:', namespacedef_='xmlns:nsZugnummernmeldeanlage="http://www.plan-pro.org/modell/Zugnummernmeldeanlage/1.10.0"', name_='CZN_Anzeigefeld_Bezeichnung', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.ZN_A_Bedienbezeichner_Frei is not None: + namespaceprefix_ = self.ZN_A_Bedienbezeichner_Frei_nsprefix_ + ':' if (UseCapturedNS_ and self.ZN_A_Bedienbezeichner_Frei_nsprefix_) else '' + self.ZN_A_Bedienbezeichner_Frei.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ZN_A_Bedienbezeichner_Frei', pretty_print=pretty_print) + if self.ZN_A_Bezeichner is not None: + namespaceprefix_ = self.ZN_A_Bezeichner_nsprefix_ + ':' if (UseCapturedNS_ and self.ZN_A_Bezeichner_nsprefix_) else '' + self.ZN_A_Bezeichner.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ZN_A_Bezeichner', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ZN_A_Bedienbezeichner_Frei': + obj_ = TCZN_A_Bedienbezeichner_Frei.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ZN_A_Bedienbezeichner_Frei = obj_ + obj_.original_tagname_ = 'ZN_A_Bedienbezeichner_Frei' + elif nodeName_ == 'ZN_A_Bezeichner': + obj_ = TCZN_A_Bezeichner.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ZN_A_Bezeichner = obj_ + obj_.original_tagname_ = 'ZN_A_Bezeichner' +# end class CZN_Anzeigefeld_Bezeichnung + + +class TCID_Anhang_ohne_Proxy(GeneratedsSuper): + """ID_Bearbeitungsvermerk -- Verweist auf einen oder mehrere Bearbeitungsvermerke. Ein Anhang wird + ü + ber einen Bearbeitungsvermerk zugeordnet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Objektname='Anhang', ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Objektname = _cast(None, Objektname) + self.Objektname_nsprefix_ = None + if ID_Bearbeitungsvermerk is None: + self.ID_Bearbeitungsvermerk = [] + else: + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + self.ID_Bearbeitungsvermerk_nsprefix_ = None + self.Wert = Wert + self.validate_TGUID(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCID_Anhang_ohne_Proxy) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCID_Anhang_ohne_Proxy.subclass: + return TCID_Anhang_ohne_Proxy.subclass(*args_, **kwargs_) + else: + return TCID_Anhang_ohne_Proxy(*args_, **kwargs_) + factory = staticmethod(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_Bearbeitungsvermerk(self): + return self.ID_Bearbeitungsvermerk + def set_ID_Bearbeitungsvermerk(self, ID_Bearbeitungsvermerk): + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + def add_ID_Bearbeitungsvermerk(self, value): + self.ID_Bearbeitungsvermerk.append(value) + def insert_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk.insert(index, value) + def replace_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk[index] = value + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def get_Objektname(self): + return self.Objektname + def set_Objektname(self, Objektname): + self.Objektname = Objektname + def validate_TGUID(self, value): + result = True + # Validate type TGUID, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGUID_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGUID_patterns_, )) + result = False + return result + validate_TGUID_patterns_ = [['^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$']] + def validate_TObjektname(self, value): + # Validate type nsBasisTypen:TObjektname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TObjektname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TObjektname_patterns_, )) + validate_TObjektname_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.ID_Bearbeitungsvermerk or + self.Wert is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Anhang_ohne_Proxy', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCID_Anhang_ohne_Proxy') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCID_Anhang_ohne_Proxy': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCID_Anhang_ohne_Proxy') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCID_Anhang_ohne_Proxy', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsVerweise:', name_='TCID_Anhang_ohne_Proxy'): + if self.Objektname != 'Anhang' and 'Objektname' not in already_processed: + already_processed.add('Objektname') + outfile.write(' Objektname=%s' % (quote_attrib(self.Objektname), )) + def _exportChildren(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Anhang_ohne_Proxy', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Bearbeitungsvermerk_ in self.ID_Bearbeitungsvermerk: + namespaceprefix_ = self.ID_Bearbeitungsvermerk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bearbeitungsvermerk_nsprefix_) else '' + ID_Bearbeitungsvermerk_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bearbeitungsvermerk', pretty_print=pretty_print) + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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_('Objektname', node) + if value is not None and 'Objektname' not in already_processed: + already_processed.add('Objektname') + self.Objektname = value + self.validate_TObjektname(self.Objektname) # validate type TObjektname + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Bearbeitungsvermerk': + obj_ = TCID_Bearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bearbeitungsvermerk.append(obj_) + obj_.original_tagname_ = 'ID_Bearbeitungsvermerk' + elif nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGUID + self.validate_TGUID(self.Wert) +# end class TCID_Anhang_ohne_Proxy + + +class TCID_ATO_TS_Instanz(GeneratedsSuper): + """ID_Bearbeitungsvermerk -- Verweist auf einen oder mehrere Bearbeitungsvermerke. Ein Anhang wird + ü + ber einen Bearbeitungsvermerk zugeordnet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Objektname='ATO_TS_Instanz|Proxy_Objekt', ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Objektname = _cast(None, Objektname) + self.Objektname_nsprefix_ = None + if ID_Bearbeitungsvermerk is None: + self.ID_Bearbeitungsvermerk = [] + else: + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + self.ID_Bearbeitungsvermerk_nsprefix_ = None + self.Wert = Wert + self.validate_TGUID(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCID_ATO_TS_Instanz) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCID_ATO_TS_Instanz.subclass: + return TCID_ATO_TS_Instanz.subclass(*args_, **kwargs_) + else: + return TCID_ATO_TS_Instanz(*args_, **kwargs_) + factory = staticmethod(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_Bearbeitungsvermerk(self): + return self.ID_Bearbeitungsvermerk + def set_ID_Bearbeitungsvermerk(self, ID_Bearbeitungsvermerk): + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + def add_ID_Bearbeitungsvermerk(self, value): + self.ID_Bearbeitungsvermerk.append(value) + def insert_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk.insert(index, value) + def replace_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk[index] = value + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def get_Objektname(self): + return self.Objektname + def set_Objektname(self, Objektname): + self.Objektname = Objektname + def validate_TGUID(self, value): + result = True + # Validate type TGUID, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGUID_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGUID_patterns_, )) + result = False + return result + validate_TGUID_patterns_ = [['^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$']] + def validate_TObjektname(self, value): + # Validate type nsBasisTypen:TObjektname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TObjektname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TObjektname_patterns_, )) + validate_TObjektname_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.ID_Bearbeitungsvermerk or + self.Wert is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_ATO_TS_Instanz', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCID_ATO_TS_Instanz') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCID_ATO_TS_Instanz': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCID_ATO_TS_Instanz') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCID_ATO_TS_Instanz', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsVerweise:', name_='TCID_ATO_TS_Instanz'): + if self.Objektname != 'ATO_TS_Instanz|Proxy_Objekt' and 'Objektname' not in already_processed: + already_processed.add('Objektname') + outfile.write(' Objektname=%s' % (quote_attrib(self.Objektname), )) + def _exportChildren(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_ATO_TS_Instanz', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Bearbeitungsvermerk_ in self.ID_Bearbeitungsvermerk: + namespaceprefix_ = self.ID_Bearbeitungsvermerk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bearbeitungsvermerk_nsprefix_) else '' + ID_Bearbeitungsvermerk_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bearbeitungsvermerk', pretty_print=pretty_print) + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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_('Objektname', node) + if value is not None and 'Objektname' not in already_processed: + already_processed.add('Objektname') + self.Objektname = value + self.validate_TObjektname(self.Objektname) # validate type TObjektname + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Bearbeitungsvermerk': + obj_ = TCID_Bearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bearbeitungsvermerk.append(obj_) + obj_.original_tagname_ = 'ID_Bearbeitungsvermerk' + elif nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGUID + self.validate_TGUID(self.Wert) +# end class TCID_ATO_TS_Instanz + + +class TCID_BUE_Einschaltung(GeneratedsSuper): + """ID_Bearbeitungsvermerk -- Verweist auf einen oder mehrere Bearbeitungsvermerke. Ein Anhang wird + ü + ber einen Bearbeitungsvermerk zugeordnet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Objektname='BUE_Einschaltung|Proxy_Objekt', ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Objektname = _cast(None, Objektname) + self.Objektname_nsprefix_ = None + if ID_Bearbeitungsvermerk is None: + self.ID_Bearbeitungsvermerk = [] + else: + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + self.ID_Bearbeitungsvermerk_nsprefix_ = None + self.Wert = Wert + self.validate_TGUID(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCID_BUE_Einschaltung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCID_BUE_Einschaltung.subclass: + return TCID_BUE_Einschaltung.subclass(*args_, **kwargs_) + else: + return TCID_BUE_Einschaltung(*args_, **kwargs_) + factory = staticmethod(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_Bearbeitungsvermerk(self): + return self.ID_Bearbeitungsvermerk + def set_ID_Bearbeitungsvermerk(self, ID_Bearbeitungsvermerk): + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + def add_ID_Bearbeitungsvermerk(self, value): + self.ID_Bearbeitungsvermerk.append(value) + def insert_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk.insert(index, value) + def replace_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk[index] = value + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def get_Objektname(self): + return self.Objektname + def set_Objektname(self, Objektname): + self.Objektname = Objektname + def validate_TGUID(self, value): + result = True + # Validate type TGUID, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGUID_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGUID_patterns_, )) + result = False + return result + validate_TGUID_patterns_ = [['^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$']] + def validate_TObjektname(self, value): + # Validate type nsBasisTypen:TObjektname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TObjektname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TObjektname_patterns_, )) + validate_TObjektname_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.ID_Bearbeitungsvermerk or + self.Wert is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_BUE_Einschaltung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCID_BUE_Einschaltung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCID_BUE_Einschaltung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCID_BUE_Einschaltung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCID_BUE_Einschaltung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsVerweise:', name_='TCID_BUE_Einschaltung'): + if self.Objektname != 'BUE_Einschaltung|Proxy_Objekt' and 'Objektname' not in already_processed: + already_processed.add('Objektname') + outfile.write(' Objektname=%s' % (quote_attrib(self.Objektname), )) + def _exportChildren(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_BUE_Einschaltung', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Bearbeitungsvermerk_ in self.ID_Bearbeitungsvermerk: + namespaceprefix_ = self.ID_Bearbeitungsvermerk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bearbeitungsvermerk_nsprefix_) else '' + ID_Bearbeitungsvermerk_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bearbeitungsvermerk', pretty_print=pretty_print) + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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_('Objektname', node) + if value is not None and 'Objektname' not in already_processed: + already_processed.add('Objektname') + self.Objektname = value + self.validate_TObjektname(self.Objektname) # validate type TObjektname + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Bearbeitungsvermerk': + obj_ = TCID_Bearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bearbeitungsvermerk.append(obj_) + obj_.original_tagname_ = 'ID_Bearbeitungsvermerk' + elif nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGUID + self.validate_TGUID(self.Wert) +# end class TCID_BUE_Einschaltung + + +class TCID_LEU_Anlage_ohne_Proxy(GeneratedsSuper): + """ID_Bearbeitungsvermerk -- Verweist auf einen oder mehrere Bearbeitungsvermerke. Ein Anhang wird + ü + ber einen Bearbeitungsvermerk zugeordnet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Objektname='LEU_Anlage', ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Objektname = _cast(None, Objektname) + self.Objektname_nsprefix_ = None + if ID_Bearbeitungsvermerk is None: + self.ID_Bearbeitungsvermerk = [] + else: + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + self.ID_Bearbeitungsvermerk_nsprefix_ = None + self.Wert = Wert + self.validate_TGUID(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCID_LEU_Anlage_ohne_Proxy) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCID_LEU_Anlage_ohne_Proxy.subclass: + return TCID_LEU_Anlage_ohne_Proxy.subclass(*args_, **kwargs_) + else: + return TCID_LEU_Anlage_ohne_Proxy(*args_, **kwargs_) + factory = staticmethod(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_Bearbeitungsvermerk(self): + return self.ID_Bearbeitungsvermerk + def set_ID_Bearbeitungsvermerk(self, ID_Bearbeitungsvermerk): + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + def add_ID_Bearbeitungsvermerk(self, value): + self.ID_Bearbeitungsvermerk.append(value) + def insert_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk.insert(index, value) + def replace_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk[index] = value + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def get_Objektname(self): + return self.Objektname + def set_Objektname(self, Objektname): + self.Objektname = Objektname + def validate_TGUID(self, value): + result = True + # Validate type TGUID, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGUID_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGUID_patterns_, )) + result = False + return result + validate_TGUID_patterns_ = [['^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$']] + def validate_TObjektname(self, value): + # Validate type nsBasisTypen:TObjektname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TObjektname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TObjektname_patterns_, )) + validate_TObjektname_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.ID_Bearbeitungsvermerk or + self.Wert is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_LEU_Anlage_ohne_Proxy', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCID_LEU_Anlage_ohne_Proxy') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCID_LEU_Anlage_ohne_Proxy': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCID_LEU_Anlage_ohne_Proxy') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCID_LEU_Anlage_ohne_Proxy', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsVerweise:', name_='TCID_LEU_Anlage_ohne_Proxy'): + if self.Objektname != 'LEU_Anlage' and 'Objektname' not in already_processed: + already_processed.add('Objektname') + outfile.write(' Objektname=%s' % (quote_attrib(self.Objektname), )) + def _exportChildren(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_LEU_Anlage_ohne_Proxy', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Bearbeitungsvermerk_ in self.ID_Bearbeitungsvermerk: + namespaceprefix_ = self.ID_Bearbeitungsvermerk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bearbeitungsvermerk_nsprefix_) else '' + ID_Bearbeitungsvermerk_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bearbeitungsvermerk', pretty_print=pretty_print) + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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_('Objektname', node) + if value is not None and 'Objektname' not in already_processed: + already_processed.add('Objektname') + self.Objektname = value + self.validate_TObjektname(self.Objektname) # validate type TObjektname + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Bearbeitungsvermerk': + obj_ = TCID_Bearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bearbeitungsvermerk.append(obj_) + obj_.original_tagname_ = 'ID_Bearbeitungsvermerk' + elif nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGUID + self.validate_TGUID(self.Wert) +# end class TCID_LEU_Anlage_ohne_Proxy + + +class TCID_RBC(GeneratedsSuper): + """ID_Bearbeitungsvermerk -- Verweist auf einen oder mehrere Bearbeitungsvermerke. Ein Anhang wird + ü + ber einen Bearbeitungsvermerk zugeordnet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Objektname='RBC|Proxy_Objekt', ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Objektname = _cast(None, Objektname) + self.Objektname_nsprefix_ = None + if ID_Bearbeitungsvermerk is None: + self.ID_Bearbeitungsvermerk = [] + else: + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + self.ID_Bearbeitungsvermerk_nsprefix_ = None + self.Wert = Wert + self.validate_TGUID(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCID_RBC) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCID_RBC.subclass: + return TCID_RBC.subclass(*args_, **kwargs_) + else: + return TCID_RBC(*args_, **kwargs_) + factory = staticmethod(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_Bearbeitungsvermerk(self): + return self.ID_Bearbeitungsvermerk + def set_ID_Bearbeitungsvermerk(self, ID_Bearbeitungsvermerk): + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + def add_ID_Bearbeitungsvermerk(self, value): + self.ID_Bearbeitungsvermerk.append(value) + def insert_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk.insert(index, value) + def replace_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk[index] = value + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def get_Objektname(self): + return self.Objektname + def set_Objektname(self, Objektname): + self.Objektname = Objektname + def validate_TGUID(self, value): + result = True + # Validate type TGUID, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGUID_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGUID_patterns_, )) + result = False + return result + validate_TGUID_patterns_ = [['^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$']] + def validate_TObjektname(self, value): + # Validate type nsBasisTypen:TObjektname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TObjektname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TObjektname_patterns_, )) + validate_TObjektname_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.ID_Bearbeitungsvermerk or + self.Wert is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_RBC', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCID_RBC') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCID_RBC': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCID_RBC') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCID_RBC', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsVerweise:', name_='TCID_RBC'): + if self.Objektname != 'RBC|Proxy_Objekt' and 'Objektname' not in already_processed: + already_processed.add('Objektname') + outfile.write(' Objektname=%s' % (quote_attrib(self.Objektname), )) + def _exportChildren(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_RBC', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Bearbeitungsvermerk_ in self.ID_Bearbeitungsvermerk: + namespaceprefix_ = self.ID_Bearbeitungsvermerk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bearbeitungsvermerk_nsprefix_) else '' + ID_Bearbeitungsvermerk_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bearbeitungsvermerk', pretty_print=pretty_print) + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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_('Objektname', node) + if value is not None and 'Objektname' not in already_processed: + already_processed.add('Objektname') + self.Objektname = value + self.validate_TObjektname(self.Objektname) # validate type TObjektname + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Bearbeitungsvermerk': + obj_ = TCID_Bearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bearbeitungsvermerk.append(obj_) + obj_.original_tagname_ = 'ID_Bearbeitungsvermerk' + elif nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGUID + self.validate_TGUID(self.Wert) +# end class TCID_RBC + + +class TCID_Block_Element(GeneratedsSuper): + """ID_Bearbeitungsvermerk -- Verweist auf einen oder mehrere Bearbeitungsvermerke. Ein Anhang wird + ü + ber einen Bearbeitungsvermerk zugeordnet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Objektname='Block_Element|Proxy_Objekt', ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Objektname = _cast(None, Objektname) + self.Objektname_nsprefix_ = None + if ID_Bearbeitungsvermerk is None: + self.ID_Bearbeitungsvermerk = [] + else: + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + self.ID_Bearbeitungsvermerk_nsprefix_ = None + self.Wert = Wert + self.validate_TGUID(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCID_Block_Element) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCID_Block_Element.subclass: + return TCID_Block_Element.subclass(*args_, **kwargs_) + else: + return TCID_Block_Element(*args_, **kwargs_) + factory = staticmethod(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_Bearbeitungsvermerk(self): + return self.ID_Bearbeitungsvermerk + def set_ID_Bearbeitungsvermerk(self, ID_Bearbeitungsvermerk): + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + def add_ID_Bearbeitungsvermerk(self, value): + self.ID_Bearbeitungsvermerk.append(value) + def insert_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk.insert(index, value) + def replace_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk[index] = value + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def get_Objektname(self): + return self.Objektname + def set_Objektname(self, Objektname): + self.Objektname = Objektname + def validate_TGUID(self, value): + result = True + # Validate type TGUID, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGUID_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGUID_patterns_, )) + result = False + return result + validate_TGUID_patterns_ = [['^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$']] + def validate_TObjektname(self, value): + # Validate type nsBasisTypen:TObjektname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TObjektname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TObjektname_patterns_, )) + validate_TObjektname_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.ID_Bearbeitungsvermerk or + self.Wert is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Block_Element', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCID_Block_Element') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCID_Block_Element': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCID_Block_Element') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCID_Block_Element', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsVerweise:', name_='TCID_Block_Element'): + if self.Objektname != 'Block_Element|Proxy_Objekt' and 'Objektname' not in already_processed: + already_processed.add('Objektname') + outfile.write(' Objektname=%s' % (quote_attrib(self.Objektname), )) + def _exportChildren(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Block_Element', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Bearbeitungsvermerk_ in self.ID_Bearbeitungsvermerk: + namespaceprefix_ = self.ID_Bearbeitungsvermerk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bearbeitungsvermerk_nsprefix_) else '' + ID_Bearbeitungsvermerk_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bearbeitungsvermerk', pretty_print=pretty_print) + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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_('Objektname', node) + if value is not None and 'Objektname' not in already_processed: + already_processed.add('Objektname') + self.Objektname = value + self.validate_TObjektname(self.Objektname) # validate type TObjektname + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Bearbeitungsvermerk': + obj_ = TCID_Bearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bearbeitungsvermerk.append(obj_) + obj_.original_tagname_ = 'ID_Bearbeitungsvermerk' + elif nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGUID + self.validate_TGUID(self.Wert) +# end class TCID_Block_Element + + +class TCID_W_Kr_Gsp_Element(GeneratedsSuper): + """ID_Bearbeitungsvermerk -- Verweist auf einen oder mehrere Bearbeitungsvermerke. Ein Anhang wird + ü + ber einen Bearbeitungsvermerk zugeordnet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Objektname='W_Kr_Gsp_Element|Proxy_Objekt', ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Objektname = _cast(None, Objektname) + self.Objektname_nsprefix_ = None + if ID_Bearbeitungsvermerk is None: + self.ID_Bearbeitungsvermerk = [] + else: + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + self.ID_Bearbeitungsvermerk_nsprefix_ = None + self.Wert = Wert + self.validate_TGUID(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCID_W_Kr_Gsp_Element) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCID_W_Kr_Gsp_Element.subclass: + return TCID_W_Kr_Gsp_Element.subclass(*args_, **kwargs_) + else: + return TCID_W_Kr_Gsp_Element(*args_, **kwargs_) + factory = staticmethod(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_Bearbeitungsvermerk(self): + return self.ID_Bearbeitungsvermerk + def set_ID_Bearbeitungsvermerk(self, ID_Bearbeitungsvermerk): + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + def add_ID_Bearbeitungsvermerk(self, value): + self.ID_Bearbeitungsvermerk.append(value) + def insert_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk.insert(index, value) + def replace_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk[index] = value + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def get_Objektname(self): + return self.Objektname + def set_Objektname(self, Objektname): + self.Objektname = Objektname + def validate_TGUID(self, value): + result = True + # Validate type TGUID, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGUID_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGUID_patterns_, )) + result = False + return result + validate_TGUID_patterns_ = [['^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$']] + def validate_TObjektname(self, value): + # Validate type nsBasisTypen:TObjektname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TObjektname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TObjektname_patterns_, )) + validate_TObjektname_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.ID_Bearbeitungsvermerk or + self.Wert is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_W_Kr_Gsp_Element', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCID_W_Kr_Gsp_Element') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCID_W_Kr_Gsp_Element': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCID_W_Kr_Gsp_Element') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCID_W_Kr_Gsp_Element', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsVerweise:', name_='TCID_W_Kr_Gsp_Element'): + if self.Objektname != 'W_Kr_Gsp_Element|Proxy_Objekt' and 'Objektname' not in already_processed: + already_processed.add('Objektname') + outfile.write(' Objektname=%s' % (quote_attrib(self.Objektname), )) + def _exportChildren(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_W_Kr_Gsp_Element', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Bearbeitungsvermerk_ in self.ID_Bearbeitungsvermerk: + namespaceprefix_ = self.ID_Bearbeitungsvermerk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bearbeitungsvermerk_nsprefix_) else '' + ID_Bearbeitungsvermerk_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bearbeitungsvermerk', pretty_print=pretty_print) + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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_('Objektname', node) + if value is not None and 'Objektname' not in already_processed: + already_processed.add('Objektname') + self.Objektname = value + self.validate_TObjektname(self.Objektname) # validate type TObjektname + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Bearbeitungsvermerk': + obj_ = TCID_Bearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bearbeitungsvermerk.append(obj_) + obj_.original_tagname_ = 'ID_Bearbeitungsvermerk' + elif nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGUID + self.validate_TGUID(self.Wert) +# end class TCID_W_Kr_Gsp_Element + + +class TCID_FMA_Element(GeneratedsSuper): + """ID_Bearbeitungsvermerk -- Verweist auf einen oder mehrere Bearbeitungsvermerke. Ein Anhang wird + ü + ber einen Bearbeitungsvermerk zugeordnet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Objektname='FMA_Element|Proxy_Objekt', ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Objektname = _cast(None, Objektname) + self.Objektname_nsprefix_ = None + if ID_Bearbeitungsvermerk is None: + self.ID_Bearbeitungsvermerk = [] + else: + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + self.ID_Bearbeitungsvermerk_nsprefix_ = None + self.Wert = Wert + self.validate_TGUID(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCID_FMA_Element) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCID_FMA_Element.subclass: + return TCID_FMA_Element.subclass(*args_, **kwargs_) + else: + return TCID_FMA_Element(*args_, **kwargs_) + factory = staticmethod(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_Bearbeitungsvermerk(self): + return self.ID_Bearbeitungsvermerk + def set_ID_Bearbeitungsvermerk(self, ID_Bearbeitungsvermerk): + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + def add_ID_Bearbeitungsvermerk(self, value): + self.ID_Bearbeitungsvermerk.append(value) + def insert_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk.insert(index, value) + def replace_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk[index] = value + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def get_Objektname(self): + return self.Objektname + def set_Objektname(self, Objektname): + self.Objektname = Objektname + def validate_TGUID(self, value): + result = True + # Validate type TGUID, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGUID_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGUID_patterns_, )) + result = False + return result + validate_TGUID_patterns_ = [['^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$']] + def validate_TObjektname(self, value): + # Validate type nsBasisTypen:TObjektname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TObjektname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TObjektname_patterns_, )) + validate_TObjektname_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.ID_Bearbeitungsvermerk or + self.Wert is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_FMA_Element', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCID_FMA_Element') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCID_FMA_Element': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCID_FMA_Element') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCID_FMA_Element', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsVerweise:', name_='TCID_FMA_Element'): + if self.Objektname != 'FMA_Element|Proxy_Objekt' and 'Objektname' not in already_processed: + already_processed.add('Objektname') + outfile.write(' Objektname=%s' % (quote_attrib(self.Objektname), )) + def _exportChildren(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_FMA_Element', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Bearbeitungsvermerk_ in self.ID_Bearbeitungsvermerk: + namespaceprefix_ = self.ID_Bearbeitungsvermerk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bearbeitungsvermerk_nsprefix_) else '' + ID_Bearbeitungsvermerk_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bearbeitungsvermerk', pretty_print=pretty_print) + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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_('Objektname', node) + if value is not None and 'Objektname' not in already_processed: + already_processed.add('Objektname') + self.Objektname = value + self.validate_TObjektname(self.Objektname) # validate type TObjektname + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Bearbeitungsvermerk': + obj_ = TCID_Bearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bearbeitungsvermerk.append(obj_) + obj_.original_tagname_ = 'ID_Bearbeitungsvermerk' + elif nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGUID + self.validate_TGUID(self.Wert) +# end class TCID_FMA_Element + + +class TCID_Regelzeichnung_ohne_Proxy(GeneratedsSuper): + """ID_Bearbeitungsvermerk -- Verweist auf einen oder mehrere Bearbeitungsvermerke. Ein Anhang wird + ü + ber einen Bearbeitungsvermerk zugeordnet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Objektname='Regelzeichnung', ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Objektname = _cast(None, Objektname) + self.Objektname_nsprefix_ = None + if ID_Bearbeitungsvermerk is None: + self.ID_Bearbeitungsvermerk = [] + else: + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + self.ID_Bearbeitungsvermerk_nsprefix_ = None + self.Wert = Wert + self.validate_TGUID(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCID_Regelzeichnung_ohne_Proxy) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCID_Regelzeichnung_ohne_Proxy.subclass: + return TCID_Regelzeichnung_ohne_Proxy.subclass(*args_, **kwargs_) + else: + return TCID_Regelzeichnung_ohne_Proxy(*args_, **kwargs_) + factory = staticmethod(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_Bearbeitungsvermerk(self): + return self.ID_Bearbeitungsvermerk + def set_ID_Bearbeitungsvermerk(self, ID_Bearbeitungsvermerk): + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + def add_ID_Bearbeitungsvermerk(self, value): + self.ID_Bearbeitungsvermerk.append(value) + def insert_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk.insert(index, value) + def replace_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk[index] = value + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def get_Objektname(self): + return self.Objektname + def set_Objektname(self, Objektname): + self.Objektname = Objektname + def validate_TGUID(self, value): + result = True + # Validate type TGUID, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGUID_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGUID_patterns_, )) + result = False + return result + validate_TGUID_patterns_ = [['^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$']] + def validate_TObjektname(self, value): + # Validate type nsBasisTypen:TObjektname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TObjektname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TObjektname_patterns_, )) + validate_TObjektname_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.ID_Bearbeitungsvermerk or + self.Wert is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Regelzeichnung_ohne_Proxy', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCID_Regelzeichnung_ohne_Proxy') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCID_Regelzeichnung_ohne_Proxy': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCID_Regelzeichnung_ohne_Proxy') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCID_Regelzeichnung_ohne_Proxy', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsVerweise:', name_='TCID_Regelzeichnung_ohne_Proxy'): + if self.Objektname != 'Regelzeichnung' and 'Objektname' not in already_processed: + already_processed.add('Objektname') + outfile.write(' Objektname=%s' % (quote_attrib(self.Objektname), )) + def _exportChildren(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Regelzeichnung_ohne_Proxy', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Bearbeitungsvermerk_ in self.ID_Bearbeitungsvermerk: + namespaceprefix_ = self.ID_Bearbeitungsvermerk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bearbeitungsvermerk_nsprefix_) else '' + ID_Bearbeitungsvermerk_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bearbeitungsvermerk', pretty_print=pretty_print) + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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_('Objektname', node) + if value is not None and 'Objektname' not in already_processed: + already_processed.add('Objektname') + self.Objektname = value + self.validate_TObjektname(self.Objektname) # validate type TObjektname + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Bearbeitungsvermerk': + obj_ = TCID_Bearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bearbeitungsvermerk.append(obj_) + obj_.original_tagname_ = 'ID_Bearbeitungsvermerk' + elif nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGUID + self.validate_TGUID(self.Wert) +# end class TCID_Regelzeichnung_ohne_Proxy + + +class TCID_Aussenelementansteuerung(GeneratedsSuper): + """ID_Bearbeitungsvermerk -- Verweist auf einen oder mehrere Bearbeitungsvermerke. Ein Anhang wird + ü + ber einen Bearbeitungsvermerk zugeordnet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Objektname='Aussenelementansteuerung|Proxy_Objekt', ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Objektname = _cast(None, Objektname) + self.Objektname_nsprefix_ = None + if ID_Bearbeitungsvermerk is None: + self.ID_Bearbeitungsvermerk = [] + else: + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + self.ID_Bearbeitungsvermerk_nsprefix_ = None + self.Wert = Wert + self.validate_TGUID(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCID_Aussenelementansteuerung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCID_Aussenelementansteuerung.subclass: + return TCID_Aussenelementansteuerung.subclass(*args_, **kwargs_) + else: + return TCID_Aussenelementansteuerung(*args_, **kwargs_) + factory = staticmethod(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_Bearbeitungsvermerk(self): + return self.ID_Bearbeitungsvermerk + def set_ID_Bearbeitungsvermerk(self, ID_Bearbeitungsvermerk): + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + def add_ID_Bearbeitungsvermerk(self, value): + self.ID_Bearbeitungsvermerk.append(value) + def insert_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk.insert(index, value) + def replace_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk[index] = value + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def get_Objektname(self): + return self.Objektname + def set_Objektname(self, Objektname): + self.Objektname = Objektname + def validate_TGUID(self, value): + result = True + # Validate type TGUID, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGUID_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGUID_patterns_, )) + result = False + return result + validate_TGUID_patterns_ = [['^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$']] + def validate_TObjektname(self, value): + # Validate type nsBasisTypen:TObjektname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TObjektname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TObjektname_patterns_, )) + validate_TObjektname_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.ID_Bearbeitungsvermerk or + self.Wert is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Aussenelementansteuerung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCID_Aussenelementansteuerung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCID_Aussenelementansteuerung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCID_Aussenelementansteuerung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCID_Aussenelementansteuerung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsVerweise:', name_='TCID_Aussenelementansteuerung'): + if self.Objektname != 'Aussenelementansteuerung|Proxy_Objekt' and 'Objektname' not in already_processed: + already_processed.add('Objektname') + outfile.write(' Objektname=%s' % (quote_attrib(self.Objektname), )) + def _exportChildren(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Aussenelementansteuerung', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Bearbeitungsvermerk_ in self.ID_Bearbeitungsvermerk: + namespaceprefix_ = self.ID_Bearbeitungsvermerk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bearbeitungsvermerk_nsprefix_) else '' + ID_Bearbeitungsvermerk_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bearbeitungsvermerk', pretty_print=pretty_print) + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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_('Objektname', node) + if value is not None and 'Objektname' not in already_processed: + already_processed.add('Objektname') + self.Objektname = value + self.validate_TObjektname(self.Objektname) # validate type TObjektname + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Bearbeitungsvermerk': + obj_ = TCID_Bearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bearbeitungsvermerk.append(obj_) + obj_.original_tagname_ = 'ID_Bearbeitungsvermerk' + elif nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGUID + self.validate_TGUID(self.Wert) +# end class TCID_Aussenelementansteuerung + + +class TCID_Ueberhoehung(GeneratedsSuper): + """ID_Bearbeitungsvermerk -- Verweist auf einen oder mehrere Bearbeitungsvermerke. Ein Anhang wird + ü + ber einen Bearbeitungsvermerk zugeordnet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Objektname='Ueberhoehung', ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Objektname = _cast(None, Objektname) + self.Objektname_nsprefix_ = None + if ID_Bearbeitungsvermerk is None: + self.ID_Bearbeitungsvermerk = [] + else: + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + self.ID_Bearbeitungsvermerk_nsprefix_ = None + self.Wert = Wert + self.validate_TGUID(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCID_Ueberhoehung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCID_Ueberhoehung.subclass: + return TCID_Ueberhoehung.subclass(*args_, **kwargs_) + else: + return TCID_Ueberhoehung(*args_, **kwargs_) + factory = staticmethod(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_Bearbeitungsvermerk(self): + return self.ID_Bearbeitungsvermerk + def set_ID_Bearbeitungsvermerk(self, ID_Bearbeitungsvermerk): + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + def add_ID_Bearbeitungsvermerk(self, value): + self.ID_Bearbeitungsvermerk.append(value) + def insert_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk.insert(index, value) + def replace_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk[index] = value + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def get_Objektname(self): + return self.Objektname + def set_Objektname(self, Objektname): + self.Objektname = Objektname + def validate_TGUID(self, value): + result = True + # Validate type TGUID, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGUID_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGUID_patterns_, )) + result = False + return result + validate_TGUID_patterns_ = [['^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$']] + def validate_TObjektname(self, value): + # Validate type nsBasisTypen:TObjektname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TObjektname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TObjektname_patterns_, )) + validate_TObjektname_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.ID_Bearbeitungsvermerk or + self.Wert is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Ueberhoehung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCID_Ueberhoehung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCID_Ueberhoehung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCID_Ueberhoehung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCID_Ueberhoehung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsVerweise:', name_='TCID_Ueberhoehung'): + if self.Objektname != 'Ueberhoehung' and 'Objektname' not in already_processed: + already_processed.add('Objektname') + outfile.write(' Objektname=%s' % (quote_attrib(self.Objektname), )) + def _exportChildren(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Ueberhoehung', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Bearbeitungsvermerk_ in self.ID_Bearbeitungsvermerk: + namespaceprefix_ = self.ID_Bearbeitungsvermerk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bearbeitungsvermerk_nsprefix_) else '' + ID_Bearbeitungsvermerk_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bearbeitungsvermerk', pretty_print=pretty_print) + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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_('Objektname', node) + if value is not None and 'Objektname' not in already_processed: + already_processed.add('Objektname') + self.Objektname = value + self.validate_TObjektname(self.Objektname) # validate type TObjektname + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Bearbeitungsvermerk': + obj_ = TCID_Bearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bearbeitungsvermerk.append(obj_) + obj_.original_tagname_ = 'ID_Bearbeitungsvermerk' + elif nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGUID + self.validate_TGUID(self.Wert) +# end class TCID_Ueberhoehung + + +class TCID_Markanter_Punkt_Gleis_Abschluss(GeneratedsSuper): + """ID_Bearbeitungsvermerk -- Verweist auf einen oder mehrere Bearbeitungsvermerke. Ein Anhang wird + ü + ber einen Bearbeitungsvermerk zugeordnet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Objektname='Markanter_Punkt|Gleis_Abschluss|Proxy_Objekt', ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Objektname = _cast(None, Objektname) + self.Objektname_nsprefix_ = None + if ID_Bearbeitungsvermerk is None: + self.ID_Bearbeitungsvermerk = [] + else: + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + self.ID_Bearbeitungsvermerk_nsprefix_ = None + self.Wert = Wert + self.validate_TGUID(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCID_Markanter_Punkt_Gleis_Abschluss) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCID_Markanter_Punkt_Gleis_Abschluss.subclass: + return TCID_Markanter_Punkt_Gleis_Abschluss.subclass(*args_, **kwargs_) + else: + return TCID_Markanter_Punkt_Gleis_Abschluss(*args_, **kwargs_) + factory = staticmethod(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_Bearbeitungsvermerk(self): + return self.ID_Bearbeitungsvermerk + def set_ID_Bearbeitungsvermerk(self, ID_Bearbeitungsvermerk): + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + def add_ID_Bearbeitungsvermerk(self, value): + self.ID_Bearbeitungsvermerk.append(value) + def insert_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk.insert(index, value) + def replace_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk[index] = value + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def get_Objektname(self): + return self.Objektname + def set_Objektname(self, Objektname): + self.Objektname = Objektname + def validate_TGUID(self, value): + result = True + # Validate type TGUID, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGUID_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGUID_patterns_, )) + result = False + return result + validate_TGUID_patterns_ = [['^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$']] + def validate_TObjektname(self, value): + # Validate type nsBasisTypen:TObjektname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TObjektname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TObjektname_patterns_, )) + validate_TObjektname_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.ID_Bearbeitungsvermerk or + self.Wert is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Markanter_Punkt_Gleis_Abschluss', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCID_Markanter_Punkt_Gleis_Abschluss') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCID_Markanter_Punkt_Gleis_Abschluss': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCID_Markanter_Punkt_Gleis_Abschluss') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCID_Markanter_Punkt_Gleis_Abschluss', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsVerweise:', name_='TCID_Markanter_Punkt_Gleis_Abschluss'): + if self.Objektname != 'Markanter_Punkt|Gleis_Abschluss|Proxy_Objekt' and 'Objektname' not in already_processed: + already_processed.add('Objektname') + outfile.write(' Objektname=%s' % (quote_attrib(self.Objektname), )) + def _exportChildren(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Markanter_Punkt_Gleis_Abschluss', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Bearbeitungsvermerk_ in self.ID_Bearbeitungsvermerk: + namespaceprefix_ = self.ID_Bearbeitungsvermerk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bearbeitungsvermerk_nsprefix_) else '' + ID_Bearbeitungsvermerk_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bearbeitungsvermerk', pretty_print=pretty_print) + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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_('Objektname', node) + if value is not None and 'Objektname' not in already_processed: + already_processed.add('Objektname') + self.Objektname = value + self.validate_TObjektname(self.Objektname) # validate type TObjektname + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Bearbeitungsvermerk': + obj_ = TCID_Bearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bearbeitungsvermerk.append(obj_) + obj_.original_tagname_ = 'ID_Bearbeitungsvermerk' + elif nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGUID + self.validate_TGUID(self.Wert) +# end class TCID_Markanter_Punkt_Gleis_Abschluss + + +class TCID_Fstr_Fahrweg_ohne_Proxy(GeneratedsSuper): + """ID_Bearbeitungsvermerk -- Verweist auf einen oder mehrere Bearbeitungsvermerke. Ein Anhang wird + ü + ber einen Bearbeitungsvermerk zugeordnet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Objektname='Fstr_Fahrweg', ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Objektname = _cast(None, Objektname) + self.Objektname_nsprefix_ = None + if ID_Bearbeitungsvermerk is None: + self.ID_Bearbeitungsvermerk = [] + else: + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + self.ID_Bearbeitungsvermerk_nsprefix_ = None + self.Wert = Wert + self.validate_TGUID(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCID_Fstr_Fahrweg_ohne_Proxy) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCID_Fstr_Fahrweg_ohne_Proxy.subclass: + return TCID_Fstr_Fahrweg_ohne_Proxy.subclass(*args_, **kwargs_) + else: + return TCID_Fstr_Fahrweg_ohne_Proxy(*args_, **kwargs_) + factory = staticmethod(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_Bearbeitungsvermerk(self): + return self.ID_Bearbeitungsvermerk + def set_ID_Bearbeitungsvermerk(self, ID_Bearbeitungsvermerk): + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + def add_ID_Bearbeitungsvermerk(self, value): + self.ID_Bearbeitungsvermerk.append(value) + def insert_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk.insert(index, value) + def replace_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk[index] = value + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def get_Objektname(self): + return self.Objektname + def set_Objektname(self, Objektname): + self.Objektname = Objektname + def validate_TGUID(self, value): + result = True + # Validate type TGUID, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGUID_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGUID_patterns_, )) + result = False + return result + validate_TGUID_patterns_ = [['^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$']] + def validate_TObjektname(self, value): + # Validate type nsBasisTypen:TObjektname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TObjektname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TObjektname_patterns_, )) + validate_TObjektname_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.ID_Bearbeitungsvermerk or + self.Wert is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Fstr_Fahrweg_ohne_Proxy', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCID_Fstr_Fahrweg_ohne_Proxy') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCID_Fstr_Fahrweg_ohne_Proxy': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCID_Fstr_Fahrweg_ohne_Proxy') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCID_Fstr_Fahrweg_ohne_Proxy', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsVerweise:', name_='TCID_Fstr_Fahrweg_ohne_Proxy'): + if self.Objektname != 'Fstr_Fahrweg' and 'Objektname' not in already_processed: + already_processed.add('Objektname') + outfile.write(' Objektname=%s' % (quote_attrib(self.Objektname), )) + def _exportChildren(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Fstr_Fahrweg_ohne_Proxy', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Bearbeitungsvermerk_ in self.ID_Bearbeitungsvermerk: + namespaceprefix_ = self.ID_Bearbeitungsvermerk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bearbeitungsvermerk_nsprefix_) else '' + ID_Bearbeitungsvermerk_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bearbeitungsvermerk', pretty_print=pretty_print) + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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_('Objektname', node) + if value is not None and 'Objektname' not in already_processed: + already_processed.add('Objektname') + self.Objektname = value + self.validate_TObjektname(self.Objektname) # validate type TObjektname + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Bearbeitungsvermerk': + obj_ = TCID_Bearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bearbeitungsvermerk.append(obj_) + obj_.original_tagname_ = 'ID_Bearbeitungsvermerk' + elif nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGUID + self.validate_TGUID(self.Wert) +# end class TCID_Fstr_Fahrweg_ohne_Proxy + + +class TCID_GEO_Punkt_ohne_Proxy(GeneratedsSuper): + """ID_Bearbeitungsvermerk -- Verweist auf einen oder mehrere Bearbeitungsvermerke. Ein Anhang wird + ü + ber einen Bearbeitungsvermerk zugeordnet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Objektname='GEO_Punkt', ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Objektname = _cast(None, Objektname) + self.Objektname_nsprefix_ = None + if ID_Bearbeitungsvermerk is None: + self.ID_Bearbeitungsvermerk = [] + else: + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + self.ID_Bearbeitungsvermerk_nsprefix_ = None + self.Wert = Wert + self.validate_TGUID(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCID_GEO_Punkt_ohne_Proxy) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCID_GEO_Punkt_ohne_Proxy.subclass: + return TCID_GEO_Punkt_ohne_Proxy.subclass(*args_, **kwargs_) + else: + return TCID_GEO_Punkt_ohne_Proxy(*args_, **kwargs_) + factory = staticmethod(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_Bearbeitungsvermerk(self): + return self.ID_Bearbeitungsvermerk + def set_ID_Bearbeitungsvermerk(self, ID_Bearbeitungsvermerk): + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + def add_ID_Bearbeitungsvermerk(self, value): + self.ID_Bearbeitungsvermerk.append(value) + def insert_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk.insert(index, value) + def replace_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk[index] = value + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def get_Objektname(self): + return self.Objektname + def set_Objektname(self, Objektname): + self.Objektname = Objektname + def validate_TGUID(self, value): + result = True + # Validate type TGUID, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGUID_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGUID_patterns_, )) + result = False + return result + validate_TGUID_patterns_ = [['^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$']] + def validate_TObjektname(self, value): + # Validate type nsBasisTypen:TObjektname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TObjektname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TObjektname_patterns_, )) + validate_TObjektname_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.ID_Bearbeitungsvermerk or + self.Wert is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_GEO_Punkt_ohne_Proxy', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCID_GEO_Punkt_ohne_Proxy') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCID_GEO_Punkt_ohne_Proxy': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCID_GEO_Punkt_ohne_Proxy') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCID_GEO_Punkt_ohne_Proxy', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsVerweise:', name_='TCID_GEO_Punkt_ohne_Proxy'): + if self.Objektname != 'GEO_Punkt' and 'Objektname' not in already_processed: + already_processed.add('Objektname') + outfile.write(' Objektname=%s' % (quote_attrib(self.Objektname), )) + def _exportChildren(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_GEO_Punkt_ohne_Proxy', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Bearbeitungsvermerk_ in self.ID_Bearbeitungsvermerk: + namespaceprefix_ = self.ID_Bearbeitungsvermerk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bearbeitungsvermerk_nsprefix_) else '' + ID_Bearbeitungsvermerk_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bearbeitungsvermerk', pretty_print=pretty_print) + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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_('Objektname', node) + if value is not None and 'Objektname' not in already_processed: + already_processed.add('Objektname') + self.Objektname = value + self.validate_TObjektname(self.Objektname) # validate type TObjektname + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Bearbeitungsvermerk': + obj_ = TCID_Bearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bearbeitungsvermerk.append(obj_) + obj_.original_tagname_ = 'ID_Bearbeitungsvermerk' + elif nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGUID + self.validate_TGUID(self.Wert) +# end class TCID_GEO_Punkt_ohne_Proxy + + +class TCID_W_Kr_Gsp_Komponente(GeneratedsSuper): + """ID_Bearbeitungsvermerk -- Verweist auf einen oder mehrere Bearbeitungsvermerke. Ein Anhang wird + ü + ber einen Bearbeitungsvermerk zugeordnet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Objektname='W_Kr_Gsp_Komponente|Proxy_Objekt', ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Objektname = _cast(None, Objektname) + self.Objektname_nsprefix_ = None + if ID_Bearbeitungsvermerk is None: + self.ID_Bearbeitungsvermerk = [] + else: + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + self.ID_Bearbeitungsvermerk_nsprefix_ = None + self.Wert = Wert + self.validate_TGUID(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCID_W_Kr_Gsp_Komponente) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCID_W_Kr_Gsp_Komponente.subclass: + return TCID_W_Kr_Gsp_Komponente.subclass(*args_, **kwargs_) + else: + return TCID_W_Kr_Gsp_Komponente(*args_, **kwargs_) + factory = staticmethod(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_Bearbeitungsvermerk(self): + return self.ID_Bearbeitungsvermerk + def set_ID_Bearbeitungsvermerk(self, ID_Bearbeitungsvermerk): + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + def add_ID_Bearbeitungsvermerk(self, value): + self.ID_Bearbeitungsvermerk.append(value) + def insert_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk.insert(index, value) + def replace_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk[index] = value + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def get_Objektname(self): + return self.Objektname + def set_Objektname(self, Objektname): + self.Objektname = Objektname + def validate_TGUID(self, value): + result = True + # Validate type TGUID, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGUID_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGUID_patterns_, )) + result = False + return result + validate_TGUID_patterns_ = [['^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$']] + def validate_TObjektname(self, value): + # Validate type nsBasisTypen:TObjektname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TObjektname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TObjektname_patterns_, )) + validate_TObjektname_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.ID_Bearbeitungsvermerk or + self.Wert is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_W_Kr_Gsp_Komponente', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCID_W_Kr_Gsp_Komponente') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCID_W_Kr_Gsp_Komponente': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCID_W_Kr_Gsp_Komponente') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCID_W_Kr_Gsp_Komponente', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsVerweise:', name_='TCID_W_Kr_Gsp_Komponente'): + if self.Objektname != 'W_Kr_Gsp_Komponente|Proxy_Objekt' and 'Objektname' not in already_processed: + already_processed.add('Objektname') + outfile.write(' Objektname=%s' % (quote_attrib(self.Objektname), )) + def _exportChildren(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_W_Kr_Gsp_Komponente', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Bearbeitungsvermerk_ in self.ID_Bearbeitungsvermerk: + namespaceprefix_ = self.ID_Bearbeitungsvermerk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bearbeitungsvermerk_nsprefix_) else '' + ID_Bearbeitungsvermerk_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bearbeitungsvermerk', pretty_print=pretty_print) + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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_('Objektname', node) + if value is not None and 'Objektname' not in already_processed: + already_processed.add('Objektname') + self.Objektname = value + self.validate_TObjektname(self.Objektname) # validate type TObjektname + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Bearbeitungsvermerk': + obj_ = TCID_Bearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bearbeitungsvermerk.append(obj_) + obj_.original_tagname_ = 'ID_Bearbeitungsvermerk' + elif nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGUID + self.validate_TGUID(self.Wert) +# end class TCID_W_Kr_Gsp_Komponente + + +class TCID_Information_Primaer(GeneratedsSuper): + """ID_Bearbeitungsvermerk -- Verweist auf einen oder mehrere Bearbeitungsvermerke. Ein Anhang wird + ü + ber einen Bearbeitungsvermerk zugeordnet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Objektname='Aussenelementansteuerung|ESTW_Zentraleinheit|Proxy_Objekt', ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Objektname = _cast(None, Objektname) + self.Objektname_nsprefix_ = None + if ID_Bearbeitungsvermerk is None: + self.ID_Bearbeitungsvermerk = [] + else: + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + self.ID_Bearbeitungsvermerk_nsprefix_ = None + self.Wert = Wert + self.validate_TGUID(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCID_Information_Primaer) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCID_Information_Primaer.subclass: + return TCID_Information_Primaer.subclass(*args_, **kwargs_) + else: + return TCID_Information_Primaer(*args_, **kwargs_) + factory = staticmethod(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_Bearbeitungsvermerk(self): + return self.ID_Bearbeitungsvermerk + def set_ID_Bearbeitungsvermerk(self, ID_Bearbeitungsvermerk): + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + def add_ID_Bearbeitungsvermerk(self, value): + self.ID_Bearbeitungsvermerk.append(value) + def insert_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk.insert(index, value) + def replace_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk[index] = value + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def get_Objektname(self): + return self.Objektname + def set_Objektname(self, Objektname): + self.Objektname = Objektname + def validate_TGUID(self, value): + result = True + # Validate type TGUID, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGUID_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGUID_patterns_, )) + result = False + return result + validate_TGUID_patterns_ = [['^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$']] + def validate_TObjektname(self, value): + # Validate type nsBasisTypen:TObjektname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TObjektname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TObjektname_patterns_, )) + validate_TObjektname_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.ID_Bearbeitungsvermerk or + self.Wert is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Information_Primaer', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCID_Information_Primaer') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCID_Information_Primaer': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCID_Information_Primaer') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCID_Information_Primaer', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsVerweise:', name_='TCID_Information_Primaer'): + if self.Objektname != 'Aussenelementansteuerung|ESTW_Zentraleinheit|Proxy_Objekt' and 'Objektname' not in already_processed: + already_processed.add('Objektname') + outfile.write(' Objektname=%s' % (quote_attrib(self.Objektname), )) + def _exportChildren(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Information_Primaer', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Bearbeitungsvermerk_ in self.ID_Bearbeitungsvermerk: + namespaceprefix_ = self.ID_Bearbeitungsvermerk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bearbeitungsvermerk_nsprefix_) else '' + ID_Bearbeitungsvermerk_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bearbeitungsvermerk', pretty_print=pretty_print) + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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_('Objektname', node) + if value is not None and 'Objektname' not in already_processed: + already_processed.add('Objektname') + self.Objektname = value + self.validate_TObjektname(self.Objektname) # validate type TObjektname + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Bearbeitungsvermerk': + obj_ = TCID_Bearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bearbeitungsvermerk.append(obj_) + obj_.original_tagname_ = 'ID_Bearbeitungsvermerk' + elif nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGUID + self.validate_TGUID(self.Wert) +# end class TCID_Information_Primaer + + +class TCID_Fla_Schutz(GeneratedsSuper): + """ID_Bearbeitungsvermerk -- Verweist auf einen oder mehrere Bearbeitungsvermerke. Ein Anhang wird + ü + ber einen Bearbeitungsvermerk zugeordnet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Objektname='Fla_Schutz|Proxy_Objekt', ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Objektname = _cast(None, Objektname) + self.Objektname_nsprefix_ = None + if ID_Bearbeitungsvermerk is None: + self.ID_Bearbeitungsvermerk = [] + else: + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + self.ID_Bearbeitungsvermerk_nsprefix_ = None + self.Wert = Wert + self.validate_TGUID(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCID_Fla_Schutz) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCID_Fla_Schutz.subclass: + return TCID_Fla_Schutz.subclass(*args_, **kwargs_) + else: + return TCID_Fla_Schutz(*args_, **kwargs_) + factory = staticmethod(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_Bearbeitungsvermerk(self): + return self.ID_Bearbeitungsvermerk + def set_ID_Bearbeitungsvermerk(self, ID_Bearbeitungsvermerk): + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + def add_ID_Bearbeitungsvermerk(self, value): + self.ID_Bearbeitungsvermerk.append(value) + def insert_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk.insert(index, value) + def replace_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk[index] = value + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def get_Objektname(self): + return self.Objektname + def set_Objektname(self, Objektname): + self.Objektname = Objektname + def validate_TGUID(self, value): + result = True + # Validate type TGUID, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGUID_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGUID_patterns_, )) + result = False + return result + validate_TGUID_patterns_ = [['^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$']] + def validate_TObjektname(self, value): + # Validate type nsBasisTypen:TObjektname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TObjektname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TObjektname_patterns_, )) + validate_TObjektname_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.ID_Bearbeitungsvermerk or + self.Wert is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Fla_Schutz', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCID_Fla_Schutz') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCID_Fla_Schutz': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCID_Fla_Schutz') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCID_Fla_Schutz', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsVerweise:', name_='TCID_Fla_Schutz'): + if self.Objektname != 'Fla_Schutz|Proxy_Objekt' and 'Objektname' not in already_processed: + already_processed.add('Objektname') + outfile.write(' Objektname=%s' % (quote_attrib(self.Objektname), )) + def _exportChildren(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Fla_Schutz', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Bearbeitungsvermerk_ in self.ID_Bearbeitungsvermerk: + namespaceprefix_ = self.ID_Bearbeitungsvermerk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bearbeitungsvermerk_nsprefix_) else '' + ID_Bearbeitungsvermerk_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bearbeitungsvermerk', pretty_print=pretty_print) + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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_('Objektname', node) + if value is not None and 'Objektname' not in already_processed: + already_processed.add('Objektname') + self.Objektname = value + self.validate_TObjektname(self.Objektname) # validate type TObjektname + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Bearbeitungsvermerk': + obj_ = TCID_Bearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bearbeitungsvermerk.append(obj_) + obj_.original_tagname_ = 'ID_Bearbeitungsvermerk' + elif nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGUID + self.validate_TGUID(self.Wert) +# end class TCID_Fla_Schutz + + +class TCID_Bedien_Anzeige_Element(GeneratedsSuper): + """ID_Bearbeitungsvermerk -- Verweist auf einen oder mehrere Bearbeitungsvermerke. Ein Anhang wird + ü + ber einen Bearbeitungsvermerk zugeordnet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Objektname='Bedien_Anzeige_Element|Proxy_Objekt', ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Objektname = _cast(None, Objektname) + self.Objektname_nsprefix_ = None + if ID_Bearbeitungsvermerk is None: + self.ID_Bearbeitungsvermerk = [] + else: + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + self.ID_Bearbeitungsvermerk_nsprefix_ = None + self.Wert = Wert + self.validate_TGUID(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCID_Bedien_Anzeige_Element) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCID_Bedien_Anzeige_Element.subclass: + return TCID_Bedien_Anzeige_Element.subclass(*args_, **kwargs_) + else: + return TCID_Bedien_Anzeige_Element(*args_, **kwargs_) + factory = staticmethod(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_Bearbeitungsvermerk(self): + return self.ID_Bearbeitungsvermerk + def set_ID_Bearbeitungsvermerk(self, ID_Bearbeitungsvermerk): + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + def add_ID_Bearbeitungsvermerk(self, value): + self.ID_Bearbeitungsvermerk.append(value) + def insert_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk.insert(index, value) + def replace_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk[index] = value + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def get_Objektname(self): + return self.Objektname + def set_Objektname(self, Objektname): + self.Objektname = Objektname + def validate_TGUID(self, value): + result = True + # Validate type TGUID, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGUID_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGUID_patterns_, )) + result = False + return result + validate_TGUID_patterns_ = [['^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$']] + def validate_TObjektname(self, value): + # Validate type nsBasisTypen:TObjektname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TObjektname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TObjektname_patterns_, )) + validate_TObjektname_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.ID_Bearbeitungsvermerk or + self.Wert is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Bedien_Anzeige_Element', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCID_Bedien_Anzeige_Element') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCID_Bedien_Anzeige_Element': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCID_Bedien_Anzeige_Element') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCID_Bedien_Anzeige_Element', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsVerweise:', name_='TCID_Bedien_Anzeige_Element'): + if self.Objektname != 'Bedien_Anzeige_Element|Proxy_Objekt' and 'Objektname' not in already_processed: + already_processed.add('Objektname') + outfile.write(' Objektname=%s' % (quote_attrib(self.Objektname), )) + def _exportChildren(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Bedien_Anzeige_Element', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Bearbeitungsvermerk_ in self.ID_Bearbeitungsvermerk: + namespaceprefix_ = self.ID_Bearbeitungsvermerk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bearbeitungsvermerk_nsprefix_) else '' + ID_Bearbeitungsvermerk_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bearbeitungsvermerk', pretty_print=pretty_print) + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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_('Objektname', node) + if value is not None and 'Objektname' not in already_processed: + already_processed.add('Objektname') + self.Objektname = value + self.validate_TObjektname(self.Objektname) # validate type TObjektname + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Bearbeitungsvermerk': + obj_ = TCID_Bearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bearbeitungsvermerk.append(obj_) + obj_.original_tagname_ = 'ID_Bearbeitungsvermerk' + elif nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGUID + self.validate_TGUID(self.Wert) +# end class TCID_Bedien_Anzeige_Element + + +class TCID_ZL(GeneratedsSuper): + """ID_Bearbeitungsvermerk -- Verweist auf einen oder mehrere Bearbeitungsvermerke. Ein Anhang wird + ü + ber einen Bearbeitungsvermerk zugeordnet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Objektname='ZL|Proxy_Objekt', ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Objektname = _cast(None, Objektname) + self.Objektname_nsprefix_ = None + if ID_Bearbeitungsvermerk is None: + self.ID_Bearbeitungsvermerk = [] + else: + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + self.ID_Bearbeitungsvermerk_nsprefix_ = None + self.Wert = Wert + self.validate_TGUID(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCID_ZL) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCID_ZL.subclass: + return TCID_ZL.subclass(*args_, **kwargs_) + else: + return TCID_ZL(*args_, **kwargs_) + factory = staticmethod(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_Bearbeitungsvermerk(self): + return self.ID_Bearbeitungsvermerk + def set_ID_Bearbeitungsvermerk(self, ID_Bearbeitungsvermerk): + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + def add_ID_Bearbeitungsvermerk(self, value): + self.ID_Bearbeitungsvermerk.append(value) + def insert_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk.insert(index, value) + def replace_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk[index] = value + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def get_Objektname(self): + return self.Objektname + def set_Objektname(self, Objektname): + self.Objektname = Objektname + def validate_TGUID(self, value): + result = True + # Validate type TGUID, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGUID_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGUID_patterns_, )) + result = False + return result + validate_TGUID_patterns_ = [['^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$']] + def validate_TObjektname(self, value): + # Validate type nsBasisTypen:TObjektname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TObjektname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TObjektname_patterns_, )) + validate_TObjektname_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.ID_Bearbeitungsvermerk or + self.Wert is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_ZL', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCID_ZL') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCID_ZL': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCID_ZL') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCID_ZL', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsVerweise:', name_='TCID_ZL'): + if self.Objektname != 'ZL|Proxy_Objekt' and 'Objektname' not in already_processed: + already_processed.add('Objektname') + outfile.write(' Objektname=%s' % (quote_attrib(self.Objektname), )) + def _exportChildren(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_ZL', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Bearbeitungsvermerk_ in self.ID_Bearbeitungsvermerk: + namespaceprefix_ = self.ID_Bearbeitungsvermerk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bearbeitungsvermerk_nsprefix_) else '' + ID_Bearbeitungsvermerk_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bearbeitungsvermerk', pretty_print=pretty_print) + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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_('Objektname', node) + if value is not None and 'Objektname' not in already_processed: + already_processed.add('Objektname') + self.Objektname = value + self.validate_TObjektname(self.Objektname) # validate type TObjektname + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Bearbeitungsvermerk': + obj_ = TCID_Bearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bearbeitungsvermerk.append(obj_) + obj_.original_tagname_ = 'ID_Bearbeitungsvermerk' + elif nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGUID + self.validate_TGUID(self.Wert) +# end class TCID_ZL + + +class TCID_ZN_Anzeigefeld_Anstoss(GeneratedsSuper): + """ID_Bearbeitungsvermerk -- Verweist auf einen oder mehrere Bearbeitungsvermerke. Ein Anhang wird + ü + ber einen Bearbeitungsvermerk zugeordnet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Objektname='ZN_Anzeigefeld|Proxy_Objekt', ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Objektname = _cast(None, Objektname) + self.Objektname_nsprefix_ = None + if ID_Bearbeitungsvermerk is None: + self.ID_Bearbeitungsvermerk = [] + else: + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + self.ID_Bearbeitungsvermerk_nsprefix_ = None + self.Wert = Wert + self.validate_TGUID(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCID_ZN_Anzeigefeld_Anstoss) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCID_ZN_Anzeigefeld_Anstoss.subclass: + return TCID_ZN_Anzeigefeld_Anstoss.subclass(*args_, **kwargs_) + else: + return TCID_ZN_Anzeigefeld_Anstoss(*args_, **kwargs_) + factory = staticmethod(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_Bearbeitungsvermerk(self): + return self.ID_Bearbeitungsvermerk + def set_ID_Bearbeitungsvermerk(self, ID_Bearbeitungsvermerk): + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + def add_ID_Bearbeitungsvermerk(self, value): + self.ID_Bearbeitungsvermerk.append(value) + def insert_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk.insert(index, value) + def replace_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk[index] = value + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def get_Objektname(self): + return self.Objektname + def set_Objektname(self, Objektname): + self.Objektname = Objektname + def validate_TGUID(self, value): + result = True + # Validate type TGUID, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGUID_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGUID_patterns_, )) + result = False + return result + validate_TGUID_patterns_ = [['^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$']] + def validate_TObjektname(self, value): + # Validate type nsBasisTypen:TObjektname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TObjektname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TObjektname_patterns_, )) + validate_TObjektname_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.ID_Bearbeitungsvermerk or + self.Wert is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_ZN_Anzeigefeld_Anstoss', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCID_ZN_Anzeigefeld_Anstoss') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCID_ZN_Anzeigefeld_Anstoss': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCID_ZN_Anzeigefeld_Anstoss') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCID_ZN_Anzeigefeld_Anstoss', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsVerweise:', name_='TCID_ZN_Anzeigefeld_Anstoss'): + if self.Objektname != 'ZN_Anzeigefeld|Proxy_Objekt' and 'Objektname' not in already_processed: + already_processed.add('Objektname') + outfile.write(' Objektname=%s' % (quote_attrib(self.Objektname), )) + def _exportChildren(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_ZN_Anzeigefeld_Anstoss', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Bearbeitungsvermerk_ in self.ID_Bearbeitungsvermerk: + namespaceprefix_ = self.ID_Bearbeitungsvermerk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bearbeitungsvermerk_nsprefix_) else '' + ID_Bearbeitungsvermerk_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bearbeitungsvermerk', pretty_print=pretty_print) + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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_('Objektname', node) + if value is not None and 'Objektname' not in already_processed: + already_processed.add('Objektname') + self.Objektname = value + self.validate_TObjektname(self.Objektname) # validate type TObjektname + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Bearbeitungsvermerk': + obj_ = TCID_Bearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bearbeitungsvermerk.append(obj_) + obj_.original_tagname_ = 'ID_Bearbeitungsvermerk' + elif nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGUID + self.validate_TGUID(self.Wert) +# end class TCID_ZN_Anzeigefeld_Anstoss + + +class TCID_ZLV_Bus_ohne_Proxy(GeneratedsSuper): + """ID_Bearbeitungsvermerk -- Verweist auf einen oder mehrere Bearbeitungsvermerke. Ein Anhang wird + ü + ber einen Bearbeitungsvermerk zugeordnet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Objektname='ZLV_Bus', ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Objektname = _cast(None, Objektname) + self.Objektname_nsprefix_ = None + if ID_Bearbeitungsvermerk is None: + self.ID_Bearbeitungsvermerk = [] + else: + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + self.ID_Bearbeitungsvermerk_nsprefix_ = None + self.Wert = Wert + self.validate_TGUID(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCID_ZLV_Bus_ohne_Proxy) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCID_ZLV_Bus_ohne_Proxy.subclass: + return TCID_ZLV_Bus_ohne_Proxy.subclass(*args_, **kwargs_) + else: + return TCID_ZLV_Bus_ohne_Proxy(*args_, **kwargs_) + factory = staticmethod(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_Bearbeitungsvermerk(self): + return self.ID_Bearbeitungsvermerk + def set_ID_Bearbeitungsvermerk(self, ID_Bearbeitungsvermerk): + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + def add_ID_Bearbeitungsvermerk(self, value): + self.ID_Bearbeitungsvermerk.append(value) + def insert_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk.insert(index, value) + def replace_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk[index] = value + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def get_Objektname(self): + return self.Objektname + def set_Objektname(self, Objektname): + self.Objektname = Objektname + def validate_TGUID(self, value): + result = True + # Validate type TGUID, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGUID_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGUID_patterns_, )) + result = False + return result + validate_TGUID_patterns_ = [['^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$']] + def validate_TObjektname(self, value): + # Validate type nsBasisTypen:TObjektname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TObjektname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TObjektname_patterns_, )) + validate_TObjektname_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.ID_Bearbeitungsvermerk or + self.Wert is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_ZLV_Bus_ohne_Proxy', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCID_ZLV_Bus_ohne_Proxy') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCID_ZLV_Bus_ohne_Proxy': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCID_ZLV_Bus_ohne_Proxy') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCID_ZLV_Bus_ohne_Proxy', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsVerweise:', name_='TCID_ZLV_Bus_ohne_Proxy'): + if self.Objektname != 'ZLV_Bus' and 'Objektname' not in already_processed: + already_processed.add('Objektname') + outfile.write(' Objektname=%s' % (quote_attrib(self.Objektname), )) + def _exportChildren(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_ZLV_Bus_ohne_Proxy', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Bearbeitungsvermerk_ in self.ID_Bearbeitungsvermerk: + namespaceprefix_ = self.ID_Bearbeitungsvermerk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bearbeitungsvermerk_nsprefix_) else '' + ID_Bearbeitungsvermerk_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bearbeitungsvermerk', pretty_print=pretty_print) + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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_('Objektname', node) + if value is not None and 'Objektname' not in already_processed: + already_processed.add('Objektname') + self.Objektname = value + self.validate_TObjektname(self.Objektname) # validate type TObjektname + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Bearbeitungsvermerk': + obj_ = TCID_Bearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bearbeitungsvermerk.append(obj_) + obj_.original_tagname_ = 'ID_Bearbeitungsvermerk' + elif nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGUID + self.validate_TGUID(self.Wert) +# end class TCID_ZLV_Bus_ohne_Proxy + + +class TCID_BUE_WS_Fstr_Zuordnung(GeneratedsSuper): + """ID_Bearbeitungsvermerk -- Verweist auf einen oder mehrere Bearbeitungsvermerke. Ein Anhang wird + ü + ber einen Bearbeitungsvermerk zugeordnet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Objektname='BUE_WS_Fstr_Zuordnung|Proxy_Objekt', ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Objektname = _cast(None, Objektname) + self.Objektname_nsprefix_ = None + if ID_Bearbeitungsvermerk is None: + self.ID_Bearbeitungsvermerk = [] + else: + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + self.ID_Bearbeitungsvermerk_nsprefix_ = None + self.Wert = Wert + self.validate_TGUID(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCID_BUE_WS_Fstr_Zuordnung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCID_BUE_WS_Fstr_Zuordnung.subclass: + return TCID_BUE_WS_Fstr_Zuordnung.subclass(*args_, **kwargs_) + else: + return TCID_BUE_WS_Fstr_Zuordnung(*args_, **kwargs_) + factory = staticmethod(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_Bearbeitungsvermerk(self): + return self.ID_Bearbeitungsvermerk + def set_ID_Bearbeitungsvermerk(self, ID_Bearbeitungsvermerk): + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + def add_ID_Bearbeitungsvermerk(self, value): + self.ID_Bearbeitungsvermerk.append(value) + def insert_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk.insert(index, value) + def replace_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk[index] = value + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def get_Objektname(self): + return self.Objektname + def set_Objektname(self, Objektname): + self.Objektname = Objektname + def validate_TGUID(self, value): + result = True + # Validate type TGUID, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGUID_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGUID_patterns_, )) + result = False + return result + validate_TGUID_patterns_ = [['^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$']] + def validate_TObjektname(self, value): + # Validate type nsBasisTypen:TObjektname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TObjektname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TObjektname_patterns_, )) + validate_TObjektname_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.ID_Bearbeitungsvermerk or + self.Wert is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_BUE_WS_Fstr_Zuordnung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCID_BUE_WS_Fstr_Zuordnung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCID_BUE_WS_Fstr_Zuordnung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCID_BUE_WS_Fstr_Zuordnung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCID_BUE_WS_Fstr_Zuordnung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsVerweise:', name_='TCID_BUE_WS_Fstr_Zuordnung'): + if self.Objektname != 'BUE_WS_Fstr_Zuordnung|Proxy_Objekt' and 'Objektname' not in already_processed: + already_processed.add('Objektname') + outfile.write(' Objektname=%s' % (quote_attrib(self.Objektname), )) + def _exportChildren(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_BUE_WS_Fstr_Zuordnung', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Bearbeitungsvermerk_ in self.ID_Bearbeitungsvermerk: + namespaceprefix_ = self.ID_Bearbeitungsvermerk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bearbeitungsvermerk_nsprefix_) else '' + ID_Bearbeitungsvermerk_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bearbeitungsvermerk', pretty_print=pretty_print) + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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_('Objektname', node) + if value is not None and 'Objektname' not in already_processed: + already_processed.add('Objektname') + self.Objektname = value + self.validate_TObjektname(self.Objektname) # validate type TObjektname + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Bearbeitungsvermerk': + obj_ = TCID_Bearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bearbeitungsvermerk.append(obj_) + obj_.original_tagname_ = 'ID_Bearbeitungsvermerk' + elif nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGUID + self.validate_TGUID(self.Wert) +# end class TCID_BUE_WS_Fstr_Zuordnung + + +class TCID_Umfahrpunkt(GeneratedsSuper): + """ID_Bearbeitungsvermerk -- Verweist auf einen oder mehrere Bearbeitungsvermerke. Ein Anhang wird + ü + ber einen Bearbeitungsvermerk zugeordnet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Objektname='W_Kr_Gsp_Element|Gleis_Abschnitt|Proxy_Objekt', ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Objektname = _cast(None, Objektname) + self.Objektname_nsprefix_ = None + if ID_Bearbeitungsvermerk is None: + self.ID_Bearbeitungsvermerk = [] + else: + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + self.ID_Bearbeitungsvermerk_nsprefix_ = None + self.Wert = Wert + self.validate_TGUID(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCID_Umfahrpunkt) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCID_Umfahrpunkt.subclass: + return TCID_Umfahrpunkt.subclass(*args_, **kwargs_) + else: + return TCID_Umfahrpunkt(*args_, **kwargs_) + factory = staticmethod(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_Bearbeitungsvermerk(self): + return self.ID_Bearbeitungsvermerk + def set_ID_Bearbeitungsvermerk(self, ID_Bearbeitungsvermerk): + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + def add_ID_Bearbeitungsvermerk(self, value): + self.ID_Bearbeitungsvermerk.append(value) + def insert_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk.insert(index, value) + def replace_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk[index] = value + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def get_Objektname(self): + return self.Objektname + def set_Objektname(self, Objektname): + self.Objektname = Objektname + def validate_TGUID(self, value): + result = True + # Validate type TGUID, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGUID_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGUID_patterns_, )) + result = False + return result + validate_TGUID_patterns_ = [['^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$']] + def validate_TObjektname(self, value): + # Validate type nsBasisTypen:TObjektname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TObjektname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TObjektname_patterns_, )) + validate_TObjektname_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.ID_Bearbeitungsvermerk or + self.Wert is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Umfahrpunkt', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCID_Umfahrpunkt') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCID_Umfahrpunkt': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCID_Umfahrpunkt') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCID_Umfahrpunkt', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsVerweise:', name_='TCID_Umfahrpunkt'): + if self.Objektname != 'W_Kr_Gsp_Element|Gleis_Abschnitt|Proxy_Objekt' and 'Objektname' not in already_processed: + already_processed.add('Objektname') + outfile.write(' Objektname=%s' % (quote_attrib(self.Objektname), )) + def _exportChildren(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Umfahrpunkt', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Bearbeitungsvermerk_ in self.ID_Bearbeitungsvermerk: + namespaceprefix_ = self.ID_Bearbeitungsvermerk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bearbeitungsvermerk_nsprefix_) else '' + ID_Bearbeitungsvermerk_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bearbeitungsvermerk', pretty_print=pretty_print) + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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_('Objektname', node) + if value is not None and 'Objektname' not in already_processed: + already_processed.add('Objektname') + self.Objektname = value + self.validate_TObjektname(self.Objektname) # validate type TObjektname + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Bearbeitungsvermerk': + obj_ = TCID_Bearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bearbeitungsvermerk.append(obj_) + obj_.original_tagname_ = 'ID_Bearbeitungsvermerk' + elif nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGUID + self.validate_TGUID(self.Wert) +# end class TCID_Umfahrpunkt + + +class TCID_Zweites_Haltfallkriterium(GeneratedsSuper): + """ID_Bearbeitungsvermerk -- Verweist auf einen oder mehrere Bearbeitungsvermerke. Ein Anhang wird + ü + ber einen Bearbeitungsvermerk zugeordnet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Objektname='Schaltmittel_Zuordnung|Proxy_Objekt', ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Objektname = _cast(None, Objektname) + self.Objektname_nsprefix_ = None + if ID_Bearbeitungsvermerk is None: + self.ID_Bearbeitungsvermerk = [] + else: + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + self.ID_Bearbeitungsvermerk_nsprefix_ = None + self.Wert = Wert + self.validate_TGUID(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCID_Zweites_Haltfallkriterium) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCID_Zweites_Haltfallkriterium.subclass: + return TCID_Zweites_Haltfallkriterium.subclass(*args_, **kwargs_) + else: + return TCID_Zweites_Haltfallkriterium(*args_, **kwargs_) + factory = staticmethod(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_Bearbeitungsvermerk(self): + return self.ID_Bearbeitungsvermerk + def set_ID_Bearbeitungsvermerk(self, ID_Bearbeitungsvermerk): + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + def add_ID_Bearbeitungsvermerk(self, value): + self.ID_Bearbeitungsvermerk.append(value) + def insert_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk.insert(index, value) + def replace_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk[index] = value + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def get_Objektname(self): + return self.Objektname + def set_Objektname(self, Objektname): + self.Objektname = Objektname + def validate_TGUID(self, value): + result = True + # Validate type TGUID, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGUID_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGUID_patterns_, )) + result = False + return result + validate_TGUID_patterns_ = [['^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$']] + def validate_TObjektname(self, value): + # Validate type nsBasisTypen:TObjektname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TObjektname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TObjektname_patterns_, )) + validate_TObjektname_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.ID_Bearbeitungsvermerk or + self.Wert is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Zweites_Haltfallkriterium', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCID_Zweites_Haltfallkriterium') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCID_Zweites_Haltfallkriterium': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCID_Zweites_Haltfallkriterium') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCID_Zweites_Haltfallkriterium', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsVerweise:', name_='TCID_Zweites_Haltfallkriterium'): + if self.Objektname != 'Schaltmittel_Zuordnung|Proxy_Objekt' and 'Objektname' not in already_processed: + already_processed.add('Objektname') + outfile.write(' Objektname=%s' % (quote_attrib(self.Objektname), )) + def _exportChildren(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Zweites_Haltfallkriterium', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Bearbeitungsvermerk_ in self.ID_Bearbeitungsvermerk: + namespaceprefix_ = self.ID_Bearbeitungsvermerk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bearbeitungsvermerk_nsprefix_) else '' + ID_Bearbeitungsvermerk_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bearbeitungsvermerk', pretty_print=pretty_print) + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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_('Objektname', node) + if value is not None and 'Objektname' not in already_processed: + already_processed.add('Objektname') + self.Objektname = value + self.validate_TObjektname(self.Objektname) # validate type TObjektname + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Bearbeitungsvermerk': + obj_ = TCID_Bearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bearbeitungsvermerk.append(obj_) + obj_.original_tagname_ = 'ID_Bearbeitungsvermerk' + elif nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGUID + self.validate_TGUID(self.Wert) +# end class TCID_Zweites_Haltfallkriterium + + +class TCID_ETCS_Kante(GeneratedsSuper): + """ID_Bearbeitungsvermerk -- Verweist auf einen oder mehrere Bearbeitungsvermerke. Ein Anhang wird + ü + ber einen Bearbeitungsvermerk zugeordnet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Objektname='ETCS_Kante', ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Objektname = _cast(None, Objektname) + self.Objektname_nsprefix_ = None + if ID_Bearbeitungsvermerk is None: + self.ID_Bearbeitungsvermerk = [] + else: + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + self.ID_Bearbeitungsvermerk_nsprefix_ = None + self.Wert = Wert + self.validate_TGUID(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCID_ETCS_Kante) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCID_ETCS_Kante.subclass: + return TCID_ETCS_Kante.subclass(*args_, **kwargs_) + else: + return TCID_ETCS_Kante(*args_, **kwargs_) + factory = staticmethod(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_Bearbeitungsvermerk(self): + return self.ID_Bearbeitungsvermerk + def set_ID_Bearbeitungsvermerk(self, ID_Bearbeitungsvermerk): + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + def add_ID_Bearbeitungsvermerk(self, value): + self.ID_Bearbeitungsvermerk.append(value) + def insert_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk.insert(index, value) + def replace_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk[index] = value + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def get_Objektname(self): + return self.Objektname + def set_Objektname(self, Objektname): + self.Objektname = Objektname + def validate_TGUID(self, value): + result = True + # Validate type TGUID, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGUID_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGUID_patterns_, )) + result = False + return result + validate_TGUID_patterns_ = [['^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$']] + def validate_TObjektname(self, value): + # Validate type nsBasisTypen:TObjektname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TObjektname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TObjektname_patterns_, )) + validate_TObjektname_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.ID_Bearbeitungsvermerk or + self.Wert is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_ETCS_Kante', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCID_ETCS_Kante') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCID_ETCS_Kante': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCID_ETCS_Kante') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCID_ETCS_Kante', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsVerweise:', name_='TCID_ETCS_Kante'): + if self.Objektname != 'ETCS_Kante' and 'Objektname' not in already_processed: + already_processed.add('Objektname') + outfile.write(' Objektname=%s' % (quote_attrib(self.Objektname), )) + def _exportChildren(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_ETCS_Kante', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Bearbeitungsvermerk_ in self.ID_Bearbeitungsvermerk: + namespaceprefix_ = self.ID_Bearbeitungsvermerk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bearbeitungsvermerk_nsprefix_) else '' + ID_Bearbeitungsvermerk_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bearbeitungsvermerk', pretty_print=pretty_print) + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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_('Objektname', node) + if value is not None and 'Objektname' not in already_processed: + already_processed.add('Objektname') + self.Objektname = value + self.validate_TObjektname(self.Objektname) # validate type TObjektname + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Bearbeitungsvermerk': + obj_ = TCID_Bearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bearbeitungsvermerk.append(obj_) + obj_.original_tagname_ = 'ID_Bearbeitungsvermerk' + elif nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGUID + self.validate_TGUID(self.Wert) +# end class TCID_ETCS_Kante + + +class TCID_NB_Element(GeneratedsSuper): + """ID_Bearbeitungsvermerk -- Verweist auf einen oder mehrere Bearbeitungsvermerke. Ein Anhang wird + ü + ber einen Bearbeitungsvermerk zugeordnet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Objektname='Signal|W_Kr_Gsp_Element|Schluesselsperre|Proxy_Objekt', ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Objektname = _cast(None, Objektname) + self.Objektname_nsprefix_ = None + if ID_Bearbeitungsvermerk is None: + self.ID_Bearbeitungsvermerk = [] + else: + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + self.ID_Bearbeitungsvermerk_nsprefix_ = None + self.Wert = Wert + self.validate_TGUID(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCID_NB_Element) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCID_NB_Element.subclass: + return TCID_NB_Element.subclass(*args_, **kwargs_) + else: + return TCID_NB_Element(*args_, **kwargs_) + factory = staticmethod(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_Bearbeitungsvermerk(self): + return self.ID_Bearbeitungsvermerk + def set_ID_Bearbeitungsvermerk(self, ID_Bearbeitungsvermerk): + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + def add_ID_Bearbeitungsvermerk(self, value): + self.ID_Bearbeitungsvermerk.append(value) + def insert_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk.insert(index, value) + def replace_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk[index] = value + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def get_Objektname(self): + return self.Objektname + def set_Objektname(self, Objektname): + self.Objektname = Objektname + def validate_TGUID(self, value): + result = True + # Validate type TGUID, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGUID_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGUID_patterns_, )) + result = False + return result + validate_TGUID_patterns_ = [['^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$']] + def validate_TObjektname(self, value): + # Validate type nsBasisTypen:TObjektname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TObjektname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TObjektname_patterns_, )) + validate_TObjektname_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.ID_Bearbeitungsvermerk or + self.Wert is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_NB_Element', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCID_NB_Element') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCID_NB_Element': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCID_NB_Element') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCID_NB_Element', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsVerweise:', name_='TCID_NB_Element'): + if self.Objektname != 'Signal|W_Kr_Gsp_Element|Schluesselsperre|Proxy_Objekt' and 'Objektname' not in already_processed: + already_processed.add('Objektname') + outfile.write(' Objektname=%s' % (quote_attrib(self.Objektname), )) + def _exportChildren(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_NB_Element', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Bearbeitungsvermerk_ in self.ID_Bearbeitungsvermerk: + namespaceprefix_ = self.ID_Bearbeitungsvermerk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bearbeitungsvermerk_nsprefix_) else '' + ID_Bearbeitungsvermerk_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bearbeitungsvermerk', pretty_print=pretty_print) + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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_('Objektname', node) + if value is not None and 'Objektname' not in already_processed: + already_processed.add('Objektname') + self.Objektname = value + self.validate_TObjektname(self.Objektname) # validate type TObjektname + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Bearbeitungsvermerk': + obj_ = TCID_Bearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bearbeitungsvermerk.append(obj_) + obj_.original_tagname_ = 'ID_Bearbeitungsvermerk' + elif nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGUID + self.validate_TGUID(self.Wert) +# end class TCID_NB_Element + + +class TCID_AnhangBearbeitungsvermerk(GeneratedsSuper): + """ID_Bearbeitungsvermerk -- Verweist auf einen oder mehrere Bearbeitungsvermerke. Ein Anhang wird + ü + ber einen Bearbeitungsvermerk zugeordnet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Objektname='Anhang|Bearbeitungsvermerk|Proxy_Objekt', ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Objektname = _cast(None, Objektname) + self.Objektname_nsprefix_ = None + if ID_Bearbeitungsvermerk is None: + self.ID_Bearbeitungsvermerk = [] + else: + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + self.ID_Bearbeitungsvermerk_nsprefix_ = None + self.Wert = Wert + self.validate_TGUID(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCID_AnhangBearbeitungsvermerk) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCID_AnhangBearbeitungsvermerk.subclass: + return TCID_AnhangBearbeitungsvermerk.subclass(*args_, **kwargs_) + else: + return TCID_AnhangBearbeitungsvermerk(*args_, **kwargs_) + factory = staticmethod(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_Bearbeitungsvermerk(self): + return self.ID_Bearbeitungsvermerk + def set_ID_Bearbeitungsvermerk(self, ID_Bearbeitungsvermerk): + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + def add_ID_Bearbeitungsvermerk(self, value): + self.ID_Bearbeitungsvermerk.append(value) + def insert_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk.insert(index, value) + def replace_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk[index] = value + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def get_Objektname(self): + return self.Objektname + def set_Objektname(self, Objektname): + self.Objektname = Objektname + def validate_TGUID(self, value): + result = True + # Validate type TGUID, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGUID_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGUID_patterns_, )) + result = False + return result + validate_TGUID_patterns_ = [['^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$']] + def validate_TObjektname(self, value): + # Validate type nsBasisTypen:TObjektname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TObjektname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TObjektname_patterns_, )) + validate_TObjektname_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.ID_Bearbeitungsvermerk or + self.Wert is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_AnhangBearbeitungsvermerk', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCID_AnhangBearbeitungsvermerk') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCID_AnhangBearbeitungsvermerk': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCID_AnhangBearbeitungsvermerk') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCID_AnhangBearbeitungsvermerk', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsVerweise:', name_='TCID_AnhangBearbeitungsvermerk'): + if self.Objektname != 'Anhang|Bearbeitungsvermerk|Proxy_Objekt' and 'Objektname' not in already_processed: + already_processed.add('Objektname') + outfile.write(' Objektname=%s' % (quote_attrib(self.Objektname), )) + def _exportChildren(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_AnhangBearbeitungsvermerk', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Bearbeitungsvermerk_ in self.ID_Bearbeitungsvermerk: + namespaceprefix_ = self.ID_Bearbeitungsvermerk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bearbeitungsvermerk_nsprefix_) else '' + ID_Bearbeitungsvermerk_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bearbeitungsvermerk', pretty_print=pretty_print) + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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_('Objektname', node) + if value is not None and 'Objektname' not in already_processed: + already_processed.add('Objektname') + self.Objektname = value + self.validate_TObjektname(self.Objektname) # validate type TObjektname + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Bearbeitungsvermerk': + obj_ = TCID_Bearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bearbeitungsvermerk.append(obj_) + obj_.original_tagname_ = 'ID_Bearbeitungsvermerk' + elif nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGUID + self.validate_TGUID(self.Wert) +# end class TCID_AnhangBearbeitungsvermerk + + +class TCID_Fstr_Zug_Rangier(GeneratedsSuper): + """ID_Bearbeitungsvermerk -- Verweist auf einen oder mehrere Bearbeitungsvermerke. Ein Anhang wird + ü + ber einen Bearbeitungsvermerk zugeordnet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Objektname='Fstr_Zug_Rangier|Proxy_Objekt', ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Objektname = _cast(None, Objektname) + self.Objektname_nsprefix_ = None + if ID_Bearbeitungsvermerk is None: + self.ID_Bearbeitungsvermerk = [] + else: + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + self.ID_Bearbeitungsvermerk_nsprefix_ = None + self.Wert = Wert + self.validate_TGUID(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCID_Fstr_Zug_Rangier) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCID_Fstr_Zug_Rangier.subclass: + return TCID_Fstr_Zug_Rangier.subclass(*args_, **kwargs_) + else: + return TCID_Fstr_Zug_Rangier(*args_, **kwargs_) + factory = staticmethod(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_Bearbeitungsvermerk(self): + return self.ID_Bearbeitungsvermerk + def set_ID_Bearbeitungsvermerk(self, ID_Bearbeitungsvermerk): + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + def add_ID_Bearbeitungsvermerk(self, value): + self.ID_Bearbeitungsvermerk.append(value) + def insert_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk.insert(index, value) + def replace_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk[index] = value + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def get_Objektname(self): + return self.Objektname + def set_Objektname(self, Objektname): + self.Objektname = Objektname + def validate_TGUID(self, value): + result = True + # Validate type TGUID, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGUID_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGUID_patterns_, )) + result = False + return result + validate_TGUID_patterns_ = [['^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$']] + def validate_TObjektname(self, value): + # Validate type nsBasisTypen:TObjektname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TObjektname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TObjektname_patterns_, )) + validate_TObjektname_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.ID_Bearbeitungsvermerk or + self.Wert is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Fstr_Zug_Rangier', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCID_Fstr_Zug_Rangier') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCID_Fstr_Zug_Rangier': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCID_Fstr_Zug_Rangier') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCID_Fstr_Zug_Rangier', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsVerweise:', name_='TCID_Fstr_Zug_Rangier'): + if self.Objektname != 'Fstr_Zug_Rangier|Proxy_Objekt' and 'Objektname' not in already_processed: + already_processed.add('Objektname') + outfile.write(' Objektname=%s' % (quote_attrib(self.Objektname), )) + def _exportChildren(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Fstr_Zug_Rangier', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Bearbeitungsvermerk_ in self.ID_Bearbeitungsvermerk: + namespaceprefix_ = self.ID_Bearbeitungsvermerk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bearbeitungsvermerk_nsprefix_) else '' + ID_Bearbeitungsvermerk_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bearbeitungsvermerk', pretty_print=pretty_print) + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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_('Objektname', node) + if value is not None and 'Objektname' not in already_processed: + already_processed.add('Objektname') + self.Objektname = value + self.validate_TObjektname(self.Objektname) # validate type TObjektname + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Bearbeitungsvermerk': + obj_ = TCID_Bearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bearbeitungsvermerk.append(obj_) + obj_.original_tagname_ = 'ID_Bearbeitungsvermerk' + elif nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGUID + self.validate_TGUID(self.Wert) +# end class TCID_Fstr_Zug_Rangier + + +class TCID_GEO_Kante(GeneratedsSuper): + """ID_Bearbeitungsvermerk -- Verweist auf einen oder mehrere Bearbeitungsvermerke. Ein Anhang wird + ü + ber einen Bearbeitungsvermerk zugeordnet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Objektname='GEO_Kante', ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Objektname = _cast(None, Objektname) + self.Objektname_nsprefix_ = None + if ID_Bearbeitungsvermerk is None: + self.ID_Bearbeitungsvermerk = [] + else: + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + self.ID_Bearbeitungsvermerk_nsprefix_ = None + self.Wert = Wert + self.validate_TGUID(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCID_GEO_Kante) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCID_GEO_Kante.subclass: + return TCID_GEO_Kante.subclass(*args_, **kwargs_) + else: + return TCID_GEO_Kante(*args_, **kwargs_) + factory = staticmethod(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_Bearbeitungsvermerk(self): + return self.ID_Bearbeitungsvermerk + def set_ID_Bearbeitungsvermerk(self, ID_Bearbeitungsvermerk): + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + def add_ID_Bearbeitungsvermerk(self, value): + self.ID_Bearbeitungsvermerk.append(value) + def insert_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk.insert(index, value) + def replace_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk[index] = value + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def get_Objektname(self): + return self.Objektname + def set_Objektname(self, Objektname): + self.Objektname = Objektname + def validate_TGUID(self, value): + result = True + # Validate type TGUID, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGUID_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGUID_patterns_, )) + result = False + return result + validate_TGUID_patterns_ = [['^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$']] + def validate_TObjektname(self, value): + # Validate type nsBasisTypen:TObjektname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TObjektname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TObjektname_patterns_, )) + validate_TObjektname_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.ID_Bearbeitungsvermerk or + self.Wert is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_GEO_Kante', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCID_GEO_Kante') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCID_GEO_Kante': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCID_GEO_Kante') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCID_GEO_Kante', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsVerweise:', name_='TCID_GEO_Kante'): + if self.Objektname != 'GEO_Kante' and 'Objektname' not in already_processed: + already_processed.add('Objektname') + outfile.write(' Objektname=%s' % (quote_attrib(self.Objektname), )) + def _exportChildren(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_GEO_Kante', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Bearbeitungsvermerk_ in self.ID_Bearbeitungsvermerk: + namespaceprefix_ = self.ID_Bearbeitungsvermerk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bearbeitungsvermerk_nsprefix_) else '' + ID_Bearbeitungsvermerk_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bearbeitungsvermerk', pretty_print=pretty_print) + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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_('Objektname', node) + if value is not None and 'Objektname' not in already_processed: + already_processed.add('Objektname') + self.Objektname = value + self.validate_TObjektname(self.Objektname) # validate type TObjektname + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Bearbeitungsvermerk': + obj_ = TCID_Bearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bearbeitungsvermerk.append(obj_) + obj_.original_tagname_ = 'ID_Bearbeitungsvermerk' + elif nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGUID + self.validate_TGUID(self.Wert) +# end class TCID_GEO_Kante + + +class TCID_Element(GeneratedsSuper): + """ID_Bearbeitungsvermerk -- Verweist auf einen oder mehrere Bearbeitungsvermerke. Ein Anhang wird + ü + ber einen Bearbeitungsvermerk zugeordnet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Objektname='W_Kr_Gsp_Element|Gleis_Abschnitt|Proxy_Objekt', ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Objektname = _cast(None, Objektname) + self.Objektname_nsprefix_ = None + if ID_Bearbeitungsvermerk is None: + self.ID_Bearbeitungsvermerk = [] + else: + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + self.ID_Bearbeitungsvermerk_nsprefix_ = None + self.Wert = Wert + self.validate_TGUID(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCID_Element) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCID_Element.subclass: + return TCID_Element.subclass(*args_, **kwargs_) + else: + return TCID_Element(*args_, **kwargs_) + factory = staticmethod(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_Bearbeitungsvermerk(self): + return self.ID_Bearbeitungsvermerk + def set_ID_Bearbeitungsvermerk(self, ID_Bearbeitungsvermerk): + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + def add_ID_Bearbeitungsvermerk(self, value): + self.ID_Bearbeitungsvermerk.append(value) + def insert_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk.insert(index, value) + def replace_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk[index] = value + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def get_Objektname(self): + return self.Objektname + def set_Objektname(self, Objektname): + self.Objektname = Objektname + def validate_TGUID(self, value): + result = True + # Validate type TGUID, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGUID_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGUID_patterns_, )) + result = False + return result + validate_TGUID_patterns_ = [['^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$']] + def validate_TObjektname(self, value): + # Validate type nsBasisTypen:TObjektname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TObjektname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TObjektname_patterns_, )) + validate_TObjektname_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.ID_Bearbeitungsvermerk or + self.Wert is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Element', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCID_Element') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCID_Element': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCID_Element') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCID_Element', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsVerweise:', name_='TCID_Element'): + if self.Objektname != 'W_Kr_Gsp_Element|Gleis_Abschnitt|Proxy_Objekt' and 'Objektname' not in already_processed: + already_processed.add('Objektname') + outfile.write(' Objektname=%s' % (quote_attrib(self.Objektname), )) + def _exportChildren(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Element', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Bearbeitungsvermerk_ in self.ID_Bearbeitungsvermerk: + namespaceprefix_ = self.ID_Bearbeitungsvermerk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bearbeitungsvermerk_nsprefix_) else '' + ID_Bearbeitungsvermerk_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bearbeitungsvermerk', pretty_print=pretty_print) + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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_('Objektname', node) + if value is not None and 'Objektname' not in already_processed: + already_processed.add('Objektname') + self.Objektname = value + self.validate_TObjektname(self.Objektname) # validate type TObjektname + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Bearbeitungsvermerk': + obj_ = TCID_Bearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bearbeitungsvermerk.append(obj_) + obj_.original_tagname_ = 'ID_Bearbeitungsvermerk' + elif nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGUID + self.validate_TGUID(self.Wert) +# end class TCID_Element + + +class TCID_LEU_Schaltkasten_ohne_Proxy(GeneratedsSuper): + """ID_Bearbeitungsvermerk -- Verweist auf einen oder mehrere Bearbeitungsvermerke. Ein Anhang wird + ü + ber einen Bearbeitungsvermerk zugeordnet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Objektname='LEU_Schaltkasten', ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Objektname = _cast(None, Objektname) + self.Objektname_nsprefix_ = None + if ID_Bearbeitungsvermerk is None: + self.ID_Bearbeitungsvermerk = [] + else: + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + self.ID_Bearbeitungsvermerk_nsprefix_ = None + self.Wert = Wert + self.validate_TGUID(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCID_LEU_Schaltkasten_ohne_Proxy) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCID_LEU_Schaltkasten_ohne_Proxy.subclass: + return TCID_LEU_Schaltkasten_ohne_Proxy.subclass(*args_, **kwargs_) + else: + return TCID_LEU_Schaltkasten_ohne_Proxy(*args_, **kwargs_) + factory = staticmethod(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_Bearbeitungsvermerk(self): + return self.ID_Bearbeitungsvermerk + def set_ID_Bearbeitungsvermerk(self, ID_Bearbeitungsvermerk): + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + def add_ID_Bearbeitungsvermerk(self, value): + self.ID_Bearbeitungsvermerk.append(value) + def insert_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk.insert(index, value) + def replace_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk[index] = value + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def get_Objektname(self): + return self.Objektname + def set_Objektname(self, Objektname): + self.Objektname = Objektname + def validate_TGUID(self, value): + result = True + # Validate type TGUID, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGUID_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGUID_patterns_, )) + result = False + return result + validate_TGUID_patterns_ = [['^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$']] + def validate_TObjektname(self, value): + # Validate type nsBasisTypen:TObjektname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TObjektname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TObjektname_patterns_, )) + validate_TObjektname_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.ID_Bearbeitungsvermerk or + self.Wert is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_LEU_Schaltkasten_ohne_Proxy', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCID_LEU_Schaltkasten_ohne_Proxy') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCID_LEU_Schaltkasten_ohne_Proxy': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCID_LEU_Schaltkasten_ohne_Proxy') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCID_LEU_Schaltkasten_ohne_Proxy', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsVerweise:', name_='TCID_LEU_Schaltkasten_ohne_Proxy'): + if self.Objektname != 'LEU_Schaltkasten' and 'Objektname' not in already_processed: + already_processed.add('Objektname') + outfile.write(' Objektname=%s' % (quote_attrib(self.Objektname), )) + def _exportChildren(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_LEU_Schaltkasten_ohne_Proxy', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Bearbeitungsvermerk_ in self.ID_Bearbeitungsvermerk: + namespaceprefix_ = self.ID_Bearbeitungsvermerk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bearbeitungsvermerk_nsprefix_) else '' + ID_Bearbeitungsvermerk_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bearbeitungsvermerk', pretty_print=pretty_print) + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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_('Objektname', node) + if value is not None and 'Objektname' not in already_processed: + already_processed.add('Objektname') + self.Objektname = value + self.validate_TObjektname(self.Objektname) # validate type TObjektname + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Bearbeitungsvermerk': + obj_ = TCID_Bearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bearbeitungsvermerk.append(obj_) + obj_.original_tagname_ = 'ID_Bearbeitungsvermerk' + elif nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGUID + self.validate_TGUID(self.Wert) +# end class TCID_LEU_Schaltkasten_ohne_Proxy + + +class TCID_Basis_Objekt(GeneratedsSuper): + """ID_Bearbeitungsvermerk -- Verweist auf einen oder mehrere Bearbeitungsvermerke. Ein Anhang wird + ü + ber einen Bearbeitungsvermerk zugeordnet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Objektname='Basis_Objekt|Proxy_Objekt', ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Objektname = _cast(None, Objektname) + self.Objektname_nsprefix_ = None + if ID_Bearbeitungsvermerk is None: + self.ID_Bearbeitungsvermerk = [] + else: + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + self.ID_Bearbeitungsvermerk_nsprefix_ = None + self.Wert = Wert + self.validate_TGUID(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCID_Basis_Objekt) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCID_Basis_Objekt.subclass: + return TCID_Basis_Objekt.subclass(*args_, **kwargs_) + else: + return TCID_Basis_Objekt(*args_, **kwargs_) + factory = staticmethod(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_Bearbeitungsvermerk(self): + return self.ID_Bearbeitungsvermerk + def set_ID_Bearbeitungsvermerk(self, ID_Bearbeitungsvermerk): + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + def add_ID_Bearbeitungsvermerk(self, value): + self.ID_Bearbeitungsvermerk.append(value) + def insert_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk.insert(index, value) + def replace_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk[index] = value + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def get_Objektname(self): + return self.Objektname + def set_Objektname(self, Objektname): + self.Objektname = Objektname + def validate_TGUID(self, value): + result = True + # Validate type TGUID, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGUID_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGUID_patterns_, )) + result = False + return result + validate_TGUID_patterns_ = [['^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$']] + def validate_TObjektname(self, value): + # Validate type nsBasisTypen:TObjektname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TObjektname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TObjektname_patterns_, )) + validate_TObjektname_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.ID_Bearbeitungsvermerk or + self.Wert is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Basis_Objekt', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCID_Basis_Objekt') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCID_Basis_Objekt': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCID_Basis_Objekt') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCID_Basis_Objekt', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsVerweise:', name_='TCID_Basis_Objekt'): + if self.Objektname != 'Basis_Objekt|Proxy_Objekt' and 'Objektname' not in already_processed: + already_processed.add('Objektname') + outfile.write(' Objektname=%s' % (quote_attrib(self.Objektname), )) + def _exportChildren(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Basis_Objekt', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Bearbeitungsvermerk_ in self.ID_Bearbeitungsvermerk: + namespaceprefix_ = self.ID_Bearbeitungsvermerk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bearbeitungsvermerk_nsprefix_) else '' + ID_Bearbeitungsvermerk_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bearbeitungsvermerk', pretty_print=pretty_print) + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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_('Objektname', node) + if value is not None and 'Objektname' not in already_processed: + already_processed.add('Objektname') + self.Objektname = value + self.validate_TObjektname(self.Objektname) # validate type TObjektname + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Bearbeitungsvermerk': + obj_ = TCID_Bearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bearbeitungsvermerk.append(obj_) + obj_.original_tagname_ = 'ID_Bearbeitungsvermerk' + elif nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGUID + self.validate_TGUID(self.Wert) +# end class TCID_Basis_Objekt + + +class TCID_W_Kr_Anlage(GeneratedsSuper): + """ID_Bearbeitungsvermerk -- Verweist auf einen oder mehrere Bearbeitungsvermerke. Ein Anhang wird + ü + ber einen Bearbeitungsvermerk zugeordnet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Objektname='W_Kr_Anlage|Proxy_Objekt', ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Objektname = _cast(None, Objektname) + self.Objektname_nsprefix_ = None + if ID_Bearbeitungsvermerk is None: + self.ID_Bearbeitungsvermerk = [] + else: + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + self.ID_Bearbeitungsvermerk_nsprefix_ = None + self.Wert = Wert + self.validate_TGUID(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCID_W_Kr_Anlage) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCID_W_Kr_Anlage.subclass: + return TCID_W_Kr_Anlage.subclass(*args_, **kwargs_) + else: + return TCID_W_Kr_Anlage(*args_, **kwargs_) + factory = staticmethod(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_Bearbeitungsvermerk(self): + return self.ID_Bearbeitungsvermerk + def set_ID_Bearbeitungsvermerk(self, ID_Bearbeitungsvermerk): + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + def add_ID_Bearbeitungsvermerk(self, value): + self.ID_Bearbeitungsvermerk.append(value) + def insert_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk.insert(index, value) + def replace_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk[index] = value + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def get_Objektname(self): + return self.Objektname + def set_Objektname(self, Objektname): + self.Objektname = Objektname + def validate_TGUID(self, value): + result = True + # Validate type TGUID, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGUID_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGUID_patterns_, )) + result = False + return result + validate_TGUID_patterns_ = [['^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$']] + def validate_TObjektname(self, value): + # Validate type nsBasisTypen:TObjektname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TObjektname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TObjektname_patterns_, )) + validate_TObjektname_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.ID_Bearbeitungsvermerk or + self.Wert is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_W_Kr_Anlage', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCID_W_Kr_Anlage') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCID_W_Kr_Anlage': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCID_W_Kr_Anlage') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCID_W_Kr_Anlage', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsVerweise:', name_='TCID_W_Kr_Anlage'): + if self.Objektname != 'W_Kr_Anlage|Proxy_Objekt' and 'Objektname' not in already_processed: + already_processed.add('Objektname') + outfile.write(' Objektname=%s' % (quote_attrib(self.Objektname), )) + def _exportChildren(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_W_Kr_Anlage', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Bearbeitungsvermerk_ in self.ID_Bearbeitungsvermerk: + namespaceprefix_ = self.ID_Bearbeitungsvermerk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bearbeitungsvermerk_nsprefix_) else '' + ID_Bearbeitungsvermerk_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bearbeitungsvermerk', pretty_print=pretty_print) + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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_('Objektname', node) + if value is not None and 'Objektname' not in already_processed: + already_processed.add('Objektname') + self.Objektname = value + self.validate_TObjektname(self.Objektname) # validate type TObjektname + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Bearbeitungsvermerk': + obj_ = TCID_Bearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bearbeitungsvermerk.append(obj_) + obj_.original_tagname_ = 'ID_Bearbeitungsvermerk' + elif nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGUID + self.validate_TGUID(self.Wert) +# end class TCID_W_Kr_Anlage + + +class TCID_Bedien_Standort(GeneratedsSuper): + """ID_Bearbeitungsvermerk -- Verweist auf einen oder mehrere Bearbeitungsvermerke. Ein Anhang wird + ü + ber einen Bearbeitungsvermerk zugeordnet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Objektname='Bedien_Standort|Proxy_Objekt', ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Objektname = _cast(None, Objektname) + self.Objektname_nsprefix_ = None + if ID_Bearbeitungsvermerk is None: + self.ID_Bearbeitungsvermerk = [] + else: + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + self.ID_Bearbeitungsvermerk_nsprefix_ = None + self.Wert = Wert + self.validate_TGUID(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCID_Bedien_Standort) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCID_Bedien_Standort.subclass: + return TCID_Bedien_Standort.subclass(*args_, **kwargs_) + else: + return TCID_Bedien_Standort(*args_, **kwargs_) + factory = staticmethod(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_Bearbeitungsvermerk(self): + return self.ID_Bearbeitungsvermerk + def set_ID_Bearbeitungsvermerk(self, ID_Bearbeitungsvermerk): + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + def add_ID_Bearbeitungsvermerk(self, value): + self.ID_Bearbeitungsvermerk.append(value) + def insert_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk.insert(index, value) + def replace_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk[index] = value + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def get_Objektname(self): + return self.Objektname + def set_Objektname(self, Objektname): + self.Objektname = Objektname + def validate_TGUID(self, value): + result = True + # Validate type TGUID, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGUID_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGUID_patterns_, )) + result = False + return result + validate_TGUID_patterns_ = [['^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$']] + def validate_TObjektname(self, value): + # Validate type nsBasisTypen:TObjektname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TObjektname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TObjektname_patterns_, )) + validate_TObjektname_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.ID_Bearbeitungsvermerk or + self.Wert is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Bedien_Standort', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCID_Bedien_Standort') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCID_Bedien_Standort': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCID_Bedien_Standort') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCID_Bedien_Standort', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsVerweise:', name_='TCID_Bedien_Standort'): + if self.Objektname != 'Bedien_Standort|Proxy_Objekt' and 'Objektname' not in already_processed: + already_processed.add('Objektname') + outfile.write(' Objektname=%s' % (quote_attrib(self.Objektname), )) + def _exportChildren(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Bedien_Standort', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Bearbeitungsvermerk_ in self.ID_Bearbeitungsvermerk: + namespaceprefix_ = self.ID_Bearbeitungsvermerk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bearbeitungsvermerk_nsprefix_) else '' + ID_Bearbeitungsvermerk_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bearbeitungsvermerk', pretty_print=pretty_print) + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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_('Objektname', node) + if value is not None and 'Objektname' not in already_processed: + already_processed.add('Objektname') + self.Objektname = value + self.validate_TObjektname(self.Objektname) # validate type TObjektname + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Bearbeitungsvermerk': + obj_ = TCID_Bearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bearbeitungsvermerk.append(obj_) + obj_.original_tagname_ = 'ID_Bearbeitungsvermerk' + elif nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGUID + self.validate_TGUID(self.Wert) +# end class TCID_Bedien_Standort + + +class TCID_Komponente_Programmiert(GeneratedsSuper): + """ID_Bearbeitungsvermerk -- Verweist auf einen oder mehrere Bearbeitungsvermerke. Ein Anhang wird + ü + ber einen Bearbeitungsvermerk zugeordnet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Objektname='Balise|LEU_Modul', ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Objektname = _cast(None, Objektname) + self.Objektname_nsprefix_ = None + if ID_Bearbeitungsvermerk is None: + self.ID_Bearbeitungsvermerk = [] + else: + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + self.ID_Bearbeitungsvermerk_nsprefix_ = None + self.Wert = Wert + self.validate_TGUID(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCID_Komponente_Programmiert) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCID_Komponente_Programmiert.subclass: + return TCID_Komponente_Programmiert.subclass(*args_, **kwargs_) + else: + return TCID_Komponente_Programmiert(*args_, **kwargs_) + factory = staticmethod(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_Bearbeitungsvermerk(self): + return self.ID_Bearbeitungsvermerk + def set_ID_Bearbeitungsvermerk(self, ID_Bearbeitungsvermerk): + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + def add_ID_Bearbeitungsvermerk(self, value): + self.ID_Bearbeitungsvermerk.append(value) + def insert_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk.insert(index, value) + def replace_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk[index] = value + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def get_Objektname(self): + return self.Objektname + def set_Objektname(self, Objektname): + self.Objektname = Objektname + def validate_TGUID(self, value): + result = True + # Validate type TGUID, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGUID_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGUID_patterns_, )) + result = False + return result + validate_TGUID_patterns_ = [['^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$']] + def validate_TObjektname(self, value): + # Validate type nsBasisTypen:TObjektname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TObjektname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TObjektname_patterns_, )) + validate_TObjektname_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.ID_Bearbeitungsvermerk or + self.Wert is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Komponente_Programmiert', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCID_Komponente_Programmiert') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCID_Komponente_Programmiert': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCID_Komponente_Programmiert') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCID_Komponente_Programmiert', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsVerweise:', name_='TCID_Komponente_Programmiert'): + if self.Objektname != 'Balise|LEU_Modul' and 'Objektname' not in already_processed: + already_processed.add('Objektname') + outfile.write(' Objektname=%s' % (quote_attrib(self.Objektname), )) + def _exportChildren(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Komponente_Programmiert', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Bearbeitungsvermerk_ in self.ID_Bearbeitungsvermerk: + namespaceprefix_ = self.ID_Bearbeitungsvermerk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bearbeitungsvermerk_nsprefix_) else '' + ID_Bearbeitungsvermerk_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bearbeitungsvermerk', pretty_print=pretty_print) + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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_('Objektname', node) + if value is not None and 'Objektname' not in already_processed: + already_processed.add('Objektname') + self.Objektname = value + self.validate_TObjektname(self.Objektname) # validate type TObjektname + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Bearbeitungsvermerk': + obj_ = TCID_Bearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bearbeitungsvermerk.append(obj_) + obj_.original_tagname_ = 'ID_Bearbeitungsvermerk' + elif nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGUID + self.validate_TGUID(self.Wert) +# end class TCID_Komponente_Programmiert + + +class TCID_GEO_Knoten(GeneratedsSuper): + """ID_Bearbeitungsvermerk -- Verweist auf einen oder mehrere Bearbeitungsvermerke. Ein Anhang wird + ü + ber einen Bearbeitungsvermerk zugeordnet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Objektname='GEO_Knoten', ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Objektname = _cast(None, Objektname) + self.Objektname_nsprefix_ = None + if ID_Bearbeitungsvermerk is None: + self.ID_Bearbeitungsvermerk = [] + else: + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + self.ID_Bearbeitungsvermerk_nsprefix_ = None + self.Wert = Wert + self.validate_TGUID(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCID_GEO_Knoten) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCID_GEO_Knoten.subclass: + return TCID_GEO_Knoten.subclass(*args_, **kwargs_) + else: + return TCID_GEO_Knoten(*args_, **kwargs_) + factory = staticmethod(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_Bearbeitungsvermerk(self): + return self.ID_Bearbeitungsvermerk + def set_ID_Bearbeitungsvermerk(self, ID_Bearbeitungsvermerk): + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + def add_ID_Bearbeitungsvermerk(self, value): + self.ID_Bearbeitungsvermerk.append(value) + def insert_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk.insert(index, value) + def replace_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk[index] = value + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def get_Objektname(self): + return self.Objektname + def set_Objektname(self, Objektname): + self.Objektname = Objektname + def validate_TGUID(self, value): + result = True + # Validate type TGUID, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGUID_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGUID_patterns_, )) + result = False + return result + validate_TGUID_patterns_ = [['^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$']] + def validate_TObjektname(self, value): + # Validate type nsBasisTypen:TObjektname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TObjektname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TObjektname_patterns_, )) + validate_TObjektname_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.ID_Bearbeitungsvermerk or + self.Wert is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_GEO_Knoten', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCID_GEO_Knoten') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCID_GEO_Knoten': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCID_GEO_Knoten') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCID_GEO_Knoten', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsVerweise:', name_='TCID_GEO_Knoten'): + if self.Objektname != 'GEO_Knoten' and 'Objektname' not in already_processed: + already_processed.add('Objektname') + outfile.write(' Objektname=%s' % (quote_attrib(self.Objektname), )) + def _exportChildren(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_GEO_Knoten', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Bearbeitungsvermerk_ in self.ID_Bearbeitungsvermerk: + namespaceprefix_ = self.ID_Bearbeitungsvermerk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bearbeitungsvermerk_nsprefix_) else '' + ID_Bearbeitungsvermerk_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bearbeitungsvermerk', pretty_print=pretty_print) + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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_('Objektname', node) + if value is not None and 'Objektname' not in already_processed: + already_processed.add('Objektname') + self.Objektname = value + self.validate_TObjektname(self.Objektname) # validate type TObjektname + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Bearbeitungsvermerk': + obj_ = TCID_Bearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bearbeitungsvermerk.append(obj_) + obj_.original_tagname_ = 'ID_Bearbeitungsvermerk' + elif nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGUID + self.validate_TGUID(self.Wert) +# end class TCID_GEO_Knoten + + +class TCID_ZN_Fortschalt_Kriterium(GeneratedsSuper): + """ID_Bearbeitungsvermerk -- Verweist auf einen oder mehrere Bearbeitungsvermerke. Ein Anhang wird + ü + ber einen Bearbeitungsvermerk zugeordnet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Objektname='ZN_Fortschalt_Kriterium|Proxy_Objekt', ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Objektname = _cast(None, Objektname) + self.Objektname_nsprefix_ = None + if ID_Bearbeitungsvermerk is None: + self.ID_Bearbeitungsvermerk = [] + else: + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + self.ID_Bearbeitungsvermerk_nsprefix_ = None + self.Wert = Wert + self.validate_TGUID(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCID_ZN_Fortschalt_Kriterium) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCID_ZN_Fortschalt_Kriterium.subclass: + return TCID_ZN_Fortschalt_Kriterium.subclass(*args_, **kwargs_) + else: + return TCID_ZN_Fortschalt_Kriterium(*args_, **kwargs_) + factory = staticmethod(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_Bearbeitungsvermerk(self): + return self.ID_Bearbeitungsvermerk + def set_ID_Bearbeitungsvermerk(self, ID_Bearbeitungsvermerk): + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + def add_ID_Bearbeitungsvermerk(self, value): + self.ID_Bearbeitungsvermerk.append(value) + def insert_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk.insert(index, value) + def replace_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk[index] = value + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def get_Objektname(self): + return self.Objektname + def set_Objektname(self, Objektname): + self.Objektname = Objektname + def validate_TGUID(self, value): + result = True + # Validate type TGUID, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGUID_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGUID_patterns_, )) + result = False + return result + validate_TGUID_patterns_ = [['^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$']] + def validate_TObjektname(self, value): + # Validate type nsBasisTypen:TObjektname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TObjektname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TObjektname_patterns_, )) + validate_TObjektname_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.ID_Bearbeitungsvermerk or + self.Wert is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_ZN_Fortschalt_Kriterium', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCID_ZN_Fortschalt_Kriterium') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCID_ZN_Fortschalt_Kriterium': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCID_ZN_Fortschalt_Kriterium') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCID_ZN_Fortschalt_Kriterium', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsVerweise:', name_='TCID_ZN_Fortschalt_Kriterium'): + if self.Objektname != 'ZN_Fortschalt_Kriterium|Proxy_Objekt' and 'Objektname' not in already_processed: + already_processed.add('Objektname') + outfile.write(' Objektname=%s' % (quote_attrib(self.Objektname), )) + def _exportChildren(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_ZN_Fortschalt_Kriterium', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Bearbeitungsvermerk_ in self.ID_Bearbeitungsvermerk: + namespaceprefix_ = self.ID_Bearbeitungsvermerk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bearbeitungsvermerk_nsprefix_) else '' + ID_Bearbeitungsvermerk_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bearbeitungsvermerk', pretty_print=pretty_print) + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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_('Objektname', node) + if value is not None and 'Objektname' not in already_processed: + already_processed.add('Objektname') + self.Objektname = value + self.validate_TObjektname(self.Objektname) # validate type TObjektname + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Bearbeitungsvermerk': + obj_ = TCID_Bearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bearbeitungsvermerk.append(obj_) + obj_.original_tagname_ = 'ID_Bearbeitungsvermerk' + elif nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGUID + self.validate_TGUID(self.Wert) +# end class TCID_ZN_Fortschalt_Kriterium + + +class TCID_ATO_TS_Instanz_ohne_Proxy(GeneratedsSuper): + """ID_Bearbeitungsvermerk -- Verweist auf einen oder mehrere Bearbeitungsvermerke. Ein Anhang wird + ü + ber einen Bearbeitungsvermerk zugeordnet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Objektname='ATO_TS_Instanz', ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Objektname = _cast(None, Objektname) + self.Objektname_nsprefix_ = None + if ID_Bearbeitungsvermerk is None: + self.ID_Bearbeitungsvermerk = [] + else: + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + self.ID_Bearbeitungsvermerk_nsprefix_ = None + self.Wert = Wert + self.validate_TGUID(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCID_ATO_TS_Instanz_ohne_Proxy) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCID_ATO_TS_Instanz_ohne_Proxy.subclass: + return TCID_ATO_TS_Instanz_ohne_Proxy.subclass(*args_, **kwargs_) + else: + return TCID_ATO_TS_Instanz_ohne_Proxy(*args_, **kwargs_) + factory = staticmethod(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_Bearbeitungsvermerk(self): + return self.ID_Bearbeitungsvermerk + def set_ID_Bearbeitungsvermerk(self, ID_Bearbeitungsvermerk): + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + def add_ID_Bearbeitungsvermerk(self, value): + self.ID_Bearbeitungsvermerk.append(value) + def insert_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk.insert(index, value) + def replace_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk[index] = value + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def get_Objektname(self): + return self.Objektname + def set_Objektname(self, Objektname): + self.Objektname = Objektname + def validate_TGUID(self, value): + result = True + # Validate type TGUID, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGUID_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGUID_patterns_, )) + result = False + return result + validate_TGUID_patterns_ = [['^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$']] + def validate_TObjektname(self, value): + # Validate type nsBasisTypen:TObjektname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TObjektname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TObjektname_patterns_, )) + validate_TObjektname_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.ID_Bearbeitungsvermerk or + self.Wert is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_ATO_TS_Instanz_ohne_Proxy', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCID_ATO_TS_Instanz_ohne_Proxy') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCID_ATO_TS_Instanz_ohne_Proxy': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCID_ATO_TS_Instanz_ohne_Proxy') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCID_ATO_TS_Instanz_ohne_Proxy', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsVerweise:', name_='TCID_ATO_TS_Instanz_ohne_Proxy'): + if self.Objektname != 'ATO_TS_Instanz' and 'Objektname' not in already_processed: + already_processed.add('Objektname') + outfile.write(' Objektname=%s' % (quote_attrib(self.Objektname), )) + def _exportChildren(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_ATO_TS_Instanz_ohne_Proxy', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Bearbeitungsvermerk_ in self.ID_Bearbeitungsvermerk: + namespaceprefix_ = self.ID_Bearbeitungsvermerk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bearbeitungsvermerk_nsprefix_) else '' + ID_Bearbeitungsvermerk_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bearbeitungsvermerk', pretty_print=pretty_print) + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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_('Objektname', node) + if value is not None and 'Objektname' not in already_processed: + already_processed.add('Objektname') + self.Objektname = value + self.validate_TObjektname(self.Objektname) # validate type TObjektname + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Bearbeitungsvermerk': + obj_ = TCID_Bearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bearbeitungsvermerk.append(obj_) + obj_.original_tagname_ = 'ID_Bearbeitungsvermerk' + elif nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGUID + self.validate_TGUID(self.Wert) +# end class TCID_ATO_TS_Instanz_ohne_Proxy + + +class TCID_Technischer_Punkt(GeneratedsSuper): + """ID_Bearbeitungsvermerk -- Verweist auf einen oder mehrere Bearbeitungsvermerke. Ein Anhang wird + ü + ber einen Bearbeitungsvermerk zugeordnet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Objektname='Technischer_Punkt|Proxy_Objekt', ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Objektname = _cast(None, Objektname) + self.Objektname_nsprefix_ = None + if ID_Bearbeitungsvermerk is None: + self.ID_Bearbeitungsvermerk = [] + else: + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + self.ID_Bearbeitungsvermerk_nsprefix_ = None + self.Wert = Wert + self.validate_TGUID(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCID_Technischer_Punkt) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCID_Technischer_Punkt.subclass: + return TCID_Technischer_Punkt.subclass(*args_, **kwargs_) + else: + return TCID_Technischer_Punkt(*args_, **kwargs_) + factory = staticmethod(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_Bearbeitungsvermerk(self): + return self.ID_Bearbeitungsvermerk + def set_ID_Bearbeitungsvermerk(self, ID_Bearbeitungsvermerk): + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + def add_ID_Bearbeitungsvermerk(self, value): + self.ID_Bearbeitungsvermerk.append(value) + def insert_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk.insert(index, value) + def replace_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk[index] = value + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def get_Objektname(self): + return self.Objektname + def set_Objektname(self, Objektname): + self.Objektname = Objektname + def validate_TGUID(self, value): + result = True + # Validate type TGUID, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGUID_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGUID_patterns_, )) + result = False + return result + validate_TGUID_patterns_ = [['^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$']] + def validate_TObjektname(self, value): + # Validate type nsBasisTypen:TObjektname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TObjektname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TObjektname_patterns_, )) + validate_TObjektname_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.ID_Bearbeitungsvermerk or + self.Wert is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Technischer_Punkt', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCID_Technischer_Punkt') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCID_Technischer_Punkt': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCID_Technischer_Punkt') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCID_Technischer_Punkt', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsVerweise:', name_='TCID_Technischer_Punkt'): + if self.Objektname != 'Technischer_Punkt|Proxy_Objekt' and 'Objektname' not in already_processed: + already_processed.add('Objektname') + outfile.write(' Objektname=%s' % (quote_attrib(self.Objektname), )) + def _exportChildren(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Technischer_Punkt', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Bearbeitungsvermerk_ in self.ID_Bearbeitungsvermerk: + namespaceprefix_ = self.ID_Bearbeitungsvermerk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bearbeitungsvermerk_nsprefix_) else '' + ID_Bearbeitungsvermerk_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bearbeitungsvermerk', pretty_print=pretty_print) + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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_('Objektname', node) + if value is not None and 'Objektname' not in already_processed: + already_processed.add('Objektname') + self.Objektname = value + self.validate_TObjektname(self.Objektname) # validate type TObjektname + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Bearbeitungsvermerk': + obj_ = TCID_Bearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bearbeitungsvermerk.append(obj_) + obj_.original_tagname_ = 'ID_Bearbeitungsvermerk' + elif nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGUID + self.validate_TGUID(self.Wert) +# end class TCID_Technischer_Punkt + + +class TCID_BUE_Schnittstelle(GeneratedsSuper): + """ID_Bearbeitungsvermerk -- Verweist auf einen oder mehrere Bearbeitungsvermerke. Ein Anhang wird + ü + ber einen Bearbeitungsvermerk zugeordnet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Objektname='BUE_Schnittstelle|Proxy_Objekt', ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Objektname = _cast(None, Objektname) + self.Objektname_nsprefix_ = None + if ID_Bearbeitungsvermerk is None: + self.ID_Bearbeitungsvermerk = [] + else: + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + self.ID_Bearbeitungsvermerk_nsprefix_ = None + self.Wert = Wert + self.validate_TGUID(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCID_BUE_Schnittstelle) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCID_BUE_Schnittstelle.subclass: + return TCID_BUE_Schnittstelle.subclass(*args_, **kwargs_) + else: + return TCID_BUE_Schnittstelle(*args_, **kwargs_) + factory = staticmethod(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_Bearbeitungsvermerk(self): + return self.ID_Bearbeitungsvermerk + def set_ID_Bearbeitungsvermerk(self, ID_Bearbeitungsvermerk): + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + def add_ID_Bearbeitungsvermerk(self, value): + self.ID_Bearbeitungsvermerk.append(value) + def insert_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk.insert(index, value) + def replace_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk[index] = value + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def get_Objektname(self): + return self.Objektname + def set_Objektname(self, Objektname): + self.Objektname = Objektname + def validate_TGUID(self, value): + result = True + # Validate type TGUID, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGUID_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGUID_patterns_, )) + result = False + return result + validate_TGUID_patterns_ = [['^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$']] + def validate_TObjektname(self, value): + # Validate type nsBasisTypen:TObjektname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TObjektname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TObjektname_patterns_, )) + validate_TObjektname_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.ID_Bearbeitungsvermerk or + self.Wert is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_BUE_Schnittstelle', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCID_BUE_Schnittstelle') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCID_BUE_Schnittstelle': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCID_BUE_Schnittstelle') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCID_BUE_Schnittstelle', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsVerweise:', name_='TCID_BUE_Schnittstelle'): + if self.Objektname != 'BUE_Schnittstelle|Proxy_Objekt' and 'Objektname' not in already_processed: + already_processed.add('Objektname') + outfile.write(' Objektname=%s' % (quote_attrib(self.Objektname), )) + def _exportChildren(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_BUE_Schnittstelle', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Bearbeitungsvermerk_ in self.ID_Bearbeitungsvermerk: + namespaceprefix_ = self.ID_Bearbeitungsvermerk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bearbeitungsvermerk_nsprefix_) else '' + ID_Bearbeitungsvermerk_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bearbeitungsvermerk', pretty_print=pretty_print) + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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_('Objektname', node) + if value is not None and 'Objektname' not in already_processed: + already_processed.add('Objektname') + self.Objektname = value + self.validate_TObjektname(self.Objektname) # validate type TObjektname + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Bearbeitungsvermerk': + obj_ = TCID_Bearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bearbeitungsvermerk.append(obj_) + obj_.original_tagname_ = 'ID_Bearbeitungsvermerk' + elif nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGUID + self.validate_TGUID(self.Wert) +# end class TCID_BUE_Schnittstelle + + +class TCID_Schaltmittel_Zuordnung(GeneratedsSuper): + """ID_Bearbeitungsvermerk -- Verweist auf einen oder mehrere Bearbeitungsvermerke. Ein Anhang wird + ü + ber einen Bearbeitungsvermerk zugeordnet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Objektname='Schaltmittel_Zuordnung|Proxy_Objekt', ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Objektname = _cast(None, Objektname) + self.Objektname_nsprefix_ = None + if ID_Bearbeitungsvermerk is None: + self.ID_Bearbeitungsvermerk = [] + else: + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + self.ID_Bearbeitungsvermerk_nsprefix_ = None + self.Wert = Wert + self.validate_TGUID(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCID_Schaltmittel_Zuordnung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCID_Schaltmittel_Zuordnung.subclass: + return TCID_Schaltmittel_Zuordnung.subclass(*args_, **kwargs_) + else: + return TCID_Schaltmittel_Zuordnung(*args_, **kwargs_) + factory = staticmethod(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_Bearbeitungsvermerk(self): + return self.ID_Bearbeitungsvermerk + def set_ID_Bearbeitungsvermerk(self, ID_Bearbeitungsvermerk): + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + def add_ID_Bearbeitungsvermerk(self, value): + self.ID_Bearbeitungsvermerk.append(value) + def insert_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk.insert(index, value) + def replace_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk[index] = value + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def get_Objektname(self): + return self.Objektname + def set_Objektname(self, Objektname): + self.Objektname = Objektname + def validate_TGUID(self, value): + result = True + # Validate type TGUID, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGUID_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGUID_patterns_, )) + result = False + return result + validate_TGUID_patterns_ = [['^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$']] + def validate_TObjektname(self, value): + # Validate type nsBasisTypen:TObjektname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TObjektname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TObjektname_patterns_, )) + validate_TObjektname_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.ID_Bearbeitungsvermerk or + self.Wert is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Schaltmittel_Zuordnung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCID_Schaltmittel_Zuordnung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCID_Schaltmittel_Zuordnung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCID_Schaltmittel_Zuordnung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCID_Schaltmittel_Zuordnung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsVerweise:', name_='TCID_Schaltmittel_Zuordnung'): + if self.Objektname != 'Schaltmittel_Zuordnung|Proxy_Objekt' and 'Objektname' not in already_processed: + already_processed.add('Objektname') + outfile.write(' Objektname=%s' % (quote_attrib(self.Objektname), )) + def _exportChildren(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Schaltmittel_Zuordnung', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Bearbeitungsvermerk_ in self.ID_Bearbeitungsvermerk: + namespaceprefix_ = self.ID_Bearbeitungsvermerk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bearbeitungsvermerk_nsprefix_) else '' + ID_Bearbeitungsvermerk_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bearbeitungsvermerk', pretty_print=pretty_print) + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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_('Objektname', node) + if value is not None and 'Objektname' not in already_processed: + already_processed.add('Objektname') + self.Objektname = value + self.validate_TObjektname(self.Objektname) # validate type TObjektname + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Bearbeitungsvermerk': + obj_ = TCID_Bearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bearbeitungsvermerk.append(obj_) + obj_.original_tagname_ = 'ID_Bearbeitungsvermerk' + elif nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGUID + self.validate_TGUID(self.Wert) +# end class TCID_Schaltmittel_Zuordnung + + +class TCID_Schluessel(GeneratedsSuper): + """ID_Bearbeitungsvermerk -- Verweist auf einen oder mehrere Bearbeitungsvermerke. Ein Anhang wird + ü + ber einen Bearbeitungsvermerk zugeordnet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Objektname='Schluessel|Proxy_Objekt', ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Objektname = _cast(None, Objektname) + self.Objektname_nsprefix_ = None + if ID_Bearbeitungsvermerk is None: + self.ID_Bearbeitungsvermerk = [] + else: + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + self.ID_Bearbeitungsvermerk_nsprefix_ = None + self.Wert = Wert + self.validate_TGUID(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCID_Schluessel) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCID_Schluessel.subclass: + return TCID_Schluessel.subclass(*args_, **kwargs_) + else: + return TCID_Schluessel(*args_, **kwargs_) + factory = staticmethod(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_Bearbeitungsvermerk(self): + return self.ID_Bearbeitungsvermerk + def set_ID_Bearbeitungsvermerk(self, ID_Bearbeitungsvermerk): + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + def add_ID_Bearbeitungsvermerk(self, value): + self.ID_Bearbeitungsvermerk.append(value) + def insert_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk.insert(index, value) + def replace_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk[index] = value + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def get_Objektname(self): + return self.Objektname + def set_Objektname(self, Objektname): + self.Objektname = Objektname + def validate_TGUID(self, value): + result = True + # Validate type TGUID, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGUID_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGUID_patterns_, )) + result = False + return result + validate_TGUID_patterns_ = [['^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$']] + def validate_TObjektname(self, value): + # Validate type nsBasisTypen:TObjektname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TObjektname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TObjektname_patterns_, )) + validate_TObjektname_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.ID_Bearbeitungsvermerk or + self.Wert is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Schluessel', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCID_Schluessel') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCID_Schluessel': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCID_Schluessel') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCID_Schluessel', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsVerweise:', name_='TCID_Schluessel'): + if self.Objektname != 'Schluessel|Proxy_Objekt' and 'Objektname' not in already_processed: + already_processed.add('Objektname') + outfile.write(' Objektname=%s' % (quote_attrib(self.Objektname), )) + def _exportChildren(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Schluessel', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Bearbeitungsvermerk_ in self.ID_Bearbeitungsvermerk: + namespaceprefix_ = self.ID_Bearbeitungsvermerk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bearbeitungsvermerk_nsprefix_) else '' + ID_Bearbeitungsvermerk_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bearbeitungsvermerk', pretty_print=pretty_print) + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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_('Objektname', node) + if value is not None and 'Objektname' not in already_processed: + already_processed.add('Objektname') + self.Objektname = value + self.validate_TObjektname(self.Objektname) # validate type TObjektname + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Bearbeitungsvermerk': + obj_ = TCID_Bearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bearbeitungsvermerk.append(obj_) + obj_.original_tagname_ = 'ID_Bearbeitungsvermerk' + elif nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGUID + self.validate_TGUID(self.Wert) +# end class TCID_Schluessel + + +class TCID_Grenzzeichen(GeneratedsSuper): + """ID_Bearbeitungsvermerk -- Verweist auf einen oder mehrere Bearbeitungsvermerke. Ein Anhang wird + ü + ber einen Bearbeitungsvermerk zugeordnet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Objektname='Signal', ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Objektname = _cast(None, Objektname) + self.Objektname_nsprefix_ = None + if ID_Bearbeitungsvermerk is None: + self.ID_Bearbeitungsvermerk = [] + else: + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + self.ID_Bearbeitungsvermerk_nsprefix_ = None + self.Wert = Wert + self.validate_TGUID(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCID_Grenzzeichen) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCID_Grenzzeichen.subclass: + return TCID_Grenzzeichen.subclass(*args_, **kwargs_) + else: + return TCID_Grenzzeichen(*args_, **kwargs_) + factory = staticmethod(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_Bearbeitungsvermerk(self): + return self.ID_Bearbeitungsvermerk + def set_ID_Bearbeitungsvermerk(self, ID_Bearbeitungsvermerk): + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + def add_ID_Bearbeitungsvermerk(self, value): + self.ID_Bearbeitungsvermerk.append(value) + def insert_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk.insert(index, value) + def replace_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk[index] = value + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def get_Objektname(self): + return self.Objektname + def set_Objektname(self, Objektname): + self.Objektname = Objektname + def validate_TGUID(self, value): + result = True + # Validate type TGUID, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGUID_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGUID_patterns_, )) + result = False + return result + validate_TGUID_patterns_ = [['^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$']] + def validate_TObjektname(self, value): + # Validate type nsBasisTypen:TObjektname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TObjektname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TObjektname_patterns_, )) + validate_TObjektname_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.ID_Bearbeitungsvermerk or + self.Wert is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Grenzzeichen', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCID_Grenzzeichen') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCID_Grenzzeichen': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCID_Grenzzeichen') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCID_Grenzzeichen', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsVerweise:', name_='TCID_Grenzzeichen'): + if self.Objektname != 'Signal' and 'Objektname' not in already_processed: + already_processed.add('Objektname') + outfile.write(' Objektname=%s' % (quote_attrib(self.Objektname), )) + def _exportChildren(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Grenzzeichen', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Bearbeitungsvermerk_ in self.ID_Bearbeitungsvermerk: + namespaceprefix_ = self.ID_Bearbeitungsvermerk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bearbeitungsvermerk_nsprefix_) else '' + ID_Bearbeitungsvermerk_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bearbeitungsvermerk', pretty_print=pretty_print) + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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_('Objektname', node) + if value is not None and 'Objektname' not in already_processed: + already_processed.add('Objektname') + self.Objektname = value + self.validate_TObjektname(self.Objektname) # validate type TObjektname + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Bearbeitungsvermerk': + obj_ = TCID_Bearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bearbeitungsvermerk.append(obj_) + obj_.original_tagname_ = 'ID_Bearbeitungsvermerk' + elif nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGUID + self.validate_TGUID(self.Wert) +# end class TCID_Grenzzeichen + + +class TCID_Weichenlaufkette(GeneratedsSuper): + """ID_Bearbeitungsvermerk -- Verweist auf einen oder mehrere Bearbeitungsvermerke. Ein Anhang wird + ü + ber einen Bearbeitungsvermerk zugeordnet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Objektname='Weichenlaufkette|Proxy_Objekt', ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Objektname = _cast(None, Objektname) + self.Objektname_nsprefix_ = None + if ID_Bearbeitungsvermerk is None: + self.ID_Bearbeitungsvermerk = [] + else: + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + self.ID_Bearbeitungsvermerk_nsprefix_ = None + self.Wert = Wert + self.validate_TGUID(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCID_Weichenlaufkette) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCID_Weichenlaufkette.subclass: + return TCID_Weichenlaufkette.subclass(*args_, **kwargs_) + else: + return TCID_Weichenlaufkette(*args_, **kwargs_) + factory = staticmethod(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_Bearbeitungsvermerk(self): + return self.ID_Bearbeitungsvermerk + def set_ID_Bearbeitungsvermerk(self, ID_Bearbeitungsvermerk): + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + def add_ID_Bearbeitungsvermerk(self, value): + self.ID_Bearbeitungsvermerk.append(value) + def insert_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk.insert(index, value) + def replace_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk[index] = value + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def get_Objektname(self): + return self.Objektname + def set_Objektname(self, Objektname): + self.Objektname = Objektname + def validate_TGUID(self, value): + result = True + # Validate type TGUID, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGUID_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGUID_patterns_, )) + result = False + return result + validate_TGUID_patterns_ = [['^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$']] + def validate_TObjektname(self, value): + # Validate type nsBasisTypen:TObjektname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TObjektname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TObjektname_patterns_, )) + validate_TObjektname_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.ID_Bearbeitungsvermerk or + self.Wert is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Weichenlaufkette', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCID_Weichenlaufkette') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCID_Weichenlaufkette': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCID_Weichenlaufkette') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCID_Weichenlaufkette', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsVerweise:', name_='TCID_Weichenlaufkette'): + if self.Objektname != 'Weichenlaufkette|Proxy_Objekt' and 'Objektname' not in already_processed: + already_processed.add('Objektname') + outfile.write(' Objektname=%s' % (quote_attrib(self.Objektname), )) + def _exportChildren(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Weichenlaufkette', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Bearbeitungsvermerk_ in self.ID_Bearbeitungsvermerk: + namespaceprefix_ = self.ID_Bearbeitungsvermerk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bearbeitungsvermerk_nsprefix_) else '' + ID_Bearbeitungsvermerk_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bearbeitungsvermerk', pretty_print=pretty_print) + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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_('Objektname', node) + if value is not None and 'Objektname' not in already_processed: + already_processed.add('Objektname') + self.Objektname = value + self.validate_TObjektname(self.Objektname) # validate type TObjektname + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Bearbeitungsvermerk': + obj_ = TCID_Bearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bearbeitungsvermerk.append(obj_) + obj_.original_tagname_ = 'ID_Bearbeitungsvermerk' + elif nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGUID + self.validate_TGUID(self.Wert) +# end class TCID_Weichenlaufkette + + +class TCID_Schlosskombination(GeneratedsSuper): + """ID_Bearbeitungsvermerk -- Verweist auf einen oder mehrere Bearbeitungsvermerke. Ein Anhang wird + ü + ber einen Bearbeitungsvermerk zugeordnet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Objektname='Schlosskombination|Proxy_Objekt', ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Objektname = _cast(None, Objektname) + self.Objektname_nsprefix_ = None + if ID_Bearbeitungsvermerk is None: + self.ID_Bearbeitungsvermerk = [] + else: + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + self.ID_Bearbeitungsvermerk_nsprefix_ = None + self.Wert = Wert + self.validate_TGUID(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCID_Schlosskombination) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCID_Schlosskombination.subclass: + return TCID_Schlosskombination.subclass(*args_, **kwargs_) + else: + return TCID_Schlosskombination(*args_, **kwargs_) + factory = staticmethod(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_Bearbeitungsvermerk(self): + return self.ID_Bearbeitungsvermerk + def set_ID_Bearbeitungsvermerk(self, ID_Bearbeitungsvermerk): + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + def add_ID_Bearbeitungsvermerk(self, value): + self.ID_Bearbeitungsvermerk.append(value) + def insert_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk.insert(index, value) + def replace_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk[index] = value + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def get_Objektname(self): + return self.Objektname + def set_Objektname(self, Objektname): + self.Objektname = Objektname + def validate_TGUID(self, value): + result = True + # Validate type TGUID, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGUID_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGUID_patterns_, )) + result = False + return result + validate_TGUID_patterns_ = [['^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$']] + def validate_TObjektname(self, value): + # Validate type nsBasisTypen:TObjektname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TObjektname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TObjektname_patterns_, )) + validate_TObjektname_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.ID_Bearbeitungsvermerk or + self.Wert is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Schlosskombination', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCID_Schlosskombination') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCID_Schlosskombination': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCID_Schlosskombination') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCID_Schlosskombination', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsVerweise:', name_='TCID_Schlosskombination'): + if self.Objektname != 'Schlosskombination|Proxy_Objekt' and 'Objektname' not in already_processed: + already_processed.add('Objektname') + outfile.write(' Objektname=%s' % (quote_attrib(self.Objektname), )) + def _exportChildren(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Schlosskombination', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Bearbeitungsvermerk_ in self.ID_Bearbeitungsvermerk: + namespaceprefix_ = self.ID_Bearbeitungsvermerk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bearbeitungsvermerk_nsprefix_) else '' + ID_Bearbeitungsvermerk_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bearbeitungsvermerk', pretty_print=pretty_print) + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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_('Objektname', node) + if value is not None and 'Objektname' not in already_processed: + already_processed.add('Objektname') + self.Objektname = value + self.validate_TObjektname(self.Objektname) # validate type TObjektname + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Bearbeitungsvermerk': + obj_ = TCID_Bearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bearbeitungsvermerk.append(obj_) + obj_.original_tagname_ = 'ID_Bearbeitungsvermerk' + elif nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGUID + self.validate_TGUID(self.Wert) +# end class TCID_Schlosskombination + + +class TCID_Oertlichkeit_Proxy(GeneratedsSuper): + """ID_Bearbeitungsvermerk -- Verweist auf einen oder mehrere Bearbeitungsvermerke. Ein Anhang wird + ü + ber einen Bearbeitungsvermerk zugeordnet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Objektname='Oertlichkeit|Proxy_Objekt', ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Objektname = _cast(None, Objektname) + self.Objektname_nsprefix_ = None + if ID_Bearbeitungsvermerk is None: + self.ID_Bearbeitungsvermerk = [] + else: + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + self.ID_Bearbeitungsvermerk_nsprefix_ = None + self.Wert = Wert + self.validate_TGUID(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCID_Oertlichkeit_Proxy) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCID_Oertlichkeit_Proxy.subclass: + return TCID_Oertlichkeit_Proxy.subclass(*args_, **kwargs_) + else: + return TCID_Oertlichkeit_Proxy(*args_, **kwargs_) + factory = staticmethod(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_Bearbeitungsvermerk(self): + return self.ID_Bearbeitungsvermerk + def set_ID_Bearbeitungsvermerk(self, ID_Bearbeitungsvermerk): + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + def add_ID_Bearbeitungsvermerk(self, value): + self.ID_Bearbeitungsvermerk.append(value) + def insert_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk.insert(index, value) + def replace_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk[index] = value + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def get_Objektname(self): + return self.Objektname + def set_Objektname(self, Objektname): + self.Objektname = Objektname + def validate_TGUID(self, value): + result = True + # Validate type TGUID, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGUID_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGUID_patterns_, )) + result = False + return result + validate_TGUID_patterns_ = [['^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$']] + def validate_TObjektname(self, value): + # Validate type nsBasisTypen:TObjektname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TObjektname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TObjektname_patterns_, )) + validate_TObjektname_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.ID_Bearbeitungsvermerk or + self.Wert is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Oertlichkeit_Proxy', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCID_Oertlichkeit_Proxy') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCID_Oertlichkeit_Proxy': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCID_Oertlichkeit_Proxy') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCID_Oertlichkeit_Proxy', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsVerweise:', name_='TCID_Oertlichkeit_Proxy'): + if self.Objektname != 'Oertlichkeit|Proxy_Objekt' and 'Objektname' not in already_processed: + already_processed.add('Objektname') + outfile.write(' Objektname=%s' % (quote_attrib(self.Objektname), )) + def _exportChildren(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Oertlichkeit_Proxy', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Bearbeitungsvermerk_ in self.ID_Bearbeitungsvermerk: + namespaceprefix_ = self.ID_Bearbeitungsvermerk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bearbeitungsvermerk_nsprefix_) else '' + ID_Bearbeitungsvermerk_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bearbeitungsvermerk', pretty_print=pretty_print) + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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_('Objektname', node) + if value is not None and 'Objektname' not in already_processed: + already_processed.add('Objektname') + self.Objektname = value + self.validate_TObjektname(self.Objektname) # validate type TObjektname + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Bearbeitungsvermerk': + obj_ = TCID_Bearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bearbeitungsvermerk.append(obj_) + obj_.original_tagname_ = 'ID_Bearbeitungsvermerk' + elif nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGUID + self.validate_TGUID(self.Wert) +# end class TCID_Oertlichkeit_Proxy + + +class TCID_Signal_Start(GeneratedsSuper): + """ID_Bearbeitungsvermerk -- Verweist auf einen oder mehrere Bearbeitungsvermerke. Ein Anhang wird + ü + ber einen Bearbeitungsvermerk zugeordnet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Objektname='Signal', ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Objektname = _cast(None, Objektname) + self.Objektname_nsprefix_ = None + if ID_Bearbeitungsvermerk is None: + self.ID_Bearbeitungsvermerk = [] + else: + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + self.ID_Bearbeitungsvermerk_nsprefix_ = None + self.Wert = Wert + self.validate_TGUID(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCID_Signal_Start) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCID_Signal_Start.subclass: + return TCID_Signal_Start.subclass(*args_, **kwargs_) + else: + return TCID_Signal_Start(*args_, **kwargs_) + factory = staticmethod(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_Bearbeitungsvermerk(self): + return self.ID_Bearbeitungsvermerk + def set_ID_Bearbeitungsvermerk(self, ID_Bearbeitungsvermerk): + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + def add_ID_Bearbeitungsvermerk(self, value): + self.ID_Bearbeitungsvermerk.append(value) + def insert_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk.insert(index, value) + def replace_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk[index] = value + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def get_Objektname(self): + return self.Objektname + def set_Objektname(self, Objektname): + self.Objektname = Objektname + def validate_TGUID(self, value): + result = True + # Validate type TGUID, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGUID_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGUID_patterns_, )) + result = False + return result + validate_TGUID_patterns_ = [['^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$']] + def validate_TObjektname(self, value): + # Validate type nsBasisTypen:TObjektname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TObjektname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TObjektname_patterns_, )) + validate_TObjektname_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.ID_Bearbeitungsvermerk or + self.Wert is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Signal_Start', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCID_Signal_Start') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCID_Signal_Start': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCID_Signal_Start') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCID_Signal_Start', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsVerweise:', name_='TCID_Signal_Start'): + if self.Objektname != 'Signal' and 'Objektname' not in already_processed: + already_processed.add('Objektname') + outfile.write(' Objektname=%s' % (quote_attrib(self.Objektname), )) + def _exportChildren(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Signal_Start', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Bearbeitungsvermerk_ in self.ID_Bearbeitungsvermerk: + namespaceprefix_ = self.ID_Bearbeitungsvermerk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bearbeitungsvermerk_nsprefix_) else '' + ID_Bearbeitungsvermerk_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bearbeitungsvermerk', pretty_print=pretty_print) + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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_('Objektname', node) + if value is not None and 'Objektname' not in already_processed: + already_processed.add('Objektname') + self.Objektname = value + self.validate_TObjektname(self.Objektname) # validate type TObjektname + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Bearbeitungsvermerk': + obj_ = TCID_Bearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bearbeitungsvermerk.append(obj_) + obj_.original_tagname_ = 'ID_Bearbeitungsvermerk' + elif nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGUID + self.validate_TGUID(self.Wert) +# end class TCID_Signal_Start + + +class TCID_Bedien_Zentrale(GeneratedsSuper): + """ID_Bearbeitungsvermerk -- Verweist auf einen oder mehrere Bearbeitungsvermerke. Ein Anhang wird + ü + ber einen Bearbeitungsvermerk zugeordnet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Objektname='Bedien_Zentrale|Proxy_Objekt', ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Objektname = _cast(None, Objektname) + self.Objektname_nsprefix_ = None + if ID_Bearbeitungsvermerk is None: + self.ID_Bearbeitungsvermerk = [] + else: + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + self.ID_Bearbeitungsvermerk_nsprefix_ = None + self.Wert = Wert + self.validate_TGUID(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCID_Bedien_Zentrale) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCID_Bedien_Zentrale.subclass: + return TCID_Bedien_Zentrale.subclass(*args_, **kwargs_) + else: + return TCID_Bedien_Zentrale(*args_, **kwargs_) + factory = staticmethod(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_Bearbeitungsvermerk(self): + return self.ID_Bearbeitungsvermerk + def set_ID_Bearbeitungsvermerk(self, ID_Bearbeitungsvermerk): + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + def add_ID_Bearbeitungsvermerk(self, value): + self.ID_Bearbeitungsvermerk.append(value) + def insert_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk.insert(index, value) + def replace_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk[index] = value + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def get_Objektname(self): + return self.Objektname + def set_Objektname(self, Objektname): + self.Objektname = Objektname + def validate_TGUID(self, value): + result = True + # Validate type TGUID, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGUID_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGUID_patterns_, )) + result = False + return result + validate_TGUID_patterns_ = [['^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$']] + def validate_TObjektname(self, value): + # Validate type nsBasisTypen:TObjektname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TObjektname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TObjektname_patterns_, )) + validate_TObjektname_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.ID_Bearbeitungsvermerk or + self.Wert is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Bedien_Zentrale', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCID_Bedien_Zentrale') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCID_Bedien_Zentrale': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCID_Bedien_Zentrale') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCID_Bedien_Zentrale', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsVerweise:', name_='TCID_Bedien_Zentrale'): + if self.Objektname != 'Bedien_Zentrale|Proxy_Objekt' and 'Objektname' not in already_processed: + already_processed.add('Objektname') + outfile.write(' Objektname=%s' % (quote_attrib(self.Objektname), )) + def _exportChildren(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Bedien_Zentrale', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Bearbeitungsvermerk_ in self.ID_Bearbeitungsvermerk: + namespaceprefix_ = self.ID_Bearbeitungsvermerk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bearbeitungsvermerk_nsprefix_) else '' + ID_Bearbeitungsvermerk_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bearbeitungsvermerk', pretty_print=pretty_print) + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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_('Objektname', node) + if value is not None and 'Objektname' not in already_processed: + already_processed.add('Objektname') + self.Objektname = value + self.validate_TObjektname(self.Objektname) # validate type TObjektname + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Bearbeitungsvermerk': + obj_ = TCID_Bearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bearbeitungsvermerk.append(obj_) + obj_.original_tagname_ = 'ID_Bearbeitungsvermerk' + elif nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGUID + self.validate_TGUID(self.Wert) +# end class TCID_Bedien_Zentrale + + +class TCID_GFR_Anlage_ohne_Proxy(GeneratedsSuper): + """ID_Bearbeitungsvermerk -- Verweist auf einen oder mehrere Bearbeitungsvermerke. Ein Anhang wird + ü + ber einen Bearbeitungsvermerk zugeordnet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Objektname='GFR_Anlage', ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Objektname = _cast(None, Objektname) + self.Objektname_nsprefix_ = None + if ID_Bearbeitungsvermerk is None: + self.ID_Bearbeitungsvermerk = [] + else: + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + self.ID_Bearbeitungsvermerk_nsprefix_ = None + self.Wert = Wert + self.validate_TGUID(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCID_GFR_Anlage_ohne_Proxy) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCID_GFR_Anlage_ohne_Proxy.subclass: + return TCID_GFR_Anlage_ohne_Proxy.subclass(*args_, **kwargs_) + else: + return TCID_GFR_Anlage_ohne_Proxy(*args_, **kwargs_) + factory = staticmethod(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_Bearbeitungsvermerk(self): + return self.ID_Bearbeitungsvermerk + def set_ID_Bearbeitungsvermerk(self, ID_Bearbeitungsvermerk): + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + def add_ID_Bearbeitungsvermerk(self, value): + self.ID_Bearbeitungsvermerk.append(value) + def insert_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk.insert(index, value) + def replace_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk[index] = value + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def get_Objektname(self): + return self.Objektname + def set_Objektname(self, Objektname): + self.Objektname = Objektname + def validate_TGUID(self, value): + result = True + # Validate type TGUID, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGUID_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGUID_patterns_, )) + result = False + return result + validate_TGUID_patterns_ = [['^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$']] + def validate_TObjektname(self, value): + # Validate type nsBasisTypen:TObjektname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TObjektname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TObjektname_patterns_, )) + validate_TObjektname_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.ID_Bearbeitungsvermerk or + self.Wert is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_GFR_Anlage_ohne_Proxy', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCID_GFR_Anlage_ohne_Proxy') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCID_GFR_Anlage_ohne_Proxy': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCID_GFR_Anlage_ohne_Proxy') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCID_GFR_Anlage_ohne_Proxy', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsVerweise:', name_='TCID_GFR_Anlage_ohne_Proxy'): + if self.Objektname != 'GFR_Anlage' and 'Objektname' not in already_processed: + already_processed.add('Objektname') + outfile.write(' Objektname=%s' % (quote_attrib(self.Objektname), )) + def _exportChildren(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_GFR_Anlage_ohne_Proxy', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Bearbeitungsvermerk_ in self.ID_Bearbeitungsvermerk: + namespaceprefix_ = self.ID_Bearbeitungsvermerk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bearbeitungsvermerk_nsprefix_) else '' + ID_Bearbeitungsvermerk_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bearbeitungsvermerk', pretty_print=pretty_print) + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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_('Objektname', node) + if value is not None and 'Objektname' not in already_processed: + already_processed.add('Objektname') + self.Objektname = value + self.validate_TObjektname(self.Objektname) # validate type TObjektname + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Bearbeitungsvermerk': + obj_ = TCID_Bearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bearbeitungsvermerk.append(obj_) + obj_.original_tagname_ = 'ID_Bearbeitungsvermerk' + elif nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGUID + self.validate_TGUID(self.Wert) +# end class TCID_GFR_Anlage_ohne_Proxy + + +class TCID_Anschluss_Element(GeneratedsSuper): + """ID_Bearbeitungsvermerk -- Verweist auf einen oder mehrere Bearbeitungsvermerke. Ein Anhang wird + ü + ber einen Bearbeitungsvermerk zugeordnet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Objektname='Aussenelementansteuerung|Bedien_Standort|Datenpunkt|ESTW_Zentraleinheit|FMA_Komponente|Kabel_Verteilpunkt|LEU_Anlage|Stellelement|Technik_Standort|Proxy_Objekt', ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Objektname = _cast(None, Objektname) + self.Objektname_nsprefix_ = None + if ID_Bearbeitungsvermerk is None: + self.ID_Bearbeitungsvermerk = [] + else: + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + self.ID_Bearbeitungsvermerk_nsprefix_ = None + self.Wert = Wert + self.validate_TGUID(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCID_Anschluss_Element) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCID_Anschluss_Element.subclass: + return TCID_Anschluss_Element.subclass(*args_, **kwargs_) + else: + return TCID_Anschluss_Element(*args_, **kwargs_) + factory = staticmethod(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_Bearbeitungsvermerk(self): + return self.ID_Bearbeitungsvermerk + def set_ID_Bearbeitungsvermerk(self, ID_Bearbeitungsvermerk): + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + def add_ID_Bearbeitungsvermerk(self, value): + self.ID_Bearbeitungsvermerk.append(value) + def insert_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk.insert(index, value) + def replace_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk[index] = value + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def get_Objektname(self): + return self.Objektname + def set_Objektname(self, Objektname): + self.Objektname = Objektname + def validate_TGUID(self, value): + result = True + # Validate type TGUID, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGUID_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGUID_patterns_, )) + result = False + return result + validate_TGUID_patterns_ = [['^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$']] + def validate_TObjektname(self, value): + # Validate type nsBasisTypen:TObjektname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TObjektname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TObjektname_patterns_, )) + validate_TObjektname_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.ID_Bearbeitungsvermerk or + self.Wert is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Anschluss_Element', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCID_Anschluss_Element') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCID_Anschluss_Element': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCID_Anschluss_Element') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCID_Anschluss_Element', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsVerweise:', name_='TCID_Anschluss_Element'): + if self.Objektname != 'Aussenelementansteuerung|Bedien_Standort|Datenpunkt|ESTW_Zentraleinheit|FMA_Komponente|Kabel_Verteilpunkt|LEU_Anlage|Stellelement|Technik_Standort|Proxy_Objekt' and 'Objektname' not in already_processed: + already_processed.add('Objektname') + outfile.write(' Objektname=%s' % (quote_attrib(self.Objektname), )) + def _exportChildren(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Anschluss_Element', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Bearbeitungsvermerk_ in self.ID_Bearbeitungsvermerk: + namespaceprefix_ = self.ID_Bearbeitungsvermerk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bearbeitungsvermerk_nsprefix_) else '' + ID_Bearbeitungsvermerk_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bearbeitungsvermerk', pretty_print=pretty_print) + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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_('Objektname', node) + if value is not None and 'Objektname' not in already_processed: + already_processed.add('Objektname') + self.Objektname = value + self.validate_TObjektname(self.Objektname) # validate type TObjektname + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Bearbeitungsvermerk': + obj_ = TCID_Bearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bearbeitungsvermerk.append(obj_) + obj_.original_tagname_ = 'ID_Bearbeitungsvermerk' + elif nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGUID + self.validate_TGUID(self.Wert) +# end class TCID_Anschluss_Element + + +class TCID_Ausgabe_Fachdaten_ohne_Proxy(GeneratedsSuper): + """ID_Bearbeitungsvermerk -- Verweist auf einen oder mehrere Bearbeitungsvermerke. Ein Anhang wird + ü + ber einen Bearbeitungsvermerk zugeordnet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Objektname='Ausgabe_Fachdaten', ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Objektname = _cast(None, Objektname) + self.Objektname_nsprefix_ = None + if ID_Bearbeitungsvermerk is None: + self.ID_Bearbeitungsvermerk = [] + else: + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + self.ID_Bearbeitungsvermerk_nsprefix_ = None + self.Wert = Wert + self.validate_TGUID(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCID_Ausgabe_Fachdaten_ohne_Proxy) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCID_Ausgabe_Fachdaten_ohne_Proxy.subclass: + return TCID_Ausgabe_Fachdaten_ohne_Proxy.subclass(*args_, **kwargs_) + else: + return TCID_Ausgabe_Fachdaten_ohne_Proxy(*args_, **kwargs_) + factory = staticmethod(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_Bearbeitungsvermerk(self): + return self.ID_Bearbeitungsvermerk + def set_ID_Bearbeitungsvermerk(self, ID_Bearbeitungsvermerk): + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + def add_ID_Bearbeitungsvermerk(self, value): + self.ID_Bearbeitungsvermerk.append(value) + def insert_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk.insert(index, value) + def replace_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk[index] = value + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def get_Objektname(self): + return self.Objektname + def set_Objektname(self, Objektname): + self.Objektname = Objektname + def validate_TGUID(self, value): + result = True + # Validate type TGUID, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGUID_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGUID_patterns_, )) + result = False + return result + validate_TGUID_patterns_ = [['^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$']] + def validate_TObjektname(self, value): + # Validate type nsBasisTypen:TObjektname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TObjektname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TObjektname_patterns_, )) + validate_TObjektname_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.ID_Bearbeitungsvermerk or + self.Wert is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Ausgabe_Fachdaten_ohne_Proxy', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCID_Ausgabe_Fachdaten_ohne_Proxy') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCID_Ausgabe_Fachdaten_ohne_Proxy': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCID_Ausgabe_Fachdaten_ohne_Proxy') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCID_Ausgabe_Fachdaten_ohne_Proxy', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsVerweise:', name_='TCID_Ausgabe_Fachdaten_ohne_Proxy'): + if self.Objektname != 'Ausgabe_Fachdaten' and 'Objektname' not in already_processed: + already_processed.add('Objektname') + outfile.write(' Objektname=%s' % (quote_attrib(self.Objektname), )) + def _exportChildren(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Ausgabe_Fachdaten_ohne_Proxy', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Bearbeitungsvermerk_ in self.ID_Bearbeitungsvermerk: + namespaceprefix_ = self.ID_Bearbeitungsvermerk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bearbeitungsvermerk_nsprefix_) else '' + ID_Bearbeitungsvermerk_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bearbeitungsvermerk', pretty_print=pretty_print) + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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_('Objektname', node) + if value is not None and 'Objektname' not in already_processed: + already_processed.add('Objektname') + self.Objektname = value + self.validate_TObjektname(self.Objektname) # validate type TObjektname + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Bearbeitungsvermerk': + obj_ = TCID_Bearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bearbeitungsvermerk.append(obj_) + obj_.original_tagname_ = 'ID_Bearbeitungsvermerk' + elif nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGUID + self.validate_TGUID(self.Wert) +# end class TCID_Ausgabe_Fachdaten_ohne_Proxy + + +class TCID_ZL_Fstr(GeneratedsSuper): + """ID_Bearbeitungsvermerk -- Verweist auf einen oder mehrere Bearbeitungsvermerke. Ein Anhang wird + ü + ber einen Bearbeitungsvermerk zugeordnet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Objektname='ZL_Fstr|Proxy_Objekt', ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Objektname = _cast(None, Objektname) + self.Objektname_nsprefix_ = None + if ID_Bearbeitungsvermerk is None: + self.ID_Bearbeitungsvermerk = [] + else: + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + self.ID_Bearbeitungsvermerk_nsprefix_ = None + self.Wert = Wert + self.validate_TGUID(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCID_ZL_Fstr) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCID_ZL_Fstr.subclass: + return TCID_ZL_Fstr.subclass(*args_, **kwargs_) + else: + return TCID_ZL_Fstr(*args_, **kwargs_) + factory = staticmethod(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_Bearbeitungsvermerk(self): + return self.ID_Bearbeitungsvermerk + def set_ID_Bearbeitungsvermerk(self, ID_Bearbeitungsvermerk): + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + def add_ID_Bearbeitungsvermerk(self, value): + self.ID_Bearbeitungsvermerk.append(value) + def insert_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk.insert(index, value) + def replace_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk[index] = value + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def get_Objektname(self): + return self.Objektname + def set_Objektname(self, Objektname): + self.Objektname = Objektname + def validate_TGUID(self, value): + result = True + # Validate type TGUID, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGUID_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGUID_patterns_, )) + result = False + return result + validate_TGUID_patterns_ = [['^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$']] + def validate_TObjektname(self, value): + # Validate type nsBasisTypen:TObjektname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TObjektname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TObjektname_patterns_, )) + validate_TObjektname_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.ID_Bearbeitungsvermerk or + self.Wert is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_ZL_Fstr', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCID_ZL_Fstr') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCID_ZL_Fstr': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCID_ZL_Fstr') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCID_ZL_Fstr', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsVerweise:', name_='TCID_ZL_Fstr'): + if self.Objektname != 'ZL_Fstr|Proxy_Objekt' and 'Objektname' not in already_processed: + already_processed.add('Objektname') + outfile.write(' Objektname=%s' % (quote_attrib(self.Objektname), )) + def _exportChildren(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_ZL_Fstr', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Bearbeitungsvermerk_ in self.ID_Bearbeitungsvermerk: + namespaceprefix_ = self.ID_Bearbeitungsvermerk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bearbeitungsvermerk_nsprefix_) else '' + ID_Bearbeitungsvermerk_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bearbeitungsvermerk', pretty_print=pretty_print) + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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_('Objektname', node) + if value is not None and 'Objektname' not in already_processed: + already_processed.add('Objektname') + self.Objektname = value + self.validate_TObjektname(self.Objektname) # validate type TObjektname + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Bearbeitungsvermerk': + obj_ = TCID_Bearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bearbeitungsvermerk.append(obj_) + obj_.original_tagname_ = 'ID_Bearbeitungsvermerk' + elif nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGUID + self.validate_TGUID(self.Wert) +# end class TCID_ZL_Fstr + + +class TCID_FT_Anschaltbedingung(GeneratedsSuper): + """ID_Bearbeitungsvermerk -- Verweist auf einen oder mehrere Bearbeitungsvermerke. Ein Anhang wird + ü + ber einen Bearbeitungsvermerk zugeordnet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Objektname='FT_Anschaltbedingung|Proxy_Objekt', ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Objektname = _cast(None, Objektname) + self.Objektname_nsprefix_ = None + if ID_Bearbeitungsvermerk is None: + self.ID_Bearbeitungsvermerk = [] + else: + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + self.ID_Bearbeitungsvermerk_nsprefix_ = None + self.Wert = Wert + self.validate_TGUID(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCID_FT_Anschaltbedingung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCID_FT_Anschaltbedingung.subclass: + return TCID_FT_Anschaltbedingung.subclass(*args_, **kwargs_) + else: + return TCID_FT_Anschaltbedingung(*args_, **kwargs_) + factory = staticmethod(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_Bearbeitungsvermerk(self): + return self.ID_Bearbeitungsvermerk + def set_ID_Bearbeitungsvermerk(self, ID_Bearbeitungsvermerk): + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + def add_ID_Bearbeitungsvermerk(self, value): + self.ID_Bearbeitungsvermerk.append(value) + def insert_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk.insert(index, value) + def replace_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk[index] = value + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def get_Objektname(self): + return self.Objektname + def set_Objektname(self, Objektname): + self.Objektname = Objektname + def validate_TGUID(self, value): + result = True + # Validate type TGUID, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGUID_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGUID_patterns_, )) + result = False + return result + validate_TGUID_patterns_ = [['^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$']] + def validate_TObjektname(self, value): + # Validate type nsBasisTypen:TObjektname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TObjektname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TObjektname_patterns_, )) + validate_TObjektname_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.ID_Bearbeitungsvermerk or + self.Wert is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_FT_Anschaltbedingung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCID_FT_Anschaltbedingung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCID_FT_Anschaltbedingung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCID_FT_Anschaltbedingung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCID_FT_Anschaltbedingung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsVerweise:', name_='TCID_FT_Anschaltbedingung'): + if self.Objektname != 'FT_Anschaltbedingung|Proxy_Objekt' and 'Objektname' not in already_processed: + already_processed.add('Objektname') + outfile.write(' Objektname=%s' % (quote_attrib(self.Objektname), )) + def _exportChildren(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_FT_Anschaltbedingung', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Bearbeitungsvermerk_ in self.ID_Bearbeitungsvermerk: + namespaceprefix_ = self.ID_Bearbeitungsvermerk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bearbeitungsvermerk_nsprefix_) else '' + ID_Bearbeitungsvermerk_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bearbeitungsvermerk', pretty_print=pretty_print) + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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_('Objektname', node) + if value is not None and 'Objektname' not in already_processed: + already_processed.add('Objektname') + self.Objektname = value + self.validate_TObjektname(self.Objektname) # validate type TObjektname + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Bearbeitungsvermerk': + obj_ = TCID_Bearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bearbeitungsvermerk.append(obj_) + obj_.original_tagname_ = 'ID_Bearbeitungsvermerk' + elif nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGUID + self.validate_TGUID(self.Wert) +# end class TCID_FT_Anschaltbedingung + + +class TCID_Lageplan_Blattschnitt(GeneratedsSuper): + """ID_Bearbeitungsvermerk -- Verweist auf einen oder mehrere Bearbeitungsvermerke. Ein Anhang wird + ü + ber einen Bearbeitungsvermerk zugeordnet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Objektname='Lageplan_Blattschnitt', ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Objektname = _cast(None, Objektname) + self.Objektname_nsprefix_ = None + if ID_Bearbeitungsvermerk is None: + self.ID_Bearbeitungsvermerk = [] + else: + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + self.ID_Bearbeitungsvermerk_nsprefix_ = None + self.Wert = Wert + self.validate_TGUID(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCID_Lageplan_Blattschnitt) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCID_Lageplan_Blattschnitt.subclass: + return TCID_Lageplan_Blattschnitt.subclass(*args_, **kwargs_) + else: + return TCID_Lageplan_Blattschnitt(*args_, **kwargs_) + factory = staticmethod(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_Bearbeitungsvermerk(self): + return self.ID_Bearbeitungsvermerk + def set_ID_Bearbeitungsvermerk(self, ID_Bearbeitungsvermerk): + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + def add_ID_Bearbeitungsvermerk(self, value): + self.ID_Bearbeitungsvermerk.append(value) + def insert_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk.insert(index, value) + def replace_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk[index] = value + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def get_Objektname(self): + return self.Objektname + def set_Objektname(self, Objektname): + self.Objektname = Objektname + def validate_TGUID(self, value): + result = True + # Validate type TGUID, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGUID_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGUID_patterns_, )) + result = False + return result + validate_TGUID_patterns_ = [['^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$']] + def validate_TObjektname(self, value): + # Validate type nsBasisTypen:TObjektname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TObjektname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TObjektname_patterns_, )) + validate_TObjektname_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.ID_Bearbeitungsvermerk or + self.Wert is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Lageplan_Blattschnitt', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCID_Lageplan_Blattschnitt') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCID_Lageplan_Blattschnitt': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCID_Lageplan_Blattschnitt') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCID_Lageplan_Blattschnitt', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsVerweise:', name_='TCID_Lageplan_Blattschnitt'): + if self.Objektname != 'Lageplan_Blattschnitt' and 'Objektname' not in already_processed: + already_processed.add('Objektname') + outfile.write(' Objektname=%s' % (quote_attrib(self.Objektname), )) + def _exportChildren(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Lageplan_Blattschnitt', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Bearbeitungsvermerk_ in self.ID_Bearbeitungsvermerk: + namespaceprefix_ = self.ID_Bearbeitungsvermerk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bearbeitungsvermerk_nsprefix_) else '' + ID_Bearbeitungsvermerk_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bearbeitungsvermerk', pretty_print=pretty_print) + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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_('Objektname', node) + if value is not None and 'Objektname' not in already_processed: + already_processed.add('Objektname') + self.Objektname = value + self.validate_TObjektname(self.Objektname) # validate type TObjektname + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Bearbeitungsvermerk': + obj_ = TCID_Bearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bearbeitungsvermerk.append(obj_) + obj_.original_tagname_ = 'ID_Bearbeitungsvermerk' + elif nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGUID + self.validate_TGUID(self.Wert) +# end class TCID_Lageplan_Blattschnitt + + +class TCID_Balise_ohne_Proxy(GeneratedsSuper): + """ID_Bearbeitungsvermerk -- Verweist auf einen oder mehrere Bearbeitungsvermerke. Ein Anhang wird + ü + ber einen Bearbeitungsvermerk zugeordnet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Objektname='Balise', ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Objektname = _cast(None, Objektname) + self.Objektname_nsprefix_ = None + if ID_Bearbeitungsvermerk is None: + self.ID_Bearbeitungsvermerk = [] + else: + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + self.ID_Bearbeitungsvermerk_nsprefix_ = None + self.Wert = Wert + self.validate_TGUID(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCID_Balise_ohne_Proxy) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCID_Balise_ohne_Proxy.subclass: + return TCID_Balise_ohne_Proxy.subclass(*args_, **kwargs_) + else: + return TCID_Balise_ohne_Proxy(*args_, **kwargs_) + factory = staticmethod(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_Bearbeitungsvermerk(self): + return self.ID_Bearbeitungsvermerk + def set_ID_Bearbeitungsvermerk(self, ID_Bearbeitungsvermerk): + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + def add_ID_Bearbeitungsvermerk(self, value): + self.ID_Bearbeitungsvermerk.append(value) + def insert_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk.insert(index, value) + def replace_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk[index] = value + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def get_Objektname(self): + return self.Objektname + def set_Objektname(self, Objektname): + self.Objektname = Objektname + def validate_TGUID(self, value): + result = True + # Validate type TGUID, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGUID_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGUID_patterns_, )) + result = False + return result + validate_TGUID_patterns_ = [['^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$']] + def validate_TObjektname(self, value): + # Validate type nsBasisTypen:TObjektname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TObjektname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TObjektname_patterns_, )) + validate_TObjektname_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.ID_Bearbeitungsvermerk or + self.Wert is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Balise_ohne_Proxy', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCID_Balise_ohne_Proxy') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCID_Balise_ohne_Proxy': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCID_Balise_ohne_Proxy') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCID_Balise_ohne_Proxy', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsVerweise:', name_='TCID_Balise_ohne_Proxy'): + if self.Objektname != 'Balise' and 'Objektname' not in already_processed: + already_processed.add('Objektname') + outfile.write(' Objektname=%s' % (quote_attrib(self.Objektname), )) + def _exportChildren(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Balise_ohne_Proxy', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Bearbeitungsvermerk_ in self.ID_Bearbeitungsvermerk: + namespaceprefix_ = self.ID_Bearbeitungsvermerk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bearbeitungsvermerk_nsprefix_) else '' + ID_Bearbeitungsvermerk_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bearbeitungsvermerk', pretty_print=pretty_print) + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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_('Objektname', node) + if value is not None and 'Objektname' not in already_processed: + already_processed.add('Objektname') + self.Objektname = value + self.validate_TObjektname(self.Objektname) # validate type TObjektname + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Bearbeitungsvermerk': + obj_ = TCID_Bearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bearbeitungsvermerk.append(obj_) + obj_.original_tagname_ = 'ID_Bearbeitungsvermerk' + elif nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGUID + self.validate_TGUID(self.Wert) +# end class TCID_Balise_ohne_Proxy + + +class TCID_Block_Strecke(GeneratedsSuper): + """ID_Bearbeitungsvermerk -- Verweist auf einen oder mehrere Bearbeitungsvermerke. Ein Anhang wird + ü + ber einen Bearbeitungsvermerk zugeordnet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Objektname='Block_Strecke|Proxy_Objekt', ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Objektname = _cast(None, Objektname) + self.Objektname_nsprefix_ = None + if ID_Bearbeitungsvermerk is None: + self.ID_Bearbeitungsvermerk = [] + else: + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + self.ID_Bearbeitungsvermerk_nsprefix_ = None + self.Wert = Wert + self.validate_TGUID(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCID_Block_Strecke) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCID_Block_Strecke.subclass: + return TCID_Block_Strecke.subclass(*args_, **kwargs_) + else: + return TCID_Block_Strecke(*args_, **kwargs_) + factory = staticmethod(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_Bearbeitungsvermerk(self): + return self.ID_Bearbeitungsvermerk + def set_ID_Bearbeitungsvermerk(self, ID_Bearbeitungsvermerk): + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + def add_ID_Bearbeitungsvermerk(self, value): + self.ID_Bearbeitungsvermerk.append(value) + def insert_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk.insert(index, value) + def replace_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk[index] = value + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def get_Objektname(self): + return self.Objektname + def set_Objektname(self, Objektname): + self.Objektname = Objektname + def validate_TGUID(self, value): + result = True + # Validate type TGUID, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGUID_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGUID_patterns_, )) + result = False + return result + validate_TGUID_patterns_ = [['^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$']] + def validate_TObjektname(self, value): + # Validate type nsBasisTypen:TObjektname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TObjektname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TObjektname_patterns_, )) + validate_TObjektname_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.ID_Bearbeitungsvermerk or + self.Wert is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Block_Strecke', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCID_Block_Strecke') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCID_Block_Strecke': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCID_Block_Strecke') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCID_Block_Strecke', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsVerweise:', name_='TCID_Block_Strecke'): + if self.Objektname != 'Block_Strecke|Proxy_Objekt' and 'Objektname' not in already_processed: + already_processed.add('Objektname') + outfile.write(' Objektname=%s' % (quote_attrib(self.Objektname), )) + def _exportChildren(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Block_Strecke', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Bearbeitungsvermerk_ in self.ID_Bearbeitungsvermerk: + namespaceprefix_ = self.ID_Bearbeitungsvermerk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bearbeitungsvermerk_nsprefix_) else '' + ID_Bearbeitungsvermerk_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bearbeitungsvermerk', pretty_print=pretty_print) + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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_('Objektname', node) + if value is not None and 'Objektname' not in already_processed: + already_processed.add('Objektname') + self.Objektname = value + self.validate_TObjektname(self.Objektname) # validate type TObjektname + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Bearbeitungsvermerk': + obj_ = TCID_Bearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bearbeitungsvermerk.append(obj_) + obj_.original_tagname_ = 'ID_Bearbeitungsvermerk' + elif nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGUID + self.validate_TGUID(self.Wert) +# end class TCID_Block_Strecke + + +class TCID_Fstr_Aneinander(GeneratedsSuper): + """ID_Bearbeitungsvermerk -- Verweist auf einen oder mehrere Bearbeitungsvermerke. Ein Anhang wird + ü + ber einen Bearbeitungsvermerk zugeordnet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Objektname='Fstr_Aneinander|Proxy_Objekt', ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Objektname = _cast(None, Objektname) + self.Objektname_nsprefix_ = None + if ID_Bearbeitungsvermerk is None: + self.ID_Bearbeitungsvermerk = [] + else: + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + self.ID_Bearbeitungsvermerk_nsprefix_ = None + self.Wert = Wert + self.validate_TGUID(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCID_Fstr_Aneinander) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCID_Fstr_Aneinander.subclass: + return TCID_Fstr_Aneinander.subclass(*args_, **kwargs_) + else: + return TCID_Fstr_Aneinander(*args_, **kwargs_) + factory = staticmethod(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_Bearbeitungsvermerk(self): + return self.ID_Bearbeitungsvermerk + def set_ID_Bearbeitungsvermerk(self, ID_Bearbeitungsvermerk): + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + def add_ID_Bearbeitungsvermerk(self, value): + self.ID_Bearbeitungsvermerk.append(value) + def insert_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk.insert(index, value) + def replace_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk[index] = value + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def get_Objektname(self): + return self.Objektname + def set_Objektname(self, Objektname): + self.Objektname = Objektname + def validate_TGUID(self, value): + result = True + # Validate type TGUID, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGUID_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGUID_patterns_, )) + result = False + return result + validate_TGUID_patterns_ = [['^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$']] + def validate_TObjektname(self, value): + # Validate type nsBasisTypen:TObjektname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TObjektname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TObjektname_patterns_, )) + validate_TObjektname_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.ID_Bearbeitungsvermerk or + self.Wert is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Fstr_Aneinander', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCID_Fstr_Aneinander') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCID_Fstr_Aneinander': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCID_Fstr_Aneinander') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCID_Fstr_Aneinander', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsVerweise:', name_='TCID_Fstr_Aneinander'): + if self.Objektname != 'Fstr_Aneinander|Proxy_Objekt' and 'Objektname' not in already_processed: + already_processed.add('Objektname') + outfile.write(' Objektname=%s' % (quote_attrib(self.Objektname), )) + def _exportChildren(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Fstr_Aneinander', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Bearbeitungsvermerk_ in self.ID_Bearbeitungsvermerk: + namespaceprefix_ = self.ID_Bearbeitungsvermerk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bearbeitungsvermerk_nsprefix_) else '' + ID_Bearbeitungsvermerk_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bearbeitungsvermerk', pretty_print=pretty_print) + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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_('Objektname', node) + if value is not None and 'Objektname' not in already_processed: + already_processed.add('Objektname') + self.Objektname = value + self.validate_TObjektname(self.Objektname) # validate type TObjektname + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Bearbeitungsvermerk': + obj_ = TCID_Bearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bearbeitungsvermerk.append(obj_) + obj_.original_tagname_ = 'ID_Bearbeitungsvermerk' + elif nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGUID + self.validate_TGUID(self.Wert) +# end class TCID_Fstr_Aneinander + + +class TCID_TOP_Knoten(GeneratedsSuper): + """ID_Bearbeitungsvermerk -- Verweist auf einen oder mehrere Bearbeitungsvermerke. Ein Anhang wird + ü + ber einen Bearbeitungsvermerk zugeordnet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Objektname='TOP_Knoten|Proxy_Objekt', ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Objektname = _cast(None, Objektname) + self.Objektname_nsprefix_ = None + if ID_Bearbeitungsvermerk is None: + self.ID_Bearbeitungsvermerk = [] + else: + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + self.ID_Bearbeitungsvermerk_nsprefix_ = None + self.Wert = Wert + self.validate_TGUID(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCID_TOP_Knoten) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCID_TOP_Knoten.subclass: + return TCID_TOP_Knoten.subclass(*args_, **kwargs_) + else: + return TCID_TOP_Knoten(*args_, **kwargs_) + factory = staticmethod(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_Bearbeitungsvermerk(self): + return self.ID_Bearbeitungsvermerk + def set_ID_Bearbeitungsvermerk(self, ID_Bearbeitungsvermerk): + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + def add_ID_Bearbeitungsvermerk(self, value): + self.ID_Bearbeitungsvermerk.append(value) + def insert_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk.insert(index, value) + def replace_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk[index] = value + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def get_Objektname(self): + return self.Objektname + def set_Objektname(self, Objektname): + self.Objektname = Objektname + def validate_TGUID(self, value): + result = True + # Validate type TGUID, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGUID_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGUID_patterns_, )) + result = False + return result + validate_TGUID_patterns_ = [['^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$']] + def validate_TObjektname(self, value): + # Validate type nsBasisTypen:TObjektname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TObjektname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TObjektname_patterns_, )) + validate_TObjektname_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.ID_Bearbeitungsvermerk or + self.Wert is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_TOP_Knoten', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCID_TOP_Knoten') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCID_TOP_Knoten': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCID_TOP_Knoten') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCID_TOP_Knoten', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsVerweise:', name_='TCID_TOP_Knoten'): + if self.Objektname != 'TOP_Knoten|Proxy_Objekt' and 'Objektname' not in already_processed: + already_processed.add('Objektname') + outfile.write(' Objektname=%s' % (quote_attrib(self.Objektname), )) + def _exportChildren(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_TOP_Knoten', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Bearbeitungsvermerk_ in self.ID_Bearbeitungsvermerk: + namespaceprefix_ = self.ID_Bearbeitungsvermerk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bearbeitungsvermerk_nsprefix_) else '' + ID_Bearbeitungsvermerk_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bearbeitungsvermerk', pretty_print=pretty_print) + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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_('Objektname', node) + if value is not None and 'Objektname' not in already_processed: + already_processed.add('Objektname') + self.Objektname = value + self.validate_TObjektname(self.Objektname) # validate type TObjektname + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Bearbeitungsvermerk': + obj_ = TCID_Bearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bearbeitungsvermerk.append(obj_) + obj_.original_tagname_ = 'ID_Bearbeitungsvermerk' + elif nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGUID + self.validate_TGUID(self.Wert) +# end class TCID_TOP_Knoten + + +class TCID_Strecke_Bremsweg_ohne_Proxy(GeneratedsSuper): + """ID_Bearbeitungsvermerk -- Verweist auf einen oder mehrere Bearbeitungsvermerke. Ein Anhang wird + ü + ber einen Bearbeitungsvermerk zugeordnet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Objektname='Strecke_Bremsweg', ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Objektname = _cast(None, Objektname) + self.Objektname_nsprefix_ = None + if ID_Bearbeitungsvermerk is None: + self.ID_Bearbeitungsvermerk = [] + else: + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + self.ID_Bearbeitungsvermerk_nsprefix_ = None + self.Wert = Wert + self.validate_TGUID(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCID_Strecke_Bremsweg_ohne_Proxy) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCID_Strecke_Bremsweg_ohne_Proxy.subclass: + return TCID_Strecke_Bremsweg_ohne_Proxy.subclass(*args_, **kwargs_) + else: + return TCID_Strecke_Bremsweg_ohne_Proxy(*args_, **kwargs_) + factory = staticmethod(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_Bearbeitungsvermerk(self): + return self.ID_Bearbeitungsvermerk + def set_ID_Bearbeitungsvermerk(self, ID_Bearbeitungsvermerk): + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + def add_ID_Bearbeitungsvermerk(self, value): + self.ID_Bearbeitungsvermerk.append(value) + def insert_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk.insert(index, value) + def replace_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk[index] = value + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def get_Objektname(self): + return self.Objektname + def set_Objektname(self, Objektname): + self.Objektname = Objektname + def validate_TGUID(self, value): + result = True + # Validate type TGUID, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGUID_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGUID_patterns_, )) + result = False + return result + validate_TGUID_patterns_ = [['^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$']] + def validate_TObjektname(self, value): + # Validate type nsBasisTypen:TObjektname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TObjektname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TObjektname_patterns_, )) + validate_TObjektname_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.ID_Bearbeitungsvermerk or + self.Wert is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Strecke_Bremsweg_ohne_Proxy', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCID_Strecke_Bremsweg_ohne_Proxy') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCID_Strecke_Bremsweg_ohne_Proxy': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCID_Strecke_Bremsweg_ohne_Proxy') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCID_Strecke_Bremsweg_ohne_Proxy', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsVerweise:', name_='TCID_Strecke_Bremsweg_ohne_Proxy'): + if self.Objektname != 'Strecke_Bremsweg' and 'Objektname' not in already_processed: + already_processed.add('Objektname') + outfile.write(' Objektname=%s' % (quote_attrib(self.Objektname), )) + def _exportChildren(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Strecke_Bremsweg_ohne_Proxy', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Bearbeitungsvermerk_ in self.ID_Bearbeitungsvermerk: + namespaceprefix_ = self.ID_Bearbeitungsvermerk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bearbeitungsvermerk_nsprefix_) else '' + ID_Bearbeitungsvermerk_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bearbeitungsvermerk', pretty_print=pretty_print) + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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_('Objektname', node) + if value is not None and 'Objektname' not in already_processed: + already_processed.add('Objektname') + self.Objektname = value + self.validate_TObjektname(self.Objektname) # validate type TObjektname + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Bearbeitungsvermerk': + obj_ = TCID_Bearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bearbeitungsvermerk.append(obj_) + obj_.original_tagname_ = 'ID_Bearbeitungsvermerk' + elif nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGUID + self.validate_TGUID(self.Wert) +# end class TCID_Strecke_Bremsweg_ohne_Proxy + + +class TCID_ETCS_Knoten(GeneratedsSuper): + """ID_Bearbeitungsvermerk -- Verweist auf einen oder mehrere Bearbeitungsvermerke. Ein Anhang wird + ü + ber einen Bearbeitungsvermerk zugeordnet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Objektname='ETCS_Knoten|Proxy_Objekt', ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Objektname = _cast(None, Objektname) + self.Objektname_nsprefix_ = None + if ID_Bearbeitungsvermerk is None: + self.ID_Bearbeitungsvermerk = [] + else: + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + self.ID_Bearbeitungsvermerk_nsprefix_ = None + self.Wert = Wert + self.validate_TGUID(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCID_ETCS_Knoten) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCID_ETCS_Knoten.subclass: + return TCID_ETCS_Knoten.subclass(*args_, **kwargs_) + else: + return TCID_ETCS_Knoten(*args_, **kwargs_) + factory = staticmethod(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_Bearbeitungsvermerk(self): + return self.ID_Bearbeitungsvermerk + def set_ID_Bearbeitungsvermerk(self, ID_Bearbeitungsvermerk): + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + def add_ID_Bearbeitungsvermerk(self, value): + self.ID_Bearbeitungsvermerk.append(value) + def insert_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk.insert(index, value) + def replace_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk[index] = value + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def get_Objektname(self): + return self.Objektname + def set_Objektname(self, Objektname): + self.Objektname = Objektname + def validate_TGUID(self, value): + result = True + # Validate type TGUID, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGUID_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGUID_patterns_, )) + result = False + return result + validate_TGUID_patterns_ = [['^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$']] + def validate_TObjektname(self, value): + # Validate type nsBasisTypen:TObjektname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TObjektname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TObjektname_patterns_, )) + validate_TObjektname_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.ID_Bearbeitungsvermerk or + self.Wert is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_ETCS_Knoten', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCID_ETCS_Knoten') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCID_ETCS_Knoten': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCID_ETCS_Knoten') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCID_ETCS_Knoten', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsVerweise:', name_='TCID_ETCS_Knoten'): + if self.Objektname != 'ETCS_Knoten|Proxy_Objekt' and 'Objektname' not in already_processed: + already_processed.add('Objektname') + outfile.write(' Objektname=%s' % (quote_attrib(self.Objektname), )) + def _exportChildren(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_ETCS_Knoten', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Bearbeitungsvermerk_ in self.ID_Bearbeitungsvermerk: + namespaceprefix_ = self.ID_Bearbeitungsvermerk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bearbeitungsvermerk_nsprefix_) else '' + ID_Bearbeitungsvermerk_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bearbeitungsvermerk', pretty_print=pretty_print) + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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_('Objektname', node) + if value is not None and 'Objektname' not in already_processed: + already_processed.add('Objektname') + self.Objektname = value + self.validate_TObjektname(self.Objektname) # validate type TObjektname + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Bearbeitungsvermerk': + obj_ = TCID_Bearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bearbeitungsvermerk.append(obj_) + obj_.original_tagname_ = 'ID_Bearbeitungsvermerk' + elif nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGUID + self.validate_TGUID(self.Wert) +# end class TCID_ETCS_Knoten + + +class TCID_Bedien_Bezirk(GeneratedsSuper): + """ID_Bearbeitungsvermerk -- Verweist auf einen oder mehrere Bearbeitungsvermerke. Ein Anhang wird + ü + ber einen Bearbeitungsvermerk zugeordnet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Objektname='Bedien_Bezirk|Proxy_Objekt', ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Objektname = _cast(None, Objektname) + self.Objektname_nsprefix_ = None + if ID_Bearbeitungsvermerk is None: + self.ID_Bearbeitungsvermerk = [] + else: + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + self.ID_Bearbeitungsvermerk_nsprefix_ = None + self.Wert = Wert + self.validate_TGUID(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCID_Bedien_Bezirk) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCID_Bedien_Bezirk.subclass: + return TCID_Bedien_Bezirk.subclass(*args_, **kwargs_) + else: + return TCID_Bedien_Bezirk(*args_, **kwargs_) + factory = staticmethod(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_Bearbeitungsvermerk(self): + return self.ID_Bearbeitungsvermerk + def set_ID_Bearbeitungsvermerk(self, ID_Bearbeitungsvermerk): + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + def add_ID_Bearbeitungsvermerk(self, value): + self.ID_Bearbeitungsvermerk.append(value) + def insert_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk.insert(index, value) + def replace_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk[index] = value + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def get_Objektname(self): + return self.Objektname + def set_Objektname(self, Objektname): + self.Objektname = Objektname + def validate_TGUID(self, value): + result = True + # Validate type TGUID, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGUID_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGUID_patterns_, )) + result = False + return result + validate_TGUID_patterns_ = [['^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$']] + def validate_TObjektname(self, value): + # Validate type nsBasisTypen:TObjektname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TObjektname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TObjektname_patterns_, )) + validate_TObjektname_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.ID_Bearbeitungsvermerk or + self.Wert is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Bedien_Bezirk', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCID_Bedien_Bezirk') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCID_Bedien_Bezirk': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCID_Bedien_Bezirk') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCID_Bedien_Bezirk', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsVerweise:', name_='TCID_Bedien_Bezirk'): + if self.Objektname != 'Bedien_Bezirk|Proxy_Objekt' and 'Objektname' not in already_processed: + already_processed.add('Objektname') + outfile.write(' Objektname=%s' % (quote_attrib(self.Objektname), )) + def _exportChildren(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Bedien_Bezirk', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Bearbeitungsvermerk_ in self.ID_Bearbeitungsvermerk: + namespaceprefix_ = self.ID_Bearbeitungsvermerk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bearbeitungsvermerk_nsprefix_) else '' + ID_Bearbeitungsvermerk_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bearbeitungsvermerk', pretty_print=pretty_print) + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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_('Objektname', node) + if value is not None and 'Objektname' not in already_processed: + already_processed.add('Objektname') + self.Objektname = value + self.validate_TObjektname(self.Objektname) # validate type TObjektname + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Bearbeitungsvermerk': + obj_ = TCID_Bearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bearbeitungsvermerk.append(obj_) + obj_.original_tagname_ = 'ID_Bearbeitungsvermerk' + elif nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGUID + self.validate_TGUID(self.Wert) +# end class TCID_Bedien_Bezirk + + +class TCID_Bedien_Oberflaeche(GeneratedsSuper): + """ID_Bearbeitungsvermerk -- Verweist auf einen oder mehrere Bearbeitungsvermerke. Ein Anhang wird + ü + ber einen Bearbeitungsvermerk zugeordnet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Objektname='Bedien_Oberflaeche|Proxy_Objekt', ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Objektname = _cast(None, Objektname) + self.Objektname_nsprefix_ = None + if ID_Bearbeitungsvermerk is None: + self.ID_Bearbeitungsvermerk = [] + else: + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + self.ID_Bearbeitungsvermerk_nsprefix_ = None + self.Wert = Wert + self.validate_TGUID(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCID_Bedien_Oberflaeche) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCID_Bedien_Oberflaeche.subclass: + return TCID_Bedien_Oberflaeche.subclass(*args_, **kwargs_) + else: + return TCID_Bedien_Oberflaeche(*args_, **kwargs_) + factory = staticmethod(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_Bearbeitungsvermerk(self): + return self.ID_Bearbeitungsvermerk + def set_ID_Bearbeitungsvermerk(self, ID_Bearbeitungsvermerk): + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + def add_ID_Bearbeitungsvermerk(self, value): + self.ID_Bearbeitungsvermerk.append(value) + def insert_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk.insert(index, value) + def replace_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk[index] = value + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def get_Objektname(self): + return self.Objektname + def set_Objektname(self, Objektname): + self.Objektname = Objektname + def validate_TGUID(self, value): + result = True + # Validate type TGUID, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGUID_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGUID_patterns_, )) + result = False + return result + validate_TGUID_patterns_ = [['^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$']] + def validate_TObjektname(self, value): + # Validate type nsBasisTypen:TObjektname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TObjektname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TObjektname_patterns_, )) + validate_TObjektname_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.ID_Bearbeitungsvermerk or + self.Wert is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Bedien_Oberflaeche', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCID_Bedien_Oberflaeche') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCID_Bedien_Oberflaeche': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCID_Bedien_Oberflaeche') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCID_Bedien_Oberflaeche', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsVerweise:', name_='TCID_Bedien_Oberflaeche'): + if self.Objektname != 'Bedien_Oberflaeche|Proxy_Objekt' and 'Objektname' not in already_processed: + already_processed.add('Objektname') + outfile.write(' Objektname=%s' % (quote_attrib(self.Objektname), )) + def _exportChildren(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Bedien_Oberflaeche', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Bearbeitungsvermerk_ in self.ID_Bearbeitungsvermerk: + namespaceprefix_ = self.ID_Bearbeitungsvermerk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bearbeitungsvermerk_nsprefix_) else '' + ID_Bearbeitungsvermerk_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bearbeitungsvermerk', pretty_print=pretty_print) + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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_('Objektname', node) + if value is not None and 'Objektname' not in already_processed: + already_processed.add('Objektname') + self.Objektname = value + self.validate_TObjektname(self.Objektname) # validate type TObjektname + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Bearbeitungsvermerk': + obj_ = TCID_Bearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bearbeitungsvermerk.append(obj_) + obj_.original_tagname_ = 'ID_Bearbeitungsvermerk' + elif nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGUID + self.validate_TGUID(self.Wert) +# end class TCID_Bedien_Oberflaeche + + +class TCID_PZB_Element_Zuordnung(GeneratedsSuper): + """ID_Bearbeitungsvermerk -- Verweist auf einen oder mehrere Bearbeitungsvermerke. Ein Anhang wird + ü + ber einen Bearbeitungsvermerk zugeordnet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Objektname='PZB_Element_Zuordnung|Proxy_Objekt', ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Objektname = _cast(None, Objektname) + self.Objektname_nsprefix_ = None + if ID_Bearbeitungsvermerk is None: + self.ID_Bearbeitungsvermerk = [] + else: + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + self.ID_Bearbeitungsvermerk_nsprefix_ = None + self.Wert = Wert + self.validate_TGUID(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCID_PZB_Element_Zuordnung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCID_PZB_Element_Zuordnung.subclass: + return TCID_PZB_Element_Zuordnung.subclass(*args_, **kwargs_) + else: + return TCID_PZB_Element_Zuordnung(*args_, **kwargs_) + factory = staticmethod(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_Bearbeitungsvermerk(self): + return self.ID_Bearbeitungsvermerk + def set_ID_Bearbeitungsvermerk(self, ID_Bearbeitungsvermerk): + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + def add_ID_Bearbeitungsvermerk(self, value): + self.ID_Bearbeitungsvermerk.append(value) + def insert_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk.insert(index, value) + def replace_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk[index] = value + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def get_Objektname(self): + return self.Objektname + def set_Objektname(self, Objektname): + self.Objektname = Objektname + def validate_TGUID(self, value): + result = True + # Validate type TGUID, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGUID_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGUID_patterns_, )) + result = False + return result + validate_TGUID_patterns_ = [['^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$']] + def validate_TObjektname(self, value): + # Validate type nsBasisTypen:TObjektname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TObjektname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TObjektname_patterns_, )) + validate_TObjektname_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.ID_Bearbeitungsvermerk or + self.Wert is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_PZB_Element_Zuordnung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCID_PZB_Element_Zuordnung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCID_PZB_Element_Zuordnung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCID_PZB_Element_Zuordnung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCID_PZB_Element_Zuordnung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsVerweise:', name_='TCID_PZB_Element_Zuordnung'): + if self.Objektname != 'PZB_Element_Zuordnung|Proxy_Objekt' and 'Objektname' not in already_processed: + already_processed.add('Objektname') + outfile.write(' Objektname=%s' % (quote_attrib(self.Objektname), )) + def _exportChildren(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_PZB_Element_Zuordnung', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Bearbeitungsvermerk_ in self.ID_Bearbeitungsvermerk: + namespaceprefix_ = self.ID_Bearbeitungsvermerk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bearbeitungsvermerk_nsprefix_) else '' + ID_Bearbeitungsvermerk_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bearbeitungsvermerk', pretty_print=pretty_print) + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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_('Objektname', node) + if value is not None and 'Objektname' not in already_processed: + already_processed.add('Objektname') + self.Objektname = value + self.validate_TObjektname(self.Objektname) # validate type TObjektname + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Bearbeitungsvermerk': + obj_ = TCID_Bearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bearbeitungsvermerk.append(obj_) + obj_.original_tagname_ = 'ID_Bearbeitungsvermerk' + elif nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGUID + self.validate_TGUID(self.Wert) +# end class TCID_PZB_Element_Zuordnung + + +class TCID_Uebertragungsweg_Nach(GeneratedsSuper): + """ID_Bearbeitungsvermerk -- Verweist auf einen oder mehrere Bearbeitungsvermerke. Ein Anhang wird + ü + ber einen Bearbeitungsvermerk zugeordnet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Objektname='Aussenelementansteuerung|Bedien_Bezirk|Bedien_Zentrale|ESTW_Zentraleinheit|Stellelement|ZN_ZBS|Proxy_Objekt', ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Objektname = _cast(None, Objektname) + self.Objektname_nsprefix_ = None + if ID_Bearbeitungsvermerk is None: + self.ID_Bearbeitungsvermerk = [] + else: + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + self.ID_Bearbeitungsvermerk_nsprefix_ = None + self.Wert = Wert + self.validate_TGUID(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCID_Uebertragungsweg_Nach) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCID_Uebertragungsweg_Nach.subclass: + return TCID_Uebertragungsweg_Nach.subclass(*args_, **kwargs_) + else: + return TCID_Uebertragungsweg_Nach(*args_, **kwargs_) + factory = staticmethod(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_Bearbeitungsvermerk(self): + return self.ID_Bearbeitungsvermerk + def set_ID_Bearbeitungsvermerk(self, ID_Bearbeitungsvermerk): + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + def add_ID_Bearbeitungsvermerk(self, value): + self.ID_Bearbeitungsvermerk.append(value) + def insert_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk.insert(index, value) + def replace_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk[index] = value + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def get_Objektname(self): + return self.Objektname + def set_Objektname(self, Objektname): + self.Objektname = Objektname + def validate_TGUID(self, value): + result = True + # Validate type TGUID, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGUID_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGUID_patterns_, )) + result = False + return result + validate_TGUID_patterns_ = [['^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$']] + def validate_TObjektname(self, value): + # Validate type nsBasisTypen:TObjektname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TObjektname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TObjektname_patterns_, )) + validate_TObjektname_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.ID_Bearbeitungsvermerk or + self.Wert is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Uebertragungsweg_Nach', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCID_Uebertragungsweg_Nach') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCID_Uebertragungsweg_Nach': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCID_Uebertragungsweg_Nach') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCID_Uebertragungsweg_Nach', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsVerweise:', name_='TCID_Uebertragungsweg_Nach'): + if self.Objektname != 'Aussenelementansteuerung|Bedien_Bezirk|Bedien_Zentrale|ESTW_Zentraleinheit|Stellelement|ZN_ZBS|Proxy_Objekt' and 'Objektname' not in already_processed: + already_processed.add('Objektname') + outfile.write(' Objektname=%s' % (quote_attrib(self.Objektname), )) + def _exportChildren(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Uebertragungsweg_Nach', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Bearbeitungsvermerk_ in self.ID_Bearbeitungsvermerk: + namespaceprefix_ = self.ID_Bearbeitungsvermerk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bearbeitungsvermerk_nsprefix_) else '' + ID_Bearbeitungsvermerk_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bearbeitungsvermerk', pretty_print=pretty_print) + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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_('Objektname', node) + if value is not None and 'Objektname' not in already_processed: + already_processed.add('Objektname') + self.Objektname = value + self.validate_TObjektname(self.Objektname) # validate type TObjektname + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Bearbeitungsvermerk': + obj_ = TCID_Bearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bearbeitungsvermerk.append(obj_) + obj_.original_tagname_ = 'ID_Bearbeitungsvermerk' + elif nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGUID + self.validate_TGUID(self.Wert) +# end class TCID_Uebertragungsweg_Nach + + +class TCID_Signal(GeneratedsSuper): + """ID_Bearbeitungsvermerk -- Verweist auf einen oder mehrere Bearbeitungsvermerke. Ein Anhang wird + ü + ber einen Bearbeitungsvermerk zugeordnet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Objektname='Signal|Proxy_Objekt', ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Objektname = _cast(None, Objektname) + self.Objektname_nsprefix_ = None + if ID_Bearbeitungsvermerk is None: + self.ID_Bearbeitungsvermerk = [] + else: + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + self.ID_Bearbeitungsvermerk_nsprefix_ = None + self.Wert = Wert + self.validate_TGUID(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCID_Signal) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCID_Signal.subclass: + return TCID_Signal.subclass(*args_, **kwargs_) + else: + return TCID_Signal(*args_, **kwargs_) + factory = staticmethod(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_Bearbeitungsvermerk(self): + return self.ID_Bearbeitungsvermerk + def set_ID_Bearbeitungsvermerk(self, ID_Bearbeitungsvermerk): + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + def add_ID_Bearbeitungsvermerk(self, value): + self.ID_Bearbeitungsvermerk.append(value) + def insert_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk.insert(index, value) + def replace_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk[index] = value + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def get_Objektname(self): + return self.Objektname + def set_Objektname(self, Objektname): + self.Objektname = Objektname + def validate_TGUID(self, value): + result = True + # Validate type TGUID, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGUID_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGUID_patterns_, )) + result = False + return result + validate_TGUID_patterns_ = [['^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$']] + def validate_TObjektname(self, value): + # Validate type nsBasisTypen:TObjektname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TObjektname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TObjektname_patterns_, )) + validate_TObjektname_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.ID_Bearbeitungsvermerk or + self.Wert is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Signal', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCID_Signal') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCID_Signal': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCID_Signal') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCID_Signal', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsVerweise:', name_='TCID_Signal'): + if self.Objektname != 'Signal|Proxy_Objekt' and 'Objektname' not in already_processed: + already_processed.add('Objektname') + outfile.write(' Objektname=%s' % (quote_attrib(self.Objektname), )) + def _exportChildren(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Signal', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Bearbeitungsvermerk_ in self.ID_Bearbeitungsvermerk: + namespaceprefix_ = self.ID_Bearbeitungsvermerk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bearbeitungsvermerk_nsprefix_) else '' + ID_Bearbeitungsvermerk_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bearbeitungsvermerk', pretty_print=pretty_print) + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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_('Objektname', node) + if value is not None and 'Objektname' not in already_processed: + already_processed.add('Objektname') + self.Objektname = value + self.validate_TObjektname(self.Objektname) # validate type TObjektname + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Bearbeitungsvermerk': + obj_ = TCID_Bearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bearbeitungsvermerk.append(obj_) + obj_.original_tagname_ = 'ID_Bearbeitungsvermerk' + elif nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGUID + self.validate_TGUID(self.Wert) +# end class TCID_Signal + + +class TCID_Quellelement(GeneratedsSuper): + """ID_Bearbeitungsvermerk -- Verweist auf einen oder mehrere Bearbeitungsvermerke. Ein Anhang wird + ü + ber einen Bearbeitungsvermerk zugeordnet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Objektname='Aussenelementansteuerung|BUE_Anlage|EV_Modul|ESTW_Zentraleinheit|PZB_Element|Proxy_Objekt', ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Objektname = _cast(None, Objektname) + self.Objektname_nsprefix_ = None + if ID_Bearbeitungsvermerk is None: + self.ID_Bearbeitungsvermerk = [] + else: + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + self.ID_Bearbeitungsvermerk_nsprefix_ = None + self.Wert = Wert + self.validate_TGUID(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCID_Quellelement) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCID_Quellelement.subclass: + return TCID_Quellelement.subclass(*args_, **kwargs_) + else: + return TCID_Quellelement(*args_, **kwargs_) + factory = staticmethod(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_Bearbeitungsvermerk(self): + return self.ID_Bearbeitungsvermerk + def set_ID_Bearbeitungsvermerk(self, ID_Bearbeitungsvermerk): + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + def add_ID_Bearbeitungsvermerk(self, value): + self.ID_Bearbeitungsvermerk.append(value) + def insert_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk.insert(index, value) + def replace_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk[index] = value + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def get_Objektname(self): + return self.Objektname + def set_Objektname(self, Objektname): + self.Objektname = Objektname + def validate_TGUID(self, value): + result = True + # Validate type TGUID, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGUID_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGUID_patterns_, )) + result = False + return result + validate_TGUID_patterns_ = [['^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$']] + def validate_TObjektname(self, value): + # Validate type nsBasisTypen:TObjektname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TObjektname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TObjektname_patterns_, )) + validate_TObjektname_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.ID_Bearbeitungsvermerk or + self.Wert is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Quellelement', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCID_Quellelement') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCID_Quellelement': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCID_Quellelement') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCID_Quellelement', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsVerweise:', name_='TCID_Quellelement'): + if self.Objektname != 'Aussenelementansteuerung|BUE_Anlage|EV_Modul|ESTW_Zentraleinheit|PZB_Element|Proxy_Objekt' and 'Objektname' not in already_processed: + already_processed.add('Objektname') + outfile.write(' Objektname=%s' % (quote_attrib(self.Objektname), )) + def _exportChildren(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Quellelement', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Bearbeitungsvermerk_ in self.ID_Bearbeitungsvermerk: + namespaceprefix_ = self.ID_Bearbeitungsvermerk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bearbeitungsvermerk_nsprefix_) else '' + ID_Bearbeitungsvermerk_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bearbeitungsvermerk', pretty_print=pretty_print) + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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_('Objektname', node) + if value is not None and 'Objektname' not in already_processed: + already_processed.add('Objektname') + self.Objektname = value + self.validate_TObjektname(self.Objektname) # validate type TObjektname + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Bearbeitungsvermerk': + obj_ = TCID_Bearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bearbeitungsvermerk.append(obj_) + obj_.original_tagname_ = 'ID_Bearbeitungsvermerk' + elif nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGUID + self.validate_TGUID(self.Wert) +# end class TCID_Quellelement + + +class TCID_Handschalt_Wirkfunktion(GeneratedsSuper): + """ID_Bearbeitungsvermerk -- Verweist auf einen oder mehrere Bearbeitungsvermerke. Ein Anhang wird + ü + ber einen Bearbeitungsvermerk zugeordnet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Objektname='BUE_Anlage|BUE_Einschaltung|BUE_Ausschaltung|Proxy_Objekt', ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Objektname = _cast(None, Objektname) + self.Objektname_nsprefix_ = None + if ID_Bearbeitungsvermerk is None: + self.ID_Bearbeitungsvermerk = [] + else: + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + self.ID_Bearbeitungsvermerk_nsprefix_ = None + self.Wert = Wert + self.validate_TGUID(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCID_Handschalt_Wirkfunktion) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCID_Handschalt_Wirkfunktion.subclass: + return TCID_Handschalt_Wirkfunktion.subclass(*args_, **kwargs_) + else: + return TCID_Handschalt_Wirkfunktion(*args_, **kwargs_) + factory = staticmethod(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_Bearbeitungsvermerk(self): + return self.ID_Bearbeitungsvermerk + def set_ID_Bearbeitungsvermerk(self, ID_Bearbeitungsvermerk): + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + def add_ID_Bearbeitungsvermerk(self, value): + self.ID_Bearbeitungsvermerk.append(value) + def insert_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk.insert(index, value) + def replace_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk[index] = value + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def get_Objektname(self): + return self.Objektname + def set_Objektname(self, Objektname): + self.Objektname = Objektname + def validate_TGUID(self, value): + result = True + # Validate type TGUID, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGUID_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGUID_patterns_, )) + result = False + return result + validate_TGUID_patterns_ = [['^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$']] + def validate_TObjektname(self, value): + # Validate type nsBasisTypen:TObjektname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TObjektname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TObjektname_patterns_, )) + validate_TObjektname_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.ID_Bearbeitungsvermerk or + self.Wert is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Handschalt_Wirkfunktion', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCID_Handschalt_Wirkfunktion') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCID_Handschalt_Wirkfunktion': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCID_Handschalt_Wirkfunktion') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCID_Handschalt_Wirkfunktion', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsVerweise:', name_='TCID_Handschalt_Wirkfunktion'): + if self.Objektname != 'BUE_Anlage|BUE_Einschaltung|BUE_Ausschaltung|Proxy_Objekt' and 'Objektname' not in already_processed: + already_processed.add('Objektname') + outfile.write(' Objektname=%s' % (quote_attrib(self.Objektname), )) + def _exportChildren(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Handschalt_Wirkfunktion', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Bearbeitungsvermerk_ in self.ID_Bearbeitungsvermerk: + namespaceprefix_ = self.ID_Bearbeitungsvermerk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bearbeitungsvermerk_nsprefix_) else '' + ID_Bearbeitungsvermerk_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bearbeitungsvermerk', pretty_print=pretty_print) + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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_('Objektname', node) + if value is not None and 'Objektname' not in already_processed: + already_processed.add('Objektname') + self.Objektname = value + self.validate_TObjektname(self.Objektname) # validate type TObjektname + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Bearbeitungsvermerk': + obj_ = TCID_Bearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bearbeitungsvermerk.append(obj_) + obj_.original_tagname_ = 'ID_Bearbeitungsvermerk' + elif nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGUID + self.validate_TGUID(self.Wert) +# end class TCID_Handschalt_Wirkfunktion + + +class TCID_Stellwerk(GeneratedsSuper): + """ID_Bearbeitungsvermerk -- Verweist auf einen oder mehrere Bearbeitungsvermerke. Ein Anhang wird + ü + ber einen Bearbeitungsvermerk zugeordnet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Objektname='ESTW_Zentraleinheit|Aussenelementansteuerung|Proxy_Objekt', ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Objektname = _cast(None, Objektname) + self.Objektname_nsprefix_ = None + if ID_Bearbeitungsvermerk is None: + self.ID_Bearbeitungsvermerk = [] + else: + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + self.ID_Bearbeitungsvermerk_nsprefix_ = None + self.Wert = Wert + self.validate_TGUID(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCID_Stellwerk) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCID_Stellwerk.subclass: + return TCID_Stellwerk.subclass(*args_, **kwargs_) + else: + return TCID_Stellwerk(*args_, **kwargs_) + factory = staticmethod(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_Bearbeitungsvermerk(self): + return self.ID_Bearbeitungsvermerk + def set_ID_Bearbeitungsvermerk(self, ID_Bearbeitungsvermerk): + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + def add_ID_Bearbeitungsvermerk(self, value): + self.ID_Bearbeitungsvermerk.append(value) + def insert_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk.insert(index, value) + def replace_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk[index] = value + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def get_Objektname(self): + return self.Objektname + def set_Objektname(self, Objektname): + self.Objektname = Objektname + def validate_TGUID(self, value): + result = True + # Validate type TGUID, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGUID_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGUID_patterns_, )) + result = False + return result + validate_TGUID_patterns_ = [['^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$']] + def validate_TObjektname(self, value): + # Validate type nsBasisTypen:TObjektname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TObjektname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TObjektname_patterns_, )) + validate_TObjektname_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.ID_Bearbeitungsvermerk or + self.Wert is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Stellwerk', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCID_Stellwerk') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCID_Stellwerk': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCID_Stellwerk') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCID_Stellwerk', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsVerweise:', name_='TCID_Stellwerk'): + if self.Objektname != 'ESTW_Zentraleinheit|Aussenelementansteuerung|Proxy_Objekt' and 'Objektname' not in already_processed: + already_processed.add('Objektname') + outfile.write(' Objektname=%s' % (quote_attrib(self.Objektname), )) + def _exportChildren(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Stellwerk', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Bearbeitungsvermerk_ in self.ID_Bearbeitungsvermerk: + namespaceprefix_ = self.ID_Bearbeitungsvermerk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bearbeitungsvermerk_nsprefix_) else '' + ID_Bearbeitungsvermerk_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bearbeitungsvermerk', pretty_print=pretty_print) + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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_('Objektname', node) + if value is not None and 'Objektname' not in already_processed: + already_processed.add('Objektname') + self.Objektname = value + self.validate_TObjektname(self.Objektname) # validate type TObjektname + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Bearbeitungsvermerk': + obj_ = TCID_Bearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bearbeitungsvermerk.append(obj_) + obj_.original_tagname_ = 'ID_Bearbeitungsvermerk' + elif nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGUID + self.validate_TGUID(self.Wert) +# end class TCID_Stellwerk + + +class TCID_FMA_Anlage(GeneratedsSuper): + """ID_Bearbeitungsvermerk -- Verweist auf einen oder mehrere Bearbeitungsvermerke. Ein Anhang wird + ü + ber einen Bearbeitungsvermerk zugeordnet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Objektname='FMA_Anlage|Proxy_Objekt', ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Objektname = _cast(None, Objektname) + self.Objektname_nsprefix_ = None + if ID_Bearbeitungsvermerk is None: + self.ID_Bearbeitungsvermerk = [] + else: + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + self.ID_Bearbeitungsvermerk_nsprefix_ = None + self.Wert = Wert + self.validate_TGUID(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCID_FMA_Anlage) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCID_FMA_Anlage.subclass: + return TCID_FMA_Anlage.subclass(*args_, **kwargs_) + else: + return TCID_FMA_Anlage(*args_, **kwargs_) + factory = staticmethod(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_Bearbeitungsvermerk(self): + return self.ID_Bearbeitungsvermerk + def set_ID_Bearbeitungsvermerk(self, ID_Bearbeitungsvermerk): + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + def add_ID_Bearbeitungsvermerk(self, value): + self.ID_Bearbeitungsvermerk.append(value) + def insert_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk.insert(index, value) + def replace_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk[index] = value + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def get_Objektname(self): + return self.Objektname + def set_Objektname(self, Objektname): + self.Objektname = Objektname + def validate_TGUID(self, value): + result = True + # Validate type TGUID, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGUID_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGUID_patterns_, )) + result = False + return result + validate_TGUID_patterns_ = [['^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$']] + def validate_TObjektname(self, value): + # Validate type nsBasisTypen:TObjektname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TObjektname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TObjektname_patterns_, )) + validate_TObjektname_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.ID_Bearbeitungsvermerk or + self.Wert is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_FMA_Anlage', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCID_FMA_Anlage') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCID_FMA_Anlage': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCID_FMA_Anlage') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCID_FMA_Anlage', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsVerweise:', name_='TCID_FMA_Anlage'): + if self.Objektname != 'FMA_Anlage|Proxy_Objekt' and 'Objektname' not in already_processed: + already_processed.add('Objektname') + outfile.write(' Objektname=%s' % (quote_attrib(self.Objektname), )) + def _exportChildren(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_FMA_Anlage', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Bearbeitungsvermerk_ in self.ID_Bearbeitungsvermerk: + namespaceprefix_ = self.ID_Bearbeitungsvermerk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bearbeitungsvermerk_nsprefix_) else '' + ID_Bearbeitungsvermerk_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bearbeitungsvermerk', pretty_print=pretty_print) + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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_('Objektname', node) + if value is not None and 'Objektname' not in already_processed: + already_processed.add('Objektname') + self.Objektname = value + self.validate_TObjektname(self.Objektname) # validate type TObjektname + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Bearbeitungsvermerk': + obj_ = TCID_Bearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bearbeitungsvermerk.append(obj_) + obj_.original_tagname_ = 'ID_Bearbeitungsvermerk' + elif nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGUID + self.validate_TGUID(self.Wert) +# end class TCID_FMA_Anlage + + +class TCID_Element_Grenze(GeneratedsSuper): + """ID_Bearbeitungsvermerk -- Verweist auf einen oder mehrere Bearbeitungsvermerke. Ein Anhang wird + ü + ber einen Bearbeitungsvermerk zugeordnet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Objektname='Signal|Datenpunkt|Proxy_Objekt', ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Objektname = _cast(None, Objektname) + self.Objektname_nsprefix_ = None + if ID_Bearbeitungsvermerk is None: + self.ID_Bearbeitungsvermerk = [] + else: + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + self.ID_Bearbeitungsvermerk_nsprefix_ = None + self.Wert = Wert + self.validate_TGUID(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCID_Element_Grenze) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCID_Element_Grenze.subclass: + return TCID_Element_Grenze.subclass(*args_, **kwargs_) + else: + return TCID_Element_Grenze(*args_, **kwargs_) + factory = staticmethod(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_Bearbeitungsvermerk(self): + return self.ID_Bearbeitungsvermerk + def set_ID_Bearbeitungsvermerk(self, ID_Bearbeitungsvermerk): + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + def add_ID_Bearbeitungsvermerk(self, value): + self.ID_Bearbeitungsvermerk.append(value) + def insert_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk.insert(index, value) + def replace_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk[index] = value + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def get_Objektname(self): + return self.Objektname + def set_Objektname(self, Objektname): + self.Objektname = Objektname + def validate_TGUID(self, value): + result = True + # Validate type TGUID, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGUID_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGUID_patterns_, )) + result = False + return result + validate_TGUID_patterns_ = [['^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$']] + def validate_TObjektname(self, value): + # Validate type nsBasisTypen:TObjektname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TObjektname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TObjektname_patterns_, )) + validate_TObjektname_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.ID_Bearbeitungsvermerk or + self.Wert is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Element_Grenze', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCID_Element_Grenze') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCID_Element_Grenze': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCID_Element_Grenze') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCID_Element_Grenze', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsVerweise:', name_='TCID_Element_Grenze'): + if self.Objektname != 'Signal|Datenpunkt|Proxy_Objekt' and 'Objektname' not in already_processed: + already_processed.add('Objektname') + outfile.write(' Objektname=%s' % (quote_attrib(self.Objektname), )) + def _exportChildren(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Element_Grenze', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Bearbeitungsvermerk_ in self.ID_Bearbeitungsvermerk: + namespaceprefix_ = self.ID_Bearbeitungsvermerk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bearbeitungsvermerk_nsprefix_) else '' + ID_Bearbeitungsvermerk_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bearbeitungsvermerk', pretty_print=pretty_print) + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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_('Objektname', node) + if value is not None and 'Objektname' not in already_processed: + already_processed.add('Objektname') + self.Objektname = value + self.validate_TObjektname(self.Objektname) # validate type TObjektname + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Bearbeitungsvermerk': + obj_ = TCID_Bearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bearbeitungsvermerk.append(obj_) + obj_.original_tagname_ = 'ID_Bearbeitungsvermerk' + elif nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGUID + self.validate_TGUID(self.Wert) +# end class TCID_Element_Grenze + + +class TCID_PZB_Element_Bezugspunkt(GeneratedsSuper): + """ID_Bearbeitungsvermerk -- Verweist auf einen oder mehrere Bearbeitungsvermerke. Ein Anhang wird + ü + ber einen Bearbeitungsvermerk zugeordnet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Objektname='Signal|W_Kr_Gsp_Element|Proxy_Objekt', ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Objektname = _cast(None, Objektname) + self.Objektname_nsprefix_ = None + if ID_Bearbeitungsvermerk is None: + self.ID_Bearbeitungsvermerk = [] + else: + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + self.ID_Bearbeitungsvermerk_nsprefix_ = None + self.Wert = Wert + self.validate_TGUID(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCID_PZB_Element_Bezugspunkt) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCID_PZB_Element_Bezugspunkt.subclass: + return TCID_PZB_Element_Bezugspunkt.subclass(*args_, **kwargs_) + else: + return TCID_PZB_Element_Bezugspunkt(*args_, **kwargs_) + factory = staticmethod(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_Bearbeitungsvermerk(self): + return self.ID_Bearbeitungsvermerk + def set_ID_Bearbeitungsvermerk(self, ID_Bearbeitungsvermerk): + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + def add_ID_Bearbeitungsvermerk(self, value): + self.ID_Bearbeitungsvermerk.append(value) + def insert_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk.insert(index, value) + def replace_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk[index] = value + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def get_Objektname(self): + return self.Objektname + def set_Objektname(self, Objektname): + self.Objektname = Objektname + def validate_TGUID(self, value): + result = True + # Validate type TGUID, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGUID_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGUID_patterns_, )) + result = False + return result + validate_TGUID_patterns_ = [['^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$']] + def validate_TObjektname(self, value): + # Validate type nsBasisTypen:TObjektname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TObjektname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TObjektname_patterns_, )) + validate_TObjektname_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.ID_Bearbeitungsvermerk or + self.Wert is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_PZB_Element_Bezugspunkt', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCID_PZB_Element_Bezugspunkt') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCID_PZB_Element_Bezugspunkt': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCID_PZB_Element_Bezugspunkt') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCID_PZB_Element_Bezugspunkt', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsVerweise:', name_='TCID_PZB_Element_Bezugspunkt'): + if self.Objektname != 'Signal|W_Kr_Gsp_Element|Proxy_Objekt' and 'Objektname' not in already_processed: + already_processed.add('Objektname') + outfile.write(' Objektname=%s' % (quote_attrib(self.Objektname), )) + def _exportChildren(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_PZB_Element_Bezugspunkt', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Bearbeitungsvermerk_ in self.ID_Bearbeitungsvermerk: + namespaceprefix_ = self.ID_Bearbeitungsvermerk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bearbeitungsvermerk_nsprefix_) else '' + ID_Bearbeitungsvermerk_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bearbeitungsvermerk', pretty_print=pretty_print) + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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_('Objektname', node) + if value is not None and 'Objektname' not in already_processed: + already_processed.add('Objektname') + self.Objektname = value + self.validate_TObjektname(self.Objektname) # validate type TObjektname + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Bearbeitungsvermerk': + obj_ = TCID_Bearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bearbeitungsvermerk.append(obj_) + obj_.original_tagname_ = 'ID_Bearbeitungsvermerk' + elif nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGUID + self.validate_TGUID(self.Wert) +# end class TCID_PZB_Element_Bezugspunkt + + +class TCID_ETCS_Knoten_ohne_Proxy(GeneratedsSuper): + """ID_Bearbeitungsvermerk -- Verweist auf einen oder mehrere Bearbeitungsvermerke. Ein Anhang wird + ü + ber einen Bearbeitungsvermerk zugeordnet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Objektname='ETCS_Knoten', ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Objektname = _cast(None, Objektname) + self.Objektname_nsprefix_ = None + if ID_Bearbeitungsvermerk is None: + self.ID_Bearbeitungsvermerk = [] + else: + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + self.ID_Bearbeitungsvermerk_nsprefix_ = None + self.Wert = Wert + self.validate_TGUID(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCID_ETCS_Knoten_ohne_Proxy) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCID_ETCS_Knoten_ohne_Proxy.subclass: + return TCID_ETCS_Knoten_ohne_Proxy.subclass(*args_, **kwargs_) + else: + return TCID_ETCS_Knoten_ohne_Proxy(*args_, **kwargs_) + factory = staticmethod(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_Bearbeitungsvermerk(self): + return self.ID_Bearbeitungsvermerk + def set_ID_Bearbeitungsvermerk(self, ID_Bearbeitungsvermerk): + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + def add_ID_Bearbeitungsvermerk(self, value): + self.ID_Bearbeitungsvermerk.append(value) + def insert_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk.insert(index, value) + def replace_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk[index] = value + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def get_Objektname(self): + return self.Objektname + def set_Objektname(self, Objektname): + self.Objektname = Objektname + def validate_TGUID(self, value): + result = True + # Validate type TGUID, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGUID_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGUID_patterns_, )) + result = False + return result + validate_TGUID_patterns_ = [['^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$']] + def validate_TObjektname(self, value): + # Validate type nsBasisTypen:TObjektname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TObjektname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TObjektname_patterns_, )) + validate_TObjektname_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.ID_Bearbeitungsvermerk or + self.Wert is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_ETCS_Knoten_ohne_Proxy', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCID_ETCS_Knoten_ohne_Proxy') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCID_ETCS_Knoten_ohne_Proxy': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCID_ETCS_Knoten_ohne_Proxy') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCID_ETCS_Knoten_ohne_Proxy', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsVerweise:', name_='TCID_ETCS_Knoten_ohne_Proxy'): + if self.Objektname != 'ETCS_Knoten' and 'Objektname' not in already_processed: + already_processed.add('Objektname') + outfile.write(' Objektname=%s' % (quote_attrib(self.Objektname), )) + def _exportChildren(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_ETCS_Knoten_ohne_Proxy', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Bearbeitungsvermerk_ in self.ID_Bearbeitungsvermerk: + namespaceprefix_ = self.ID_Bearbeitungsvermerk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bearbeitungsvermerk_nsprefix_) else '' + ID_Bearbeitungsvermerk_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bearbeitungsvermerk', pretty_print=pretty_print) + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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_('Objektname', node) + if value is not None and 'Objektname' not in already_processed: + already_processed.add('Objektname') + self.Objektname = value + self.validate_TObjektname(self.Objektname) # validate type TObjektname + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Bearbeitungsvermerk': + obj_ = TCID_Bearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bearbeitungsvermerk.append(obj_) + obj_.original_tagname_ = 'ID_Bearbeitungsvermerk' + elif nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGUID + self.validate_TGUID(self.Wert) +# end class TCID_ETCS_Knoten_ohne_Proxy + + +class TCID_Signal_Befestigung(GeneratedsSuper): + """ID_Bearbeitungsvermerk -- Verweist auf einen oder mehrere Bearbeitungsvermerke. Ein Anhang wird + ü + ber einen Bearbeitungsvermerk zugeordnet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Objektname='Signal_Befestigung|Proxy_Objekt', ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Objektname = _cast(None, Objektname) + self.Objektname_nsprefix_ = None + if ID_Bearbeitungsvermerk is None: + self.ID_Bearbeitungsvermerk = [] + else: + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + self.ID_Bearbeitungsvermerk_nsprefix_ = None + self.Wert = Wert + self.validate_TGUID(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCID_Signal_Befestigung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCID_Signal_Befestigung.subclass: + return TCID_Signal_Befestigung.subclass(*args_, **kwargs_) + else: + return TCID_Signal_Befestigung(*args_, **kwargs_) + factory = staticmethod(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_Bearbeitungsvermerk(self): + return self.ID_Bearbeitungsvermerk + def set_ID_Bearbeitungsvermerk(self, ID_Bearbeitungsvermerk): + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + def add_ID_Bearbeitungsvermerk(self, value): + self.ID_Bearbeitungsvermerk.append(value) + def insert_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk.insert(index, value) + def replace_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk[index] = value + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def get_Objektname(self): + return self.Objektname + def set_Objektname(self, Objektname): + self.Objektname = Objektname + def validate_TGUID(self, value): + result = True + # Validate type TGUID, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGUID_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGUID_patterns_, )) + result = False + return result + validate_TGUID_patterns_ = [['^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$']] + def validate_TObjektname(self, value): + # Validate type nsBasisTypen:TObjektname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TObjektname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TObjektname_patterns_, )) + validate_TObjektname_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.ID_Bearbeitungsvermerk or + self.Wert is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Signal_Befestigung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCID_Signal_Befestigung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCID_Signal_Befestigung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCID_Signal_Befestigung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCID_Signal_Befestigung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsVerweise:', name_='TCID_Signal_Befestigung'): + if self.Objektname != 'Signal_Befestigung|Proxy_Objekt' and 'Objektname' not in already_processed: + already_processed.add('Objektname') + outfile.write(' Objektname=%s' % (quote_attrib(self.Objektname), )) + def _exportChildren(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Signal_Befestigung', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Bearbeitungsvermerk_ in self.ID_Bearbeitungsvermerk: + namespaceprefix_ = self.ID_Bearbeitungsvermerk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bearbeitungsvermerk_nsprefix_) else '' + ID_Bearbeitungsvermerk_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bearbeitungsvermerk', pretty_print=pretty_print) + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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_('Objektname', node) + if value is not None and 'Objektname' not in already_processed: + already_processed.add('Objektname') + self.Objektname = value + self.validate_TObjektname(self.Objektname) # validate type TObjektname + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Bearbeitungsvermerk': + obj_ = TCID_Bearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bearbeitungsvermerk.append(obj_) + obj_.original_tagname_ = 'ID_Bearbeitungsvermerk' + elif nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGUID + self.validate_TGUID(self.Wert) +# end class TCID_Signal_Befestigung + + +class TCID_GEO_Punkt(GeneratedsSuper): + """ID_Bearbeitungsvermerk -- Verweist auf einen oder mehrere Bearbeitungsvermerke. Ein Anhang wird + ü + ber einen Bearbeitungsvermerk zugeordnet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Objektname='GEO_Punkt|Proxy_Objekt', ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Objektname = _cast(None, Objektname) + self.Objektname_nsprefix_ = None + if ID_Bearbeitungsvermerk is None: + self.ID_Bearbeitungsvermerk = [] + else: + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + self.ID_Bearbeitungsvermerk_nsprefix_ = None + self.Wert = Wert + self.validate_TGUID(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCID_GEO_Punkt) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCID_GEO_Punkt.subclass: + return TCID_GEO_Punkt.subclass(*args_, **kwargs_) + else: + return TCID_GEO_Punkt(*args_, **kwargs_) + factory = staticmethod(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_Bearbeitungsvermerk(self): + return self.ID_Bearbeitungsvermerk + def set_ID_Bearbeitungsvermerk(self, ID_Bearbeitungsvermerk): + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + def add_ID_Bearbeitungsvermerk(self, value): + self.ID_Bearbeitungsvermerk.append(value) + def insert_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk.insert(index, value) + def replace_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk[index] = value + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def get_Objektname(self): + return self.Objektname + def set_Objektname(self, Objektname): + self.Objektname = Objektname + def validate_TGUID(self, value): + result = True + # Validate type TGUID, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGUID_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGUID_patterns_, )) + result = False + return result + validate_TGUID_patterns_ = [['^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$']] + def validate_TObjektname(self, value): + # Validate type nsBasisTypen:TObjektname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TObjektname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TObjektname_patterns_, )) + validate_TObjektname_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.ID_Bearbeitungsvermerk or + self.Wert is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_GEO_Punkt', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCID_GEO_Punkt') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCID_GEO_Punkt': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCID_GEO_Punkt') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCID_GEO_Punkt', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsVerweise:', name_='TCID_GEO_Punkt'): + if self.Objektname != 'GEO_Punkt|Proxy_Objekt' and 'Objektname' not in already_processed: + already_processed.add('Objektname') + outfile.write(' Objektname=%s' % (quote_attrib(self.Objektname), )) + def _exportChildren(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_GEO_Punkt', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Bearbeitungsvermerk_ in self.ID_Bearbeitungsvermerk: + namespaceprefix_ = self.ID_Bearbeitungsvermerk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bearbeitungsvermerk_nsprefix_) else '' + ID_Bearbeitungsvermerk_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bearbeitungsvermerk', pretty_print=pretty_print) + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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_('Objektname', node) + if value is not None and 'Objektname' not in already_processed: + already_processed.add('Objektname') + self.Objektname = value + self.validate_TObjektname(self.Objektname) # validate type TObjektname + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Bearbeitungsvermerk': + obj_ = TCID_Bearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bearbeitungsvermerk.append(obj_) + obj_.original_tagname_ = 'ID_Bearbeitungsvermerk' + elif nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGUID + self.validate_TGUID(self.Wert) +# end class TCID_GEO_Punkt + + +class TCID_Oertlichkeit(GeneratedsSuper): + """ID_Bearbeitungsvermerk -- Verweist auf einen oder mehrere Bearbeitungsvermerke. Ein Anhang wird + ü + ber einen Bearbeitungsvermerk zugeordnet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Objektname='Oertlichkeit', ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Objektname = _cast(None, Objektname) + self.Objektname_nsprefix_ = None + if ID_Bearbeitungsvermerk is None: + self.ID_Bearbeitungsvermerk = [] + else: + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + self.ID_Bearbeitungsvermerk_nsprefix_ = None + self.Wert = Wert + self.validate_TGUID(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCID_Oertlichkeit) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCID_Oertlichkeit.subclass: + return TCID_Oertlichkeit.subclass(*args_, **kwargs_) + else: + return TCID_Oertlichkeit(*args_, **kwargs_) + factory = staticmethod(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_Bearbeitungsvermerk(self): + return self.ID_Bearbeitungsvermerk + def set_ID_Bearbeitungsvermerk(self, ID_Bearbeitungsvermerk): + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + def add_ID_Bearbeitungsvermerk(self, value): + self.ID_Bearbeitungsvermerk.append(value) + def insert_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk.insert(index, value) + def replace_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk[index] = value + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def get_Objektname(self): + return self.Objektname + def set_Objektname(self, Objektname): + self.Objektname = Objektname + def validate_TGUID(self, value): + result = True + # Validate type TGUID, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGUID_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGUID_patterns_, )) + result = False + return result + validate_TGUID_patterns_ = [['^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$']] + def validate_TObjektname(self, value): + # Validate type nsBasisTypen:TObjektname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TObjektname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TObjektname_patterns_, )) + validate_TObjektname_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.ID_Bearbeitungsvermerk or + self.Wert is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Oertlichkeit', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCID_Oertlichkeit') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCID_Oertlichkeit': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCID_Oertlichkeit') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCID_Oertlichkeit', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsVerweise:', name_='TCID_Oertlichkeit'): + if self.Objektname != 'Oertlichkeit' and 'Objektname' not in already_processed: + already_processed.add('Objektname') + outfile.write(' Objektname=%s' % (quote_attrib(self.Objektname), )) + def _exportChildren(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Oertlichkeit', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Bearbeitungsvermerk_ in self.ID_Bearbeitungsvermerk: + namespaceprefix_ = self.ID_Bearbeitungsvermerk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bearbeitungsvermerk_nsprefix_) else '' + ID_Bearbeitungsvermerk_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bearbeitungsvermerk', pretty_print=pretty_print) + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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_('Objektname', node) + if value is not None and 'Objektname' not in already_processed: + already_processed.add('Objektname') + self.Objektname = value + self.validate_TObjektname(self.Objektname) # validate type TObjektname + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Bearbeitungsvermerk': + obj_ = TCID_Bearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bearbeitungsvermerk.append(obj_) + obj_.original_tagname_ = 'ID_Bearbeitungsvermerk' + elif nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGUID + self.validate_TGUID(self.Wert) +# end class TCID_Oertlichkeit + + +class TCID_Balise(GeneratedsSuper): + """ID_Bearbeitungsvermerk -- Verweist auf einen oder mehrere Bearbeitungsvermerke. Ein Anhang wird + ü + ber einen Bearbeitungsvermerk zugeordnet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Objektname='Balise|Proxy_Objekt', ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Objektname = _cast(None, Objektname) + self.Objektname_nsprefix_ = None + if ID_Bearbeitungsvermerk is None: + self.ID_Bearbeitungsvermerk = [] + else: + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + self.ID_Bearbeitungsvermerk_nsprefix_ = None + self.Wert = Wert + self.validate_TGUID(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCID_Balise) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCID_Balise.subclass: + return TCID_Balise.subclass(*args_, **kwargs_) + else: + return TCID_Balise(*args_, **kwargs_) + factory = staticmethod(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_Bearbeitungsvermerk(self): + return self.ID_Bearbeitungsvermerk + def set_ID_Bearbeitungsvermerk(self, ID_Bearbeitungsvermerk): + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + def add_ID_Bearbeitungsvermerk(self, value): + self.ID_Bearbeitungsvermerk.append(value) + def insert_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk.insert(index, value) + def replace_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk[index] = value + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def get_Objektname(self): + return self.Objektname + def set_Objektname(self, Objektname): + self.Objektname = Objektname + def validate_TGUID(self, value): + result = True + # Validate type TGUID, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGUID_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGUID_patterns_, )) + result = False + return result + validate_TGUID_patterns_ = [['^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$']] + def validate_TObjektname(self, value): + # Validate type nsBasisTypen:TObjektname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TObjektname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TObjektname_patterns_, )) + validate_TObjektname_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.ID_Bearbeitungsvermerk or + self.Wert is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Balise', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCID_Balise') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCID_Balise': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCID_Balise') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCID_Balise', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsVerweise:', name_='TCID_Balise'): + if self.Objektname != 'Balise|Proxy_Objekt' and 'Objektname' not in already_processed: + already_processed.add('Objektname') + outfile.write(' Objektname=%s' % (quote_attrib(self.Objektname), )) + def _exportChildren(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Balise', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Bearbeitungsvermerk_ in self.ID_Bearbeitungsvermerk: + namespaceprefix_ = self.ID_Bearbeitungsvermerk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bearbeitungsvermerk_nsprefix_) else '' + ID_Bearbeitungsvermerk_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bearbeitungsvermerk', pretty_print=pretty_print) + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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_('Objektname', node) + if value is not None and 'Objektname' not in already_processed: + already_processed.add('Objektname') + self.Objektname = value + self.validate_TObjektname(self.Objektname) # validate type TObjektname + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Bearbeitungsvermerk': + obj_ = TCID_Bearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bearbeitungsvermerk.append(obj_) + obj_.original_tagname_ = 'ID_Bearbeitungsvermerk' + elif nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGUID + self.validate_TGUID(self.Wert) +# end class TCID_Balise + + +class TCID_Signal_Gleisbezechnung(GeneratedsSuper): + """ID_Bearbeitungsvermerk -- Verweist auf einen oder mehrere Bearbeitungsvermerke. Ein Anhang wird + ü + ber einen Bearbeitungsvermerk zugeordnet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Objektname='Gleis_Bezeichnung|Proxy_Objekt', ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Objektname = _cast(None, Objektname) + self.Objektname_nsprefix_ = None + if ID_Bearbeitungsvermerk is None: + self.ID_Bearbeitungsvermerk = [] + else: + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + self.ID_Bearbeitungsvermerk_nsprefix_ = None + self.Wert = Wert + self.validate_TGUID(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCID_Signal_Gleisbezechnung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCID_Signal_Gleisbezechnung.subclass: + return TCID_Signal_Gleisbezechnung.subclass(*args_, **kwargs_) + else: + return TCID_Signal_Gleisbezechnung(*args_, **kwargs_) + factory = staticmethod(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_Bearbeitungsvermerk(self): + return self.ID_Bearbeitungsvermerk + def set_ID_Bearbeitungsvermerk(self, ID_Bearbeitungsvermerk): + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + def add_ID_Bearbeitungsvermerk(self, value): + self.ID_Bearbeitungsvermerk.append(value) + def insert_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk.insert(index, value) + def replace_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk[index] = value + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def get_Objektname(self): + return self.Objektname + def set_Objektname(self, Objektname): + self.Objektname = Objektname + def validate_TGUID(self, value): + result = True + # Validate type TGUID, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGUID_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGUID_patterns_, )) + result = False + return result + validate_TGUID_patterns_ = [['^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$']] + def validate_TObjektname(self, value): + # Validate type nsBasisTypen:TObjektname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TObjektname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TObjektname_patterns_, )) + validate_TObjektname_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.ID_Bearbeitungsvermerk or + self.Wert is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Signal_Gleisbezechnung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCID_Signal_Gleisbezechnung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCID_Signal_Gleisbezechnung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCID_Signal_Gleisbezechnung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCID_Signal_Gleisbezechnung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsVerweise:', name_='TCID_Signal_Gleisbezechnung'): + if self.Objektname != 'Gleis_Bezeichnung|Proxy_Objekt' and 'Objektname' not in already_processed: + already_processed.add('Objektname') + outfile.write(' Objektname=%s' % (quote_attrib(self.Objektname), )) + def _exportChildren(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Signal_Gleisbezechnung', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Bearbeitungsvermerk_ in self.ID_Bearbeitungsvermerk: + namespaceprefix_ = self.ID_Bearbeitungsvermerk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bearbeitungsvermerk_nsprefix_) else '' + ID_Bearbeitungsvermerk_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bearbeitungsvermerk', pretty_print=pretty_print) + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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_('Objektname', node) + if value is not None and 'Objektname' not in already_processed: + already_processed.add('Objektname') + self.Objektname = value + self.validate_TObjektname(self.Objektname) # validate type TObjektname + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Bearbeitungsvermerk': + obj_ = TCID_Bearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bearbeitungsvermerk.append(obj_) + obj_.original_tagname_ = 'ID_Bearbeitungsvermerk' + elif nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGUID + self.validate_TGUID(self.Wert) +# end class TCID_Signal_Gleisbezechnung + + +class TCID_FMA_Anlage_Rangier_Frei(GeneratedsSuper): + """ID_Bearbeitungsvermerk -- Verweist auf einen oder mehrere Bearbeitungsvermerke. Ein Anhang wird + ü + ber einen Bearbeitungsvermerk zugeordnet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Objektname='FMA_Anlage|Proxy_Objekt', ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Objektname = _cast(None, Objektname) + self.Objektname_nsprefix_ = None + if ID_Bearbeitungsvermerk is None: + self.ID_Bearbeitungsvermerk = [] + else: + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + self.ID_Bearbeitungsvermerk_nsprefix_ = None + self.Wert = Wert + self.validate_TGUID(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCID_FMA_Anlage_Rangier_Frei) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCID_FMA_Anlage_Rangier_Frei.subclass: + return TCID_FMA_Anlage_Rangier_Frei.subclass(*args_, **kwargs_) + else: + return TCID_FMA_Anlage_Rangier_Frei(*args_, **kwargs_) + factory = staticmethod(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_Bearbeitungsvermerk(self): + return self.ID_Bearbeitungsvermerk + def set_ID_Bearbeitungsvermerk(self, ID_Bearbeitungsvermerk): + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + def add_ID_Bearbeitungsvermerk(self, value): + self.ID_Bearbeitungsvermerk.append(value) + def insert_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk.insert(index, value) + def replace_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk[index] = value + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def get_Objektname(self): + return self.Objektname + def set_Objektname(self, Objektname): + self.Objektname = Objektname + def validate_TGUID(self, value): + result = True + # Validate type TGUID, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGUID_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGUID_patterns_, )) + result = False + return result + validate_TGUID_patterns_ = [['^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$']] + def validate_TObjektname(self, value): + # Validate type nsBasisTypen:TObjektname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TObjektname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TObjektname_patterns_, )) + validate_TObjektname_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.ID_Bearbeitungsvermerk or + self.Wert is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_FMA_Anlage_Rangier_Frei', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCID_FMA_Anlage_Rangier_Frei') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCID_FMA_Anlage_Rangier_Frei': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCID_FMA_Anlage_Rangier_Frei') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCID_FMA_Anlage_Rangier_Frei', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsVerweise:', name_='TCID_FMA_Anlage_Rangier_Frei'): + if self.Objektname != 'FMA_Anlage|Proxy_Objekt' and 'Objektname' not in already_processed: + already_processed.add('Objektname') + outfile.write(' Objektname=%s' % (quote_attrib(self.Objektname), )) + def _exportChildren(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_FMA_Anlage_Rangier_Frei', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Bearbeitungsvermerk_ in self.ID_Bearbeitungsvermerk: + namespaceprefix_ = self.ID_Bearbeitungsvermerk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bearbeitungsvermerk_nsprefix_) else '' + ID_Bearbeitungsvermerk_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bearbeitungsvermerk', pretty_print=pretty_print) + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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_('Objektname', node) + if value is not None and 'Objektname' not in already_processed: + already_processed.add('Objektname') + self.Objektname = value + self.validate_TObjektname(self.Objektname) # validate type TObjektname + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Bearbeitungsvermerk': + obj_ = TCID_Bearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bearbeitungsvermerk.append(obj_) + obj_.original_tagname_ = 'ID_Bearbeitungsvermerk' + elif nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGUID + self.validate_TGUID(self.Wert) +# end class TCID_FMA_Anlage_Rangier_Frei + + +class TCID_DP_Bezug_Funktional(GeneratedsSuper): + """ID_Bearbeitungsvermerk -- Verweist auf einen oder mehrere Bearbeitungsvermerke. Ein Anhang wird + ü + ber einen Bearbeitungsvermerk zugeordnet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Objektname='BUE_Anlage|BUE_Einschaltung|BUE_Kante|Markanter_Punkt|PZB_Element|ZUB_Streckeneigenschaft|Proxy_Objekt', ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Objektname = _cast(None, Objektname) + self.Objektname_nsprefix_ = None + if ID_Bearbeitungsvermerk is None: + self.ID_Bearbeitungsvermerk = [] + else: + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + self.ID_Bearbeitungsvermerk_nsprefix_ = None + self.Wert = Wert + self.validate_TGUID(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCID_DP_Bezug_Funktional) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCID_DP_Bezug_Funktional.subclass: + return TCID_DP_Bezug_Funktional.subclass(*args_, **kwargs_) + else: + return TCID_DP_Bezug_Funktional(*args_, **kwargs_) + factory = staticmethod(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_Bearbeitungsvermerk(self): + return self.ID_Bearbeitungsvermerk + def set_ID_Bearbeitungsvermerk(self, ID_Bearbeitungsvermerk): + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + def add_ID_Bearbeitungsvermerk(self, value): + self.ID_Bearbeitungsvermerk.append(value) + def insert_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk.insert(index, value) + def replace_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk[index] = value + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def get_Objektname(self): + return self.Objektname + def set_Objektname(self, Objektname): + self.Objektname = Objektname + def validate_TGUID(self, value): + result = True + # Validate type TGUID, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGUID_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGUID_patterns_, )) + result = False + return result + validate_TGUID_patterns_ = [['^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$']] + def validate_TObjektname(self, value): + # Validate type nsBasisTypen:TObjektname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TObjektname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TObjektname_patterns_, )) + validate_TObjektname_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.ID_Bearbeitungsvermerk or + self.Wert is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_DP_Bezug_Funktional', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCID_DP_Bezug_Funktional') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCID_DP_Bezug_Funktional': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCID_DP_Bezug_Funktional') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCID_DP_Bezug_Funktional', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsVerweise:', name_='TCID_DP_Bezug_Funktional'): + if self.Objektname != 'BUE_Anlage|BUE_Einschaltung|BUE_Kante|Markanter_Punkt|PZB_Element|ZUB_Streckeneigenschaft|Proxy_Objekt' and 'Objektname' not in already_processed: + already_processed.add('Objektname') + outfile.write(' Objektname=%s' % (quote_attrib(self.Objektname), )) + def _exportChildren(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_DP_Bezug_Funktional', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Bearbeitungsvermerk_ in self.ID_Bearbeitungsvermerk: + namespaceprefix_ = self.ID_Bearbeitungsvermerk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bearbeitungsvermerk_nsprefix_) else '' + ID_Bearbeitungsvermerk_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bearbeitungsvermerk', pretty_print=pretty_print) + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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_('Objektname', node) + if value is not None and 'Objektname' not in already_processed: + already_processed.add('Objektname') + self.Objektname = value + self.validate_TObjektname(self.Objektname) # validate type TObjektname + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Bearbeitungsvermerk': + obj_ = TCID_Bearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bearbeitungsvermerk.append(obj_) + obj_.original_tagname_ = 'ID_Bearbeitungsvermerk' + elif nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGUID + self.validate_TGUID(self.Wert) +# end class TCID_DP_Bezug_Funktional + + +class TCID_Fstr_Ausschluss_Besonders(GeneratedsSuper): + """ID_Bearbeitungsvermerk -- Verweist auf einen oder mehrere Bearbeitungsvermerke. Ein Anhang wird + ü + ber einen Bearbeitungsvermerk zugeordnet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Objektname='Fstr_Zug_Rangier|Proxy_Objekt', ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Objektname = _cast(None, Objektname) + self.Objektname_nsprefix_ = None + if ID_Bearbeitungsvermerk is None: + self.ID_Bearbeitungsvermerk = [] + else: + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + self.ID_Bearbeitungsvermerk_nsprefix_ = None + self.Wert = Wert + self.validate_TGUID(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCID_Fstr_Ausschluss_Besonders) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCID_Fstr_Ausschluss_Besonders.subclass: + return TCID_Fstr_Ausschluss_Besonders.subclass(*args_, **kwargs_) + else: + return TCID_Fstr_Ausschluss_Besonders(*args_, **kwargs_) + factory = staticmethod(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_Bearbeitungsvermerk(self): + return self.ID_Bearbeitungsvermerk + def set_ID_Bearbeitungsvermerk(self, ID_Bearbeitungsvermerk): + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + def add_ID_Bearbeitungsvermerk(self, value): + self.ID_Bearbeitungsvermerk.append(value) + def insert_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk.insert(index, value) + def replace_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk[index] = value + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def get_Objektname(self): + return self.Objektname + def set_Objektname(self, Objektname): + self.Objektname = Objektname + def validate_TGUID(self, value): + result = True + # Validate type TGUID, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGUID_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGUID_patterns_, )) + result = False + return result + validate_TGUID_patterns_ = [['^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$']] + def validate_TObjektname(self, value): + # Validate type nsBasisTypen:TObjektname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TObjektname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TObjektname_patterns_, )) + validate_TObjektname_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.ID_Bearbeitungsvermerk or + self.Wert is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Fstr_Ausschluss_Besonders', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCID_Fstr_Ausschluss_Besonders') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCID_Fstr_Ausschluss_Besonders': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCID_Fstr_Ausschluss_Besonders') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCID_Fstr_Ausschluss_Besonders', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsVerweise:', name_='TCID_Fstr_Ausschluss_Besonders'): + if self.Objektname != 'Fstr_Zug_Rangier|Proxy_Objekt' and 'Objektname' not in already_processed: + already_processed.add('Objektname') + outfile.write(' Objektname=%s' % (quote_attrib(self.Objektname), )) + def _exportChildren(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Fstr_Ausschluss_Besonders', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Bearbeitungsvermerk_ in self.ID_Bearbeitungsvermerk: + namespaceprefix_ = self.ID_Bearbeitungsvermerk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bearbeitungsvermerk_nsprefix_) else '' + ID_Bearbeitungsvermerk_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bearbeitungsvermerk', pretty_print=pretty_print) + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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_('Objektname', node) + if value is not None and 'Objektname' not in already_processed: + already_processed.add('Objektname') + self.Objektname = value + self.validate_TObjektname(self.Objektname) # validate type TObjektname + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Bearbeitungsvermerk': + obj_ = TCID_Bearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bearbeitungsvermerk.append(obj_) + obj_.original_tagname_ = 'ID_Bearbeitungsvermerk' + elif nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGUID + self.validate_TGUID(self.Wert) +# end class TCID_Fstr_Ausschluss_Besonders + + +class TCID_Strecke_Punkt(GeneratedsSuper): + """ID_Bearbeitungsvermerk -- Verweist auf einen oder mehrere Bearbeitungsvermerke. Ein Anhang wird + ü + ber einen Bearbeitungsvermerk zugeordnet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Objektname='Strecke_Punkt', ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Objektname = _cast(None, Objektname) + self.Objektname_nsprefix_ = None + if ID_Bearbeitungsvermerk is None: + self.ID_Bearbeitungsvermerk = [] + else: + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + self.ID_Bearbeitungsvermerk_nsprefix_ = None + self.Wert = Wert + self.validate_TGUID(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCID_Strecke_Punkt) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCID_Strecke_Punkt.subclass: + return TCID_Strecke_Punkt.subclass(*args_, **kwargs_) + else: + return TCID_Strecke_Punkt(*args_, **kwargs_) + factory = staticmethod(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_Bearbeitungsvermerk(self): + return self.ID_Bearbeitungsvermerk + def set_ID_Bearbeitungsvermerk(self, ID_Bearbeitungsvermerk): + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + def add_ID_Bearbeitungsvermerk(self, value): + self.ID_Bearbeitungsvermerk.append(value) + def insert_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk.insert(index, value) + def replace_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk[index] = value + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def get_Objektname(self): + return self.Objektname + def set_Objektname(self, Objektname): + self.Objektname = Objektname + def validate_TGUID(self, value): + result = True + # Validate type TGUID, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGUID_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGUID_patterns_, )) + result = False + return result + validate_TGUID_patterns_ = [['^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$']] + def validate_TObjektname(self, value): + # Validate type nsBasisTypen:TObjektname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TObjektname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TObjektname_patterns_, )) + validate_TObjektname_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.ID_Bearbeitungsvermerk or + self.Wert is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Strecke_Punkt', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCID_Strecke_Punkt') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCID_Strecke_Punkt': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCID_Strecke_Punkt') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCID_Strecke_Punkt', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsVerweise:', name_='TCID_Strecke_Punkt'): + if self.Objektname != 'Strecke_Punkt' and 'Objektname' not in already_processed: + already_processed.add('Objektname') + outfile.write(' Objektname=%s' % (quote_attrib(self.Objektname), )) + def _exportChildren(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Strecke_Punkt', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Bearbeitungsvermerk_ in self.ID_Bearbeitungsvermerk: + namespaceprefix_ = self.ID_Bearbeitungsvermerk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bearbeitungsvermerk_nsprefix_) else '' + ID_Bearbeitungsvermerk_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bearbeitungsvermerk', pretty_print=pretty_print) + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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_('Objektname', node) + if value is not None and 'Objektname' not in already_processed: + already_processed.add('Objektname') + self.Objektname = value + self.validate_TObjektname(self.Objektname) # validate type TObjektname + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Bearbeitungsvermerk': + obj_ = TCID_Bearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bearbeitungsvermerk.append(obj_) + obj_.original_tagname_ = 'ID_Bearbeitungsvermerk' + elif nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGUID + self.validate_TGUID(self.Wert) +# end class TCID_Strecke_Punkt + + +class TCID_NB_Zone(GeneratedsSuper): + """ID_Bearbeitungsvermerk -- Verweist auf einen oder mehrere Bearbeitungsvermerke. Ein Anhang wird + ü + ber einen Bearbeitungsvermerk zugeordnet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Objektname='NB_Zone|Proxy_Objekt', ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Objektname = _cast(None, Objektname) + self.Objektname_nsprefix_ = None + if ID_Bearbeitungsvermerk is None: + self.ID_Bearbeitungsvermerk = [] + else: + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + self.ID_Bearbeitungsvermerk_nsprefix_ = None + self.Wert = Wert + self.validate_TGUID(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCID_NB_Zone) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCID_NB_Zone.subclass: + return TCID_NB_Zone.subclass(*args_, **kwargs_) + else: + return TCID_NB_Zone(*args_, **kwargs_) + factory = staticmethod(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_Bearbeitungsvermerk(self): + return self.ID_Bearbeitungsvermerk + def set_ID_Bearbeitungsvermerk(self, ID_Bearbeitungsvermerk): + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + def add_ID_Bearbeitungsvermerk(self, value): + self.ID_Bearbeitungsvermerk.append(value) + def insert_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk.insert(index, value) + def replace_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk[index] = value + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def get_Objektname(self): + return self.Objektname + def set_Objektname(self, Objektname): + self.Objektname = Objektname + def validate_TGUID(self, value): + result = True + # Validate type TGUID, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGUID_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGUID_patterns_, )) + result = False + return result + validate_TGUID_patterns_ = [['^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$']] + def validate_TObjektname(self, value): + # Validate type nsBasisTypen:TObjektname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TObjektname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TObjektname_patterns_, )) + validate_TObjektname_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.ID_Bearbeitungsvermerk or + self.Wert is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_NB_Zone', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCID_NB_Zone') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCID_NB_Zone': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCID_NB_Zone') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCID_NB_Zone', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsVerweise:', name_='TCID_NB_Zone'): + if self.Objektname != 'NB_Zone|Proxy_Objekt' and 'Objektname' not in already_processed: + already_processed.add('Objektname') + outfile.write(' Objektname=%s' % (quote_attrib(self.Objektname), )) + def _exportChildren(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_NB_Zone', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Bearbeitungsvermerk_ in self.ID_Bearbeitungsvermerk: + namespaceprefix_ = self.ID_Bearbeitungsvermerk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bearbeitungsvermerk_nsprefix_) else '' + ID_Bearbeitungsvermerk_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bearbeitungsvermerk', pretty_print=pretty_print) + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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_('Objektname', node) + if value is not None and 'Objektname' not in already_processed: + already_processed.add('Objektname') + self.Objektname = value + self.validate_TObjektname(self.Objektname) # validate type TObjektname + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Bearbeitungsvermerk': + obj_ = TCID_Bearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bearbeitungsvermerk.append(obj_) + obj_.original_tagname_ = 'ID_Bearbeitungsvermerk' + elif nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGUID + self.validate_TGUID(self.Wert) +# end class TCID_NB_Zone + + +class TCID_ZN_ZBS(GeneratedsSuper): + """ID_Bearbeitungsvermerk -- Verweist auf einen oder mehrere Bearbeitungsvermerke. Ein Anhang wird + ü + ber einen Bearbeitungsvermerk zugeordnet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Objektname='ZN_ZBS|Proxy_Objekt', ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Objektname = _cast(None, Objektname) + self.Objektname_nsprefix_ = None + if ID_Bearbeitungsvermerk is None: + self.ID_Bearbeitungsvermerk = [] + else: + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + self.ID_Bearbeitungsvermerk_nsprefix_ = None + self.Wert = Wert + self.validate_TGUID(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCID_ZN_ZBS) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCID_ZN_ZBS.subclass: + return TCID_ZN_ZBS.subclass(*args_, **kwargs_) + else: + return TCID_ZN_ZBS(*args_, **kwargs_) + factory = staticmethod(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_Bearbeitungsvermerk(self): + return self.ID_Bearbeitungsvermerk + def set_ID_Bearbeitungsvermerk(self, ID_Bearbeitungsvermerk): + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + def add_ID_Bearbeitungsvermerk(self, value): + self.ID_Bearbeitungsvermerk.append(value) + def insert_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk.insert(index, value) + def replace_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk[index] = value + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def get_Objektname(self): + return self.Objektname + def set_Objektname(self, Objektname): + self.Objektname = Objektname + def validate_TGUID(self, value): + result = True + # Validate type TGUID, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGUID_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGUID_patterns_, )) + result = False + return result + validate_TGUID_patterns_ = [['^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$']] + def validate_TObjektname(self, value): + # Validate type nsBasisTypen:TObjektname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TObjektname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TObjektname_patterns_, )) + validate_TObjektname_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.ID_Bearbeitungsvermerk or + self.Wert is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_ZN_ZBS', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCID_ZN_ZBS') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCID_ZN_ZBS': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCID_ZN_ZBS') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCID_ZN_ZBS', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsVerweise:', name_='TCID_ZN_ZBS'): + if self.Objektname != 'ZN_ZBS|Proxy_Objekt' and 'Objektname' not in already_processed: + already_processed.add('Objektname') + outfile.write(' Objektname=%s' % (quote_attrib(self.Objektname), )) + def _exportChildren(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_ZN_ZBS', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Bearbeitungsvermerk_ in self.ID_Bearbeitungsvermerk: + namespaceprefix_ = self.ID_Bearbeitungsvermerk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bearbeitungsvermerk_nsprefix_) else '' + ID_Bearbeitungsvermerk_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bearbeitungsvermerk', pretty_print=pretty_print) + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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_('Objektname', node) + if value is not None and 'Objektname' not in already_processed: + already_processed.add('Objektname') + self.Objektname = value + self.validate_TObjektname(self.Objektname) # validate type TObjektname + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Bearbeitungsvermerk': + obj_ = TCID_Bearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bearbeitungsvermerk.append(obj_) + obj_.original_tagname_ = 'ID_Bearbeitungsvermerk' + elif nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGUID + self.validate_TGUID(self.Wert) +# end class TCID_ZN_ZBS + + +class TCID_Anforderer_Element(GeneratedsSuper): + """ID_Bearbeitungsvermerk -- Verweist auf einen oder mehrere Bearbeitungsvermerke. Ein Anhang wird + ü + ber einen Bearbeitungsvermerk zugeordnet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Objektname='W_Kr_Gsp_Element|NB_Zone_Grenze|Proxy_Objekt', ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Objektname = _cast(None, Objektname) + self.Objektname_nsprefix_ = None + if ID_Bearbeitungsvermerk is None: + self.ID_Bearbeitungsvermerk = [] + else: + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + self.ID_Bearbeitungsvermerk_nsprefix_ = None + self.Wert = Wert + self.validate_TGUID(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCID_Anforderer_Element) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCID_Anforderer_Element.subclass: + return TCID_Anforderer_Element.subclass(*args_, **kwargs_) + else: + return TCID_Anforderer_Element(*args_, **kwargs_) + factory = staticmethod(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_Bearbeitungsvermerk(self): + return self.ID_Bearbeitungsvermerk + def set_ID_Bearbeitungsvermerk(self, ID_Bearbeitungsvermerk): + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + def add_ID_Bearbeitungsvermerk(self, value): + self.ID_Bearbeitungsvermerk.append(value) + def insert_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk.insert(index, value) + def replace_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk[index] = value + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def get_Objektname(self): + return self.Objektname + def set_Objektname(self, Objektname): + self.Objektname = Objektname + def validate_TGUID(self, value): + result = True + # Validate type TGUID, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGUID_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGUID_patterns_, )) + result = False + return result + validate_TGUID_patterns_ = [['^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$']] + def validate_TObjektname(self, value): + # Validate type nsBasisTypen:TObjektname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TObjektname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TObjektname_patterns_, )) + validate_TObjektname_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.ID_Bearbeitungsvermerk or + self.Wert is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Anforderer_Element', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCID_Anforderer_Element') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCID_Anforderer_Element': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCID_Anforderer_Element') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCID_Anforderer_Element', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsVerweise:', name_='TCID_Anforderer_Element'): + if self.Objektname != 'W_Kr_Gsp_Element|NB_Zone_Grenze|Proxy_Objekt' and 'Objektname' not in already_processed: + already_processed.add('Objektname') + outfile.write(' Objektname=%s' % (quote_attrib(self.Objektname), )) + def _exportChildren(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Anforderer_Element', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Bearbeitungsvermerk_ in self.ID_Bearbeitungsvermerk: + namespaceprefix_ = self.ID_Bearbeitungsvermerk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bearbeitungsvermerk_nsprefix_) else '' + ID_Bearbeitungsvermerk_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bearbeitungsvermerk', pretty_print=pretty_print) + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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_('Objektname', node) + if value is not None and 'Objektname' not in already_processed: + already_processed.add('Objektname') + self.Objektname = value + self.validate_TObjektname(self.Objektname) # validate type TObjektname + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Bearbeitungsvermerk': + obj_ = TCID_Bearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bearbeitungsvermerk.append(obj_) + obj_.original_tagname_ = 'ID_Bearbeitungsvermerk' + elif nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGUID + self.validate_TGUID(self.Wert) +# end class TCID_Anforderer_Element + + +class TCID_Ziel(GeneratedsSuper): + """ID_Bearbeitungsvermerk -- Verweist auf einen oder mehrere Bearbeitungsvermerke. Ein Anhang wird + ü + ber einen Bearbeitungsvermerk zugeordnet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Objektname='Signal|Markanter_Punkt|Proxy_Objekt', ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Objektname = _cast(None, Objektname) + self.Objektname_nsprefix_ = None + if ID_Bearbeitungsvermerk is None: + self.ID_Bearbeitungsvermerk = [] + else: + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + self.ID_Bearbeitungsvermerk_nsprefix_ = None + self.Wert = Wert + self.validate_TGUID(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCID_Ziel) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCID_Ziel.subclass: + return TCID_Ziel.subclass(*args_, **kwargs_) + else: + return TCID_Ziel(*args_, **kwargs_) + factory = staticmethod(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_Bearbeitungsvermerk(self): + return self.ID_Bearbeitungsvermerk + def set_ID_Bearbeitungsvermerk(self, ID_Bearbeitungsvermerk): + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + def add_ID_Bearbeitungsvermerk(self, value): + self.ID_Bearbeitungsvermerk.append(value) + def insert_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk.insert(index, value) + def replace_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk[index] = value + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def get_Objektname(self): + return self.Objektname + def set_Objektname(self, Objektname): + self.Objektname = Objektname + def validate_TGUID(self, value): + result = True + # Validate type TGUID, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGUID_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGUID_patterns_, )) + result = False + return result + validate_TGUID_patterns_ = [['^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$']] + def validate_TObjektname(self, value): + # Validate type nsBasisTypen:TObjektname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TObjektname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TObjektname_patterns_, )) + validate_TObjektname_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.ID_Bearbeitungsvermerk or + self.Wert is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Ziel', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCID_Ziel') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCID_Ziel': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCID_Ziel') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCID_Ziel', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsVerweise:', name_='TCID_Ziel'): + if self.Objektname != 'Signal|Markanter_Punkt|Proxy_Objekt' and 'Objektname' not in already_processed: + already_processed.add('Objektname') + outfile.write(' Objektname=%s' % (quote_attrib(self.Objektname), )) + def _exportChildren(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Ziel', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Bearbeitungsvermerk_ in self.ID_Bearbeitungsvermerk: + namespaceprefix_ = self.ID_Bearbeitungsvermerk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bearbeitungsvermerk_nsprefix_) else '' + ID_Bearbeitungsvermerk_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bearbeitungsvermerk', pretty_print=pretty_print) + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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_('Objektname', node) + if value is not None and 'Objektname' not in already_processed: + already_processed.add('Objektname') + self.Objektname = value + self.validate_TObjektname(self.Objektname) # validate type TObjektname + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Bearbeitungsvermerk': + obj_ = TCID_Bearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bearbeitungsvermerk.append(obj_) + obj_.original_tagname_ = 'ID_Bearbeitungsvermerk' + elif nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGUID + self.validate_TGUID(self.Wert) +# end class TCID_Ziel + + +class TCID_ZN(GeneratedsSuper): + """ID_Bearbeitungsvermerk -- Verweist auf einen oder mehrere Bearbeitungsvermerke. Ein Anhang wird + ü + ber einen Bearbeitungsvermerk zugeordnet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Objektname='ZN|Proxy_Objekt', ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Objektname = _cast(None, Objektname) + self.Objektname_nsprefix_ = None + if ID_Bearbeitungsvermerk is None: + self.ID_Bearbeitungsvermerk = [] + else: + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + self.ID_Bearbeitungsvermerk_nsprefix_ = None + self.Wert = Wert + self.validate_TGUID(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCID_ZN) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCID_ZN.subclass: + return TCID_ZN.subclass(*args_, **kwargs_) + else: + return TCID_ZN(*args_, **kwargs_) + factory = staticmethod(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_Bearbeitungsvermerk(self): + return self.ID_Bearbeitungsvermerk + def set_ID_Bearbeitungsvermerk(self, ID_Bearbeitungsvermerk): + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + def add_ID_Bearbeitungsvermerk(self, value): + self.ID_Bearbeitungsvermerk.append(value) + def insert_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk.insert(index, value) + def replace_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk[index] = value + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def get_Objektname(self): + return self.Objektname + def set_Objektname(self, Objektname): + self.Objektname = Objektname + def validate_TGUID(self, value): + result = True + # Validate type TGUID, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGUID_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGUID_patterns_, )) + result = False + return result + validate_TGUID_patterns_ = [['^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$']] + def validate_TObjektname(self, value): + # Validate type nsBasisTypen:TObjektname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TObjektname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TObjektname_patterns_, )) + validate_TObjektname_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.ID_Bearbeitungsvermerk or + self.Wert is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_ZN', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCID_ZN') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCID_ZN': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCID_ZN') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCID_ZN', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsVerweise:', name_='TCID_ZN'): + if self.Objektname != 'ZN|Proxy_Objekt' and 'Objektname' not in already_processed: + already_processed.add('Objektname') + outfile.write(' Objektname=%s' % (quote_attrib(self.Objektname), )) + def _exportChildren(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_ZN', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Bearbeitungsvermerk_ in self.ID_Bearbeitungsvermerk: + namespaceprefix_ = self.ID_Bearbeitungsvermerk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bearbeitungsvermerk_nsprefix_) else '' + ID_Bearbeitungsvermerk_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bearbeitungsvermerk', pretty_print=pretty_print) + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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_('Objektname', node) + if value is not None and 'Objektname' not in already_processed: + already_processed.add('Objektname') + self.Objektname = value + self.validate_TObjektname(self.Objektname) # validate type TObjektname + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Bearbeitungsvermerk': + obj_ = TCID_Bearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bearbeitungsvermerk.append(obj_) + obj_.original_tagname_ = 'ID_Bearbeitungsvermerk' + elif nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGUID + self.validate_TGUID(self.Wert) +# end class TCID_ZN + + +class TCID_Uebertragungsweg_Von(GeneratedsSuper): + """ID_Bearbeitungsvermerk -- Verweist auf einen oder mehrere Bearbeitungsvermerke. Ein Anhang wird + ü + ber einen Bearbeitungsvermerk zugeordnet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Objektname='Aussenelementansteuerung|Bedien_Bezirk|Bedien_Zentrale|ESTW_Zentraleinheit|Stellelement|ZN_ZBS|Proxy_Objekt', ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Objektname = _cast(None, Objektname) + self.Objektname_nsprefix_ = None + if ID_Bearbeitungsvermerk is None: + self.ID_Bearbeitungsvermerk = [] + else: + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + self.ID_Bearbeitungsvermerk_nsprefix_ = None + self.Wert = Wert + self.validate_TGUID(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCID_Uebertragungsweg_Von) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCID_Uebertragungsweg_Von.subclass: + return TCID_Uebertragungsweg_Von.subclass(*args_, **kwargs_) + else: + return TCID_Uebertragungsweg_Von(*args_, **kwargs_) + factory = staticmethod(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_Bearbeitungsvermerk(self): + return self.ID_Bearbeitungsvermerk + def set_ID_Bearbeitungsvermerk(self, ID_Bearbeitungsvermerk): + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + def add_ID_Bearbeitungsvermerk(self, value): + self.ID_Bearbeitungsvermerk.append(value) + def insert_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk.insert(index, value) + def replace_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk[index] = value + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def get_Objektname(self): + return self.Objektname + def set_Objektname(self, Objektname): + self.Objektname = Objektname + def validate_TGUID(self, value): + result = True + # Validate type TGUID, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGUID_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGUID_patterns_, )) + result = False + return result + validate_TGUID_patterns_ = [['^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$']] + def validate_TObjektname(self, value): + # Validate type nsBasisTypen:TObjektname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TObjektname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TObjektname_patterns_, )) + validate_TObjektname_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.ID_Bearbeitungsvermerk or + self.Wert is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Uebertragungsweg_Von', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCID_Uebertragungsweg_Von') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCID_Uebertragungsweg_Von': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCID_Uebertragungsweg_Von') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCID_Uebertragungsweg_Von', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsVerweise:', name_='TCID_Uebertragungsweg_Von'): + if self.Objektname != 'Aussenelementansteuerung|Bedien_Bezirk|Bedien_Zentrale|ESTW_Zentraleinheit|Stellelement|ZN_ZBS|Proxy_Objekt' and 'Objektname' not in already_processed: + already_processed.add('Objektname') + outfile.write(' Objektname=%s' % (quote_attrib(self.Objektname), )) + def _exportChildren(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Uebertragungsweg_Von', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Bearbeitungsvermerk_ in self.ID_Bearbeitungsvermerk: + namespaceprefix_ = self.ID_Bearbeitungsvermerk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bearbeitungsvermerk_nsprefix_) else '' + ID_Bearbeitungsvermerk_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bearbeitungsvermerk', pretty_print=pretty_print) + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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_('Objektname', node) + if value is not None and 'Objektname' not in already_processed: + already_processed.add('Objektname') + self.Objektname = value + self.validate_TObjektname(self.Objektname) # validate type TObjektname + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Bearbeitungsvermerk': + obj_ = TCID_Bearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bearbeitungsvermerk.append(obj_) + obj_.original_tagname_ = 'ID_Bearbeitungsvermerk' + elif nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGUID + self.validate_TGUID(self.Wert) +# end class TCID_Uebertragungsweg_Von + + +class TCID_LEU_Anlage(GeneratedsSuper): + """ID_Bearbeitungsvermerk -- Verweist auf einen oder mehrere Bearbeitungsvermerke. Ein Anhang wird + ü + ber einen Bearbeitungsvermerk zugeordnet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Objektname='LEU_Anlage|Proxy_Objekt', ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Objektname = _cast(None, Objektname) + self.Objektname_nsprefix_ = None + if ID_Bearbeitungsvermerk is None: + self.ID_Bearbeitungsvermerk = [] + else: + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + self.ID_Bearbeitungsvermerk_nsprefix_ = None + self.Wert = Wert + self.validate_TGUID(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCID_LEU_Anlage) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCID_LEU_Anlage.subclass: + return TCID_LEU_Anlage.subclass(*args_, **kwargs_) + else: + return TCID_LEU_Anlage(*args_, **kwargs_) + factory = staticmethod(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_Bearbeitungsvermerk(self): + return self.ID_Bearbeitungsvermerk + def set_ID_Bearbeitungsvermerk(self, ID_Bearbeitungsvermerk): + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + def add_ID_Bearbeitungsvermerk(self, value): + self.ID_Bearbeitungsvermerk.append(value) + def insert_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk.insert(index, value) + def replace_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk[index] = value + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def get_Objektname(self): + return self.Objektname + def set_Objektname(self, Objektname): + self.Objektname = Objektname + def validate_TGUID(self, value): + result = True + # Validate type TGUID, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGUID_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGUID_patterns_, )) + result = False + return result + validate_TGUID_patterns_ = [['^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$']] + def validate_TObjektname(self, value): + # Validate type nsBasisTypen:TObjektname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TObjektname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TObjektname_patterns_, )) + validate_TObjektname_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.ID_Bearbeitungsvermerk or + self.Wert is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_LEU_Anlage', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCID_LEU_Anlage') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCID_LEU_Anlage': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCID_LEU_Anlage') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCID_LEU_Anlage', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsVerweise:', name_='TCID_LEU_Anlage'): + if self.Objektname != 'LEU_Anlage|Proxy_Objekt' and 'Objektname' not in already_processed: + already_processed.add('Objektname') + outfile.write(' Objektname=%s' % (quote_attrib(self.Objektname), )) + def _exportChildren(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_LEU_Anlage', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Bearbeitungsvermerk_ in self.ID_Bearbeitungsvermerk: + namespaceprefix_ = self.ID_Bearbeitungsvermerk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bearbeitungsvermerk_nsprefix_) else '' + ID_Bearbeitungsvermerk_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bearbeitungsvermerk', pretty_print=pretty_print) + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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_('Objektname', node) + if value is not None and 'Objektname' not in already_processed: + already_processed.add('Objektname') + self.Objektname = value + self.validate_TObjektname(self.Objektname) # validate type TObjektname + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Bearbeitungsvermerk': + obj_ = TCID_Bearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bearbeitungsvermerk.append(obj_) + obj_.original_tagname_ = 'ID_Bearbeitungsvermerk' + elif nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGUID + self.validate_TGUID(self.Wert) +# end class TCID_LEU_Anlage + + +class TCID_Beginn_Bereich(GeneratedsSuper): + """ID_Bearbeitungsvermerk -- Verweist auf einen oder mehrere Bearbeitungsvermerke. Ein Anhang wird + ü + ber einen Bearbeitungsvermerk zugeordnet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Objektname='Bahnsteig_Kante|BUE_Gleisbezogener_Gefahrraum|ZUB_Streckeneigenschaft|Proxy_Objekt', ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Objektname = _cast(None, Objektname) + self.Objektname_nsprefix_ = None + if ID_Bearbeitungsvermerk is None: + self.ID_Bearbeitungsvermerk = [] + else: + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + self.ID_Bearbeitungsvermerk_nsprefix_ = None + self.Wert = Wert + self.validate_TGUID(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCID_Beginn_Bereich) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCID_Beginn_Bereich.subclass: + return TCID_Beginn_Bereich.subclass(*args_, **kwargs_) + else: + return TCID_Beginn_Bereich(*args_, **kwargs_) + factory = staticmethod(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_Bearbeitungsvermerk(self): + return self.ID_Bearbeitungsvermerk + def set_ID_Bearbeitungsvermerk(self, ID_Bearbeitungsvermerk): + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + def add_ID_Bearbeitungsvermerk(self, value): + self.ID_Bearbeitungsvermerk.append(value) + def insert_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk.insert(index, value) + def replace_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk[index] = value + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def get_Objektname(self): + return self.Objektname + def set_Objektname(self, Objektname): + self.Objektname = Objektname + def validate_TGUID(self, value): + result = True + # Validate type TGUID, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGUID_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGUID_patterns_, )) + result = False + return result + validate_TGUID_patterns_ = [['^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$']] + def validate_TObjektname(self, value): + # Validate type nsBasisTypen:TObjektname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TObjektname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TObjektname_patterns_, )) + validate_TObjektname_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.ID_Bearbeitungsvermerk or + self.Wert is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Beginn_Bereich', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCID_Beginn_Bereich') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCID_Beginn_Bereich': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCID_Beginn_Bereich') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCID_Beginn_Bereich', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsVerweise:', name_='TCID_Beginn_Bereich'): + if self.Objektname != 'Bahnsteig_Kante|BUE_Gleisbezogener_Gefahrraum|ZUB_Streckeneigenschaft|Proxy_Objekt' and 'Objektname' not in already_processed: + already_processed.add('Objektname') + outfile.write(' Objektname=%s' % (quote_attrib(self.Objektname), )) + def _exportChildren(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Beginn_Bereich', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Bearbeitungsvermerk_ in self.ID_Bearbeitungsvermerk: + namespaceprefix_ = self.ID_Bearbeitungsvermerk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bearbeitungsvermerk_nsprefix_) else '' + ID_Bearbeitungsvermerk_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bearbeitungsvermerk', pretty_print=pretty_print) + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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_('Objektname', node) + if value is not None and 'Objektname' not in already_processed: + already_processed.add('Objektname') + self.Objektname = value + self.validate_TObjektname(self.Objektname) # validate type TObjektname + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Bearbeitungsvermerk': + obj_ = TCID_Bearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bearbeitungsvermerk.append(obj_) + obj_.original_tagname_ = 'ID_Bearbeitungsvermerk' + elif nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGUID + self.validate_TGUID(self.Wert) +# end class TCID_Beginn_Bereich + + +class TCID_Befestigung_Bauwerk(GeneratedsSuper): + """ID_Bearbeitungsvermerk -- Verweist auf einen oder mehrere Bearbeitungsvermerke. Ein Anhang wird + ü + ber einen Bearbeitungsvermerk zugeordnet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Objektname='Technischer_Punkt|Technischer_Bereich|Proxy_Objekt', ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Objektname = _cast(None, Objektname) + self.Objektname_nsprefix_ = None + if ID_Bearbeitungsvermerk is None: + self.ID_Bearbeitungsvermerk = [] + else: + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + self.ID_Bearbeitungsvermerk_nsprefix_ = None + self.Wert = Wert + self.validate_TGUID(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCID_Befestigung_Bauwerk) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCID_Befestigung_Bauwerk.subclass: + return TCID_Befestigung_Bauwerk.subclass(*args_, **kwargs_) + else: + return TCID_Befestigung_Bauwerk(*args_, **kwargs_) + factory = staticmethod(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_Bearbeitungsvermerk(self): + return self.ID_Bearbeitungsvermerk + def set_ID_Bearbeitungsvermerk(self, ID_Bearbeitungsvermerk): + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + def add_ID_Bearbeitungsvermerk(self, value): + self.ID_Bearbeitungsvermerk.append(value) + def insert_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk.insert(index, value) + def replace_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk[index] = value + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def get_Objektname(self): + return self.Objektname + def set_Objektname(self, Objektname): + self.Objektname = Objektname + def validate_TGUID(self, value): + result = True + # Validate type TGUID, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGUID_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGUID_patterns_, )) + result = False + return result + validate_TGUID_patterns_ = [['^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$']] + def validate_TObjektname(self, value): + # Validate type nsBasisTypen:TObjektname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TObjektname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TObjektname_patterns_, )) + validate_TObjektname_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.ID_Bearbeitungsvermerk or + self.Wert is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Befestigung_Bauwerk', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCID_Befestigung_Bauwerk') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCID_Befestigung_Bauwerk': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCID_Befestigung_Bauwerk') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCID_Befestigung_Bauwerk', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsVerweise:', name_='TCID_Befestigung_Bauwerk'): + if self.Objektname != 'Technischer_Punkt|Technischer_Bereich|Proxy_Objekt' and 'Objektname' not in already_processed: + already_processed.add('Objektname') + outfile.write(' Objektname=%s' % (quote_attrib(self.Objektname), )) + def _exportChildren(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Befestigung_Bauwerk', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Bearbeitungsvermerk_ in self.ID_Bearbeitungsvermerk: + namespaceprefix_ = self.ID_Bearbeitungsvermerk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bearbeitungsvermerk_nsprefix_) else '' + ID_Bearbeitungsvermerk_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bearbeitungsvermerk', pretty_print=pretty_print) + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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_('Objektname', node) + if value is not None and 'Objektname' not in already_processed: + already_processed.add('Objektname') + self.Objektname = value + self.validate_TObjektname(self.Objektname) # validate type TObjektname + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Bearbeitungsvermerk': + obj_ = TCID_Bearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bearbeitungsvermerk.append(obj_) + obj_.original_tagname_ = 'ID_Bearbeitungsvermerk' + elif nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGUID + self.validate_TGUID(self.Wert) +# end class TCID_Befestigung_Bauwerk + + +class TCID_Hoehenpunkt(GeneratedsSuper): + """ID_Bearbeitungsvermerk -- Verweist auf einen oder mehrere Bearbeitungsvermerke. Ein Anhang wird + ü + ber einen Bearbeitungsvermerk zugeordnet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Objektname='Hoehenpunkt', ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Objektname = _cast(None, Objektname) + self.Objektname_nsprefix_ = None + if ID_Bearbeitungsvermerk is None: + self.ID_Bearbeitungsvermerk = [] + else: + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + self.ID_Bearbeitungsvermerk_nsprefix_ = None + self.Wert = Wert + self.validate_TGUID(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCID_Hoehenpunkt) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCID_Hoehenpunkt.subclass: + return TCID_Hoehenpunkt.subclass(*args_, **kwargs_) + else: + return TCID_Hoehenpunkt(*args_, **kwargs_) + factory = staticmethod(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_Bearbeitungsvermerk(self): + return self.ID_Bearbeitungsvermerk + def set_ID_Bearbeitungsvermerk(self, ID_Bearbeitungsvermerk): + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + def add_ID_Bearbeitungsvermerk(self, value): + self.ID_Bearbeitungsvermerk.append(value) + def insert_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk.insert(index, value) + def replace_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk[index] = value + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def get_Objektname(self): + return self.Objektname + def set_Objektname(self, Objektname): + self.Objektname = Objektname + def validate_TGUID(self, value): + result = True + # Validate type TGUID, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGUID_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGUID_patterns_, )) + result = False + return result + validate_TGUID_patterns_ = [['^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$']] + def validate_TObjektname(self, value): + # Validate type nsBasisTypen:TObjektname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TObjektname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TObjektname_patterns_, )) + validate_TObjektname_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.ID_Bearbeitungsvermerk or + self.Wert is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Hoehenpunkt', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCID_Hoehenpunkt') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCID_Hoehenpunkt': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCID_Hoehenpunkt') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCID_Hoehenpunkt', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsVerweise:', name_='TCID_Hoehenpunkt'): + if self.Objektname != 'Hoehenpunkt' and 'Objektname' not in already_processed: + already_processed.add('Objektname') + outfile.write(' Objektname=%s' % (quote_attrib(self.Objektname), )) + def _exportChildren(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Hoehenpunkt', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Bearbeitungsvermerk_ in self.ID_Bearbeitungsvermerk: + namespaceprefix_ = self.ID_Bearbeitungsvermerk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bearbeitungsvermerk_nsprefix_) else '' + ID_Bearbeitungsvermerk_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bearbeitungsvermerk', pretty_print=pretty_print) + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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_('Objektname', node) + if value is not None and 'Objektname' not in already_processed: + already_processed.add('Objektname') + self.Objektname = value + self.validate_TObjektname(self.Objektname) # validate type TObjektname + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Bearbeitungsvermerk': + obj_ = TCID_Bearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bearbeitungsvermerk.append(obj_) + obj_.original_tagname_ = 'ID_Bearbeitungsvermerk' + elif nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGUID + self.validate_TGUID(self.Wert) +# end class TCID_Hoehenpunkt + + +class TCID_TOP_Kante_ohne_Proxy(GeneratedsSuper): + """ID_Bearbeitungsvermerk -- Verweist auf einen oder mehrere Bearbeitungsvermerke. Ein Anhang wird + ü + ber einen Bearbeitungsvermerk zugeordnet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Objektname='TOP_Kante', ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Objektname = _cast(None, Objektname) + self.Objektname_nsprefix_ = None + if ID_Bearbeitungsvermerk is None: + self.ID_Bearbeitungsvermerk = [] + else: + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + self.ID_Bearbeitungsvermerk_nsprefix_ = None + self.Wert = Wert + self.validate_TGUID(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCID_TOP_Kante_ohne_Proxy) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCID_TOP_Kante_ohne_Proxy.subclass: + return TCID_TOP_Kante_ohne_Proxy.subclass(*args_, **kwargs_) + else: + return TCID_TOP_Kante_ohne_Proxy(*args_, **kwargs_) + factory = staticmethod(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_Bearbeitungsvermerk(self): + return self.ID_Bearbeitungsvermerk + def set_ID_Bearbeitungsvermerk(self, ID_Bearbeitungsvermerk): + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + def add_ID_Bearbeitungsvermerk(self, value): + self.ID_Bearbeitungsvermerk.append(value) + def insert_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk.insert(index, value) + def replace_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk[index] = value + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def get_Objektname(self): + return self.Objektname + def set_Objektname(self, Objektname): + self.Objektname = Objektname + def validate_TGUID(self, value): + result = True + # Validate type TGUID, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGUID_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGUID_patterns_, )) + result = False + return result + validate_TGUID_patterns_ = [['^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$']] + def validate_TObjektname(self, value): + # Validate type nsBasisTypen:TObjektname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TObjektname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TObjektname_patterns_, )) + validate_TObjektname_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.ID_Bearbeitungsvermerk or + self.Wert is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_TOP_Kante_ohne_Proxy', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCID_TOP_Kante_ohne_Proxy') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCID_TOP_Kante_ohne_Proxy': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCID_TOP_Kante_ohne_Proxy') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCID_TOP_Kante_ohne_Proxy', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsVerweise:', name_='TCID_TOP_Kante_ohne_Proxy'): + if self.Objektname != 'TOP_Kante' and 'Objektname' not in already_processed: + already_processed.add('Objektname') + outfile.write(' Objektname=%s' % (quote_attrib(self.Objektname), )) + def _exportChildren(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_TOP_Kante_ohne_Proxy', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Bearbeitungsvermerk_ in self.ID_Bearbeitungsvermerk: + namespaceprefix_ = self.ID_Bearbeitungsvermerk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bearbeitungsvermerk_nsprefix_) else '' + ID_Bearbeitungsvermerk_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bearbeitungsvermerk', pretty_print=pretty_print) + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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_('Objektname', node) + if value is not None and 'Objektname' not in already_processed: + already_processed.add('Objektname') + self.Objektname = value + self.validate_TObjektname(self.Objektname) # validate type TObjektname + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Bearbeitungsvermerk': + obj_ = TCID_Bearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bearbeitungsvermerk.append(obj_) + obj_.original_tagname_ = 'ID_Bearbeitungsvermerk' + elif nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGUID + self.validate_TGUID(self.Wert) +# end class TCID_TOP_Kante_ohne_Proxy + + +class TCID_NB(GeneratedsSuper): + """ID_Bearbeitungsvermerk -- Verweist auf einen oder mehrere Bearbeitungsvermerke. Ein Anhang wird + ü + ber einen Bearbeitungsvermerk zugeordnet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Objektname='NB|Proxy_Objekt', ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Objektname = _cast(None, Objektname) + self.Objektname_nsprefix_ = None + if ID_Bearbeitungsvermerk is None: + self.ID_Bearbeitungsvermerk = [] + else: + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + self.ID_Bearbeitungsvermerk_nsprefix_ = None + self.Wert = Wert + self.validate_TGUID(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCID_NB) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCID_NB.subclass: + return TCID_NB.subclass(*args_, **kwargs_) + else: + return TCID_NB(*args_, **kwargs_) + factory = staticmethod(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_Bearbeitungsvermerk(self): + return self.ID_Bearbeitungsvermerk + def set_ID_Bearbeitungsvermerk(self, ID_Bearbeitungsvermerk): + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + def add_ID_Bearbeitungsvermerk(self, value): + self.ID_Bearbeitungsvermerk.append(value) + def insert_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk.insert(index, value) + def replace_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk[index] = value + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def get_Objektname(self): + return self.Objektname + def set_Objektname(self, Objektname): + self.Objektname = Objektname + def validate_TGUID(self, value): + result = True + # Validate type TGUID, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGUID_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGUID_patterns_, )) + result = False + return result + validate_TGUID_patterns_ = [['^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$']] + def validate_TObjektname(self, value): + # Validate type nsBasisTypen:TObjektname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TObjektname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TObjektname_patterns_, )) + validate_TObjektname_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.ID_Bearbeitungsvermerk or + self.Wert is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_NB', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCID_NB') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCID_NB': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCID_NB') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCID_NB', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsVerweise:', name_='TCID_NB'): + if self.Objektname != 'NB|Proxy_Objekt' and 'Objektname' not in already_processed: + already_processed.add('Objektname') + outfile.write(' Objektname=%s' % (quote_attrib(self.Objektname), )) + def _exportChildren(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_NB', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Bearbeitungsvermerk_ in self.ID_Bearbeitungsvermerk: + namespaceprefix_ = self.ID_Bearbeitungsvermerk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bearbeitungsvermerk_nsprefix_) else '' + ID_Bearbeitungsvermerk_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bearbeitungsvermerk', pretty_print=pretty_print) + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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_('Objektname', node) + if value is not None and 'Objektname' not in already_processed: + already_processed.add('Objektname') + self.Objektname = value + self.validate_TObjektname(self.Objektname) # validate type TObjektname + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Bearbeitungsvermerk': + obj_ = TCID_Bearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bearbeitungsvermerk.append(obj_) + obj_.original_tagname_ = 'ID_Bearbeitungsvermerk' + elif nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGUID + self.validate_TGUID(self.Wert) +# end class TCID_NB + + +class TCID_BUE_Bedien_Anzeige_Element(GeneratedsSuper): + """ID_Bearbeitungsvermerk -- Verweist auf einen oder mehrere Bearbeitungsvermerke. Ein Anhang wird + ü + ber einen Bearbeitungsvermerk zugeordnet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Objektname='BUE_Bedien_Anzeige_Element|Proxy_Objekt', ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Objektname = _cast(None, Objektname) + self.Objektname_nsprefix_ = None + if ID_Bearbeitungsvermerk is None: + self.ID_Bearbeitungsvermerk = [] + else: + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + self.ID_Bearbeitungsvermerk_nsprefix_ = None + self.Wert = Wert + self.validate_TGUID(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCID_BUE_Bedien_Anzeige_Element) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCID_BUE_Bedien_Anzeige_Element.subclass: + return TCID_BUE_Bedien_Anzeige_Element.subclass(*args_, **kwargs_) + else: + return TCID_BUE_Bedien_Anzeige_Element(*args_, **kwargs_) + factory = staticmethod(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_Bearbeitungsvermerk(self): + return self.ID_Bearbeitungsvermerk + def set_ID_Bearbeitungsvermerk(self, ID_Bearbeitungsvermerk): + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + def add_ID_Bearbeitungsvermerk(self, value): + self.ID_Bearbeitungsvermerk.append(value) + def insert_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk.insert(index, value) + def replace_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk[index] = value + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def get_Objektname(self): + return self.Objektname + def set_Objektname(self, Objektname): + self.Objektname = Objektname + def validate_TGUID(self, value): + result = True + # Validate type TGUID, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGUID_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGUID_patterns_, )) + result = False + return result + validate_TGUID_patterns_ = [['^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$']] + def validate_TObjektname(self, value): + # Validate type nsBasisTypen:TObjektname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TObjektname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TObjektname_patterns_, )) + validate_TObjektname_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.ID_Bearbeitungsvermerk or + self.Wert is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_BUE_Bedien_Anzeige_Element', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCID_BUE_Bedien_Anzeige_Element') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCID_BUE_Bedien_Anzeige_Element': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCID_BUE_Bedien_Anzeige_Element') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCID_BUE_Bedien_Anzeige_Element', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsVerweise:', name_='TCID_BUE_Bedien_Anzeige_Element'): + if self.Objektname != 'BUE_Bedien_Anzeige_Element|Proxy_Objekt' and 'Objektname' not in already_processed: + already_processed.add('Objektname') + outfile.write(' Objektname=%s' % (quote_attrib(self.Objektname), )) + def _exportChildren(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_BUE_Bedien_Anzeige_Element', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Bearbeitungsvermerk_ in self.ID_Bearbeitungsvermerk: + namespaceprefix_ = self.ID_Bearbeitungsvermerk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bearbeitungsvermerk_nsprefix_) else '' + ID_Bearbeitungsvermerk_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bearbeitungsvermerk', pretty_print=pretty_print) + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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_('Objektname', node) + if value is not None and 'Objektname' not in already_processed: + already_processed.add('Objektname') + self.Objektname = value + self.validate_TObjektname(self.Objektname) # validate type TObjektname + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Bearbeitungsvermerk': + obj_ = TCID_Bearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bearbeitungsvermerk.append(obj_) + obj_.original_tagname_ = 'ID_Bearbeitungsvermerk' + elif nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGUID + self.validate_TGUID(self.Wert) +# end class TCID_BUE_Bedien_Anzeige_Element + + +class TCID_Bahnsteig_Kante_ohne_Proxy(GeneratedsSuper): + """ID_Bearbeitungsvermerk -- Verweist auf einen oder mehrere Bearbeitungsvermerke. Ein Anhang wird + ü + ber einen Bearbeitungsvermerk zugeordnet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Objektname='Bahnsteig_Kante', ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Objektname = _cast(None, Objektname) + self.Objektname_nsprefix_ = None + if ID_Bearbeitungsvermerk is None: + self.ID_Bearbeitungsvermerk = [] + else: + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + self.ID_Bearbeitungsvermerk_nsprefix_ = None + self.Wert = Wert + self.validate_TGUID(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCID_Bahnsteig_Kante_ohne_Proxy) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCID_Bahnsteig_Kante_ohne_Proxy.subclass: + return TCID_Bahnsteig_Kante_ohne_Proxy.subclass(*args_, **kwargs_) + else: + return TCID_Bahnsteig_Kante_ohne_Proxy(*args_, **kwargs_) + factory = staticmethod(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_Bearbeitungsvermerk(self): + return self.ID_Bearbeitungsvermerk + def set_ID_Bearbeitungsvermerk(self, ID_Bearbeitungsvermerk): + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + def add_ID_Bearbeitungsvermerk(self, value): + self.ID_Bearbeitungsvermerk.append(value) + def insert_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk.insert(index, value) + def replace_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk[index] = value + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def get_Objektname(self): + return self.Objektname + def set_Objektname(self, Objektname): + self.Objektname = Objektname + def validate_TGUID(self, value): + result = True + # Validate type TGUID, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGUID_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGUID_patterns_, )) + result = False + return result + validate_TGUID_patterns_ = [['^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$']] + def validate_TObjektname(self, value): + # Validate type nsBasisTypen:TObjektname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TObjektname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TObjektname_patterns_, )) + validate_TObjektname_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.ID_Bearbeitungsvermerk or + self.Wert is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Bahnsteig_Kante_ohne_Proxy', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCID_Bahnsteig_Kante_ohne_Proxy') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCID_Bahnsteig_Kante_ohne_Proxy': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCID_Bahnsteig_Kante_ohne_Proxy') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCID_Bahnsteig_Kante_ohne_Proxy', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsVerweise:', name_='TCID_Bahnsteig_Kante_ohne_Proxy'): + if self.Objektname != 'Bahnsteig_Kante' and 'Objektname' not in already_processed: + already_processed.add('Objektname') + outfile.write(' Objektname=%s' % (quote_attrib(self.Objektname), )) + def _exportChildren(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Bahnsteig_Kante_ohne_Proxy', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Bearbeitungsvermerk_ in self.ID_Bearbeitungsvermerk: + namespaceprefix_ = self.ID_Bearbeitungsvermerk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bearbeitungsvermerk_nsprefix_) else '' + ID_Bearbeitungsvermerk_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bearbeitungsvermerk', pretty_print=pretty_print) + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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_('Objektname', node) + if value is not None and 'Objektname' not in already_processed: + already_processed.add('Objektname') + self.Objektname = value + self.validate_TObjektname(self.Objektname) # validate type TObjektname + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Bearbeitungsvermerk': + obj_ = TCID_Bearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bearbeitungsvermerk.append(obj_) + obj_.original_tagname_ = 'ID_Bearbeitungsvermerk' + elif nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGUID + self.validate_TGUID(self.Wert) +# end class TCID_Bahnsteig_Kante_ohne_Proxy + + +class TCID_Block_Anlage(GeneratedsSuper): + """ID_Bearbeitungsvermerk -- Verweist auf einen oder mehrere Bearbeitungsvermerke. Ein Anhang wird + ü + ber einen Bearbeitungsvermerk zugeordnet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Objektname='Block_Anlage|Proxy_Objekt', ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Objektname = _cast(None, Objektname) + self.Objektname_nsprefix_ = None + if ID_Bearbeitungsvermerk is None: + self.ID_Bearbeitungsvermerk = [] + else: + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + self.ID_Bearbeitungsvermerk_nsprefix_ = None + self.Wert = Wert + self.validate_TGUID(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCID_Block_Anlage) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCID_Block_Anlage.subclass: + return TCID_Block_Anlage.subclass(*args_, **kwargs_) + else: + return TCID_Block_Anlage(*args_, **kwargs_) + factory = staticmethod(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_Bearbeitungsvermerk(self): + return self.ID_Bearbeitungsvermerk + def set_ID_Bearbeitungsvermerk(self, ID_Bearbeitungsvermerk): + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + def add_ID_Bearbeitungsvermerk(self, value): + self.ID_Bearbeitungsvermerk.append(value) + def insert_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk.insert(index, value) + def replace_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk[index] = value + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def get_Objektname(self): + return self.Objektname + def set_Objektname(self, Objektname): + self.Objektname = Objektname + def validate_TGUID(self, value): + result = True + # Validate type TGUID, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGUID_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGUID_patterns_, )) + result = False + return result + validate_TGUID_patterns_ = [['^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$']] + def validate_TObjektname(self, value): + # Validate type nsBasisTypen:TObjektname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TObjektname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TObjektname_patterns_, )) + validate_TObjektname_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.ID_Bearbeitungsvermerk or + self.Wert is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Block_Anlage', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCID_Block_Anlage') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCID_Block_Anlage': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCID_Block_Anlage') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCID_Block_Anlage', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsVerweise:', name_='TCID_Block_Anlage'): + if self.Objektname != 'Block_Anlage|Proxy_Objekt' and 'Objektname' not in already_processed: + already_processed.add('Objektname') + outfile.write(' Objektname=%s' % (quote_attrib(self.Objektname), )) + def _exportChildren(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Block_Anlage', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Bearbeitungsvermerk_ in self.ID_Bearbeitungsvermerk: + namespaceprefix_ = self.ID_Bearbeitungsvermerk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bearbeitungsvermerk_nsprefix_) else '' + ID_Bearbeitungsvermerk_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bearbeitungsvermerk', pretty_print=pretty_print) + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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_('Objektname', node) + if value is not None and 'Objektname' not in already_processed: + already_processed.add('Objektname') + self.Objektname = value + self.validate_TObjektname(self.Objektname) # validate type TObjektname + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Bearbeitungsvermerk': + obj_ = TCID_Bearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bearbeitungsvermerk.append(obj_) + obj_.original_tagname_ = 'ID_Bearbeitungsvermerk' + elif nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGUID + self.validate_TGUID(self.Wert) +# end class TCID_Block_Anlage + + +class TCID_Fachtelegramm(GeneratedsSuper): + """ID_Bearbeitungsvermerk -- Verweist auf einen oder mehrere Bearbeitungsvermerke. Ein Anhang wird + ü + ber einen Bearbeitungsvermerk zugeordnet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Objektname='Fachtelegramm|Proxy_Objekt', ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Objektname = _cast(None, Objektname) + self.Objektname_nsprefix_ = None + if ID_Bearbeitungsvermerk is None: + self.ID_Bearbeitungsvermerk = [] + else: + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + self.ID_Bearbeitungsvermerk_nsprefix_ = None + self.Wert = Wert + self.validate_TGUID(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCID_Fachtelegramm) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCID_Fachtelegramm.subclass: + return TCID_Fachtelegramm.subclass(*args_, **kwargs_) + else: + return TCID_Fachtelegramm(*args_, **kwargs_) + factory = staticmethod(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_Bearbeitungsvermerk(self): + return self.ID_Bearbeitungsvermerk + def set_ID_Bearbeitungsvermerk(self, ID_Bearbeitungsvermerk): + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + def add_ID_Bearbeitungsvermerk(self, value): + self.ID_Bearbeitungsvermerk.append(value) + def insert_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk.insert(index, value) + def replace_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk[index] = value + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def get_Objektname(self): + return self.Objektname + def set_Objektname(self, Objektname): + self.Objektname = Objektname + def validate_TGUID(self, value): + result = True + # Validate type TGUID, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGUID_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGUID_patterns_, )) + result = False + return result + validate_TGUID_patterns_ = [['^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$']] + def validate_TObjektname(self, value): + # Validate type nsBasisTypen:TObjektname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TObjektname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TObjektname_patterns_, )) + validate_TObjektname_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.ID_Bearbeitungsvermerk or + self.Wert is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Fachtelegramm', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCID_Fachtelegramm') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCID_Fachtelegramm': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCID_Fachtelegramm') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCID_Fachtelegramm', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsVerweise:', name_='TCID_Fachtelegramm'): + if self.Objektname != 'Fachtelegramm|Proxy_Objekt' and 'Objektname' not in already_processed: + already_processed.add('Objektname') + outfile.write(' Objektname=%s' % (quote_attrib(self.Objektname), )) + def _exportChildren(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Fachtelegramm', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Bearbeitungsvermerk_ in self.ID_Bearbeitungsvermerk: + namespaceprefix_ = self.ID_Bearbeitungsvermerk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bearbeitungsvermerk_nsprefix_) else '' + ID_Bearbeitungsvermerk_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bearbeitungsvermerk', pretty_print=pretty_print) + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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_('Objektname', node) + if value is not None and 'Objektname' not in already_processed: + already_processed.add('Objektname') + self.Objektname = value + self.validate_TObjektname(self.Objektname) # validate type TObjektname + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Bearbeitungsvermerk': + obj_ = TCID_Bearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bearbeitungsvermerk.append(obj_) + obj_.original_tagname_ = 'ID_Bearbeitungsvermerk' + elif nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGUID + self.validate_TGUID(self.Wert) +# end class TCID_Fachtelegramm + + +class TCID_Stellelement(GeneratedsSuper): + """ID_Bearbeitungsvermerk -- Verweist auf einen oder mehrere Bearbeitungsvermerke. Ein Anhang wird + ü + ber einen Bearbeitungsvermerk zugeordnet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Objektname='Stellelement|Proxy_Objekt', ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Objektname = _cast(None, Objektname) + self.Objektname_nsprefix_ = None + if ID_Bearbeitungsvermerk is None: + self.ID_Bearbeitungsvermerk = [] + else: + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + self.ID_Bearbeitungsvermerk_nsprefix_ = None + self.Wert = Wert + self.validate_TGUID(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCID_Stellelement) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCID_Stellelement.subclass: + return TCID_Stellelement.subclass(*args_, **kwargs_) + else: + return TCID_Stellelement(*args_, **kwargs_) + factory = staticmethod(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_Bearbeitungsvermerk(self): + return self.ID_Bearbeitungsvermerk + def set_ID_Bearbeitungsvermerk(self, ID_Bearbeitungsvermerk): + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + def add_ID_Bearbeitungsvermerk(self, value): + self.ID_Bearbeitungsvermerk.append(value) + def insert_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk.insert(index, value) + def replace_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk[index] = value + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def get_Objektname(self): + return self.Objektname + def set_Objektname(self, Objektname): + self.Objektname = Objektname + def validate_TGUID(self, value): + result = True + # Validate type TGUID, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGUID_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGUID_patterns_, )) + result = False + return result + validate_TGUID_patterns_ = [['^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$']] + def validate_TObjektname(self, value): + # Validate type nsBasisTypen:TObjektname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TObjektname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TObjektname_patterns_, )) + validate_TObjektname_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.ID_Bearbeitungsvermerk or + self.Wert is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Stellelement', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCID_Stellelement') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCID_Stellelement': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCID_Stellelement') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCID_Stellelement', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsVerweise:', name_='TCID_Stellelement'): + if self.Objektname != 'Stellelement|Proxy_Objekt' and 'Objektname' not in already_processed: + already_processed.add('Objektname') + outfile.write(' Objektname=%s' % (quote_attrib(self.Objektname), )) + def _exportChildren(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Stellelement', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Bearbeitungsvermerk_ in self.ID_Bearbeitungsvermerk: + namespaceprefix_ = self.ID_Bearbeitungsvermerk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bearbeitungsvermerk_nsprefix_) else '' + ID_Bearbeitungsvermerk_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bearbeitungsvermerk', pretty_print=pretty_print) + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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_('Objektname', node) + if value is not None and 'Objektname' not in already_processed: + already_processed.add('Objektname') + self.Objektname = value + self.validate_TObjektname(self.Objektname) # validate type TObjektname + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Bearbeitungsvermerk': + obj_ = TCID_Bearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bearbeitungsvermerk.append(obj_) + obj_.original_tagname_ = 'ID_Bearbeitungsvermerk' + elif nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGUID + self.validate_TGUID(self.Wert) +# end class TCID_Stellelement + + +class TCID_Planungsgrundlage(GeneratedsSuper): + """ID_Bearbeitungsvermerk -- Verweist auf einen oder mehrere Bearbeitungsvermerke. Ein Anhang wird + ü + ber einen Bearbeitungsvermerk zugeordnet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Objektname='Ur_Objekt|Proxy_Objekt', ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Objektname = _cast(None, Objektname) + self.Objektname_nsprefix_ = None + if ID_Bearbeitungsvermerk is None: + self.ID_Bearbeitungsvermerk = [] + else: + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + self.ID_Bearbeitungsvermerk_nsprefix_ = None + self.Wert = Wert + self.validate_TGUID(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCID_Planungsgrundlage) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCID_Planungsgrundlage.subclass: + return TCID_Planungsgrundlage.subclass(*args_, **kwargs_) + else: + return TCID_Planungsgrundlage(*args_, **kwargs_) + factory = staticmethod(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_Bearbeitungsvermerk(self): + return self.ID_Bearbeitungsvermerk + def set_ID_Bearbeitungsvermerk(self, ID_Bearbeitungsvermerk): + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + def add_ID_Bearbeitungsvermerk(self, value): + self.ID_Bearbeitungsvermerk.append(value) + def insert_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk.insert(index, value) + def replace_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk[index] = value + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def get_Objektname(self): + return self.Objektname + def set_Objektname(self, Objektname): + self.Objektname = Objektname + def validate_TGUID(self, value): + result = True + # Validate type TGUID, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGUID_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGUID_patterns_, )) + result = False + return result + validate_TGUID_patterns_ = [['^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$']] + def validate_TObjektname(self, value): + # Validate type nsBasisTypen:TObjektname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TObjektname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TObjektname_patterns_, )) + validate_TObjektname_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.ID_Bearbeitungsvermerk or + self.Wert is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Planungsgrundlage', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCID_Planungsgrundlage') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCID_Planungsgrundlage': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCID_Planungsgrundlage') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCID_Planungsgrundlage', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsVerweise:', name_='TCID_Planungsgrundlage'): + if self.Objektname != 'Ur_Objekt|Proxy_Objekt' and 'Objektname' not in already_processed: + already_processed.add('Objektname') + outfile.write(' Objektname=%s' % (quote_attrib(self.Objektname), )) + def _exportChildren(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Planungsgrundlage', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Bearbeitungsvermerk_ in self.ID_Bearbeitungsvermerk: + namespaceprefix_ = self.ID_Bearbeitungsvermerk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bearbeitungsvermerk_nsprefix_) else '' + ID_Bearbeitungsvermerk_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bearbeitungsvermerk', pretty_print=pretty_print) + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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_('Objektname', node) + if value is not None and 'Objektname' not in already_processed: + already_processed.add('Objektname') + self.Objektname = value + self.validate_TObjektname(self.Objektname) # validate type TObjektname + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Bearbeitungsvermerk': + obj_ = TCID_Bearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bearbeitungsvermerk.append(obj_) + obj_.original_tagname_ = 'ID_Bearbeitungsvermerk' + elif nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGUID + self.validate_TGUID(self.Wert) +# end class TCID_Planungsgrundlage + + +class TCID_LO_Einbau(GeneratedsSuper): + """ID_Bearbeitungsvermerk -- Verweist auf einen oder mehrere Bearbeitungsvermerke. Ein Anhang wird + ü + ber einen Bearbeitungsvermerk zugeordnet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Objektname='Basis_Objekt', ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Objektname = _cast(None, Objektname) + self.Objektname_nsprefix_ = None + if ID_Bearbeitungsvermerk is None: + self.ID_Bearbeitungsvermerk = [] + else: + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + self.ID_Bearbeitungsvermerk_nsprefix_ = None + self.Wert = Wert + self.validate_TGUID(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCID_LO_Einbau) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCID_LO_Einbau.subclass: + return TCID_LO_Einbau.subclass(*args_, **kwargs_) + else: + return TCID_LO_Einbau(*args_, **kwargs_) + factory = staticmethod(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_Bearbeitungsvermerk(self): + return self.ID_Bearbeitungsvermerk + def set_ID_Bearbeitungsvermerk(self, ID_Bearbeitungsvermerk): + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + def add_ID_Bearbeitungsvermerk(self, value): + self.ID_Bearbeitungsvermerk.append(value) + def insert_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk.insert(index, value) + def replace_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk[index] = value + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def get_Objektname(self): + return self.Objektname + def set_Objektname(self, Objektname): + self.Objektname = Objektname + def validate_TGUID(self, value): + result = True + # Validate type TGUID, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGUID_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGUID_patterns_, )) + result = False + return result + validate_TGUID_patterns_ = [['^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$']] + def validate_TObjektname(self, value): + # Validate type nsBasisTypen:TObjektname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TObjektname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TObjektname_patterns_, )) + validate_TObjektname_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.ID_Bearbeitungsvermerk or + self.Wert is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_LO_Einbau', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCID_LO_Einbau') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCID_LO_Einbau': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCID_LO_Einbau') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCID_LO_Einbau', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsVerweise:', name_='TCID_LO_Einbau'): + if self.Objektname != 'Basis_Objekt' and 'Objektname' not in already_processed: + already_processed.add('Objektname') + outfile.write(' Objektname=%s' % (quote_attrib(self.Objektname), )) + def _exportChildren(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_LO_Einbau', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Bearbeitungsvermerk_ in self.ID_Bearbeitungsvermerk: + namespaceprefix_ = self.ID_Bearbeitungsvermerk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bearbeitungsvermerk_nsprefix_) else '' + ID_Bearbeitungsvermerk_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bearbeitungsvermerk', pretty_print=pretty_print) + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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_('Objektname', node) + if value is not None and 'Objektname' not in already_processed: + already_processed.add('Objektname') + self.Objektname = value + self.validate_TObjektname(self.Objektname) # validate type TObjektname + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Bearbeitungsvermerk': + obj_ = TCID_Bearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bearbeitungsvermerk.append(obj_) + obj_.original_tagname_ = 'ID_Bearbeitungsvermerk' + elif nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGUID + self.validate_TGUID(self.Wert) +# end class TCID_LO_Einbau + + +class TCID_FT_Fahrweg_Teil(GeneratedsSuper): + """ID_Bearbeitungsvermerk -- Verweist auf einen oder mehrere Bearbeitungsvermerke. Ein Anhang wird + ü + ber einen Bearbeitungsvermerk zugeordnet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Objektname='FT_Fahrweg_Teil|Proxy_Objekt', ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Objektname = _cast(None, Objektname) + self.Objektname_nsprefix_ = None + if ID_Bearbeitungsvermerk is None: + self.ID_Bearbeitungsvermerk = [] + else: + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + self.ID_Bearbeitungsvermerk_nsprefix_ = None + self.Wert = Wert + self.validate_TGUID(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCID_FT_Fahrweg_Teil) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCID_FT_Fahrweg_Teil.subclass: + return TCID_FT_Fahrweg_Teil.subclass(*args_, **kwargs_) + else: + return TCID_FT_Fahrweg_Teil(*args_, **kwargs_) + factory = staticmethod(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_Bearbeitungsvermerk(self): + return self.ID_Bearbeitungsvermerk + def set_ID_Bearbeitungsvermerk(self, ID_Bearbeitungsvermerk): + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + def add_ID_Bearbeitungsvermerk(self, value): + self.ID_Bearbeitungsvermerk.append(value) + def insert_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk.insert(index, value) + def replace_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk[index] = value + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def get_Objektname(self): + return self.Objektname + def set_Objektname(self, Objektname): + self.Objektname = Objektname + def validate_TGUID(self, value): + result = True + # Validate type TGUID, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGUID_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGUID_patterns_, )) + result = False + return result + validate_TGUID_patterns_ = [['^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$']] + def validate_TObjektname(self, value): + # Validate type nsBasisTypen:TObjektname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TObjektname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TObjektname_patterns_, )) + validate_TObjektname_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.ID_Bearbeitungsvermerk or + self.Wert is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_FT_Fahrweg_Teil', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCID_FT_Fahrweg_Teil') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCID_FT_Fahrweg_Teil': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCID_FT_Fahrweg_Teil') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCID_FT_Fahrweg_Teil', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsVerweise:', name_='TCID_FT_Fahrweg_Teil'): + if self.Objektname != 'FT_Fahrweg_Teil|Proxy_Objekt' and 'Objektname' not in already_processed: + already_processed.add('Objektname') + outfile.write(' Objektname=%s' % (quote_attrib(self.Objektname), )) + def _exportChildren(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_FT_Fahrweg_Teil', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Bearbeitungsvermerk_ in self.ID_Bearbeitungsvermerk: + namespaceprefix_ = self.ID_Bearbeitungsvermerk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bearbeitungsvermerk_nsprefix_) else '' + ID_Bearbeitungsvermerk_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bearbeitungsvermerk', pretty_print=pretty_print) + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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_('Objektname', node) + if value is not None and 'Objektname' not in already_processed: + already_processed.add('Objektname') + self.Objektname = value + self.validate_TObjektname(self.Objektname) # validate type TObjektname + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Bearbeitungsvermerk': + obj_ = TCID_Bearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bearbeitungsvermerk.append(obj_) + obj_.original_tagname_ = 'ID_Bearbeitungsvermerk' + elif nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGUID + self.validate_TGUID(self.Wert) +# end class TCID_FT_Fahrweg_Teil + + +class TCID_Lageplan(GeneratedsSuper): + """ID_Bearbeitungsvermerk -- Verweist auf einen oder mehrere Bearbeitungsvermerke. Ein Anhang wird + ü + ber einen Bearbeitungsvermerk zugeordnet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Objektname='Lageplan', ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Objektname = _cast(None, Objektname) + self.Objektname_nsprefix_ = None + if ID_Bearbeitungsvermerk is None: + self.ID_Bearbeitungsvermerk = [] + else: + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + self.ID_Bearbeitungsvermerk_nsprefix_ = None + self.Wert = Wert + self.validate_TGUID(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCID_Lageplan) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCID_Lageplan.subclass: + return TCID_Lageplan.subclass(*args_, **kwargs_) + else: + return TCID_Lageplan(*args_, **kwargs_) + factory = staticmethod(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_Bearbeitungsvermerk(self): + return self.ID_Bearbeitungsvermerk + def set_ID_Bearbeitungsvermerk(self, ID_Bearbeitungsvermerk): + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + def add_ID_Bearbeitungsvermerk(self, value): + self.ID_Bearbeitungsvermerk.append(value) + def insert_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk.insert(index, value) + def replace_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk[index] = value + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def get_Objektname(self): + return self.Objektname + def set_Objektname(self, Objektname): + self.Objektname = Objektname + def validate_TGUID(self, value): + result = True + # Validate type TGUID, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGUID_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGUID_patterns_, )) + result = False + return result + validate_TGUID_patterns_ = [['^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$']] + def validate_TObjektname(self, value): + # Validate type nsBasisTypen:TObjektname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TObjektname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TObjektname_patterns_, )) + validate_TObjektname_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.ID_Bearbeitungsvermerk or + self.Wert is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Lageplan', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCID_Lageplan') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCID_Lageplan': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCID_Lageplan') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCID_Lageplan', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsVerweise:', name_='TCID_Lageplan'): + if self.Objektname != 'Lageplan' and 'Objektname' not in already_processed: + already_processed.add('Objektname') + outfile.write(' Objektname=%s' % (quote_attrib(self.Objektname), )) + def _exportChildren(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Lageplan', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Bearbeitungsvermerk_ in self.ID_Bearbeitungsvermerk: + namespaceprefix_ = self.ID_Bearbeitungsvermerk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bearbeitungsvermerk_nsprefix_) else '' + ID_Bearbeitungsvermerk_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bearbeitungsvermerk', pretty_print=pretty_print) + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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_('Objektname', node) + if value is not None and 'Objektname' not in already_processed: + already_processed.add('Objektname') + self.Objektname = value + self.validate_TObjektname(self.Objektname) # validate type TObjektname + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Bearbeitungsvermerk': + obj_ = TCID_Bearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bearbeitungsvermerk.append(obj_) + obj_.original_tagname_ = 'ID_Bearbeitungsvermerk' + elif nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGUID + self.validate_TGUID(self.Wert) +# end class TCID_Lageplan + + +class TCID_Strecke(GeneratedsSuper): + """ID_Bearbeitungsvermerk -- Verweist auf einen oder mehrere Bearbeitungsvermerke. Ein Anhang wird + ü + ber einen Bearbeitungsvermerk zugeordnet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Objektname='Strecke', ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Objektname = _cast(None, Objektname) + self.Objektname_nsprefix_ = None + if ID_Bearbeitungsvermerk is None: + self.ID_Bearbeitungsvermerk = [] + else: + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + self.ID_Bearbeitungsvermerk_nsprefix_ = None + self.Wert = Wert + self.validate_TGUID(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCID_Strecke) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCID_Strecke.subclass: + return TCID_Strecke.subclass(*args_, **kwargs_) + else: + return TCID_Strecke(*args_, **kwargs_) + factory = staticmethod(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_Bearbeitungsvermerk(self): + return self.ID_Bearbeitungsvermerk + def set_ID_Bearbeitungsvermerk(self, ID_Bearbeitungsvermerk): + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + def add_ID_Bearbeitungsvermerk(self, value): + self.ID_Bearbeitungsvermerk.append(value) + def insert_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk.insert(index, value) + def replace_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk[index] = value + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def get_Objektname(self): + return self.Objektname + def set_Objektname(self, Objektname): + self.Objektname = Objektname + def validate_TGUID(self, value): + result = True + # Validate type TGUID, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGUID_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGUID_patterns_, )) + result = False + return result + validate_TGUID_patterns_ = [['^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$']] + def validate_TObjektname(self, value): + # Validate type nsBasisTypen:TObjektname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TObjektname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TObjektname_patterns_, )) + validate_TObjektname_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.ID_Bearbeitungsvermerk or + self.Wert is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Strecke', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCID_Strecke') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCID_Strecke': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCID_Strecke') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCID_Strecke', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsVerweise:', name_='TCID_Strecke'): + if self.Objektname != 'Strecke' and 'Objektname' not in already_processed: + already_processed.add('Objektname') + outfile.write(' Objektname=%s' % (quote_attrib(self.Objektname), )) + def _exportChildren(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Strecke', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Bearbeitungsvermerk_ in self.ID_Bearbeitungsvermerk: + namespaceprefix_ = self.ID_Bearbeitungsvermerk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bearbeitungsvermerk_nsprefix_) else '' + ID_Bearbeitungsvermerk_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bearbeitungsvermerk', pretty_print=pretty_print) + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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_('Objektname', node) + if value is not None and 'Objektname' not in already_processed: + already_processed.add('Objektname') + self.Objektname = value + self.validate_TObjektname(self.Objektname) # validate type TObjektname + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Bearbeitungsvermerk': + obj_ = TCID_Bearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bearbeitungsvermerk.append(obj_) + obj_.original_tagname_ = 'ID_Bearbeitungsvermerk' + elif nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGUID + self.validate_TGUID(self.Wert) +# end class TCID_Strecke + + +class TCID_Fstr_DWeg(GeneratedsSuper): + """ID_Bearbeitungsvermerk -- Verweist auf einen oder mehrere Bearbeitungsvermerke. Ein Anhang wird + ü + ber einen Bearbeitungsvermerk zugeordnet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Objektname='Fstr_DWeg|Proxy_Objekt', ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Objektname = _cast(None, Objektname) + self.Objektname_nsprefix_ = None + if ID_Bearbeitungsvermerk is None: + self.ID_Bearbeitungsvermerk = [] + else: + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + self.ID_Bearbeitungsvermerk_nsprefix_ = None + self.Wert = Wert + self.validate_TGUID(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCID_Fstr_DWeg) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCID_Fstr_DWeg.subclass: + return TCID_Fstr_DWeg.subclass(*args_, **kwargs_) + else: + return TCID_Fstr_DWeg(*args_, **kwargs_) + factory = staticmethod(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_Bearbeitungsvermerk(self): + return self.ID_Bearbeitungsvermerk + def set_ID_Bearbeitungsvermerk(self, ID_Bearbeitungsvermerk): + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + def add_ID_Bearbeitungsvermerk(self, value): + self.ID_Bearbeitungsvermerk.append(value) + def insert_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk.insert(index, value) + def replace_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk[index] = value + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def get_Objektname(self): + return self.Objektname + def set_Objektname(self, Objektname): + self.Objektname = Objektname + def validate_TGUID(self, value): + result = True + # Validate type TGUID, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGUID_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGUID_patterns_, )) + result = False + return result + validate_TGUID_patterns_ = [['^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$']] + def validate_TObjektname(self, value): + # Validate type nsBasisTypen:TObjektname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TObjektname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TObjektname_patterns_, )) + validate_TObjektname_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.ID_Bearbeitungsvermerk or + self.Wert is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Fstr_DWeg', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCID_Fstr_DWeg') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCID_Fstr_DWeg': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCID_Fstr_DWeg') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCID_Fstr_DWeg', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsVerweise:', name_='TCID_Fstr_DWeg'): + if self.Objektname != 'Fstr_DWeg|Proxy_Objekt' and 'Objektname' not in already_processed: + already_processed.add('Objektname') + outfile.write(' Objektname=%s' % (quote_attrib(self.Objektname), )) + def _exportChildren(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Fstr_DWeg', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Bearbeitungsvermerk_ in self.ID_Bearbeitungsvermerk: + namespaceprefix_ = self.ID_Bearbeitungsvermerk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bearbeitungsvermerk_nsprefix_) else '' + ID_Bearbeitungsvermerk_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bearbeitungsvermerk', pretty_print=pretty_print) + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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_('Objektname', node) + if value is not None and 'Objektname' not in already_processed: + already_processed.add('Objektname') + self.Objektname = value + self.validate_TObjektname(self.Objektname) # validate type TObjektname + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Bearbeitungsvermerk': + obj_ = TCID_Bearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bearbeitungsvermerk.append(obj_) + obj_.original_tagname_ = 'ID_Bearbeitungsvermerk' + elif nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGUID + self.validate_TGUID(self.Wert) +# end class TCID_Fstr_DWeg + + +class TCID_BUE_Gleisbezogener_Gefahrraum(GeneratedsSuper): + """ID_Bearbeitungsvermerk -- Verweist auf einen oder mehrere Bearbeitungsvermerke. Ein Anhang wird + ü + ber einen Bearbeitungsvermerk zugeordnet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Objektname='BUE_Gleisbezogener_Gefahrraum|Proxy_Objekt', ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Objektname = _cast(None, Objektname) + self.Objektname_nsprefix_ = None + if ID_Bearbeitungsvermerk is None: + self.ID_Bearbeitungsvermerk = [] + else: + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + self.ID_Bearbeitungsvermerk_nsprefix_ = None + self.Wert = Wert + self.validate_TGUID(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCID_BUE_Gleisbezogener_Gefahrraum) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCID_BUE_Gleisbezogener_Gefahrraum.subclass: + return TCID_BUE_Gleisbezogener_Gefahrraum.subclass(*args_, **kwargs_) + else: + return TCID_BUE_Gleisbezogener_Gefahrraum(*args_, **kwargs_) + factory = staticmethod(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_Bearbeitungsvermerk(self): + return self.ID_Bearbeitungsvermerk + def set_ID_Bearbeitungsvermerk(self, ID_Bearbeitungsvermerk): + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + def add_ID_Bearbeitungsvermerk(self, value): + self.ID_Bearbeitungsvermerk.append(value) + def insert_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk.insert(index, value) + def replace_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk[index] = value + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def get_Objektname(self): + return self.Objektname + def set_Objektname(self, Objektname): + self.Objektname = Objektname + def validate_TGUID(self, value): + result = True + # Validate type TGUID, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGUID_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGUID_patterns_, )) + result = False + return result + validate_TGUID_patterns_ = [['^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$']] + def validate_TObjektname(self, value): + # Validate type nsBasisTypen:TObjektname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TObjektname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TObjektname_patterns_, )) + validate_TObjektname_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.ID_Bearbeitungsvermerk or + self.Wert is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_BUE_Gleisbezogener_Gefahrraum', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCID_BUE_Gleisbezogener_Gefahrraum') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCID_BUE_Gleisbezogener_Gefahrraum': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCID_BUE_Gleisbezogener_Gefahrraum') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCID_BUE_Gleisbezogener_Gefahrraum', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsVerweise:', name_='TCID_BUE_Gleisbezogener_Gefahrraum'): + if self.Objektname != 'BUE_Gleisbezogener_Gefahrraum|Proxy_Objekt' and 'Objektname' not in already_processed: + already_processed.add('Objektname') + outfile.write(' Objektname=%s' % (quote_attrib(self.Objektname), )) + def _exportChildren(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_BUE_Gleisbezogener_Gefahrraum', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Bearbeitungsvermerk_ in self.ID_Bearbeitungsvermerk: + namespaceprefix_ = self.ID_Bearbeitungsvermerk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bearbeitungsvermerk_nsprefix_) else '' + ID_Bearbeitungsvermerk_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bearbeitungsvermerk', pretty_print=pretty_print) + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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_('Objektname', node) + if value is not None and 'Objektname' not in already_processed: + already_processed.add('Objektname') + self.Objektname = value + self.validate_TObjektname(self.Objektname) # validate type TObjektname + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Bearbeitungsvermerk': + obj_ = TCID_Bearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bearbeitungsvermerk.append(obj_) + obj_.original_tagname_ = 'ID_Bearbeitungsvermerk' + elif nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGUID + self.validate_TGUID(self.Wert) +# end class TCID_BUE_Gleisbezogener_Gefahrraum + + +class TCID_Energie_Eingang(GeneratedsSuper): + """ID_Bearbeitungsvermerk -- Verweist auf einen oder mehrere Bearbeitungsvermerke. Ein Anhang wird + ü + ber einen Bearbeitungsvermerk zugeordnet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Objektname='Aussenelementansteuerung|BUE_Anlage|EV_Modul|ESTW_Zentraleinheit|PZB_Element|Proxy_Objekt', ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Objektname = _cast(None, Objektname) + self.Objektname_nsprefix_ = None + if ID_Bearbeitungsvermerk is None: + self.ID_Bearbeitungsvermerk = [] + else: + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + self.ID_Bearbeitungsvermerk_nsprefix_ = None + self.Wert = Wert + self.validate_TGUID(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCID_Energie_Eingang) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCID_Energie_Eingang.subclass: + return TCID_Energie_Eingang.subclass(*args_, **kwargs_) + else: + return TCID_Energie_Eingang(*args_, **kwargs_) + factory = staticmethod(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_Bearbeitungsvermerk(self): + return self.ID_Bearbeitungsvermerk + def set_ID_Bearbeitungsvermerk(self, ID_Bearbeitungsvermerk): + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + def add_ID_Bearbeitungsvermerk(self, value): + self.ID_Bearbeitungsvermerk.append(value) + def insert_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk.insert(index, value) + def replace_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk[index] = value + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def get_Objektname(self): + return self.Objektname + def set_Objektname(self, Objektname): + self.Objektname = Objektname + def validate_TGUID(self, value): + result = True + # Validate type TGUID, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGUID_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGUID_patterns_, )) + result = False + return result + validate_TGUID_patterns_ = [['^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$']] + def validate_TObjektname(self, value): + # Validate type nsBasisTypen:TObjektname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TObjektname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TObjektname_patterns_, )) + validate_TObjektname_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.ID_Bearbeitungsvermerk or + self.Wert is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Energie_Eingang', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCID_Energie_Eingang') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCID_Energie_Eingang': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCID_Energie_Eingang') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCID_Energie_Eingang', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsVerweise:', name_='TCID_Energie_Eingang'): + if self.Objektname != 'Aussenelementansteuerung|BUE_Anlage|EV_Modul|ESTW_Zentraleinheit|PZB_Element|Proxy_Objekt' and 'Objektname' not in already_processed: + already_processed.add('Objektname') + outfile.write(' Objektname=%s' % (quote_attrib(self.Objektname), )) + def _exportChildren(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Energie_Eingang', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Bearbeitungsvermerk_ in self.ID_Bearbeitungsvermerk: + namespaceprefix_ = self.ID_Bearbeitungsvermerk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bearbeitungsvermerk_nsprefix_) else '' + ID_Bearbeitungsvermerk_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bearbeitungsvermerk', pretty_print=pretty_print) + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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_('Objektname', node) + if value is not None and 'Objektname' not in already_processed: + already_processed.add('Objektname') + self.Objektname = value + self.validate_TObjektname(self.Objektname) # validate type TObjektname + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Bearbeitungsvermerk': + obj_ = TCID_Bearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bearbeitungsvermerk.append(obj_) + obj_.original_tagname_ = 'ID_Bearbeitungsvermerk' + elif nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGUID + self.validate_TGUID(self.Wert) +# end class TCID_Energie_Eingang + + +class TCID_Schluesselsperre(GeneratedsSuper): + """ID_Bearbeitungsvermerk -- Verweist auf einen oder mehrere Bearbeitungsvermerke. Ein Anhang wird + ü + ber einen Bearbeitungsvermerk zugeordnet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Objektname='Schluesselsperre|Proxy_Objekt', ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Objektname = _cast(None, Objektname) + self.Objektname_nsprefix_ = None + if ID_Bearbeitungsvermerk is None: + self.ID_Bearbeitungsvermerk = [] + else: + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + self.ID_Bearbeitungsvermerk_nsprefix_ = None + self.Wert = Wert + self.validate_TGUID(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCID_Schluesselsperre) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCID_Schluesselsperre.subclass: + return TCID_Schluesselsperre.subclass(*args_, **kwargs_) + else: + return TCID_Schluesselsperre(*args_, **kwargs_) + factory = staticmethod(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_Bearbeitungsvermerk(self): + return self.ID_Bearbeitungsvermerk + def set_ID_Bearbeitungsvermerk(self, ID_Bearbeitungsvermerk): + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + def add_ID_Bearbeitungsvermerk(self, value): + self.ID_Bearbeitungsvermerk.append(value) + def insert_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk.insert(index, value) + def replace_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk[index] = value + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def get_Objektname(self): + return self.Objektname + def set_Objektname(self, Objektname): + self.Objektname = Objektname + def validate_TGUID(self, value): + result = True + # Validate type TGUID, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGUID_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGUID_patterns_, )) + result = False + return result + validate_TGUID_patterns_ = [['^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$']] + def validate_TObjektname(self, value): + # Validate type nsBasisTypen:TObjektname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TObjektname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TObjektname_patterns_, )) + validate_TObjektname_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.ID_Bearbeitungsvermerk or + self.Wert is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Schluesselsperre', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCID_Schluesselsperre') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCID_Schluesselsperre': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCID_Schluesselsperre') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCID_Schluesselsperre', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsVerweise:', name_='TCID_Schluesselsperre'): + if self.Objektname != 'Schluesselsperre|Proxy_Objekt' and 'Objektname' not in already_processed: + already_processed.add('Objektname') + outfile.write(' Objektname=%s' % (quote_attrib(self.Objektname), )) + def _exportChildren(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Schluesselsperre', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Bearbeitungsvermerk_ in self.ID_Bearbeitungsvermerk: + namespaceprefix_ = self.ID_Bearbeitungsvermerk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bearbeitungsvermerk_nsprefix_) else '' + ID_Bearbeitungsvermerk_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bearbeitungsvermerk', pretty_print=pretty_print) + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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_('Objektname', node) + if value is not None and 'Objektname' not in already_processed: + already_processed.add('Objektname') + self.Objektname = value + self.validate_TObjektname(self.Objektname) # validate type TObjektname + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Bearbeitungsvermerk': + obj_ = TCID_Bearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bearbeitungsvermerk.append(obj_) + obj_.original_tagname_ = 'ID_Bearbeitungsvermerk' + elif nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGUID + self.validate_TGUID(self.Wert) +# end class TCID_Schluesselsperre + + +class TCID_Gleis_Abschnitt(GeneratedsSuper): + """ID_Bearbeitungsvermerk -- Verweist auf einen oder mehrere Bearbeitungsvermerke. Ein Anhang wird + ü + ber einen Bearbeitungsvermerk zugeordnet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Objektname='Gleis_Abschnitt|Proxy_Objekt', ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Objektname = _cast(None, Objektname) + self.Objektname_nsprefix_ = None + if ID_Bearbeitungsvermerk is None: + self.ID_Bearbeitungsvermerk = [] + else: + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + self.ID_Bearbeitungsvermerk_nsprefix_ = None + self.Wert = Wert + self.validate_TGUID(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCID_Gleis_Abschnitt) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCID_Gleis_Abschnitt.subclass: + return TCID_Gleis_Abschnitt.subclass(*args_, **kwargs_) + else: + return TCID_Gleis_Abschnitt(*args_, **kwargs_) + factory = staticmethod(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_Bearbeitungsvermerk(self): + return self.ID_Bearbeitungsvermerk + def set_ID_Bearbeitungsvermerk(self, ID_Bearbeitungsvermerk): + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + def add_ID_Bearbeitungsvermerk(self, value): + self.ID_Bearbeitungsvermerk.append(value) + def insert_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk.insert(index, value) + def replace_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk[index] = value + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def get_Objektname(self): + return self.Objektname + def set_Objektname(self, Objektname): + self.Objektname = Objektname + def validate_TGUID(self, value): + result = True + # Validate type TGUID, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGUID_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGUID_patterns_, )) + result = False + return result + validate_TGUID_patterns_ = [['^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$']] + def validate_TObjektname(self, value): + # Validate type nsBasisTypen:TObjektname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TObjektname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TObjektname_patterns_, )) + validate_TObjektname_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.ID_Bearbeitungsvermerk or + self.Wert is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Gleis_Abschnitt', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCID_Gleis_Abschnitt') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCID_Gleis_Abschnitt': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCID_Gleis_Abschnitt') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCID_Gleis_Abschnitt', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsVerweise:', name_='TCID_Gleis_Abschnitt'): + if self.Objektname != 'Gleis_Abschnitt|Proxy_Objekt' and 'Objektname' not in already_processed: + already_processed.add('Objektname') + outfile.write(' Objektname=%s' % (quote_attrib(self.Objektname), )) + def _exportChildren(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Gleis_Abschnitt', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Bearbeitungsvermerk_ in self.ID_Bearbeitungsvermerk: + namespaceprefix_ = self.ID_Bearbeitungsvermerk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bearbeitungsvermerk_nsprefix_) else '' + ID_Bearbeitungsvermerk_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bearbeitungsvermerk', pretty_print=pretty_print) + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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_('Objektname', node) + if value is not None and 'Objektname' not in already_processed: + already_processed.add('Objektname') + self.Objektname = value + self.validate_TObjektname(self.Objektname) # validate type TObjektname + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Bearbeitungsvermerk': + obj_ = TCID_Bearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bearbeitungsvermerk.append(obj_) + obj_.original_tagname_ = 'ID_Bearbeitungsvermerk' + elif nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGUID + self.validate_TGUID(self.Wert) +# end class TCID_Gleis_Abschnitt + + +class TCID_Schalter(GeneratedsSuper): + """ID_Bearbeitungsvermerk -- Verweist auf einen oder mehrere Bearbeitungsvermerke. Ein Anhang wird + ü + ber einen Bearbeitungsvermerk zugeordnet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Objektname='FMA_Anlage|FMA_Komponente|Zugeinwirkung|Proxy_Objekt', ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Objektname = _cast(None, Objektname) + self.Objektname_nsprefix_ = None + if ID_Bearbeitungsvermerk is None: + self.ID_Bearbeitungsvermerk = [] + else: + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + self.ID_Bearbeitungsvermerk_nsprefix_ = None + self.Wert = Wert + self.validate_TGUID(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCID_Schalter) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCID_Schalter.subclass: + return TCID_Schalter.subclass(*args_, **kwargs_) + else: + return TCID_Schalter(*args_, **kwargs_) + factory = staticmethod(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_Bearbeitungsvermerk(self): + return self.ID_Bearbeitungsvermerk + def set_ID_Bearbeitungsvermerk(self, ID_Bearbeitungsvermerk): + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + def add_ID_Bearbeitungsvermerk(self, value): + self.ID_Bearbeitungsvermerk.append(value) + def insert_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk.insert(index, value) + def replace_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk[index] = value + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def get_Objektname(self): + return self.Objektname + def set_Objektname(self, Objektname): + self.Objektname = Objektname + def validate_TGUID(self, value): + result = True + # Validate type TGUID, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGUID_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGUID_patterns_, )) + result = False + return result + validate_TGUID_patterns_ = [['^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$']] + def validate_TObjektname(self, value): + # Validate type nsBasisTypen:TObjektname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TObjektname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TObjektname_patterns_, )) + validate_TObjektname_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.ID_Bearbeitungsvermerk or + self.Wert is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Schalter', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCID_Schalter') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCID_Schalter': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCID_Schalter') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCID_Schalter', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsVerweise:', name_='TCID_Schalter'): + if self.Objektname != 'FMA_Anlage|FMA_Komponente|Zugeinwirkung|Proxy_Objekt' and 'Objektname' not in already_processed: + already_processed.add('Objektname') + outfile.write(' Objektname=%s' % (quote_attrib(self.Objektname), )) + def _exportChildren(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Schalter', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Bearbeitungsvermerk_ in self.ID_Bearbeitungsvermerk: + namespaceprefix_ = self.ID_Bearbeitungsvermerk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bearbeitungsvermerk_nsprefix_) else '' + ID_Bearbeitungsvermerk_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bearbeitungsvermerk', pretty_print=pretty_print) + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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_('Objektname', node) + if value is not None and 'Objektname' not in already_processed: + already_processed.add('Objektname') + self.Objektname = value + self.validate_TObjektname(self.Objektname) # validate type TObjektname + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Bearbeitungsvermerk': + obj_ = TCID_Bearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bearbeitungsvermerk.append(obj_) + obj_.original_tagname_ = 'ID_Bearbeitungsvermerk' + elif nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGUID + self.validate_TGUID(self.Wert) +# end class TCID_Schalter + + +class TCID_Information_Eingang(GeneratedsSuper): + """ID_Bearbeitungsvermerk -- Verweist auf einen oder mehrere Bearbeitungsvermerke. Ein Anhang wird + ü + ber einen Bearbeitungsvermerk zugeordnet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Objektname='Aussenelementansteuerung|BUE_Anlage|LEU_Anlage|LEU_Modul|PZB_Element|Signal|W_Kr_Anlage|Proxy_Objekt', ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Objektname = _cast(None, Objektname) + self.Objektname_nsprefix_ = None + if ID_Bearbeitungsvermerk is None: + self.ID_Bearbeitungsvermerk = [] + else: + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + self.ID_Bearbeitungsvermerk_nsprefix_ = None + self.Wert = Wert + self.validate_TGUID(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCID_Information_Eingang) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCID_Information_Eingang.subclass: + return TCID_Information_Eingang.subclass(*args_, **kwargs_) + else: + return TCID_Information_Eingang(*args_, **kwargs_) + factory = staticmethod(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_Bearbeitungsvermerk(self): + return self.ID_Bearbeitungsvermerk + def set_ID_Bearbeitungsvermerk(self, ID_Bearbeitungsvermerk): + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + def add_ID_Bearbeitungsvermerk(self, value): + self.ID_Bearbeitungsvermerk.append(value) + def insert_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk.insert(index, value) + def replace_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk[index] = value + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def get_Objektname(self): + return self.Objektname + def set_Objektname(self, Objektname): + self.Objektname = Objektname + def validate_TGUID(self, value): + result = True + # Validate type TGUID, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGUID_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGUID_patterns_, )) + result = False + return result + validate_TGUID_patterns_ = [['^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$']] + def validate_TObjektname(self, value): + # Validate type nsBasisTypen:TObjektname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TObjektname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TObjektname_patterns_, )) + validate_TObjektname_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.ID_Bearbeitungsvermerk or + self.Wert is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Information_Eingang', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCID_Information_Eingang') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCID_Information_Eingang': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCID_Information_Eingang') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCID_Information_Eingang', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsVerweise:', name_='TCID_Information_Eingang'): + if self.Objektname != 'Aussenelementansteuerung|BUE_Anlage|LEU_Anlage|LEU_Modul|PZB_Element|Signal|W_Kr_Anlage|Proxy_Objekt' and 'Objektname' not in already_processed: + already_processed.add('Objektname') + outfile.write(' Objektname=%s' % (quote_attrib(self.Objektname), )) + def _exportChildren(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Information_Eingang', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Bearbeitungsvermerk_ in self.ID_Bearbeitungsvermerk: + namespaceprefix_ = self.ID_Bearbeitungsvermerk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bearbeitungsvermerk_nsprefix_) else '' + ID_Bearbeitungsvermerk_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bearbeitungsvermerk', pretty_print=pretty_print) + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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_('Objektname', node) + if value is not None and 'Objektname' not in already_processed: + already_processed.add('Objektname') + self.Objektname = value + self.validate_TObjektname(self.Objektname) # validate type TObjektname + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Bearbeitungsvermerk': + obj_ = TCID_Bearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bearbeitungsvermerk.append(obj_) + obj_.original_tagname_ = 'ID_Bearbeitungsvermerk' + elif nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGUID + self.validate_TGUID(self.Wert) +# end class TCID_Information_Eingang + + +class TCID_Fstr_DWeg_ohne_Proxy(GeneratedsSuper): + """ID_Bearbeitungsvermerk -- Verweist auf einen oder mehrere Bearbeitungsvermerke. Ein Anhang wird + ü + ber einen Bearbeitungsvermerk zugeordnet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Objektname='Fstr_DWeg', ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Objektname = _cast(None, Objektname) + self.Objektname_nsprefix_ = None + if ID_Bearbeitungsvermerk is None: + self.ID_Bearbeitungsvermerk = [] + else: + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + self.ID_Bearbeitungsvermerk_nsprefix_ = None + self.Wert = Wert + self.validate_TGUID(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCID_Fstr_DWeg_ohne_Proxy) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCID_Fstr_DWeg_ohne_Proxy.subclass: + return TCID_Fstr_DWeg_ohne_Proxy.subclass(*args_, **kwargs_) + else: + return TCID_Fstr_DWeg_ohne_Proxy(*args_, **kwargs_) + factory = staticmethod(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_Bearbeitungsvermerk(self): + return self.ID_Bearbeitungsvermerk + def set_ID_Bearbeitungsvermerk(self, ID_Bearbeitungsvermerk): + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + def add_ID_Bearbeitungsvermerk(self, value): + self.ID_Bearbeitungsvermerk.append(value) + def insert_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk.insert(index, value) + def replace_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk[index] = value + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def get_Objektname(self): + return self.Objektname + def set_Objektname(self, Objektname): + self.Objektname = Objektname + def validate_TGUID(self, value): + result = True + # Validate type TGUID, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGUID_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGUID_patterns_, )) + result = False + return result + validate_TGUID_patterns_ = [['^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$']] + def validate_TObjektname(self, value): + # Validate type nsBasisTypen:TObjektname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TObjektname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TObjektname_patterns_, )) + validate_TObjektname_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.ID_Bearbeitungsvermerk or + self.Wert is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Fstr_DWeg_ohne_Proxy', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCID_Fstr_DWeg_ohne_Proxy') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCID_Fstr_DWeg_ohne_Proxy': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCID_Fstr_DWeg_ohne_Proxy') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCID_Fstr_DWeg_ohne_Proxy', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsVerweise:', name_='TCID_Fstr_DWeg_ohne_Proxy'): + if self.Objektname != 'Fstr_DWeg' and 'Objektname' not in already_processed: + already_processed.add('Objektname') + outfile.write(' Objektname=%s' % (quote_attrib(self.Objektname), )) + def _exportChildren(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Fstr_DWeg_ohne_Proxy', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Bearbeitungsvermerk_ in self.ID_Bearbeitungsvermerk: + namespaceprefix_ = self.ID_Bearbeitungsvermerk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bearbeitungsvermerk_nsprefix_) else '' + ID_Bearbeitungsvermerk_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bearbeitungsvermerk', pretty_print=pretty_print) + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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_('Objektname', node) + if value is not None and 'Objektname' not in already_processed: + already_processed.add('Objektname') + self.Objektname = value + self.validate_TObjektname(self.Objektname) # validate type TObjektname + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Bearbeitungsvermerk': + obj_ = TCID_Bearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bearbeitungsvermerk.append(obj_) + obj_.original_tagname_ = 'ID_Bearbeitungsvermerk' + elif nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGUID + self.validate_TGUID(self.Wert) +# end class TCID_Fstr_DWeg_ohne_Proxy + + +class TCID_ZLV_Bus(GeneratedsSuper): + """ID_Bearbeitungsvermerk -- Verweist auf einen oder mehrere Bearbeitungsvermerke. Ein Anhang wird + ü + ber einen Bearbeitungsvermerk zugeordnet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Objektname='ZLV_Bus|Proxy_Objekt', ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Objektname = _cast(None, Objektname) + self.Objektname_nsprefix_ = None + if ID_Bearbeitungsvermerk is None: + self.ID_Bearbeitungsvermerk = [] + else: + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + self.ID_Bearbeitungsvermerk_nsprefix_ = None + self.Wert = Wert + self.validate_TGUID(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCID_ZLV_Bus) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCID_ZLV_Bus.subclass: + return TCID_ZLV_Bus.subclass(*args_, **kwargs_) + else: + return TCID_ZLV_Bus(*args_, **kwargs_) + factory = staticmethod(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_Bearbeitungsvermerk(self): + return self.ID_Bearbeitungsvermerk + def set_ID_Bearbeitungsvermerk(self, ID_Bearbeitungsvermerk): + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + def add_ID_Bearbeitungsvermerk(self, value): + self.ID_Bearbeitungsvermerk.append(value) + def insert_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk.insert(index, value) + def replace_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk[index] = value + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def get_Objektname(self): + return self.Objektname + def set_Objektname(self, Objektname): + self.Objektname = Objektname + def validate_TGUID(self, value): + result = True + # Validate type TGUID, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGUID_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGUID_patterns_, )) + result = False + return result + validate_TGUID_patterns_ = [['^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$']] + def validate_TObjektname(self, value): + # Validate type nsBasisTypen:TObjektname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TObjektname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TObjektname_patterns_, )) + validate_TObjektname_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.ID_Bearbeitungsvermerk or + self.Wert is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_ZLV_Bus', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCID_ZLV_Bus') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCID_ZLV_Bus': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCID_ZLV_Bus') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCID_ZLV_Bus', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsVerweise:', name_='TCID_ZLV_Bus'): + if self.Objektname != 'ZLV_Bus|Proxy_Objekt' and 'Objektname' not in already_processed: + already_processed.add('Objektname') + outfile.write(' Objektname=%s' % (quote_attrib(self.Objektname), )) + def _exportChildren(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_ZLV_Bus', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Bearbeitungsvermerk_ in self.ID_Bearbeitungsvermerk: + namespaceprefix_ = self.ID_Bearbeitungsvermerk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bearbeitungsvermerk_nsprefix_) else '' + ID_Bearbeitungsvermerk_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bearbeitungsvermerk', pretty_print=pretty_print) + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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_('Objektname', node) + if value is not None and 'Objektname' not in already_processed: + already_processed.add('Objektname') + self.Objektname = value + self.validate_TObjektname(self.Objektname) # validate type TObjektname + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Bearbeitungsvermerk': + obj_ = TCID_Bearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bearbeitungsvermerk.append(obj_) + obj_.original_tagname_ = 'ID_Bearbeitungsvermerk' + elif nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGUID + self.validate_TGUID(self.Wert) +# end class TCID_ZLV_Bus + + +class TCID_Bahnsteig_Kante(GeneratedsSuper): + """ID_Bearbeitungsvermerk -- Verweist auf einen oder mehrere Bearbeitungsvermerke. Ein Anhang wird + ü + ber einen Bearbeitungsvermerk zugeordnet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Objektname='Bahnsteig_Kante|Proxy_Objekt', ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Objektname = _cast(None, Objektname) + self.Objektname_nsprefix_ = None + if ID_Bearbeitungsvermerk is None: + self.ID_Bearbeitungsvermerk = [] + else: + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + self.ID_Bearbeitungsvermerk_nsprefix_ = None + self.Wert = Wert + self.validate_TGUID(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCID_Bahnsteig_Kante) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCID_Bahnsteig_Kante.subclass: + return TCID_Bahnsteig_Kante.subclass(*args_, **kwargs_) + else: + return TCID_Bahnsteig_Kante(*args_, **kwargs_) + factory = staticmethod(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_Bearbeitungsvermerk(self): + return self.ID_Bearbeitungsvermerk + def set_ID_Bearbeitungsvermerk(self, ID_Bearbeitungsvermerk): + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + def add_ID_Bearbeitungsvermerk(self, value): + self.ID_Bearbeitungsvermerk.append(value) + def insert_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk.insert(index, value) + def replace_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk[index] = value + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def get_Objektname(self): + return self.Objektname + def set_Objektname(self, Objektname): + self.Objektname = Objektname + def validate_TGUID(self, value): + result = True + # Validate type TGUID, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGUID_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGUID_patterns_, )) + result = False + return result + validate_TGUID_patterns_ = [['^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$']] + def validate_TObjektname(self, value): + # Validate type nsBasisTypen:TObjektname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TObjektname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TObjektname_patterns_, )) + validate_TObjektname_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.ID_Bearbeitungsvermerk or + self.Wert is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Bahnsteig_Kante', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCID_Bahnsteig_Kante') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCID_Bahnsteig_Kante': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCID_Bahnsteig_Kante') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCID_Bahnsteig_Kante', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsVerweise:', name_='TCID_Bahnsteig_Kante'): + if self.Objektname != 'Bahnsteig_Kante|Proxy_Objekt' and 'Objektname' not in already_processed: + already_processed.add('Objektname') + outfile.write(' Objektname=%s' % (quote_attrib(self.Objektname), )) + def _exportChildren(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Bahnsteig_Kante', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Bearbeitungsvermerk_ in self.ID_Bearbeitungsvermerk: + namespaceprefix_ = self.ID_Bearbeitungsvermerk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bearbeitungsvermerk_nsprefix_) else '' + ID_Bearbeitungsvermerk_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bearbeitungsvermerk', pretty_print=pretty_print) + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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_('Objektname', node) + if value is not None and 'Objektname' not in already_processed: + already_processed.add('Objektname') + self.Objektname = value + self.validate_TObjektname(self.Objektname) # validate type TObjektname + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Bearbeitungsvermerk': + obj_ = TCID_Bearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bearbeitungsvermerk.append(obj_) + obj_.original_tagname_ = 'ID_Bearbeitungsvermerk' + elif nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGUID + self.validate_TGUID(self.Wert) +# end class TCID_Bahnsteig_Kante + + +class TCID_Unterbringung(GeneratedsSuper): + """ID_Bearbeitungsvermerk -- Verweist auf einen oder mehrere Bearbeitungsvermerke. Ein Anhang wird + ü + ber einen Bearbeitungsvermerk zugeordnet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Objektname='Unterbringung|Proxy_Objekt', ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Objektname = _cast(None, Objektname) + self.Objektname_nsprefix_ = None + if ID_Bearbeitungsvermerk is None: + self.ID_Bearbeitungsvermerk = [] + else: + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + self.ID_Bearbeitungsvermerk_nsprefix_ = None + self.Wert = Wert + self.validate_TGUID(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCID_Unterbringung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCID_Unterbringung.subclass: + return TCID_Unterbringung.subclass(*args_, **kwargs_) + else: + return TCID_Unterbringung(*args_, **kwargs_) + factory = staticmethod(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_Bearbeitungsvermerk(self): + return self.ID_Bearbeitungsvermerk + def set_ID_Bearbeitungsvermerk(self, ID_Bearbeitungsvermerk): + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + def add_ID_Bearbeitungsvermerk(self, value): + self.ID_Bearbeitungsvermerk.append(value) + def insert_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk.insert(index, value) + def replace_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk[index] = value + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def get_Objektname(self): + return self.Objektname + def set_Objektname(self, Objektname): + self.Objektname = Objektname + def validate_TGUID(self, value): + result = True + # Validate type TGUID, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGUID_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGUID_patterns_, )) + result = False + return result + validate_TGUID_patterns_ = [['^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$']] + def validate_TObjektname(self, value): + # Validate type nsBasisTypen:TObjektname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TObjektname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TObjektname_patterns_, )) + validate_TObjektname_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.ID_Bearbeitungsvermerk or + self.Wert is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Unterbringung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCID_Unterbringung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCID_Unterbringung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCID_Unterbringung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCID_Unterbringung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsVerweise:', name_='TCID_Unterbringung'): + if self.Objektname != 'Unterbringung|Proxy_Objekt' and 'Objektname' not in already_processed: + already_processed.add('Objektname') + outfile.write(' Objektname=%s' % (quote_attrib(self.Objektname), )) + def _exportChildren(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Unterbringung', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Bearbeitungsvermerk_ in self.ID_Bearbeitungsvermerk: + namespaceprefix_ = self.ID_Bearbeitungsvermerk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bearbeitungsvermerk_nsprefix_) else '' + ID_Bearbeitungsvermerk_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bearbeitungsvermerk', pretty_print=pretty_print) + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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_('Objektname', node) + if value is not None and 'Objektname' not in already_processed: + already_processed.add('Objektname') + self.Objektname = value + self.validate_TObjektname(self.Objektname) # validate type TObjektname + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Bearbeitungsvermerk': + obj_ = TCID_Bearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bearbeitungsvermerk.append(obj_) + obj_.original_tagname_ = 'ID_Bearbeitungsvermerk' + elif nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGUID + self.validate_TGUID(self.Wert) +# end class TCID_Unterbringung + + +class TCID_Planung_Einzel(GeneratedsSuper): + """ID_Bearbeitungsvermerk -- Verweist auf einen oder mehrere Bearbeitungsvermerke. Ein Anhang wird + ü + ber einen Bearbeitungsvermerk zugeordnet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Objektname='Planung_Einzel|Proxy_Objekt', ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Objektname = _cast(None, Objektname) + self.Objektname_nsprefix_ = None + if ID_Bearbeitungsvermerk is None: + self.ID_Bearbeitungsvermerk = [] + else: + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + self.ID_Bearbeitungsvermerk_nsprefix_ = None + self.Wert = Wert + self.validate_TGUID(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCID_Planung_Einzel) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCID_Planung_Einzel.subclass: + return TCID_Planung_Einzel.subclass(*args_, **kwargs_) + else: + return TCID_Planung_Einzel(*args_, **kwargs_) + factory = staticmethod(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_Bearbeitungsvermerk(self): + return self.ID_Bearbeitungsvermerk + def set_ID_Bearbeitungsvermerk(self, ID_Bearbeitungsvermerk): + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + def add_ID_Bearbeitungsvermerk(self, value): + self.ID_Bearbeitungsvermerk.append(value) + def insert_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk.insert(index, value) + def replace_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk[index] = value + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def get_Objektname(self): + return self.Objektname + def set_Objektname(self, Objektname): + self.Objektname = Objektname + def validate_TGUID(self, value): + result = True + # Validate type TGUID, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGUID_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGUID_patterns_, )) + result = False + return result + validate_TGUID_patterns_ = [['^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$']] + def validate_TObjektname(self, value): + # Validate type nsBasisTypen:TObjektname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TObjektname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TObjektname_patterns_, )) + validate_TObjektname_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.ID_Bearbeitungsvermerk or + self.Wert is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Planung_Einzel', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCID_Planung_Einzel') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCID_Planung_Einzel': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCID_Planung_Einzel') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCID_Planung_Einzel', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsVerweise:', name_='TCID_Planung_Einzel'): + if self.Objektname != 'Planung_Einzel|Proxy_Objekt' and 'Objektname' not in already_processed: + already_processed.add('Objektname') + outfile.write(' Objektname=%s' % (quote_attrib(self.Objektname), )) + def _exportChildren(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Planung_Einzel', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Bearbeitungsvermerk_ in self.ID_Bearbeitungsvermerk: + namespaceprefix_ = self.ID_Bearbeitungsvermerk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bearbeitungsvermerk_nsprefix_) else '' + ID_Bearbeitungsvermerk_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bearbeitungsvermerk', pretty_print=pretty_print) + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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_('Objektname', node) + if value is not None and 'Objektname' not in already_processed: + already_processed.add('Objektname') + self.Objektname = value + self.validate_TObjektname(self.Objektname) # validate type TObjektname + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Bearbeitungsvermerk': + obj_ = TCID_Bearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bearbeitungsvermerk.append(obj_) + obj_.original_tagname_ = 'ID_Bearbeitungsvermerk' + elif nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGUID + self.validate_TGUID(self.Wert) +# end class TCID_Planung_Einzel + + +class TCID_Unterbringung_Technik(GeneratedsSuper): + """ID_Bearbeitungsvermerk -- Verweist auf einen oder mehrere Bearbeitungsvermerke. Ein Anhang wird + ü + ber einen Bearbeitungsvermerk zugeordnet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Objektname='Technik_Standort|Unterbringung|Proxy_Objekt', ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Objektname = _cast(None, Objektname) + self.Objektname_nsprefix_ = None + if ID_Bearbeitungsvermerk is None: + self.ID_Bearbeitungsvermerk = [] + else: + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + self.ID_Bearbeitungsvermerk_nsprefix_ = None + self.Wert = Wert + self.validate_TGUID(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCID_Unterbringung_Technik) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCID_Unterbringung_Technik.subclass: + return TCID_Unterbringung_Technik.subclass(*args_, **kwargs_) + else: + return TCID_Unterbringung_Technik(*args_, **kwargs_) + factory = staticmethod(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_Bearbeitungsvermerk(self): + return self.ID_Bearbeitungsvermerk + def set_ID_Bearbeitungsvermerk(self, ID_Bearbeitungsvermerk): + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + def add_ID_Bearbeitungsvermerk(self, value): + self.ID_Bearbeitungsvermerk.append(value) + def insert_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk.insert(index, value) + def replace_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk[index] = value + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def get_Objektname(self): + return self.Objektname + def set_Objektname(self, Objektname): + self.Objektname = Objektname + def validate_TGUID(self, value): + result = True + # Validate type TGUID, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGUID_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGUID_patterns_, )) + result = False + return result + validate_TGUID_patterns_ = [['^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$']] + def validate_TObjektname(self, value): + # Validate type nsBasisTypen:TObjektname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TObjektname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TObjektname_patterns_, )) + validate_TObjektname_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.ID_Bearbeitungsvermerk or + self.Wert is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Unterbringung_Technik', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCID_Unterbringung_Technik') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCID_Unterbringung_Technik': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCID_Unterbringung_Technik') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCID_Unterbringung_Technik', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsVerweise:', name_='TCID_Unterbringung_Technik'): + if self.Objektname != 'Technik_Standort|Unterbringung|Proxy_Objekt' and 'Objektname' not in already_processed: + already_processed.add('Objektname') + outfile.write(' Objektname=%s' % (quote_attrib(self.Objektname), )) + def _exportChildren(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Unterbringung_Technik', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Bearbeitungsvermerk_ in self.ID_Bearbeitungsvermerk: + namespaceprefix_ = self.ID_Bearbeitungsvermerk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bearbeitungsvermerk_nsprefix_) else '' + ID_Bearbeitungsvermerk_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bearbeitungsvermerk', pretty_print=pretty_print) + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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_('Objektname', node) + if value is not None and 'Objektname' not in already_processed: + already_processed.add('Objektname') + self.Objektname = value + self.validate_TObjektname(self.Objektname) # validate type TObjektname + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Bearbeitungsvermerk': + obj_ = TCID_Bearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bearbeitungsvermerk.append(obj_) + obj_.original_tagname_ = 'ID_Bearbeitungsvermerk' + elif nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGUID + self.validate_TGUID(self.Wert) +# end class TCID_Unterbringung_Technik + + +class TCID_Gleis_Bezeichnung(GeneratedsSuper): + """ID_Bearbeitungsvermerk -- Verweist auf einen oder mehrere Bearbeitungsvermerke. Ein Anhang wird + ü + ber einen Bearbeitungsvermerk zugeordnet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Objektname='Gleis_Bezeichnung|Proxy_Objekt', ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Objektname = _cast(None, Objektname) + self.Objektname_nsprefix_ = None + if ID_Bearbeitungsvermerk is None: + self.ID_Bearbeitungsvermerk = [] + else: + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + self.ID_Bearbeitungsvermerk_nsprefix_ = None + self.Wert = Wert + self.validate_TGUID(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCID_Gleis_Bezeichnung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCID_Gleis_Bezeichnung.subclass: + return TCID_Gleis_Bezeichnung.subclass(*args_, **kwargs_) + else: + return TCID_Gleis_Bezeichnung(*args_, **kwargs_) + factory = staticmethod(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_Bearbeitungsvermerk(self): + return self.ID_Bearbeitungsvermerk + def set_ID_Bearbeitungsvermerk(self, ID_Bearbeitungsvermerk): + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + def add_ID_Bearbeitungsvermerk(self, value): + self.ID_Bearbeitungsvermerk.append(value) + def insert_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk.insert(index, value) + def replace_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk[index] = value + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def get_Objektname(self): + return self.Objektname + def set_Objektname(self, Objektname): + self.Objektname = Objektname + def validate_TGUID(self, value): + result = True + # Validate type TGUID, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGUID_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGUID_patterns_, )) + result = False + return result + validate_TGUID_patterns_ = [['^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$']] + def validate_TObjektname(self, value): + # Validate type nsBasisTypen:TObjektname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TObjektname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TObjektname_patterns_, )) + validate_TObjektname_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.ID_Bearbeitungsvermerk or + self.Wert is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Gleis_Bezeichnung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCID_Gleis_Bezeichnung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCID_Gleis_Bezeichnung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCID_Gleis_Bezeichnung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCID_Gleis_Bezeichnung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsVerweise:', name_='TCID_Gleis_Bezeichnung'): + if self.Objektname != 'Gleis_Bezeichnung|Proxy_Objekt' and 'Objektname' not in already_processed: + already_processed.add('Objektname') + outfile.write(' Objektname=%s' % (quote_attrib(self.Objektname), )) + def _exportChildren(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Gleis_Bezeichnung', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Bearbeitungsvermerk_ in self.ID_Bearbeitungsvermerk: + namespaceprefix_ = self.ID_Bearbeitungsvermerk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bearbeitungsvermerk_nsprefix_) else '' + ID_Bearbeitungsvermerk_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bearbeitungsvermerk', pretty_print=pretty_print) + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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_('Objektname', node) + if value is not None and 'Objektname' not in already_processed: + already_processed.add('Objektname') + self.Objektname = value + self.validate_TObjektname(self.Objektname) # validate type TObjektname + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Bearbeitungsvermerk': + obj_ = TCID_Bearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bearbeitungsvermerk.append(obj_) + obj_.original_tagname_ = 'ID_Bearbeitungsvermerk' + elif nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGUID + self.validate_TGUID(self.Wert) +# end class TCID_Gleis_Bezeichnung + + +class TCID_Lageplan_Zustand(GeneratedsSuper): + """ID_Bearbeitungsvermerk -- Verweist auf einen oder mehrere Bearbeitungsvermerke. Ein Anhang wird + ü + ber einen Bearbeitungsvermerk zugeordnet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Objektname='Lageplan_Zustand', ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Objektname = _cast(None, Objektname) + self.Objektname_nsprefix_ = None + if ID_Bearbeitungsvermerk is None: + self.ID_Bearbeitungsvermerk = [] + else: + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + self.ID_Bearbeitungsvermerk_nsprefix_ = None + self.Wert = Wert + self.validate_TGUID(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCID_Lageplan_Zustand) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCID_Lageplan_Zustand.subclass: + return TCID_Lageplan_Zustand.subclass(*args_, **kwargs_) + else: + return TCID_Lageplan_Zustand(*args_, **kwargs_) + factory = staticmethod(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_Bearbeitungsvermerk(self): + return self.ID_Bearbeitungsvermerk + def set_ID_Bearbeitungsvermerk(self, ID_Bearbeitungsvermerk): + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + def add_ID_Bearbeitungsvermerk(self, value): + self.ID_Bearbeitungsvermerk.append(value) + def insert_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk.insert(index, value) + def replace_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk[index] = value + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def get_Objektname(self): + return self.Objektname + def set_Objektname(self, Objektname): + self.Objektname = Objektname + def validate_TGUID(self, value): + result = True + # Validate type TGUID, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGUID_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGUID_patterns_, )) + result = False + return result + validate_TGUID_patterns_ = [['^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$']] + def validate_TObjektname(self, value): + # Validate type nsBasisTypen:TObjektname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TObjektname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TObjektname_patterns_, )) + validate_TObjektname_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.ID_Bearbeitungsvermerk or + self.Wert is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Lageplan_Zustand', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCID_Lageplan_Zustand') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCID_Lageplan_Zustand': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCID_Lageplan_Zustand') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCID_Lageplan_Zustand', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsVerweise:', name_='TCID_Lageplan_Zustand'): + if self.Objektname != 'Lageplan_Zustand' and 'Objektname' not in already_processed: + already_processed.add('Objektname') + outfile.write(' Objektname=%s' % (quote_attrib(self.Objektname), )) + def _exportChildren(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Lageplan_Zustand', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Bearbeitungsvermerk_ in self.ID_Bearbeitungsvermerk: + namespaceprefix_ = self.ID_Bearbeitungsvermerk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bearbeitungsvermerk_nsprefix_) else '' + ID_Bearbeitungsvermerk_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bearbeitungsvermerk', pretty_print=pretty_print) + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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_('Objektname', node) + if value is not None and 'Objektname' not in already_processed: + already_processed.add('Objektname') + self.Objektname = value + self.validate_TObjektname(self.Objektname) # validate type TObjektname + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Bearbeitungsvermerk': + obj_ = TCID_Bearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bearbeitungsvermerk.append(obj_) + obj_.original_tagname_ = 'ID_Bearbeitungsvermerk' + elif nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGUID + self.validate_TGUID(self.Wert) +# end class TCID_Lageplan_Zustand + + +class TCID_ZL_Signalgruppe(GeneratedsSuper): + """ID_Bearbeitungsvermerk -- Verweist auf einen oder mehrere Bearbeitungsvermerke. Ein Anhang wird + ü + ber einen Bearbeitungsvermerk zugeordnet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Objektname='ZL_Signalgruppe|Proxy_Objekt', ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Objektname = _cast(None, Objektname) + self.Objektname_nsprefix_ = None + if ID_Bearbeitungsvermerk is None: + self.ID_Bearbeitungsvermerk = [] + else: + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + self.ID_Bearbeitungsvermerk_nsprefix_ = None + self.Wert = Wert + self.validate_TGUID(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCID_ZL_Signalgruppe) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCID_ZL_Signalgruppe.subclass: + return TCID_ZL_Signalgruppe.subclass(*args_, **kwargs_) + else: + return TCID_ZL_Signalgruppe(*args_, **kwargs_) + factory = staticmethod(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_Bearbeitungsvermerk(self): + return self.ID_Bearbeitungsvermerk + def set_ID_Bearbeitungsvermerk(self, ID_Bearbeitungsvermerk): + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + def add_ID_Bearbeitungsvermerk(self, value): + self.ID_Bearbeitungsvermerk.append(value) + def insert_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk.insert(index, value) + def replace_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk[index] = value + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def get_Objektname(self): + return self.Objektname + def set_Objektname(self, Objektname): + self.Objektname = Objektname + def validate_TGUID(self, value): + result = True + # Validate type TGUID, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGUID_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGUID_patterns_, )) + result = False + return result + validate_TGUID_patterns_ = [['^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$']] + def validate_TObjektname(self, value): + # Validate type nsBasisTypen:TObjektname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TObjektname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TObjektname_patterns_, )) + validate_TObjektname_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.ID_Bearbeitungsvermerk or + self.Wert is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_ZL_Signalgruppe', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCID_ZL_Signalgruppe') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCID_ZL_Signalgruppe': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCID_ZL_Signalgruppe') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCID_ZL_Signalgruppe', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsVerweise:', name_='TCID_ZL_Signalgruppe'): + if self.Objektname != 'ZL_Signalgruppe|Proxy_Objekt' and 'Objektname' not in already_processed: + already_processed.add('Objektname') + outfile.write(' Objektname=%s' % (quote_attrib(self.Objektname), )) + def _exportChildren(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_ZL_Signalgruppe', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Bearbeitungsvermerk_ in self.ID_Bearbeitungsvermerk: + namespaceprefix_ = self.ID_Bearbeitungsvermerk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bearbeitungsvermerk_nsprefix_) else '' + ID_Bearbeitungsvermerk_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bearbeitungsvermerk', pretty_print=pretty_print) + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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_('Objektname', node) + if value is not None and 'Objektname' not in already_processed: + already_processed.add('Objektname') + self.Objektname = value + self.validate_TObjektname(self.Objektname) # validate type TObjektname + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Bearbeitungsvermerk': + obj_ = TCID_Bearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bearbeitungsvermerk.append(obj_) + obj_.original_tagname_ = 'ID_Bearbeitungsvermerk' + elif nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGUID + self.validate_TGUID(self.Wert) +# end class TCID_ZL_Signalgruppe + + +class TCID_Energie(GeneratedsSuper): + """ID_Bearbeitungsvermerk -- Verweist auf einen oder mehrere Bearbeitungsvermerke. Ein Anhang wird + ü + ber einen Bearbeitungsvermerk zugeordnet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Objektname='Aussenelementansteuerung|ESTW_Zentraleinheit|EV_Modul|Proxy_Objekt', ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Objektname = _cast(None, Objektname) + self.Objektname_nsprefix_ = None + if ID_Bearbeitungsvermerk is None: + self.ID_Bearbeitungsvermerk = [] + else: + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + self.ID_Bearbeitungsvermerk_nsprefix_ = None + self.Wert = Wert + self.validate_TGUID(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCID_Energie) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCID_Energie.subclass: + return TCID_Energie.subclass(*args_, **kwargs_) + else: + return TCID_Energie(*args_, **kwargs_) + factory = staticmethod(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_Bearbeitungsvermerk(self): + return self.ID_Bearbeitungsvermerk + def set_ID_Bearbeitungsvermerk(self, ID_Bearbeitungsvermerk): + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + def add_ID_Bearbeitungsvermerk(self, value): + self.ID_Bearbeitungsvermerk.append(value) + def insert_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk.insert(index, value) + def replace_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk[index] = value + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def get_Objektname(self): + return self.Objektname + def set_Objektname(self, Objektname): + self.Objektname = Objektname + def validate_TGUID(self, value): + result = True + # Validate type TGUID, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGUID_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGUID_patterns_, )) + result = False + return result + validate_TGUID_patterns_ = [['^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$']] + def validate_TObjektname(self, value): + # Validate type nsBasisTypen:TObjektname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TObjektname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TObjektname_patterns_, )) + validate_TObjektname_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.ID_Bearbeitungsvermerk or + self.Wert is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Energie', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCID_Energie') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCID_Energie': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCID_Energie') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCID_Energie', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsVerweise:', name_='TCID_Energie'): + if self.Objektname != 'Aussenelementansteuerung|ESTW_Zentraleinheit|EV_Modul|Proxy_Objekt' and 'Objektname' not in already_processed: + already_processed.add('Objektname') + outfile.write(' Objektname=%s' % (quote_attrib(self.Objektname), )) + def _exportChildren(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Energie', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Bearbeitungsvermerk_ in self.ID_Bearbeitungsvermerk: + namespaceprefix_ = self.ID_Bearbeitungsvermerk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bearbeitungsvermerk_nsprefix_) else '' + ID_Bearbeitungsvermerk_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bearbeitungsvermerk', pretty_print=pretty_print) + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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_('Objektname', node) + if value is not None and 'Objektname' not in already_processed: + already_processed.add('Objektname') + self.Objektname = value + self.validate_TObjektname(self.Objektname) # validate type TObjektname + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Bearbeitungsvermerk': + obj_ = TCID_Bearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bearbeitungsvermerk.append(obj_) + obj_.original_tagname_ = 'ID_Bearbeitungsvermerk' + elif nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGUID + self.validate_TGUID(self.Wert) +# end class TCID_Energie + + +class TCID_Regelzeichnung(GeneratedsSuper): + """ID_Bearbeitungsvermerk -- Verweist auf einen oder mehrere Bearbeitungsvermerke. Ein Anhang wird + ü + ber einen Bearbeitungsvermerk zugeordnet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Objektname='Regelzeichnung|Proxy_Objekt', ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Objektname = _cast(None, Objektname) + self.Objektname_nsprefix_ = None + if ID_Bearbeitungsvermerk is None: + self.ID_Bearbeitungsvermerk = [] + else: + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + self.ID_Bearbeitungsvermerk_nsprefix_ = None + self.Wert = Wert + self.validate_TGUID(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCID_Regelzeichnung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCID_Regelzeichnung.subclass: + return TCID_Regelzeichnung.subclass(*args_, **kwargs_) + else: + return TCID_Regelzeichnung(*args_, **kwargs_) + factory = staticmethod(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_Bearbeitungsvermerk(self): + return self.ID_Bearbeitungsvermerk + def set_ID_Bearbeitungsvermerk(self, ID_Bearbeitungsvermerk): + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + def add_ID_Bearbeitungsvermerk(self, value): + self.ID_Bearbeitungsvermerk.append(value) + def insert_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk.insert(index, value) + def replace_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk[index] = value + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def get_Objektname(self): + return self.Objektname + def set_Objektname(self, Objektname): + self.Objektname = Objektname + def validate_TGUID(self, value): + result = True + # Validate type TGUID, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGUID_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGUID_patterns_, )) + result = False + return result + validate_TGUID_patterns_ = [['^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$']] + def validate_TObjektname(self, value): + # Validate type nsBasisTypen:TObjektname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TObjektname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TObjektname_patterns_, )) + validate_TObjektname_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.ID_Bearbeitungsvermerk or + self.Wert is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Regelzeichnung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCID_Regelzeichnung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCID_Regelzeichnung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCID_Regelzeichnung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCID_Regelzeichnung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsVerweise:', name_='TCID_Regelzeichnung'): + if self.Objektname != 'Regelzeichnung|Proxy_Objekt' and 'Objektname' not in already_processed: + already_processed.add('Objektname') + outfile.write(' Objektname=%s' % (quote_attrib(self.Objektname), )) + def _exportChildren(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Regelzeichnung', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Bearbeitungsvermerk_ in self.ID_Bearbeitungsvermerk: + namespaceprefix_ = self.ID_Bearbeitungsvermerk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bearbeitungsvermerk_nsprefix_) else '' + ID_Bearbeitungsvermerk_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bearbeitungsvermerk', pretty_print=pretty_print) + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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_('Objektname', node) + if value is not None and 'Objektname' not in already_processed: + already_processed.add('Objektname') + self.Objektname = value + self.validate_TObjektname(self.Objektname) # validate type TObjektname + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Bearbeitungsvermerk': + obj_ = TCID_Bearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bearbeitungsvermerk.append(obj_) + obj_.original_tagname_ = 'ID_Bearbeitungsvermerk' + elif nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGUID + self.validate_TGUID(self.Wert) +# end class TCID_Regelzeichnung + + +class TCID_FMA_Komponente(GeneratedsSuper): + """ID_Bearbeitungsvermerk -- Verweist auf einen oder mehrere Bearbeitungsvermerke. Ein Anhang wird + ü + ber einen Bearbeitungsvermerk zugeordnet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Objektname='FMA_Komponente|Proxy_Objekt', ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Objektname = _cast(None, Objektname) + self.Objektname_nsprefix_ = None + if ID_Bearbeitungsvermerk is None: + self.ID_Bearbeitungsvermerk = [] + else: + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + self.ID_Bearbeitungsvermerk_nsprefix_ = None + self.Wert = Wert + self.validate_TGUID(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCID_FMA_Komponente) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCID_FMA_Komponente.subclass: + return TCID_FMA_Komponente.subclass(*args_, **kwargs_) + else: + return TCID_FMA_Komponente(*args_, **kwargs_) + factory = staticmethod(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_Bearbeitungsvermerk(self): + return self.ID_Bearbeitungsvermerk + def set_ID_Bearbeitungsvermerk(self, ID_Bearbeitungsvermerk): + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + def add_ID_Bearbeitungsvermerk(self, value): + self.ID_Bearbeitungsvermerk.append(value) + def insert_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk.insert(index, value) + def replace_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk[index] = value + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def get_Objektname(self): + return self.Objektname + def set_Objektname(self, Objektname): + self.Objektname = Objektname + def validate_TGUID(self, value): + result = True + # Validate type TGUID, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGUID_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGUID_patterns_, )) + result = False + return result + validate_TGUID_patterns_ = [['^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$']] + def validate_TObjektname(self, value): + # Validate type nsBasisTypen:TObjektname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TObjektname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TObjektname_patterns_, )) + validate_TObjektname_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.ID_Bearbeitungsvermerk or + self.Wert is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_FMA_Komponente', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCID_FMA_Komponente') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCID_FMA_Komponente': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCID_FMA_Komponente') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCID_FMA_Komponente', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsVerweise:', name_='TCID_FMA_Komponente'): + if self.Objektname != 'FMA_Komponente|Proxy_Objekt' and 'Objektname' not in already_processed: + already_processed.add('Objektname') + outfile.write(' Objektname=%s' % (quote_attrib(self.Objektname), )) + def _exportChildren(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_FMA_Komponente', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Bearbeitungsvermerk_ in self.ID_Bearbeitungsvermerk: + namespaceprefix_ = self.ID_Bearbeitungsvermerk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bearbeitungsvermerk_nsprefix_) else '' + ID_Bearbeitungsvermerk_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bearbeitungsvermerk', pretty_print=pretty_print) + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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_('Objektname', node) + if value is not None and 'Objektname' not in already_processed: + already_processed.add('Objektname') + self.Objektname = value + self.validate_TObjektname(self.Objektname) # validate type TObjektname + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Bearbeitungsvermerk': + obj_ = TCID_Bearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bearbeitungsvermerk.append(obj_) + obj_.original_tagname_ = 'ID_Bearbeitungsvermerk' + elif nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGUID + self.validate_TGUID(self.Wert) +# end class TCID_FMA_Komponente + + +class TCID_Trasse_Knoten(GeneratedsSuper): + """ID_Bearbeitungsvermerk -- Verweist auf einen oder mehrere Bearbeitungsvermerke. Ein Anhang wird + ü + ber einen Bearbeitungsvermerk zugeordnet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Objektname='Trasse_Knoten', ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Objektname = _cast(None, Objektname) + self.Objektname_nsprefix_ = None + if ID_Bearbeitungsvermerk is None: + self.ID_Bearbeitungsvermerk = [] + else: + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + self.ID_Bearbeitungsvermerk_nsprefix_ = None + self.Wert = Wert + self.validate_TGUID(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCID_Trasse_Knoten) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCID_Trasse_Knoten.subclass: + return TCID_Trasse_Knoten.subclass(*args_, **kwargs_) + else: + return TCID_Trasse_Knoten(*args_, **kwargs_) + factory = staticmethod(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_Bearbeitungsvermerk(self): + return self.ID_Bearbeitungsvermerk + def set_ID_Bearbeitungsvermerk(self, ID_Bearbeitungsvermerk): + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + def add_ID_Bearbeitungsvermerk(self, value): + self.ID_Bearbeitungsvermerk.append(value) + def insert_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk.insert(index, value) + def replace_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk[index] = value + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def get_Objektname(self): + return self.Objektname + def set_Objektname(self, Objektname): + self.Objektname = Objektname + def validate_TGUID(self, value): + result = True + # Validate type TGUID, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGUID_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGUID_patterns_, )) + result = False + return result + validate_TGUID_patterns_ = [['^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$']] + def validate_TObjektname(self, value): + # Validate type nsBasisTypen:TObjektname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TObjektname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TObjektname_patterns_, )) + validate_TObjektname_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.ID_Bearbeitungsvermerk or + self.Wert is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Trasse_Knoten', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCID_Trasse_Knoten') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCID_Trasse_Knoten': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCID_Trasse_Knoten') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCID_Trasse_Knoten', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsVerweise:', name_='TCID_Trasse_Knoten'): + if self.Objektname != 'Trasse_Knoten' and 'Objektname' not in already_processed: + already_processed.add('Objektname') + outfile.write(' Objektname=%s' % (quote_attrib(self.Objektname), )) + def _exportChildren(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Trasse_Knoten', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Bearbeitungsvermerk_ in self.ID_Bearbeitungsvermerk: + namespaceprefix_ = self.ID_Bearbeitungsvermerk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bearbeitungsvermerk_nsprefix_) else '' + ID_Bearbeitungsvermerk_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bearbeitungsvermerk', pretty_print=pretty_print) + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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_('Objektname', node) + if value is not None and 'Objektname' not in already_processed: + already_processed.add('Objektname') + self.Objektname = value + self.validate_TObjektname(self.Objektname) # validate type TObjektname + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Bearbeitungsvermerk': + obj_ = TCID_Bearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bearbeitungsvermerk.append(obj_) + obj_.original_tagname_ = 'ID_Bearbeitungsvermerk' + elif nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGUID + self.validate_TGUID(self.Wert) +# end class TCID_Trasse_Knoten + + +class TCID_PZB_Element_Mitnutzung(GeneratedsSuper): + """ID_Bearbeitungsvermerk -- Verweist auf einen oder mehrere Bearbeitungsvermerke. Ein Anhang wird + ü + ber einen Bearbeitungsvermerk zugeordnet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Objektname='PZB_Element', ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Objektname = _cast(None, Objektname) + self.Objektname_nsprefix_ = None + if ID_Bearbeitungsvermerk is None: + self.ID_Bearbeitungsvermerk = [] + else: + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + self.ID_Bearbeitungsvermerk_nsprefix_ = None + self.Wert = Wert + self.validate_TGUID(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCID_PZB_Element_Mitnutzung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCID_PZB_Element_Mitnutzung.subclass: + return TCID_PZB_Element_Mitnutzung.subclass(*args_, **kwargs_) + else: + return TCID_PZB_Element_Mitnutzung(*args_, **kwargs_) + factory = staticmethod(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_Bearbeitungsvermerk(self): + return self.ID_Bearbeitungsvermerk + def set_ID_Bearbeitungsvermerk(self, ID_Bearbeitungsvermerk): + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + def add_ID_Bearbeitungsvermerk(self, value): + self.ID_Bearbeitungsvermerk.append(value) + def insert_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk.insert(index, value) + def replace_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk[index] = value + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def get_Objektname(self): + return self.Objektname + def set_Objektname(self, Objektname): + self.Objektname = Objektname + def validate_TGUID(self, value): + result = True + # Validate type TGUID, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGUID_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGUID_patterns_, )) + result = False + return result + validate_TGUID_patterns_ = [['^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$']] + def validate_TObjektname(self, value): + # Validate type nsBasisTypen:TObjektname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TObjektname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TObjektname_patterns_, )) + validate_TObjektname_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.ID_Bearbeitungsvermerk or + self.Wert is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_PZB_Element_Mitnutzung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCID_PZB_Element_Mitnutzung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCID_PZB_Element_Mitnutzung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCID_PZB_Element_Mitnutzung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCID_PZB_Element_Mitnutzung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsVerweise:', name_='TCID_PZB_Element_Mitnutzung'): + if self.Objektname != 'PZB_Element' and 'Objektname' not in already_processed: + already_processed.add('Objektname') + outfile.write(' Objektname=%s' % (quote_attrib(self.Objektname), )) + def _exportChildren(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_PZB_Element_Mitnutzung', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Bearbeitungsvermerk_ in self.ID_Bearbeitungsvermerk: + namespaceprefix_ = self.ID_Bearbeitungsvermerk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bearbeitungsvermerk_nsprefix_) else '' + ID_Bearbeitungsvermerk_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bearbeitungsvermerk', pretty_print=pretty_print) + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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_('Objektname', node) + if value is not None and 'Objektname' not in already_processed: + already_processed.add('Objektname') + self.Objektname = value + self.validate_TObjektname(self.Objektname) # validate type TObjektname + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Bearbeitungsvermerk': + obj_ = TCID_Bearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bearbeitungsvermerk.append(obj_) + obj_.original_tagname_ = 'ID_Bearbeitungsvermerk' + elif nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGUID + self.validate_TGUID(self.Wert) +# end class TCID_PZB_Element_Mitnutzung + + +class TCID_Element_Unterbringung(GeneratedsSuper): + """ID_Bearbeitungsvermerk -- Verweist auf einen oder mehrere Bearbeitungsvermerke. Ein Anhang wird + ü + ber einen Bearbeitungsvermerk zugeordnet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Objektname='LEU_Schaltkasten|Unterbringung|Proxy_Objekt', ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Objektname = _cast(None, Objektname) + self.Objektname_nsprefix_ = None + if ID_Bearbeitungsvermerk is None: + self.ID_Bearbeitungsvermerk = [] + else: + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + self.ID_Bearbeitungsvermerk_nsprefix_ = None + self.Wert = Wert + self.validate_TGUID(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCID_Element_Unterbringung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCID_Element_Unterbringung.subclass: + return TCID_Element_Unterbringung.subclass(*args_, **kwargs_) + else: + return TCID_Element_Unterbringung(*args_, **kwargs_) + factory = staticmethod(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_Bearbeitungsvermerk(self): + return self.ID_Bearbeitungsvermerk + def set_ID_Bearbeitungsvermerk(self, ID_Bearbeitungsvermerk): + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + def add_ID_Bearbeitungsvermerk(self, value): + self.ID_Bearbeitungsvermerk.append(value) + def insert_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk.insert(index, value) + def replace_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk[index] = value + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def get_Objektname(self): + return self.Objektname + def set_Objektname(self, Objektname): + self.Objektname = Objektname + def validate_TGUID(self, value): + result = True + # Validate type TGUID, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGUID_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGUID_patterns_, )) + result = False + return result + validate_TGUID_patterns_ = [['^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$']] + def validate_TObjektname(self, value): + # Validate type nsBasisTypen:TObjektname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TObjektname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TObjektname_patterns_, )) + validate_TObjektname_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.ID_Bearbeitungsvermerk or + self.Wert is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Element_Unterbringung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCID_Element_Unterbringung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCID_Element_Unterbringung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCID_Element_Unterbringung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCID_Element_Unterbringung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsVerweise:', name_='TCID_Element_Unterbringung'): + if self.Objektname != 'LEU_Schaltkasten|Unterbringung|Proxy_Objekt' and 'Objektname' not in already_processed: + already_processed.add('Objektname') + outfile.write(' Objektname=%s' % (quote_attrib(self.Objektname), )) + def _exportChildren(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Element_Unterbringung', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Bearbeitungsvermerk_ in self.ID_Bearbeitungsvermerk: + namespaceprefix_ = self.ID_Bearbeitungsvermerk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bearbeitungsvermerk_nsprefix_) else '' + ID_Bearbeitungsvermerk_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bearbeitungsvermerk', pretty_print=pretty_print) + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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_('Objektname', node) + if value is not None and 'Objektname' not in already_processed: + already_processed.add('Objektname') + self.Objektname = value + self.validate_TObjektname(self.Objektname) # validate type TObjektname + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Bearbeitungsvermerk': + obj_ = TCID_Bearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bearbeitungsvermerk.append(obj_) + obj_.original_tagname_ = 'ID_Bearbeitungsvermerk' + elif nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGUID + self.validate_TGUID(self.Wert) +# end class TCID_Element_Unterbringung + + +class TCID_Fstr_Fahrweg(GeneratedsSuper): + """ID_Bearbeitungsvermerk -- Verweist auf einen oder mehrere Bearbeitungsvermerke. Ein Anhang wird + ü + ber einen Bearbeitungsvermerk zugeordnet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Objektname='Fstr_Fahrweg|Proxy_Objekt', ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Objektname = _cast(None, Objektname) + self.Objektname_nsprefix_ = None + if ID_Bearbeitungsvermerk is None: + self.ID_Bearbeitungsvermerk = [] + else: + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + self.ID_Bearbeitungsvermerk_nsprefix_ = None + self.Wert = Wert + self.validate_TGUID(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCID_Fstr_Fahrweg) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCID_Fstr_Fahrweg.subclass: + return TCID_Fstr_Fahrweg.subclass(*args_, **kwargs_) + else: + return TCID_Fstr_Fahrweg(*args_, **kwargs_) + factory = staticmethod(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_Bearbeitungsvermerk(self): + return self.ID_Bearbeitungsvermerk + def set_ID_Bearbeitungsvermerk(self, ID_Bearbeitungsvermerk): + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + def add_ID_Bearbeitungsvermerk(self, value): + self.ID_Bearbeitungsvermerk.append(value) + def insert_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk.insert(index, value) + def replace_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk[index] = value + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def get_Objektname(self): + return self.Objektname + def set_Objektname(self, Objektname): + self.Objektname = Objektname + def validate_TGUID(self, value): + result = True + # Validate type TGUID, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGUID_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGUID_patterns_, )) + result = False + return result + validate_TGUID_patterns_ = [['^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$']] + def validate_TObjektname(self, value): + # Validate type nsBasisTypen:TObjektname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TObjektname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TObjektname_patterns_, )) + validate_TObjektname_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.ID_Bearbeitungsvermerk or + self.Wert is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Fstr_Fahrweg', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCID_Fstr_Fahrweg') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCID_Fstr_Fahrweg': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCID_Fstr_Fahrweg') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCID_Fstr_Fahrweg', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsVerweise:', name_='TCID_Fstr_Fahrweg'): + if self.Objektname != 'Fstr_Fahrweg|Proxy_Objekt' and 'Objektname' not in already_processed: + already_processed.add('Objektname') + outfile.write(' Objektname=%s' % (quote_attrib(self.Objektname), )) + def _exportChildren(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Fstr_Fahrweg', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Bearbeitungsvermerk_ in self.ID_Bearbeitungsvermerk: + namespaceprefix_ = self.ID_Bearbeitungsvermerk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bearbeitungsvermerk_nsprefix_) else '' + ID_Bearbeitungsvermerk_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bearbeitungsvermerk', pretty_print=pretty_print) + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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_('Objektname', node) + if value is not None and 'Objektname' not in already_processed: + already_processed.add('Objektname') + self.Objektname = value + self.validate_TObjektname(self.Objektname) # validate type TObjektname + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Bearbeitungsvermerk': + obj_ = TCID_Bearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bearbeitungsvermerk.append(obj_) + obj_.original_tagname_ = 'ID_Bearbeitungsvermerk' + elif nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGUID + self.validate_TGUID(self.Wert) +# end class TCID_Fstr_Fahrweg + + +class TCID_Verknuepftes_Element(GeneratedsSuper): + """ID_Bearbeitungsvermerk -- Verweist auf einen oder mehrere Bearbeitungsvermerke. Ein Anhang wird + ü + ber einen Bearbeitungsvermerk zugeordnet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Objektname='Signal|W_Kr_Gsp_Element|Proxy_Objekt', ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Objektname = _cast(None, Objektname) + self.Objektname_nsprefix_ = None + if ID_Bearbeitungsvermerk is None: + self.ID_Bearbeitungsvermerk = [] + else: + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + self.ID_Bearbeitungsvermerk_nsprefix_ = None + self.Wert = Wert + self.validate_TGUID(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCID_Verknuepftes_Element) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCID_Verknuepftes_Element.subclass: + return TCID_Verknuepftes_Element.subclass(*args_, **kwargs_) + else: + return TCID_Verknuepftes_Element(*args_, **kwargs_) + factory = staticmethod(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_Bearbeitungsvermerk(self): + return self.ID_Bearbeitungsvermerk + def set_ID_Bearbeitungsvermerk(self, ID_Bearbeitungsvermerk): + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + def add_ID_Bearbeitungsvermerk(self, value): + self.ID_Bearbeitungsvermerk.append(value) + def insert_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk.insert(index, value) + def replace_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk[index] = value + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def get_Objektname(self): + return self.Objektname + def set_Objektname(self, Objektname): + self.Objektname = Objektname + def validate_TGUID(self, value): + result = True + # Validate type TGUID, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGUID_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGUID_patterns_, )) + result = False + return result + validate_TGUID_patterns_ = [['^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$']] + def validate_TObjektname(self, value): + # Validate type nsBasisTypen:TObjektname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TObjektname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TObjektname_patterns_, )) + validate_TObjektname_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.ID_Bearbeitungsvermerk or + self.Wert is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Verknuepftes_Element', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCID_Verknuepftes_Element') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCID_Verknuepftes_Element': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCID_Verknuepftes_Element') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCID_Verknuepftes_Element', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsVerweise:', name_='TCID_Verknuepftes_Element'): + if self.Objektname != 'Signal|W_Kr_Gsp_Element|Proxy_Objekt' and 'Objektname' not in already_processed: + already_processed.add('Objektname') + outfile.write(' Objektname=%s' % (quote_attrib(self.Objektname), )) + def _exportChildren(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Verknuepftes_Element', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Bearbeitungsvermerk_ in self.ID_Bearbeitungsvermerk: + namespaceprefix_ = self.ID_Bearbeitungsvermerk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bearbeitungsvermerk_nsprefix_) else '' + ID_Bearbeitungsvermerk_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bearbeitungsvermerk', pretty_print=pretty_print) + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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_('Objektname', node) + if value is not None and 'Objektname' not in already_processed: + already_processed.add('Objektname') + self.Objektname = value + self.validate_TObjektname(self.Objektname) # validate type TObjektname + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Bearbeitungsvermerk': + obj_ = TCID_Bearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bearbeitungsvermerk.append(obj_) + obj_.original_tagname_ = 'ID_Bearbeitungsvermerk' + elif nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGUID + self.validate_TGUID(self.Wert) +# end class TCID_Verknuepftes_Element + + +class TCID_Signal_ohne_Proxy(GeneratedsSuper): + """ID_Bearbeitungsvermerk -- Verweist auf einen oder mehrere Bearbeitungsvermerke. Ein Anhang wird + ü + ber einen Bearbeitungsvermerk zugeordnet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Objektname='Signal', ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Objektname = _cast(None, Objektname) + self.Objektname_nsprefix_ = None + if ID_Bearbeitungsvermerk is None: + self.ID_Bearbeitungsvermerk = [] + else: + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + self.ID_Bearbeitungsvermerk_nsprefix_ = None + self.Wert = Wert + self.validate_TGUID(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCID_Signal_ohne_Proxy) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCID_Signal_ohne_Proxy.subclass: + return TCID_Signal_ohne_Proxy.subclass(*args_, **kwargs_) + else: + return TCID_Signal_ohne_Proxy(*args_, **kwargs_) + factory = staticmethod(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_Bearbeitungsvermerk(self): + return self.ID_Bearbeitungsvermerk + def set_ID_Bearbeitungsvermerk(self, ID_Bearbeitungsvermerk): + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + def add_ID_Bearbeitungsvermerk(self, value): + self.ID_Bearbeitungsvermerk.append(value) + def insert_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk.insert(index, value) + def replace_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk[index] = value + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def get_Objektname(self): + return self.Objektname + def set_Objektname(self, Objektname): + self.Objektname = Objektname + def validate_TGUID(self, value): + result = True + # Validate type TGUID, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGUID_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGUID_patterns_, )) + result = False + return result + validate_TGUID_patterns_ = [['^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$']] + def validate_TObjektname(self, value): + # Validate type nsBasisTypen:TObjektname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TObjektname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TObjektname_patterns_, )) + validate_TObjektname_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.ID_Bearbeitungsvermerk or + self.Wert is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Signal_ohne_Proxy', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCID_Signal_ohne_Proxy') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCID_Signal_ohne_Proxy': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCID_Signal_ohne_Proxy') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCID_Signal_ohne_Proxy', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsVerweise:', name_='TCID_Signal_ohne_Proxy'): + if self.Objektname != 'Signal' and 'Objektname' not in already_processed: + already_processed.add('Objektname') + outfile.write(' Objektname=%s' % (quote_attrib(self.Objektname), )) + def _exportChildren(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Signal_ohne_Proxy', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Bearbeitungsvermerk_ in self.ID_Bearbeitungsvermerk: + namespaceprefix_ = self.ID_Bearbeitungsvermerk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bearbeitungsvermerk_nsprefix_) else '' + ID_Bearbeitungsvermerk_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bearbeitungsvermerk', pretty_print=pretty_print) + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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_('Objektname', node) + if value is not None and 'Objektname' not in already_processed: + already_processed.add('Objektname') + self.Objektname = value + self.validate_TObjektname(self.Objektname) # validate type TObjektname + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Bearbeitungsvermerk': + obj_ = TCID_Bearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bearbeitungsvermerk.append(obj_) + obj_.original_tagname_ = 'ID_Bearbeitungsvermerk' + elif nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGUID + self.validate_TGUID(self.Wert) +# end class TCID_Signal_ohne_Proxy + + +class TCID_BUE_Anlage(GeneratedsSuper): + """ID_Bearbeitungsvermerk -- Verweist auf einen oder mehrere Bearbeitungsvermerke. Ein Anhang wird + ü + ber einen Bearbeitungsvermerk zugeordnet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Objektname='BUE_Anlage|Proxy_Objekt', ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Objektname = _cast(None, Objektname) + self.Objektname_nsprefix_ = None + if ID_Bearbeitungsvermerk is None: + self.ID_Bearbeitungsvermerk = [] + else: + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + self.ID_Bearbeitungsvermerk_nsprefix_ = None + self.Wert = Wert + self.validate_TGUID(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCID_BUE_Anlage) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCID_BUE_Anlage.subclass: + return TCID_BUE_Anlage.subclass(*args_, **kwargs_) + else: + return TCID_BUE_Anlage(*args_, **kwargs_) + factory = staticmethod(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_Bearbeitungsvermerk(self): + return self.ID_Bearbeitungsvermerk + def set_ID_Bearbeitungsvermerk(self, ID_Bearbeitungsvermerk): + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + def add_ID_Bearbeitungsvermerk(self, value): + self.ID_Bearbeitungsvermerk.append(value) + def insert_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk.insert(index, value) + def replace_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk[index] = value + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def get_Objektname(self): + return self.Objektname + def set_Objektname(self, Objektname): + self.Objektname = Objektname + def validate_TGUID(self, value): + result = True + # Validate type TGUID, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGUID_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGUID_patterns_, )) + result = False + return result + validate_TGUID_patterns_ = [['^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$']] + def validate_TObjektname(self, value): + # Validate type nsBasisTypen:TObjektname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TObjektname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TObjektname_patterns_, )) + validate_TObjektname_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.ID_Bearbeitungsvermerk or + self.Wert is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_BUE_Anlage', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCID_BUE_Anlage') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCID_BUE_Anlage': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCID_BUE_Anlage') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCID_BUE_Anlage', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsVerweise:', name_='TCID_BUE_Anlage'): + if self.Objektname != 'BUE_Anlage|Proxy_Objekt' and 'Objektname' not in already_processed: + already_processed.add('Objektname') + outfile.write(' Objektname=%s' % (quote_attrib(self.Objektname), )) + def _exportChildren(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_BUE_Anlage', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Bearbeitungsvermerk_ in self.ID_Bearbeitungsvermerk: + namespaceprefix_ = self.ID_Bearbeitungsvermerk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bearbeitungsvermerk_nsprefix_) else '' + ID_Bearbeitungsvermerk_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bearbeitungsvermerk', pretty_print=pretty_print) + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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_('Objektname', node) + if value is not None and 'Objektname' not in already_processed: + already_processed.add('Objektname') + self.Objektname = value + self.validate_TObjektname(self.Objektname) # validate type TObjektname + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Bearbeitungsvermerk': + obj_ = TCID_Bearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bearbeitungsvermerk.append(obj_) + obj_.original_tagname_ = 'ID_Bearbeitungsvermerk' + elif nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGUID + self.validate_TGUID(self.Wert) +# end class TCID_BUE_Anlage + + +class TCID_GEO_Art(GeneratedsSuper): + """ID_Bearbeitungsvermerk -- Verweist auf einen oder mehrere Bearbeitungsvermerke. Ein Anhang wird + ü + ber einen Bearbeitungsvermerk zugeordnet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Objektname='TOP_Kante|Strecke|Proxy_Objekt|Trasse_Kante', ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Objektname = _cast(None, Objektname) + self.Objektname_nsprefix_ = None + if ID_Bearbeitungsvermerk is None: + self.ID_Bearbeitungsvermerk = [] + else: + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + self.ID_Bearbeitungsvermerk_nsprefix_ = None + self.Wert = Wert + self.validate_TGUID(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCID_GEO_Art) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCID_GEO_Art.subclass: + return TCID_GEO_Art.subclass(*args_, **kwargs_) + else: + return TCID_GEO_Art(*args_, **kwargs_) + factory = staticmethod(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_Bearbeitungsvermerk(self): + return self.ID_Bearbeitungsvermerk + def set_ID_Bearbeitungsvermerk(self, ID_Bearbeitungsvermerk): + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + def add_ID_Bearbeitungsvermerk(self, value): + self.ID_Bearbeitungsvermerk.append(value) + def insert_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk.insert(index, value) + def replace_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk[index] = value + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def get_Objektname(self): + return self.Objektname + def set_Objektname(self, Objektname): + self.Objektname = Objektname + def validate_TGUID(self, value): + result = True + # Validate type TGUID, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGUID_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGUID_patterns_, )) + result = False + return result + validate_TGUID_patterns_ = [['^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$']] + def validate_TObjektname(self, value): + # Validate type nsBasisTypen:TObjektname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TObjektname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TObjektname_patterns_, )) + validate_TObjektname_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.ID_Bearbeitungsvermerk or + self.Wert is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_GEO_Art', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCID_GEO_Art') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCID_GEO_Art': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCID_GEO_Art') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCID_GEO_Art', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsVerweise:', name_='TCID_GEO_Art'): + if self.Objektname != 'TOP_Kante|Strecke|Proxy_Objekt|Trasse_Kante' and 'Objektname' not in already_processed: + already_processed.add('Objektname') + outfile.write(' Objektname=%s' % (quote_attrib(self.Objektname), )) + def _exportChildren(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_GEO_Art', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Bearbeitungsvermerk_ in self.ID_Bearbeitungsvermerk: + namespaceprefix_ = self.ID_Bearbeitungsvermerk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bearbeitungsvermerk_nsprefix_) else '' + ID_Bearbeitungsvermerk_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bearbeitungsvermerk', pretty_print=pretty_print) + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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_('Objektname', node) + if value is not None and 'Objektname' not in already_processed: + already_processed.add('Objektname') + self.Objektname = value + self.validate_TObjektname(self.Objektname) # validate type TObjektname + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Bearbeitungsvermerk': + obj_ = TCID_Bearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bearbeitungsvermerk.append(obj_) + obj_.original_tagname_ = 'ID_Bearbeitungsvermerk' + elif nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGUID + self.validate_TGUID(self.Wert) +# end class TCID_GEO_Art + + +class TCID_Bedien_Einrichtung_Oertlich(GeneratedsSuper): + """ID_Bearbeitungsvermerk -- Verweist auf einen oder mehrere Bearbeitungsvermerke. Ein Anhang wird + ü + ber einen Bearbeitungsvermerk zugeordnet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Objektname='Bedien_Einrichtung_Oertlich|Proxy_Objekt', ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Objektname = _cast(None, Objektname) + self.Objektname_nsprefix_ = None + if ID_Bearbeitungsvermerk is None: + self.ID_Bearbeitungsvermerk = [] + else: + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + self.ID_Bearbeitungsvermerk_nsprefix_ = None + self.Wert = Wert + self.validate_TGUID(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCID_Bedien_Einrichtung_Oertlich) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCID_Bedien_Einrichtung_Oertlich.subclass: + return TCID_Bedien_Einrichtung_Oertlich.subclass(*args_, **kwargs_) + else: + return TCID_Bedien_Einrichtung_Oertlich(*args_, **kwargs_) + factory = staticmethod(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_Bearbeitungsvermerk(self): + return self.ID_Bearbeitungsvermerk + def set_ID_Bearbeitungsvermerk(self, ID_Bearbeitungsvermerk): + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + def add_ID_Bearbeitungsvermerk(self, value): + self.ID_Bearbeitungsvermerk.append(value) + def insert_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk.insert(index, value) + def replace_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk[index] = value + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def get_Objektname(self): + return self.Objektname + def set_Objektname(self, Objektname): + self.Objektname = Objektname + def validate_TGUID(self, value): + result = True + # Validate type TGUID, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGUID_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGUID_patterns_, )) + result = False + return result + validate_TGUID_patterns_ = [['^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$']] + def validate_TObjektname(self, value): + # Validate type nsBasisTypen:TObjektname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TObjektname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TObjektname_patterns_, )) + validate_TObjektname_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.ID_Bearbeitungsvermerk or + self.Wert is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Bedien_Einrichtung_Oertlich', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCID_Bedien_Einrichtung_Oertlich') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCID_Bedien_Einrichtung_Oertlich': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCID_Bedien_Einrichtung_Oertlich') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCID_Bedien_Einrichtung_Oertlich', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsVerweise:', name_='TCID_Bedien_Einrichtung_Oertlich'): + if self.Objektname != 'Bedien_Einrichtung_Oertlich|Proxy_Objekt' and 'Objektname' not in already_processed: + already_processed.add('Objektname') + outfile.write(' Objektname=%s' % (quote_attrib(self.Objektname), )) + def _exportChildren(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Bedien_Einrichtung_Oertlich', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Bearbeitungsvermerk_ in self.ID_Bearbeitungsvermerk: + namespaceprefix_ = self.ID_Bearbeitungsvermerk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bearbeitungsvermerk_nsprefix_) else '' + ID_Bearbeitungsvermerk_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bearbeitungsvermerk', pretty_print=pretty_print) + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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_('Objektname', node) + if value is not None and 'Objektname' not in already_processed: + already_processed.add('Objektname') + self.Objektname = value + self.validate_TObjektname(self.Objektname) # validate type TObjektname + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Bearbeitungsvermerk': + obj_ = TCID_Bearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bearbeitungsvermerk.append(obj_) + obj_.original_tagname_ = 'ID_Bearbeitungsvermerk' + elif nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGUID + self.validate_TGUID(self.Wert) +# end class TCID_Bedien_Einrichtung_Oertlich + + +class TCID_Ur_Objekt(GeneratedsSuper): + """ID_Bearbeitungsvermerk -- Verweist auf einen oder mehrere Bearbeitungsvermerke. Ein Anhang wird + ü + ber einen Bearbeitungsvermerk zugeordnet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Objektname='Ur_Objekt|Proxy_Objekt', ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Objektname = _cast(None, Objektname) + self.Objektname_nsprefix_ = None + if ID_Bearbeitungsvermerk is None: + self.ID_Bearbeitungsvermerk = [] + else: + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + self.ID_Bearbeitungsvermerk_nsprefix_ = None + self.Wert = Wert + self.validate_TGUID(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCID_Ur_Objekt) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCID_Ur_Objekt.subclass: + return TCID_Ur_Objekt.subclass(*args_, **kwargs_) + else: + return TCID_Ur_Objekt(*args_, **kwargs_) + factory = staticmethod(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_Bearbeitungsvermerk(self): + return self.ID_Bearbeitungsvermerk + def set_ID_Bearbeitungsvermerk(self, ID_Bearbeitungsvermerk): + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + def add_ID_Bearbeitungsvermerk(self, value): + self.ID_Bearbeitungsvermerk.append(value) + def insert_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk.insert(index, value) + def replace_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk[index] = value + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def get_Objektname(self): + return self.Objektname + def set_Objektname(self, Objektname): + self.Objektname = Objektname + def validate_TGUID(self, value): + result = True + # Validate type TGUID, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGUID_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGUID_patterns_, )) + result = False + return result + validate_TGUID_patterns_ = [['^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$']] + def validate_TObjektname(self, value): + # Validate type nsBasisTypen:TObjektname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TObjektname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TObjektname_patterns_, )) + validate_TObjektname_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.ID_Bearbeitungsvermerk or + self.Wert is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Ur_Objekt', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCID_Ur_Objekt') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCID_Ur_Objekt': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCID_Ur_Objekt') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCID_Ur_Objekt', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsVerweise:', name_='TCID_Ur_Objekt'): + if self.Objektname != 'Ur_Objekt|Proxy_Objekt' and 'Objektname' not in already_processed: + already_processed.add('Objektname') + outfile.write(' Objektname=%s' % (quote_attrib(self.Objektname), )) + def _exportChildren(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Ur_Objekt', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Bearbeitungsvermerk_ in self.ID_Bearbeitungsvermerk: + namespaceprefix_ = self.ID_Bearbeitungsvermerk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bearbeitungsvermerk_nsprefix_) else '' + ID_Bearbeitungsvermerk_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bearbeitungsvermerk', pretty_print=pretty_print) + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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_('Objektname', node) + if value is not None and 'Objektname' not in already_processed: + already_processed.add('Objektname') + self.Objektname = value + self.validate_TObjektname(self.Objektname) # validate type TObjektname + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Bearbeitungsvermerk': + obj_ = TCID_Bearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bearbeitungsvermerk.append(obj_) + obj_.original_tagname_ = 'ID_Bearbeitungsvermerk' + elif nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGUID + self.validate_TGUID(self.Wert) +# end class TCID_Ur_Objekt + + +class TCID_Aussenelementansteuerung_ohne_Proxy(GeneratedsSuper): + """ID_Bearbeitungsvermerk -- Verweist auf einen oder mehrere Bearbeitungsvermerke. Ein Anhang wird + ü + ber einen Bearbeitungsvermerk zugeordnet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Objektname='Aussenelementansteuerung', ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Objektname = _cast(None, Objektname) + self.Objektname_nsprefix_ = None + if ID_Bearbeitungsvermerk is None: + self.ID_Bearbeitungsvermerk = [] + else: + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + self.ID_Bearbeitungsvermerk_nsprefix_ = None + self.Wert = Wert + self.validate_TGUID(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCID_Aussenelementansteuerung_ohne_Proxy) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCID_Aussenelementansteuerung_ohne_Proxy.subclass: + return TCID_Aussenelementansteuerung_ohne_Proxy.subclass(*args_, **kwargs_) + else: + return TCID_Aussenelementansteuerung_ohne_Proxy(*args_, **kwargs_) + factory = staticmethod(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_Bearbeitungsvermerk(self): + return self.ID_Bearbeitungsvermerk + def set_ID_Bearbeitungsvermerk(self, ID_Bearbeitungsvermerk): + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + def add_ID_Bearbeitungsvermerk(self, value): + self.ID_Bearbeitungsvermerk.append(value) + def insert_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk.insert(index, value) + def replace_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk[index] = value + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def get_Objektname(self): + return self.Objektname + def set_Objektname(self, Objektname): + self.Objektname = Objektname + def validate_TGUID(self, value): + result = True + # Validate type TGUID, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGUID_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGUID_patterns_, )) + result = False + return result + validate_TGUID_patterns_ = [['^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$']] + def validate_TObjektname(self, value): + # Validate type nsBasisTypen:TObjektname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TObjektname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TObjektname_patterns_, )) + validate_TObjektname_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.ID_Bearbeitungsvermerk or + self.Wert is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Aussenelementansteuerung_ohne_Proxy', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCID_Aussenelementansteuerung_ohne_Proxy') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCID_Aussenelementansteuerung_ohne_Proxy': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCID_Aussenelementansteuerung_ohne_Proxy') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCID_Aussenelementansteuerung_ohne_Proxy', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsVerweise:', name_='TCID_Aussenelementansteuerung_ohne_Proxy'): + if self.Objektname != 'Aussenelementansteuerung' and 'Objektname' not in already_processed: + already_processed.add('Objektname') + outfile.write(' Objektname=%s' % (quote_attrib(self.Objektname), )) + def _exportChildren(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Aussenelementansteuerung_ohne_Proxy', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Bearbeitungsvermerk_ in self.ID_Bearbeitungsvermerk: + namespaceprefix_ = self.ID_Bearbeitungsvermerk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bearbeitungsvermerk_nsprefix_) else '' + ID_Bearbeitungsvermerk_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bearbeitungsvermerk', pretty_print=pretty_print) + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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_('Objektname', node) + if value is not None and 'Objektname' not in already_processed: + already_processed.add('Objektname') + self.Objektname = value + self.validate_TObjektname(self.Objektname) # validate type TObjektname + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Bearbeitungsvermerk': + obj_ = TCID_Bearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bearbeitungsvermerk.append(obj_) + obj_.original_tagname_ = 'ID_Bearbeitungsvermerk' + elif nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGUID + self.validate_TGUID(self.Wert) +# end class TCID_Aussenelementansteuerung_ohne_Proxy + + +class TCID_Signal_Signalbegriff(GeneratedsSuper): + """ID_Bearbeitungsvermerk -- Verweist auf einen oder mehrere Bearbeitungsvermerke. Ein Anhang wird + ü + ber einen Bearbeitungsvermerk zugeordnet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Objektname='Signal_Signalbegriff|Proxy_Objekt', ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Objektname = _cast(None, Objektname) + self.Objektname_nsprefix_ = None + if ID_Bearbeitungsvermerk is None: + self.ID_Bearbeitungsvermerk = [] + else: + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + self.ID_Bearbeitungsvermerk_nsprefix_ = None + self.Wert = Wert + self.validate_TGUID(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCID_Signal_Signalbegriff) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCID_Signal_Signalbegriff.subclass: + return TCID_Signal_Signalbegriff.subclass(*args_, **kwargs_) + else: + return TCID_Signal_Signalbegriff(*args_, **kwargs_) + factory = staticmethod(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_Bearbeitungsvermerk(self): + return self.ID_Bearbeitungsvermerk + def set_ID_Bearbeitungsvermerk(self, ID_Bearbeitungsvermerk): + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + def add_ID_Bearbeitungsvermerk(self, value): + self.ID_Bearbeitungsvermerk.append(value) + def insert_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk.insert(index, value) + def replace_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk[index] = value + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def get_Objektname(self): + return self.Objektname + def set_Objektname(self, Objektname): + self.Objektname = Objektname + def validate_TGUID(self, value): + result = True + # Validate type TGUID, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGUID_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGUID_patterns_, )) + result = False + return result + validate_TGUID_patterns_ = [['^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$']] + def validate_TObjektname(self, value): + # Validate type nsBasisTypen:TObjektname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TObjektname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TObjektname_patterns_, )) + validate_TObjektname_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.ID_Bearbeitungsvermerk or + self.Wert is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Signal_Signalbegriff', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCID_Signal_Signalbegriff') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCID_Signal_Signalbegriff': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCID_Signal_Signalbegriff') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCID_Signal_Signalbegriff', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsVerweise:', name_='TCID_Signal_Signalbegriff'): + if self.Objektname != 'Signal_Signalbegriff|Proxy_Objekt' and 'Objektname' not in already_processed: + already_processed.add('Objektname') + outfile.write(' Objektname=%s' % (quote_attrib(self.Objektname), )) + def _exportChildren(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Signal_Signalbegriff', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Bearbeitungsvermerk_ in self.ID_Bearbeitungsvermerk: + namespaceprefix_ = self.ID_Bearbeitungsvermerk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bearbeitungsvermerk_nsprefix_) else '' + ID_Bearbeitungsvermerk_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bearbeitungsvermerk', pretty_print=pretty_print) + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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_('Objektname', node) + if value is not None and 'Objektname' not in already_processed: + already_processed.add('Objektname') + self.Objektname = value + self.validate_TObjektname(self.Objektname) # validate type TObjektname + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Bearbeitungsvermerk': + obj_ = TCID_Bearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bearbeitungsvermerk.append(obj_) + obj_.original_tagname_ = 'ID_Bearbeitungsvermerk' + elif nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGUID + self.validate_TGUID(self.Wert) +# end class TCID_Signal_Signalbegriff + + +class TCID_PlanPro_Schnittstelle(GeneratedsSuper): + """ID_Bearbeitungsvermerk -- Verweist auf einen oder mehrere Bearbeitungsvermerke. Ein Anhang wird + ü + ber einen Bearbeitungsvermerk zugeordnet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Objektname='PlanPro_Schnittstelle|Proxy_Objekt', ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Objektname = _cast(None, Objektname) + self.Objektname_nsprefix_ = None + if ID_Bearbeitungsvermerk is None: + self.ID_Bearbeitungsvermerk = [] + else: + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + self.ID_Bearbeitungsvermerk_nsprefix_ = None + self.Wert = Wert + self.validate_TGUID(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCID_PlanPro_Schnittstelle) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCID_PlanPro_Schnittstelle.subclass: + return TCID_PlanPro_Schnittstelle.subclass(*args_, **kwargs_) + else: + return TCID_PlanPro_Schnittstelle(*args_, **kwargs_) + factory = staticmethod(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_Bearbeitungsvermerk(self): + return self.ID_Bearbeitungsvermerk + def set_ID_Bearbeitungsvermerk(self, ID_Bearbeitungsvermerk): + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + def add_ID_Bearbeitungsvermerk(self, value): + self.ID_Bearbeitungsvermerk.append(value) + def insert_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk.insert(index, value) + def replace_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk[index] = value + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def get_Objektname(self): + return self.Objektname + def set_Objektname(self, Objektname): + self.Objektname = Objektname + def validate_TGUID(self, value): + result = True + # Validate type TGUID, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGUID_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGUID_patterns_, )) + result = False + return result + validate_TGUID_patterns_ = [['^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$']] + def validate_TObjektname(self, value): + # Validate type nsBasisTypen:TObjektname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TObjektname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TObjektname_patterns_, )) + validate_TObjektname_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.ID_Bearbeitungsvermerk or + self.Wert is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_PlanPro_Schnittstelle', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCID_PlanPro_Schnittstelle') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCID_PlanPro_Schnittstelle': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCID_PlanPro_Schnittstelle') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCID_PlanPro_Schnittstelle', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsVerweise:', name_='TCID_PlanPro_Schnittstelle'): + if self.Objektname != 'PlanPro_Schnittstelle|Proxy_Objekt' and 'Objektname' not in already_processed: + already_processed.add('Objektname') + outfile.write(' Objektname=%s' % (quote_attrib(self.Objektname), )) + def _exportChildren(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_PlanPro_Schnittstelle', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Bearbeitungsvermerk_ in self.ID_Bearbeitungsvermerk: + namespaceprefix_ = self.ID_Bearbeitungsvermerk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bearbeitungsvermerk_nsprefix_) else '' + ID_Bearbeitungsvermerk_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bearbeitungsvermerk', pretty_print=pretty_print) + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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_('Objektname', node) + if value is not None and 'Objektname' not in already_processed: + already_processed.add('Objektname') + self.Objektname = value + self.validate_TObjektname(self.Objektname) # validate type TObjektname + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Bearbeitungsvermerk': + obj_ = TCID_Bearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bearbeitungsvermerk.append(obj_) + obj_.original_tagname_ = 'ID_Bearbeitungsvermerk' + elif nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGUID + self.validate_TGUID(self.Wert) +# end class TCID_PlanPro_Schnittstelle + + +class TCID_Oertlichkeit_Ausgabe(GeneratedsSuper): + """ID_Bearbeitungsvermerk -- Verweist auf einen oder mehrere Bearbeitungsvermerke. Ein Anhang wird + ü + ber einen Bearbeitungsvermerk zugeordnet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Objektname='Oertlichkeit', ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Objektname = _cast(None, Objektname) + self.Objektname_nsprefix_ = None + if ID_Bearbeitungsvermerk is None: + self.ID_Bearbeitungsvermerk = [] + else: + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + self.ID_Bearbeitungsvermerk_nsprefix_ = None + self.Wert = Wert + self.validate_TGUID(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCID_Oertlichkeit_Ausgabe) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCID_Oertlichkeit_Ausgabe.subclass: + return TCID_Oertlichkeit_Ausgabe.subclass(*args_, **kwargs_) + else: + return TCID_Oertlichkeit_Ausgabe(*args_, **kwargs_) + factory = staticmethod(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_Bearbeitungsvermerk(self): + return self.ID_Bearbeitungsvermerk + def set_ID_Bearbeitungsvermerk(self, ID_Bearbeitungsvermerk): + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + def add_ID_Bearbeitungsvermerk(self, value): + self.ID_Bearbeitungsvermerk.append(value) + def insert_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk.insert(index, value) + def replace_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk[index] = value + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def get_Objektname(self): + return self.Objektname + def set_Objektname(self, Objektname): + self.Objektname = Objektname + def validate_TGUID(self, value): + result = True + # Validate type TGUID, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGUID_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGUID_patterns_, )) + result = False + return result + validate_TGUID_patterns_ = [['^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$']] + def validate_TObjektname(self, value): + # Validate type nsBasisTypen:TObjektname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TObjektname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TObjektname_patterns_, )) + validate_TObjektname_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.ID_Bearbeitungsvermerk or + self.Wert is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Oertlichkeit_Ausgabe', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCID_Oertlichkeit_Ausgabe') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCID_Oertlichkeit_Ausgabe': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCID_Oertlichkeit_Ausgabe') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCID_Oertlichkeit_Ausgabe', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsVerweise:', name_='TCID_Oertlichkeit_Ausgabe'): + if self.Objektname != 'Oertlichkeit' and 'Objektname' not in already_processed: + already_processed.add('Objektname') + outfile.write(' Objektname=%s' % (quote_attrib(self.Objektname), )) + def _exportChildren(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Oertlichkeit_Ausgabe', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Bearbeitungsvermerk_ in self.ID_Bearbeitungsvermerk: + namespaceprefix_ = self.ID_Bearbeitungsvermerk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bearbeitungsvermerk_nsprefix_) else '' + ID_Bearbeitungsvermerk_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bearbeitungsvermerk', pretty_print=pretty_print) + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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_('Objektname', node) + if value is not None and 'Objektname' not in already_processed: + already_processed.add('Objektname') + self.Objektname = value + self.validate_TObjektname(self.Objektname) # validate type TObjektname + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Bearbeitungsvermerk': + obj_ = TCID_Bearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bearbeitungsvermerk.append(obj_) + obj_.original_tagname_ = 'ID_Bearbeitungsvermerk' + elif nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGUID + self.validate_TGUID(self.Wert) +# end class TCID_Oertlichkeit_Ausgabe + + +class TCID_PZB_Element(GeneratedsSuper): + """ID_Bearbeitungsvermerk -- Verweist auf einen oder mehrere Bearbeitungsvermerke. Ein Anhang wird + ü + ber einen Bearbeitungsvermerk zugeordnet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Objektname='PZB_Element|Proxy_Objekt', ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Objektname = _cast(None, Objektname) + self.Objektname_nsprefix_ = None + if ID_Bearbeitungsvermerk is None: + self.ID_Bearbeitungsvermerk = [] + else: + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + self.ID_Bearbeitungsvermerk_nsprefix_ = None + self.Wert = Wert + self.validate_TGUID(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCID_PZB_Element) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCID_PZB_Element.subclass: + return TCID_PZB_Element.subclass(*args_, **kwargs_) + else: + return TCID_PZB_Element(*args_, **kwargs_) + factory = staticmethod(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_Bearbeitungsvermerk(self): + return self.ID_Bearbeitungsvermerk + def set_ID_Bearbeitungsvermerk(self, ID_Bearbeitungsvermerk): + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + def add_ID_Bearbeitungsvermerk(self, value): + self.ID_Bearbeitungsvermerk.append(value) + def insert_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk.insert(index, value) + def replace_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk[index] = value + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def get_Objektname(self): + return self.Objektname + def set_Objektname(self, Objektname): + self.Objektname = Objektname + def validate_TGUID(self, value): + result = True + # Validate type TGUID, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGUID_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGUID_patterns_, )) + result = False + return result + validate_TGUID_patterns_ = [['^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$']] + def validate_TObjektname(self, value): + # Validate type nsBasisTypen:TObjektname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TObjektname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TObjektname_patterns_, )) + validate_TObjektname_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.ID_Bearbeitungsvermerk or + self.Wert is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_PZB_Element', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCID_PZB_Element') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCID_PZB_Element': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCID_PZB_Element') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCID_PZB_Element', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsVerweise:', name_='TCID_PZB_Element'): + if self.Objektname != 'PZB_Element|Proxy_Objekt' and 'Objektname' not in already_processed: + already_processed.add('Objektname') + outfile.write(' Objektname=%s' % (quote_attrib(self.Objektname), )) + def _exportChildren(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_PZB_Element', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Bearbeitungsvermerk_ in self.ID_Bearbeitungsvermerk: + namespaceprefix_ = self.ID_Bearbeitungsvermerk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bearbeitungsvermerk_nsprefix_) else '' + ID_Bearbeitungsvermerk_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bearbeitungsvermerk', pretty_print=pretty_print) + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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_('Objektname', node) + if value is not None and 'Objektname' not in already_processed: + already_processed.add('Objektname') + self.Objektname = value + self.validate_TObjektname(self.Objektname) # validate type TObjektname + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Bearbeitungsvermerk': + obj_ = TCID_Bearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bearbeitungsvermerk.append(obj_) + obj_.original_tagname_ = 'ID_Bearbeitungsvermerk' + elif nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGUID + self.validate_TGUID(self.Wert) +# end class TCID_PZB_Element + + +class TCID_Einschaltpunkt(GeneratedsSuper): + """ID_Bearbeitungsvermerk -- Verweist auf einen oder mehrere Bearbeitungsvermerke. Ein Anhang wird + ü + ber einen Bearbeitungsvermerk zugeordnet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Objektname='Schaltmittel_Zuordnung|Proxy_Objekt', ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Objektname = _cast(None, Objektname) + self.Objektname_nsprefix_ = None + if ID_Bearbeitungsvermerk is None: + self.ID_Bearbeitungsvermerk = [] + else: + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + self.ID_Bearbeitungsvermerk_nsprefix_ = None + self.Wert = Wert + self.validate_TGUID(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCID_Einschaltpunkt) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCID_Einschaltpunkt.subclass: + return TCID_Einschaltpunkt.subclass(*args_, **kwargs_) + else: + return TCID_Einschaltpunkt(*args_, **kwargs_) + factory = staticmethod(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_Bearbeitungsvermerk(self): + return self.ID_Bearbeitungsvermerk + def set_ID_Bearbeitungsvermerk(self, ID_Bearbeitungsvermerk): + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + def add_ID_Bearbeitungsvermerk(self, value): + self.ID_Bearbeitungsvermerk.append(value) + def insert_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk.insert(index, value) + def replace_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk[index] = value + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def get_Objektname(self): + return self.Objektname + def set_Objektname(self, Objektname): + self.Objektname = Objektname + def validate_TGUID(self, value): + result = True + # Validate type TGUID, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGUID_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGUID_patterns_, )) + result = False + return result + validate_TGUID_patterns_ = [['^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$']] + def validate_TObjektname(self, value): + # Validate type nsBasisTypen:TObjektname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TObjektname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TObjektname_patterns_, )) + validate_TObjektname_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.ID_Bearbeitungsvermerk or + self.Wert is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Einschaltpunkt', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCID_Einschaltpunkt') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCID_Einschaltpunkt': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCID_Einschaltpunkt') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCID_Einschaltpunkt', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsVerweise:', name_='TCID_Einschaltpunkt'): + if self.Objektname != 'Schaltmittel_Zuordnung|Proxy_Objekt' and 'Objektname' not in already_processed: + already_processed.add('Objektname') + outfile.write(' Objektname=%s' % (quote_attrib(self.Objektname), )) + def _exportChildren(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Einschaltpunkt', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Bearbeitungsvermerk_ in self.ID_Bearbeitungsvermerk: + namespaceprefix_ = self.ID_Bearbeitungsvermerk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bearbeitungsvermerk_nsprefix_) else '' + ID_Bearbeitungsvermerk_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bearbeitungsvermerk', pretty_print=pretty_print) + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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_('Objektname', node) + if value is not None and 'Objektname' not in already_processed: + already_processed.add('Objektname') + self.Objektname = value + self.validate_TObjektname(self.Objektname) # validate type TObjektname + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Bearbeitungsvermerk': + obj_ = TCID_Bearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bearbeitungsvermerk.append(obj_) + obj_.original_tagname_ = 'ID_Bearbeitungsvermerk' + elif nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGUID + self.validate_TGUID(self.Wert) +# end class TCID_Einschaltpunkt + + +class TCID_Fortschaltung_Start(GeneratedsSuper): + """ID_Bearbeitungsvermerk -- Verweist auf einen oder mehrere Bearbeitungsvermerke. Ein Anhang wird + ü + ber einen Bearbeitungsvermerk zugeordnet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Objektname='FMA_Anlage|Signal|Proxy_Objekt', ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Objektname = _cast(None, Objektname) + self.Objektname_nsprefix_ = None + if ID_Bearbeitungsvermerk is None: + self.ID_Bearbeitungsvermerk = [] + else: + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + self.ID_Bearbeitungsvermerk_nsprefix_ = None + self.Wert = Wert + self.validate_TGUID(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCID_Fortschaltung_Start) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCID_Fortschaltung_Start.subclass: + return TCID_Fortschaltung_Start.subclass(*args_, **kwargs_) + else: + return TCID_Fortschaltung_Start(*args_, **kwargs_) + factory = staticmethod(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_Bearbeitungsvermerk(self): + return self.ID_Bearbeitungsvermerk + def set_ID_Bearbeitungsvermerk(self, ID_Bearbeitungsvermerk): + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + def add_ID_Bearbeitungsvermerk(self, value): + self.ID_Bearbeitungsvermerk.append(value) + def insert_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk.insert(index, value) + def replace_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk[index] = value + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def get_Objektname(self): + return self.Objektname + def set_Objektname(self, Objektname): + self.Objektname = Objektname + def validate_TGUID(self, value): + result = True + # Validate type TGUID, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGUID_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGUID_patterns_, )) + result = False + return result + validate_TGUID_patterns_ = [['^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$']] + def validate_TObjektname(self, value): + # Validate type nsBasisTypen:TObjektname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TObjektname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TObjektname_patterns_, )) + validate_TObjektname_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.ID_Bearbeitungsvermerk or + self.Wert is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Fortschaltung_Start', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCID_Fortschaltung_Start') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCID_Fortschaltung_Start': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCID_Fortschaltung_Start') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCID_Fortschaltung_Start', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsVerweise:', name_='TCID_Fortschaltung_Start'): + if self.Objektname != 'FMA_Anlage|Signal|Proxy_Objekt' and 'Objektname' not in already_processed: + already_processed.add('Objektname') + outfile.write(' Objektname=%s' % (quote_attrib(self.Objektname), )) + def _exportChildren(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Fortschaltung_Start', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Bearbeitungsvermerk_ in self.ID_Bearbeitungsvermerk: + namespaceprefix_ = self.ID_Bearbeitungsvermerk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bearbeitungsvermerk_nsprefix_) else '' + ID_Bearbeitungsvermerk_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bearbeitungsvermerk', pretty_print=pretty_print) + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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_('Objektname', node) + if value is not None and 'Objektname' not in already_processed: + already_processed.add('Objektname') + self.Objektname = value + self.validate_TObjektname(self.Objektname) # validate type TObjektname + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Bearbeitungsvermerk': + obj_ = TCID_Bearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bearbeitungsvermerk.append(obj_) + obj_.original_tagname_ = 'ID_Bearbeitungsvermerk' + elif nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGUID + self.validate_TGUID(self.Wert) +# end class TCID_Fortschaltung_Start + + +class TCID_LEU_Bezug_Funktional(GeneratedsSuper): + """ID_Bearbeitungsvermerk -- Verweist auf einen oder mehrere Bearbeitungsvermerke. Ein Anhang wird + ü + ber einen Bearbeitungsvermerk zugeordnet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Objektname='BUE_Anlage|Signal|W_Kr_Gsp_Element', ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Objektname = _cast(None, Objektname) + self.Objektname_nsprefix_ = None + if ID_Bearbeitungsvermerk is None: + self.ID_Bearbeitungsvermerk = [] + else: + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + self.ID_Bearbeitungsvermerk_nsprefix_ = None + self.Wert = Wert + self.validate_TGUID(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCID_LEU_Bezug_Funktional) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCID_LEU_Bezug_Funktional.subclass: + return TCID_LEU_Bezug_Funktional.subclass(*args_, **kwargs_) + else: + return TCID_LEU_Bezug_Funktional(*args_, **kwargs_) + factory = staticmethod(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_Bearbeitungsvermerk(self): + return self.ID_Bearbeitungsvermerk + def set_ID_Bearbeitungsvermerk(self, ID_Bearbeitungsvermerk): + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + def add_ID_Bearbeitungsvermerk(self, value): + self.ID_Bearbeitungsvermerk.append(value) + def insert_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk.insert(index, value) + def replace_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk[index] = value + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def get_Objektname(self): + return self.Objektname + def set_Objektname(self, Objektname): + self.Objektname = Objektname + def validate_TGUID(self, value): + result = True + # Validate type TGUID, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGUID_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGUID_patterns_, )) + result = False + return result + validate_TGUID_patterns_ = [['^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$']] + def validate_TObjektname(self, value): + # Validate type nsBasisTypen:TObjektname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TObjektname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TObjektname_patterns_, )) + validate_TObjektname_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.ID_Bearbeitungsvermerk or + self.Wert is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_LEU_Bezug_Funktional', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCID_LEU_Bezug_Funktional') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCID_LEU_Bezug_Funktional': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCID_LEU_Bezug_Funktional') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCID_LEU_Bezug_Funktional', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsVerweise:', name_='TCID_LEU_Bezug_Funktional'): + if self.Objektname != 'BUE_Anlage|Signal|W_Kr_Gsp_Element' and 'Objektname' not in already_processed: + already_processed.add('Objektname') + outfile.write(' Objektname=%s' % (quote_attrib(self.Objektname), )) + def _exportChildren(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_LEU_Bezug_Funktional', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Bearbeitungsvermerk_ in self.ID_Bearbeitungsvermerk: + namespaceprefix_ = self.ID_Bearbeitungsvermerk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bearbeitungsvermerk_nsprefix_) else '' + ID_Bearbeitungsvermerk_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bearbeitungsvermerk', pretty_print=pretty_print) + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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_('Objektname', node) + if value is not None and 'Objektname' not in already_processed: + already_processed.add('Objektname') + self.Objektname = value + self.validate_TObjektname(self.Objektname) # validate type TObjektname + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Bearbeitungsvermerk': + obj_ = TCID_Bearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bearbeitungsvermerk.append(obj_) + obj_.original_tagname_ = 'ID_Bearbeitungsvermerk' + elif nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGUID + self.validate_TGUID(self.Wert) +# end class TCID_LEU_Bezug_Funktional + + +class TCID_Sonderanlage(GeneratedsSuper): + """ID_Bearbeitungsvermerk -- Verweist auf einen oder mehrere Bearbeitungsvermerke. Ein Anhang wird + ü + ber einen Bearbeitungsvermerk zugeordnet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Objektname='W_Kr_Gsp_Element', ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Objektname = _cast(None, Objektname) + self.Objektname_nsprefix_ = None + if ID_Bearbeitungsvermerk is None: + self.ID_Bearbeitungsvermerk = [] + else: + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + self.ID_Bearbeitungsvermerk_nsprefix_ = None + self.Wert = Wert + self.validate_TGUID(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCID_Sonderanlage) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCID_Sonderanlage.subclass: + return TCID_Sonderanlage.subclass(*args_, **kwargs_) + else: + return TCID_Sonderanlage(*args_, **kwargs_) + factory = staticmethod(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_Bearbeitungsvermerk(self): + return self.ID_Bearbeitungsvermerk + def set_ID_Bearbeitungsvermerk(self, ID_Bearbeitungsvermerk): + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + def add_ID_Bearbeitungsvermerk(self, value): + self.ID_Bearbeitungsvermerk.append(value) + def insert_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk.insert(index, value) + def replace_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk[index] = value + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def get_Objektname(self): + return self.Objektname + def set_Objektname(self, Objektname): + self.Objektname = Objektname + def validate_TGUID(self, value): + result = True + # Validate type TGUID, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGUID_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGUID_patterns_, )) + result = False + return result + validate_TGUID_patterns_ = [['^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$']] + def validate_TObjektname(self, value): + # Validate type nsBasisTypen:TObjektname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TObjektname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TObjektname_patterns_, )) + validate_TObjektname_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.ID_Bearbeitungsvermerk or + self.Wert is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Sonderanlage', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCID_Sonderanlage') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCID_Sonderanlage': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCID_Sonderanlage') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCID_Sonderanlage', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsVerweise:', name_='TCID_Sonderanlage'): + if self.Objektname != 'W_Kr_Gsp_Element' and 'Objektname' not in already_processed: + already_processed.add('Objektname') + outfile.write(' Objektname=%s' % (quote_attrib(self.Objektname), )) + def _exportChildren(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Sonderanlage', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Bearbeitungsvermerk_ in self.ID_Bearbeitungsvermerk: + namespaceprefix_ = self.ID_Bearbeitungsvermerk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bearbeitungsvermerk_nsprefix_) else '' + ID_Bearbeitungsvermerk_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bearbeitungsvermerk', pretty_print=pretty_print) + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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_('Objektname', node) + if value is not None and 'Objektname' not in already_processed: + already_processed.add('Objektname') + self.Objektname = value + self.validate_TObjektname(self.Objektname) # validate type TObjektname + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Bearbeitungsvermerk': + obj_ = TCID_Bearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bearbeitungsvermerk.append(obj_) + obj_.original_tagname_ = 'ID_Bearbeitungsvermerk' + elif nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGUID + self.validate_TGUID(self.Wert) +# end class TCID_Sonderanlage + + +class TCID_Anhang(GeneratedsSuper): + """ID_Bearbeitungsvermerk -- Verweist auf einen oder mehrere Bearbeitungsvermerke. Ein Anhang wird + ü + ber einen Bearbeitungsvermerk zugeordnet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Objektname='Anhang|Proxy_Objekt', ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Objektname = _cast(None, Objektname) + self.Objektname_nsprefix_ = None + if ID_Bearbeitungsvermerk is None: + self.ID_Bearbeitungsvermerk = [] + else: + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + self.ID_Bearbeitungsvermerk_nsprefix_ = None + self.Wert = Wert + self.validate_TGUID(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCID_Anhang) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCID_Anhang.subclass: + return TCID_Anhang.subclass(*args_, **kwargs_) + else: + return TCID_Anhang(*args_, **kwargs_) + factory = staticmethod(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_Bearbeitungsvermerk(self): + return self.ID_Bearbeitungsvermerk + def set_ID_Bearbeitungsvermerk(self, ID_Bearbeitungsvermerk): + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + def add_ID_Bearbeitungsvermerk(self, value): + self.ID_Bearbeitungsvermerk.append(value) + def insert_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk.insert(index, value) + def replace_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk[index] = value + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def get_Objektname(self): + return self.Objektname + def set_Objektname(self, Objektname): + self.Objektname = Objektname + def validate_TGUID(self, value): + result = True + # Validate type TGUID, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGUID_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGUID_patterns_, )) + result = False + return result + validate_TGUID_patterns_ = [['^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$']] + def validate_TObjektname(self, value): + # Validate type nsBasisTypen:TObjektname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TObjektname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TObjektname_patterns_, )) + validate_TObjektname_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.ID_Bearbeitungsvermerk or + self.Wert is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Anhang', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCID_Anhang') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCID_Anhang': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCID_Anhang') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCID_Anhang', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsVerweise:', name_='TCID_Anhang'): + if self.Objektname != 'Anhang|Proxy_Objekt' and 'Objektname' not in already_processed: + already_processed.add('Objektname') + outfile.write(' Objektname=%s' % (quote_attrib(self.Objektname), )) + def _exportChildren(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Anhang', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Bearbeitungsvermerk_ in self.ID_Bearbeitungsvermerk: + namespaceprefix_ = self.ID_Bearbeitungsvermerk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bearbeitungsvermerk_nsprefix_) else '' + ID_Bearbeitungsvermerk_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bearbeitungsvermerk', pretty_print=pretty_print) + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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_('Objektname', node) + if value is not None and 'Objektname' not in already_processed: + already_processed.add('Objektname') + self.Objektname = value + self.validate_TObjektname(self.Objektname) # validate type TObjektname + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Bearbeitungsvermerk': + obj_ = TCID_Bearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bearbeitungsvermerk.append(obj_) + obj_.original_tagname_ = 'ID_Bearbeitungsvermerk' + elif nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGUID + self.validate_TGUID(self.Wert) +# end class TCID_Anhang + + +class TCID_ZN_Unterstation(GeneratedsSuper): + """ID_Bearbeitungsvermerk -- Verweist auf einen oder mehrere Bearbeitungsvermerke. Ein Anhang wird + ü + ber einen Bearbeitungsvermerk zugeordnet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Objektname='ZN_Unterstation|Proxy_Objekt', ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Objektname = _cast(None, Objektname) + self.Objektname_nsprefix_ = None + if ID_Bearbeitungsvermerk is None: + self.ID_Bearbeitungsvermerk = [] + else: + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + self.ID_Bearbeitungsvermerk_nsprefix_ = None + self.Wert = Wert + self.validate_TGUID(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCID_ZN_Unterstation) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCID_ZN_Unterstation.subclass: + return TCID_ZN_Unterstation.subclass(*args_, **kwargs_) + else: + return TCID_ZN_Unterstation(*args_, **kwargs_) + factory = staticmethod(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_Bearbeitungsvermerk(self): + return self.ID_Bearbeitungsvermerk + def set_ID_Bearbeitungsvermerk(self, ID_Bearbeitungsvermerk): + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + def add_ID_Bearbeitungsvermerk(self, value): + self.ID_Bearbeitungsvermerk.append(value) + def insert_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk.insert(index, value) + def replace_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk[index] = value + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def get_Objektname(self): + return self.Objektname + def set_Objektname(self, Objektname): + self.Objektname = Objektname + def validate_TGUID(self, value): + result = True + # Validate type TGUID, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGUID_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGUID_patterns_, )) + result = False + return result + validate_TGUID_patterns_ = [['^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$']] + def validate_TObjektname(self, value): + # Validate type nsBasisTypen:TObjektname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TObjektname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TObjektname_patterns_, )) + validate_TObjektname_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.ID_Bearbeitungsvermerk or + self.Wert is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_ZN_Unterstation', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCID_ZN_Unterstation') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCID_ZN_Unterstation': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCID_ZN_Unterstation') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCID_ZN_Unterstation', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsVerweise:', name_='TCID_ZN_Unterstation'): + if self.Objektname != 'ZN_Unterstation|Proxy_Objekt' and 'Objektname' not in already_processed: + already_processed.add('Objektname') + outfile.write(' Objektname=%s' % (quote_attrib(self.Objektname), )) + def _exportChildren(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_ZN_Unterstation', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Bearbeitungsvermerk_ in self.ID_Bearbeitungsvermerk: + namespaceprefix_ = self.ID_Bearbeitungsvermerk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bearbeitungsvermerk_nsprefix_) else '' + ID_Bearbeitungsvermerk_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bearbeitungsvermerk', pretty_print=pretty_print) + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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_('Objektname', node) + if value is not None and 'Objektname' not in already_processed: + already_processed.add('Objektname') + self.Objektname = value + self.validate_TObjektname(self.Objektname) # validate type TObjektname + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Bearbeitungsvermerk': + obj_ = TCID_Bearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bearbeitungsvermerk.append(obj_) + obj_.original_tagname_ = 'ID_Bearbeitungsvermerk' + elif nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGUID + self.validate_TGUID(self.Wert) +# end class TCID_ZN_Unterstation + + +class TCID_BUE_Anlage_ohne_Proxy(GeneratedsSuper): + """ID_Bearbeitungsvermerk -- Verweist auf einen oder mehrere Bearbeitungsvermerke. Ein Anhang wird + ü + ber einen Bearbeitungsvermerk zugeordnet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Objektname='BUE_Anlage', ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Objektname = _cast(None, Objektname) + self.Objektname_nsprefix_ = None + if ID_Bearbeitungsvermerk is None: + self.ID_Bearbeitungsvermerk = [] + else: + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + self.ID_Bearbeitungsvermerk_nsprefix_ = None + self.Wert = Wert + self.validate_TGUID(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCID_BUE_Anlage_ohne_Proxy) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCID_BUE_Anlage_ohne_Proxy.subclass: + return TCID_BUE_Anlage_ohne_Proxy.subclass(*args_, **kwargs_) + else: + return TCID_BUE_Anlage_ohne_Proxy(*args_, **kwargs_) + factory = staticmethod(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_Bearbeitungsvermerk(self): + return self.ID_Bearbeitungsvermerk + def set_ID_Bearbeitungsvermerk(self, ID_Bearbeitungsvermerk): + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + def add_ID_Bearbeitungsvermerk(self, value): + self.ID_Bearbeitungsvermerk.append(value) + def insert_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk.insert(index, value) + def replace_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk[index] = value + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def get_Objektname(self): + return self.Objektname + def set_Objektname(self, Objektname): + self.Objektname = Objektname + def validate_TGUID(self, value): + result = True + # Validate type TGUID, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGUID_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGUID_patterns_, )) + result = False + return result + validate_TGUID_patterns_ = [['^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$']] + def validate_TObjektname(self, value): + # Validate type nsBasisTypen:TObjektname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TObjektname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TObjektname_patterns_, )) + validate_TObjektname_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.ID_Bearbeitungsvermerk or + self.Wert is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_BUE_Anlage_ohne_Proxy', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCID_BUE_Anlage_ohne_Proxy') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCID_BUE_Anlage_ohne_Proxy': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCID_BUE_Anlage_ohne_Proxy') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCID_BUE_Anlage_ohne_Proxy', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsVerweise:', name_='TCID_BUE_Anlage_ohne_Proxy'): + if self.Objektname != 'BUE_Anlage' and 'Objektname' not in already_processed: + already_processed.add('Objektname') + outfile.write(' Objektname=%s' % (quote_attrib(self.Objektname), )) + def _exportChildren(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_BUE_Anlage_ohne_Proxy', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Bearbeitungsvermerk_ in self.ID_Bearbeitungsvermerk: + namespaceprefix_ = self.ID_Bearbeitungsvermerk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bearbeitungsvermerk_nsprefix_) else '' + ID_Bearbeitungsvermerk_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bearbeitungsvermerk', pretty_print=pretty_print) + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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_('Objektname', node) + if value is not None and 'Objektname' not in already_processed: + already_processed.add('Objektname') + self.Objektname = value + self.validate_TObjektname(self.Objektname) # validate type TObjektname + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Bearbeitungsvermerk': + obj_ = TCID_Bearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bearbeitungsvermerk.append(obj_) + obj_.original_tagname_ = 'ID_Bearbeitungsvermerk' + elif nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGUID + self.validate_TGUID(self.Wert) +# end class TCID_BUE_Anlage_ohne_Proxy + + +class TCID_Signal_Fank(GeneratedsSuper): + """ID_Bearbeitungsvermerk -- Verweist auf einen oder mehrere Bearbeitungsvermerke. Ein Anhang wird + ü + ber einen Bearbeitungsvermerk zugeordnet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Objektname='Signal', ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Objektname = _cast(None, Objektname) + self.Objektname_nsprefix_ = None + if ID_Bearbeitungsvermerk is None: + self.ID_Bearbeitungsvermerk = [] + else: + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + self.ID_Bearbeitungsvermerk_nsprefix_ = None + self.Wert = Wert + self.validate_TGUID(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCID_Signal_Fank) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCID_Signal_Fank.subclass: + return TCID_Signal_Fank.subclass(*args_, **kwargs_) + else: + return TCID_Signal_Fank(*args_, **kwargs_) + factory = staticmethod(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_Bearbeitungsvermerk(self): + return self.ID_Bearbeitungsvermerk + def set_ID_Bearbeitungsvermerk(self, ID_Bearbeitungsvermerk): + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + def add_ID_Bearbeitungsvermerk(self, value): + self.ID_Bearbeitungsvermerk.append(value) + def insert_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk.insert(index, value) + def replace_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk[index] = value + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def get_Objektname(self): + return self.Objektname + def set_Objektname(self, Objektname): + self.Objektname = Objektname + def validate_TGUID(self, value): + result = True + # Validate type TGUID, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGUID_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGUID_patterns_, )) + result = False + return result + validate_TGUID_patterns_ = [['^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$']] + def validate_TObjektname(self, value): + # Validate type nsBasisTypen:TObjektname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TObjektname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TObjektname_patterns_, )) + validate_TObjektname_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.ID_Bearbeitungsvermerk or + self.Wert is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Signal_Fank', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCID_Signal_Fank') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCID_Signal_Fank': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCID_Signal_Fank') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCID_Signal_Fank', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsVerweise:', name_='TCID_Signal_Fank'): + if self.Objektname != 'Signal' and 'Objektname' not in already_processed: + already_processed.add('Objektname') + outfile.write(' Objektname=%s' % (quote_attrib(self.Objektname), )) + def _exportChildren(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Signal_Fank', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Bearbeitungsvermerk_ in self.ID_Bearbeitungsvermerk: + namespaceprefix_ = self.ID_Bearbeitungsvermerk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bearbeitungsvermerk_nsprefix_) else '' + ID_Bearbeitungsvermerk_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bearbeitungsvermerk', pretty_print=pretty_print) + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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_('Objektname', node) + if value is not None and 'Objektname' not in already_processed: + already_processed.add('Objektname') + self.Objektname = value + self.validate_TObjektname(self.Objektname) # validate type TObjektname + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Bearbeitungsvermerk': + obj_ = TCID_Bearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bearbeitungsvermerk.append(obj_) + obj_.original_tagname_ = 'ID_Bearbeitungsvermerk' + elif nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGUID + self.validate_TGUID(self.Wert) +# end class TCID_Signal_Fank + + +class TCID_TOP_Kante(GeneratedsSuper): + """ID_Bearbeitungsvermerk -- Verweist auf einen oder mehrere Bearbeitungsvermerke. Ein Anhang wird + ü + ber einen Bearbeitungsvermerk zugeordnet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Objektname='TOP_Kante|Proxy_Objekt', ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Objektname = _cast(None, Objektname) + self.Objektname_nsprefix_ = None + if ID_Bearbeitungsvermerk is None: + self.ID_Bearbeitungsvermerk = [] + else: + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + self.ID_Bearbeitungsvermerk_nsprefix_ = None + self.Wert = Wert + self.validate_TGUID(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCID_TOP_Kante) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCID_TOP_Kante.subclass: + return TCID_TOP_Kante.subclass(*args_, **kwargs_) + else: + return TCID_TOP_Kante(*args_, **kwargs_) + factory = staticmethod(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_Bearbeitungsvermerk(self): + return self.ID_Bearbeitungsvermerk + def set_ID_Bearbeitungsvermerk(self, ID_Bearbeitungsvermerk): + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + def add_ID_Bearbeitungsvermerk(self, value): + self.ID_Bearbeitungsvermerk.append(value) + def insert_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk.insert(index, value) + def replace_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk[index] = value + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def get_Objektname(self): + return self.Objektname + def set_Objektname(self, Objektname): + self.Objektname = Objektname + def validate_TGUID(self, value): + result = True + # Validate type TGUID, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGUID_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGUID_patterns_, )) + result = False + return result + validate_TGUID_patterns_ = [['^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$']] + def validate_TObjektname(self, value): + # Validate type nsBasisTypen:TObjektname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TObjektname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TObjektname_patterns_, )) + validate_TObjektname_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.ID_Bearbeitungsvermerk or + self.Wert is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_TOP_Kante', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCID_TOP_Kante') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCID_TOP_Kante': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCID_TOP_Kante') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCID_TOP_Kante', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsVerweise:', name_='TCID_TOP_Kante'): + if self.Objektname != 'TOP_Kante|Proxy_Objekt' and 'Objektname' not in already_processed: + already_processed.add('Objektname') + outfile.write(' Objektname=%s' % (quote_attrib(self.Objektname), )) + def _exportChildren(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_TOP_Kante', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Bearbeitungsvermerk_ in self.ID_Bearbeitungsvermerk: + namespaceprefix_ = self.ID_Bearbeitungsvermerk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bearbeitungsvermerk_nsprefix_) else '' + ID_Bearbeitungsvermerk_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bearbeitungsvermerk', pretty_print=pretty_print) + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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_('Objektname', node) + if value is not None and 'Objektname' not in already_processed: + already_processed.add('Objektname') + self.Objektname = value + self.validate_TObjektname(self.Objektname) # validate type TObjektname + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Bearbeitungsvermerk': + obj_ = TCID_Bearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bearbeitungsvermerk.append(obj_) + obj_.original_tagname_ = 'ID_Bearbeitungsvermerk' + elif nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGUID + self.validate_TGUID(self.Wert) +# end class TCID_TOP_Kante + + +class TCID_Datenpunkt_ohne_Proxy(GeneratedsSuper): + """ID_Bearbeitungsvermerk -- Verweist auf einen oder mehrere Bearbeitungsvermerke. Ein Anhang wird + ü + ber einen Bearbeitungsvermerk zugeordnet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Objektname='Datenpunkt', ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Objektname = _cast(None, Objektname) + self.Objektname_nsprefix_ = None + if ID_Bearbeitungsvermerk is None: + self.ID_Bearbeitungsvermerk = [] + else: + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + self.ID_Bearbeitungsvermerk_nsprefix_ = None + self.Wert = Wert + self.validate_TGUID(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCID_Datenpunkt_ohne_Proxy) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCID_Datenpunkt_ohne_Proxy.subclass: + return TCID_Datenpunkt_ohne_Proxy.subclass(*args_, **kwargs_) + else: + return TCID_Datenpunkt_ohne_Proxy(*args_, **kwargs_) + factory = staticmethod(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_Bearbeitungsvermerk(self): + return self.ID_Bearbeitungsvermerk + def set_ID_Bearbeitungsvermerk(self, ID_Bearbeitungsvermerk): + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + def add_ID_Bearbeitungsvermerk(self, value): + self.ID_Bearbeitungsvermerk.append(value) + def insert_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk.insert(index, value) + def replace_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk[index] = value + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def get_Objektname(self): + return self.Objektname + def set_Objektname(self, Objektname): + self.Objektname = Objektname + def validate_TGUID(self, value): + result = True + # Validate type TGUID, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGUID_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGUID_patterns_, )) + result = False + return result + validate_TGUID_patterns_ = [['^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$']] + def validate_TObjektname(self, value): + # Validate type nsBasisTypen:TObjektname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TObjektname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TObjektname_patterns_, )) + validate_TObjektname_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.ID_Bearbeitungsvermerk or + self.Wert is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Datenpunkt_ohne_Proxy', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCID_Datenpunkt_ohne_Proxy') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCID_Datenpunkt_ohne_Proxy': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCID_Datenpunkt_ohne_Proxy') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCID_Datenpunkt_ohne_Proxy', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsVerweise:', name_='TCID_Datenpunkt_ohne_Proxy'): + if self.Objektname != 'Datenpunkt' and 'Objektname' not in already_processed: + already_processed.add('Objektname') + outfile.write(' Objektname=%s' % (quote_attrib(self.Objektname), )) + def _exportChildren(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Datenpunkt_ohne_Proxy', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Bearbeitungsvermerk_ in self.ID_Bearbeitungsvermerk: + namespaceprefix_ = self.ID_Bearbeitungsvermerk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bearbeitungsvermerk_nsprefix_) else '' + ID_Bearbeitungsvermerk_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bearbeitungsvermerk', pretty_print=pretty_print) + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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_('Objektname', node) + if value is not None and 'Objektname' not in already_processed: + already_processed.add('Objektname') + self.Objektname = value + self.validate_TObjektname(self.Objektname) # validate type TObjektname + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Bearbeitungsvermerk': + obj_ = TCID_Bearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bearbeitungsvermerk.append(obj_) + obj_.original_tagname_ = 'ID_Bearbeitungsvermerk' + elif nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGUID + self.validate_TGUID(self.Wert) +# end class TCID_Datenpunkt_ohne_Proxy + + +class TCID_Signal_Rahmen(GeneratedsSuper): + """ID_Bearbeitungsvermerk -- Verweist auf einen oder mehrere Bearbeitungsvermerke. Ein Anhang wird + ü + ber einen Bearbeitungsvermerk zugeordnet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Objektname='Signal_Rahmen|Proxy_Objekt', ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Objektname = _cast(None, Objektname) + self.Objektname_nsprefix_ = None + if ID_Bearbeitungsvermerk is None: + self.ID_Bearbeitungsvermerk = [] + else: + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + self.ID_Bearbeitungsvermerk_nsprefix_ = None + self.Wert = Wert + self.validate_TGUID(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCID_Signal_Rahmen) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCID_Signal_Rahmen.subclass: + return TCID_Signal_Rahmen.subclass(*args_, **kwargs_) + else: + return TCID_Signal_Rahmen(*args_, **kwargs_) + factory = staticmethod(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_Bearbeitungsvermerk(self): + return self.ID_Bearbeitungsvermerk + def set_ID_Bearbeitungsvermerk(self, ID_Bearbeitungsvermerk): + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + def add_ID_Bearbeitungsvermerk(self, value): + self.ID_Bearbeitungsvermerk.append(value) + def insert_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk.insert(index, value) + def replace_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk[index] = value + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def get_Objektname(self): + return self.Objektname + def set_Objektname(self, Objektname): + self.Objektname = Objektname + def validate_TGUID(self, value): + result = True + # Validate type TGUID, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGUID_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGUID_patterns_, )) + result = False + return result + validate_TGUID_patterns_ = [['^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$']] + def validate_TObjektname(self, value): + # Validate type nsBasisTypen:TObjektname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TObjektname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TObjektname_patterns_, )) + validate_TObjektname_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.ID_Bearbeitungsvermerk or + self.Wert is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Signal_Rahmen', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCID_Signal_Rahmen') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCID_Signal_Rahmen': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCID_Signal_Rahmen') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCID_Signal_Rahmen', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsVerweise:', name_='TCID_Signal_Rahmen'): + if self.Objektname != 'Signal_Rahmen|Proxy_Objekt' and 'Objektname' not in already_processed: + already_processed.add('Objektname') + outfile.write(' Objektname=%s' % (quote_attrib(self.Objektname), )) + def _exportChildren(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Signal_Rahmen', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Bearbeitungsvermerk_ in self.ID_Bearbeitungsvermerk: + namespaceprefix_ = self.ID_Bearbeitungsvermerk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bearbeitungsvermerk_nsprefix_) else '' + ID_Bearbeitungsvermerk_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bearbeitungsvermerk', pretty_print=pretty_print) + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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_('Objektname', node) + if value is not None and 'Objektname' not in already_processed: + already_processed.add('Objektname') + self.Objektname = value + self.validate_TObjektname(self.Objektname) # validate type TObjektname + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Bearbeitungsvermerk': + obj_ = TCID_Bearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bearbeitungsvermerk.append(obj_) + obj_.original_tagname_ = 'ID_Bearbeitungsvermerk' + elif nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGUID + self.validate_TGUID(self.Wert) +# end class TCID_Signal_Rahmen + + +class TCID_ESTW_Zentraleinheit(GeneratedsSuper): + """ID_Bearbeitungsvermerk -- Verweist auf einen oder mehrere Bearbeitungsvermerke. Ein Anhang wird + ü + ber einen Bearbeitungsvermerk zugeordnet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Objektname='ESTW_Zentraleinheit|Proxy_Objekt', ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Objektname = _cast(None, Objektname) + self.Objektname_nsprefix_ = None + if ID_Bearbeitungsvermerk is None: + self.ID_Bearbeitungsvermerk = [] + else: + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + self.ID_Bearbeitungsvermerk_nsprefix_ = None + self.Wert = Wert + self.validate_TGUID(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCID_ESTW_Zentraleinheit) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCID_ESTW_Zentraleinheit.subclass: + return TCID_ESTW_Zentraleinheit.subclass(*args_, **kwargs_) + else: + return TCID_ESTW_Zentraleinheit(*args_, **kwargs_) + factory = staticmethod(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_Bearbeitungsvermerk(self): + return self.ID_Bearbeitungsvermerk + def set_ID_Bearbeitungsvermerk(self, ID_Bearbeitungsvermerk): + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + def add_ID_Bearbeitungsvermerk(self, value): + self.ID_Bearbeitungsvermerk.append(value) + def insert_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk.insert(index, value) + def replace_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk[index] = value + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def get_Objektname(self): + return self.Objektname + def set_Objektname(self, Objektname): + self.Objektname = Objektname + def validate_TGUID(self, value): + result = True + # Validate type TGUID, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGUID_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGUID_patterns_, )) + result = False + return result + validate_TGUID_patterns_ = [['^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$']] + def validate_TObjektname(self, value): + # Validate type nsBasisTypen:TObjektname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TObjektname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TObjektname_patterns_, )) + validate_TObjektname_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.ID_Bearbeitungsvermerk or + self.Wert is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_ESTW_Zentraleinheit', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCID_ESTW_Zentraleinheit') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCID_ESTW_Zentraleinheit': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCID_ESTW_Zentraleinheit') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCID_ESTW_Zentraleinheit', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsVerweise:', name_='TCID_ESTW_Zentraleinheit'): + if self.Objektname != 'ESTW_Zentraleinheit|Proxy_Objekt' and 'Objektname' not in already_processed: + already_processed.add('Objektname') + outfile.write(' Objektname=%s' % (quote_attrib(self.Objektname), )) + def _exportChildren(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_ESTW_Zentraleinheit', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Bearbeitungsvermerk_ in self.ID_Bearbeitungsvermerk: + namespaceprefix_ = self.ID_Bearbeitungsvermerk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bearbeitungsvermerk_nsprefix_) else '' + ID_Bearbeitungsvermerk_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bearbeitungsvermerk', pretty_print=pretty_print) + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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_('Objektname', node) + if value is not None and 'Objektname' not in already_processed: + already_processed.add('Objektname') + self.Objektname = value + self.validate_TObjektname(self.Objektname) # validate type TObjektname + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Bearbeitungsvermerk': + obj_ = TCID_Bearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bearbeitungsvermerk.append(obj_) + obj_.original_tagname_ = 'ID_Bearbeitungsvermerk' + elif nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGUID + self.validate_TGUID(self.Wert) +# end class TCID_ESTW_Zentraleinheit + + +class TCID_Unterbringung_ohne_Proxy(GeneratedsSuper): + """ID_Bearbeitungsvermerk -- Verweist auf einen oder mehrere Bearbeitungsvermerke. Ein Anhang wird + ü + ber einen Bearbeitungsvermerk zugeordnet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Objektname='Unterbringung', ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Objektname = _cast(None, Objektname) + self.Objektname_nsprefix_ = None + if ID_Bearbeitungsvermerk is None: + self.ID_Bearbeitungsvermerk = [] + else: + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + self.ID_Bearbeitungsvermerk_nsprefix_ = None + self.Wert = Wert + self.validate_TGUID(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCID_Unterbringung_ohne_Proxy) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCID_Unterbringung_ohne_Proxy.subclass: + return TCID_Unterbringung_ohne_Proxy.subclass(*args_, **kwargs_) + else: + return TCID_Unterbringung_ohne_Proxy(*args_, **kwargs_) + factory = staticmethod(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_Bearbeitungsvermerk(self): + return self.ID_Bearbeitungsvermerk + def set_ID_Bearbeitungsvermerk(self, ID_Bearbeitungsvermerk): + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + def add_ID_Bearbeitungsvermerk(self, value): + self.ID_Bearbeitungsvermerk.append(value) + def insert_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk.insert(index, value) + def replace_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk[index] = value + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def get_Objektname(self): + return self.Objektname + def set_Objektname(self, Objektname): + self.Objektname = Objektname + def validate_TGUID(self, value): + result = True + # Validate type TGUID, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGUID_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGUID_patterns_, )) + result = False + return result + validate_TGUID_patterns_ = [['^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$']] + def validate_TObjektname(self, value): + # Validate type nsBasisTypen:TObjektname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TObjektname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TObjektname_patterns_, )) + validate_TObjektname_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.ID_Bearbeitungsvermerk or + self.Wert is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Unterbringung_ohne_Proxy', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCID_Unterbringung_ohne_Proxy') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCID_Unterbringung_ohne_Proxy': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCID_Unterbringung_ohne_Proxy') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCID_Unterbringung_ohne_Proxy', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsVerweise:', name_='TCID_Unterbringung_ohne_Proxy'): + if self.Objektname != 'Unterbringung' and 'Objektname' not in already_processed: + already_processed.add('Objektname') + outfile.write(' Objektname=%s' % (quote_attrib(self.Objektname), )) + def _exportChildren(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Unterbringung_ohne_Proxy', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Bearbeitungsvermerk_ in self.ID_Bearbeitungsvermerk: + namespaceprefix_ = self.ID_Bearbeitungsvermerk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bearbeitungsvermerk_nsprefix_) else '' + ID_Bearbeitungsvermerk_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bearbeitungsvermerk', pretty_print=pretty_print) + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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_('Objektname', node) + if value is not None and 'Objektname' not in already_processed: + already_processed.add('Objektname') + self.Objektname = value + self.validate_TObjektname(self.Objektname) # validate type TObjektname + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Bearbeitungsvermerk': + obj_ = TCID_Bearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bearbeitungsvermerk.append(obj_) + obj_.original_tagname_ = 'ID_Bearbeitungsvermerk' + elif nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGUID + self.validate_TGUID(self.Wert) +# end class TCID_Unterbringung_ohne_Proxy + + +class TCID_Bezugspunkt_Positionierung(GeneratedsSuper): + """ID_Bearbeitungsvermerk -- Verweist auf einen oder mehrere Bearbeitungsvermerke. Ein Anhang wird + ü + ber einen Bearbeitungsvermerk zugeordnet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Objektname='Signal|Technischer_Punkt|Proxy_Objekt', ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Objektname = _cast(None, Objektname) + self.Objektname_nsprefix_ = None + if ID_Bearbeitungsvermerk is None: + self.ID_Bearbeitungsvermerk = [] + else: + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + self.ID_Bearbeitungsvermerk_nsprefix_ = None + self.Wert = Wert + self.validate_TGUID(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCID_Bezugspunkt_Positionierung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCID_Bezugspunkt_Positionierung.subclass: + return TCID_Bezugspunkt_Positionierung.subclass(*args_, **kwargs_) + else: + return TCID_Bezugspunkt_Positionierung(*args_, **kwargs_) + factory = staticmethod(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_Bearbeitungsvermerk(self): + return self.ID_Bearbeitungsvermerk + def set_ID_Bearbeitungsvermerk(self, ID_Bearbeitungsvermerk): + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + def add_ID_Bearbeitungsvermerk(self, value): + self.ID_Bearbeitungsvermerk.append(value) + def insert_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk.insert(index, value) + def replace_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk[index] = value + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def get_Objektname(self): + return self.Objektname + def set_Objektname(self, Objektname): + self.Objektname = Objektname + def validate_TGUID(self, value): + result = True + # Validate type TGUID, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGUID_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGUID_patterns_, )) + result = False + return result + validate_TGUID_patterns_ = [['^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$']] + def validate_TObjektname(self, value): + # Validate type nsBasisTypen:TObjektname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TObjektname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TObjektname_patterns_, )) + validate_TObjektname_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.ID_Bearbeitungsvermerk or + self.Wert is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Bezugspunkt_Positionierung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCID_Bezugspunkt_Positionierung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCID_Bezugspunkt_Positionierung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCID_Bezugspunkt_Positionierung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCID_Bezugspunkt_Positionierung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsVerweise:', name_='TCID_Bezugspunkt_Positionierung'): + if self.Objektname != 'Signal|Technischer_Punkt|Proxy_Objekt' and 'Objektname' not in already_processed: + already_processed.add('Objektname') + outfile.write(' Objektname=%s' % (quote_attrib(self.Objektname), )) + def _exportChildren(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Bezugspunkt_Positionierung', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Bearbeitungsvermerk_ in self.ID_Bearbeitungsvermerk: + namespaceprefix_ = self.ID_Bearbeitungsvermerk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bearbeitungsvermerk_nsprefix_) else '' + ID_Bearbeitungsvermerk_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bearbeitungsvermerk', pretty_print=pretty_print) + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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_('Objektname', node) + if value is not None and 'Objektname' not in already_processed: + already_processed.add('Objektname') + self.Objektname = value + self.validate_TObjektname(self.Objektname) # validate type TObjektname + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Bearbeitungsvermerk': + obj_ = TCID_Bearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bearbeitungsvermerk.append(obj_) + obj_.original_tagname_ = 'ID_Bearbeitungsvermerk' + elif nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGUID + self.validate_TGUID(self.Wert) +# end class TCID_Bezugspunkt_Positionierung + + +class TCID_Bahnsteig_Anlage(GeneratedsSuper): + """ID_Bearbeitungsvermerk -- Verweist auf einen oder mehrere Bearbeitungsvermerke. Ein Anhang wird + ü + ber einen Bearbeitungsvermerk zugeordnet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Objektname='Bahnsteig_Anlage|Proxy_Objekt', ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Objektname = _cast(None, Objektname) + self.Objektname_nsprefix_ = None + if ID_Bearbeitungsvermerk is None: + self.ID_Bearbeitungsvermerk = [] + else: + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + self.ID_Bearbeitungsvermerk_nsprefix_ = None + self.Wert = Wert + self.validate_TGUID(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCID_Bahnsteig_Anlage) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCID_Bahnsteig_Anlage.subclass: + return TCID_Bahnsteig_Anlage.subclass(*args_, **kwargs_) + else: + return TCID_Bahnsteig_Anlage(*args_, **kwargs_) + factory = staticmethod(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_Bearbeitungsvermerk(self): + return self.ID_Bearbeitungsvermerk + def set_ID_Bearbeitungsvermerk(self, ID_Bearbeitungsvermerk): + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + def add_ID_Bearbeitungsvermerk(self, value): + self.ID_Bearbeitungsvermerk.append(value) + def insert_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk.insert(index, value) + def replace_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk[index] = value + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def get_Objektname(self): + return self.Objektname + def set_Objektname(self, Objektname): + self.Objektname = Objektname + def validate_TGUID(self, value): + result = True + # Validate type TGUID, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGUID_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGUID_patterns_, )) + result = False + return result + validate_TGUID_patterns_ = [['^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$']] + def validate_TObjektname(self, value): + # Validate type nsBasisTypen:TObjektname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TObjektname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TObjektname_patterns_, )) + validate_TObjektname_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.ID_Bearbeitungsvermerk or + self.Wert is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Bahnsteig_Anlage', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCID_Bahnsteig_Anlage') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCID_Bahnsteig_Anlage': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCID_Bahnsteig_Anlage') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCID_Bahnsteig_Anlage', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsVerweise:', name_='TCID_Bahnsteig_Anlage'): + if self.Objektname != 'Bahnsteig_Anlage|Proxy_Objekt' and 'Objektname' not in already_processed: + already_processed.add('Objektname') + outfile.write(' Objektname=%s' % (quote_attrib(self.Objektname), )) + def _exportChildren(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Bahnsteig_Anlage', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Bearbeitungsvermerk_ in self.ID_Bearbeitungsvermerk: + namespaceprefix_ = self.ID_Bearbeitungsvermerk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bearbeitungsvermerk_nsprefix_) else '' + ID_Bearbeitungsvermerk_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bearbeitungsvermerk', pretty_print=pretty_print) + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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_('Objektname', node) + if value is not None and 'Objektname' not in already_processed: + already_processed.add('Objektname') + self.Objektname = value + self.validate_TObjektname(self.Objektname) # validate type TObjektname + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Bearbeitungsvermerk': + obj_ = TCID_Bearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bearbeitungsvermerk.append(obj_) + obj_.original_tagname_ = 'ID_Bearbeitungsvermerk' + elif nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGUID + self.validate_TGUID(self.Wert) +# end class TCID_Bahnsteig_Anlage + + +class TCID_Fachtelegramm_ohne_Proxy(GeneratedsSuper): + """ID_Bearbeitungsvermerk -- Verweist auf einen oder mehrere Bearbeitungsvermerke. Ein Anhang wird + ü + ber einen Bearbeitungsvermerk zugeordnet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Objektname='Fachtelegramm', ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Objektname = _cast(None, Objektname) + self.Objektname_nsprefix_ = None + if ID_Bearbeitungsvermerk is None: + self.ID_Bearbeitungsvermerk = [] + else: + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + self.ID_Bearbeitungsvermerk_nsprefix_ = None + self.Wert = Wert + self.validate_TGUID(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCID_Fachtelegramm_ohne_Proxy) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCID_Fachtelegramm_ohne_Proxy.subclass: + return TCID_Fachtelegramm_ohne_Proxy.subclass(*args_, **kwargs_) + else: + return TCID_Fachtelegramm_ohne_Proxy(*args_, **kwargs_) + factory = staticmethod(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_Bearbeitungsvermerk(self): + return self.ID_Bearbeitungsvermerk + def set_ID_Bearbeitungsvermerk(self, ID_Bearbeitungsvermerk): + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + def add_ID_Bearbeitungsvermerk(self, value): + self.ID_Bearbeitungsvermerk.append(value) + def insert_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk.insert(index, value) + def replace_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk[index] = value + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def get_Objektname(self): + return self.Objektname + def set_Objektname(self, Objektname): + self.Objektname = Objektname + def validate_TGUID(self, value): + result = True + # Validate type TGUID, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGUID_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGUID_patterns_, )) + result = False + return result + validate_TGUID_patterns_ = [['^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$']] + def validate_TObjektname(self, value): + # Validate type nsBasisTypen:TObjektname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TObjektname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TObjektname_patterns_, )) + validate_TObjektname_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.ID_Bearbeitungsvermerk or + self.Wert is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Fachtelegramm_ohne_Proxy', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCID_Fachtelegramm_ohne_Proxy') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCID_Fachtelegramm_ohne_Proxy': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCID_Fachtelegramm_ohne_Proxy') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCID_Fachtelegramm_ohne_Proxy', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsVerweise:', name_='TCID_Fachtelegramm_ohne_Proxy'): + if self.Objektname != 'Fachtelegramm' and 'Objektname' not in already_processed: + already_processed.add('Objektname') + outfile.write(' Objektname=%s' % (quote_attrib(self.Objektname), )) + def _exportChildren(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Fachtelegramm_ohne_Proxy', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Bearbeitungsvermerk_ in self.ID_Bearbeitungsvermerk: + namespaceprefix_ = self.ID_Bearbeitungsvermerk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bearbeitungsvermerk_nsprefix_) else '' + ID_Bearbeitungsvermerk_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bearbeitungsvermerk', pretty_print=pretty_print) + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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_('Objektname', node) + if value is not None and 'Objektname' not in already_processed: + already_processed.add('Objektname') + self.Objektname = value + self.validate_TObjektname(self.Objektname) # validate type TObjektname + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Bearbeitungsvermerk': + obj_ = TCID_Bearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bearbeitungsvermerk.append(obj_) + obj_.original_tagname_ = 'ID_Bearbeitungsvermerk' + elif nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGUID + self.validate_TGUID(self.Wert) +# end class TCID_Fachtelegramm_ohne_Proxy + + +class TCID_ZL_DLP_Fstr(GeneratedsSuper): + """ID_Bearbeitungsvermerk -- Verweist auf einen oder mehrere Bearbeitungsvermerke. Ein Anhang wird + ü + ber einen Bearbeitungsvermerk zugeordnet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Objektname='ZL_DLP_Fstr|Proxy_Objekt', ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Objektname = _cast(None, Objektname) + self.Objektname_nsprefix_ = None + if ID_Bearbeitungsvermerk is None: + self.ID_Bearbeitungsvermerk = [] + else: + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + self.ID_Bearbeitungsvermerk_nsprefix_ = None + self.Wert = Wert + self.validate_TGUID(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCID_ZL_DLP_Fstr) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCID_ZL_DLP_Fstr.subclass: + return TCID_ZL_DLP_Fstr.subclass(*args_, **kwargs_) + else: + return TCID_ZL_DLP_Fstr(*args_, **kwargs_) + factory = staticmethod(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_Bearbeitungsvermerk(self): + return self.ID_Bearbeitungsvermerk + def set_ID_Bearbeitungsvermerk(self, ID_Bearbeitungsvermerk): + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + def add_ID_Bearbeitungsvermerk(self, value): + self.ID_Bearbeitungsvermerk.append(value) + def insert_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk.insert(index, value) + def replace_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk[index] = value + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def get_Objektname(self): + return self.Objektname + def set_Objektname(self, Objektname): + self.Objektname = Objektname + def validate_TGUID(self, value): + result = True + # Validate type TGUID, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGUID_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGUID_patterns_, )) + result = False + return result + validate_TGUID_patterns_ = [['^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$']] + def validate_TObjektname(self, value): + # Validate type nsBasisTypen:TObjektname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TObjektname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TObjektname_patterns_, )) + validate_TObjektname_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.ID_Bearbeitungsvermerk or + self.Wert is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_ZL_DLP_Fstr', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCID_ZL_DLP_Fstr') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCID_ZL_DLP_Fstr': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCID_ZL_DLP_Fstr') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCID_ZL_DLP_Fstr', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsVerweise:', name_='TCID_ZL_DLP_Fstr'): + if self.Objektname != 'ZL_DLP_Fstr|Proxy_Objekt' and 'Objektname' not in already_processed: + already_processed.add('Objektname') + outfile.write(' Objektname=%s' % (quote_attrib(self.Objektname), )) + def _exportChildren(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_ZL_DLP_Fstr', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Bearbeitungsvermerk_ in self.ID_Bearbeitungsvermerk: + namespaceprefix_ = self.ID_Bearbeitungsvermerk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bearbeitungsvermerk_nsprefix_) else '' + ID_Bearbeitungsvermerk_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bearbeitungsvermerk', pretty_print=pretty_print) + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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_('Objektname', node) + if value is not None and 'Objektname' not in already_processed: + already_processed.add('Objektname') + self.Objektname = value + self.validate_TObjektname(self.Objektname) # validate type TObjektname + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Bearbeitungsvermerk': + obj_ = TCID_Bearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bearbeitungsvermerk.append(obj_) + obj_.original_tagname_ = 'ID_Bearbeitungsvermerk' + elif nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGUID + self.validate_TGUID(self.Wert) +# end class TCID_ZL_DLP_Fstr + + +class TCID_Trasse_Kante(GeneratedsSuper): + """ID_Bearbeitungsvermerk -- Verweist auf einen oder mehrere Bearbeitungsvermerke. Ein Anhang wird + ü + ber einen Bearbeitungsvermerk zugeordnet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Objektname='Trasse_Kante', ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Objektname = _cast(None, Objektname) + self.Objektname_nsprefix_ = None + if ID_Bearbeitungsvermerk is None: + self.ID_Bearbeitungsvermerk = [] + else: + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + self.ID_Bearbeitungsvermerk_nsprefix_ = None + self.Wert = Wert + self.validate_TGUID(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCID_Trasse_Kante) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCID_Trasse_Kante.subclass: + return TCID_Trasse_Kante.subclass(*args_, **kwargs_) + else: + return TCID_Trasse_Kante(*args_, **kwargs_) + factory = staticmethod(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_Bearbeitungsvermerk(self): + return self.ID_Bearbeitungsvermerk + def set_ID_Bearbeitungsvermerk(self, ID_Bearbeitungsvermerk): + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + def add_ID_Bearbeitungsvermerk(self, value): + self.ID_Bearbeitungsvermerk.append(value) + def insert_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk.insert(index, value) + def replace_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk[index] = value + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def get_Objektname(self): + return self.Objektname + def set_Objektname(self, Objektname): + self.Objektname = Objektname + def validate_TGUID(self, value): + result = True + # Validate type TGUID, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGUID_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGUID_patterns_, )) + result = False + return result + validate_TGUID_patterns_ = [['^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$']] + def validate_TObjektname(self, value): + # Validate type nsBasisTypen:TObjektname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TObjektname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TObjektname_patterns_, )) + validate_TObjektname_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.ID_Bearbeitungsvermerk or + self.Wert is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Trasse_Kante', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCID_Trasse_Kante') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCID_Trasse_Kante': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCID_Trasse_Kante') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCID_Trasse_Kante', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsVerweise:', name_='TCID_Trasse_Kante'): + if self.Objektname != 'Trasse_Kante' and 'Objektname' not in already_processed: + already_processed.add('Objektname') + outfile.write(' Objektname=%s' % (quote_attrib(self.Objektname), )) + def _exportChildren(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Trasse_Kante', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Bearbeitungsvermerk_ in self.ID_Bearbeitungsvermerk: + namespaceprefix_ = self.ID_Bearbeitungsvermerk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bearbeitungsvermerk_nsprefix_) else '' + ID_Bearbeitungsvermerk_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bearbeitungsvermerk', pretty_print=pretty_print) + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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_('Objektname', node) + if value is not None and 'Objektname' not in already_processed: + already_processed.add('Objektname') + self.Objektname = value + self.validate_TObjektname(self.Objektname) # validate type TObjektname + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Bearbeitungsvermerk': + obj_ = TCID_Bearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bearbeitungsvermerk.append(obj_) + obj_.original_tagname_ = 'ID_Bearbeitungsvermerk' + elif nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGUID + self.validate_TGUID(self.Wert) +# end class TCID_Trasse_Kante + + +class TCID_Datenpunkt(GeneratedsSuper): + """ID_Bearbeitungsvermerk -- Verweist auf einen oder mehrere Bearbeitungsvermerke. Ein Anhang wird + ü + ber einen Bearbeitungsvermerk zugeordnet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Objektname='Datenpunkt|Proxy_Objekt', ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Objektname = _cast(None, Objektname) + self.Objektname_nsprefix_ = None + if ID_Bearbeitungsvermerk is None: + self.ID_Bearbeitungsvermerk = [] + else: + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + self.ID_Bearbeitungsvermerk_nsprefix_ = None + self.Wert = Wert + self.validate_TGUID(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCID_Datenpunkt) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCID_Datenpunkt.subclass: + return TCID_Datenpunkt.subclass(*args_, **kwargs_) + else: + return TCID_Datenpunkt(*args_, **kwargs_) + factory = staticmethod(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_Bearbeitungsvermerk(self): + return self.ID_Bearbeitungsvermerk + def set_ID_Bearbeitungsvermerk(self, ID_Bearbeitungsvermerk): + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + def add_ID_Bearbeitungsvermerk(self, value): + self.ID_Bearbeitungsvermerk.append(value) + def insert_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk.insert(index, value) + def replace_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk[index] = value + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def get_Objektname(self): + return self.Objektname + def set_Objektname(self, Objektname): + self.Objektname = Objektname + def validate_TGUID(self, value): + result = True + # Validate type TGUID, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGUID_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGUID_patterns_, )) + result = False + return result + validate_TGUID_patterns_ = [['^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$']] + def validate_TObjektname(self, value): + # Validate type nsBasisTypen:TObjektname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TObjektname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TObjektname_patterns_, )) + validate_TObjektname_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.ID_Bearbeitungsvermerk or + self.Wert is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Datenpunkt', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCID_Datenpunkt') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCID_Datenpunkt': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCID_Datenpunkt') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCID_Datenpunkt', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsVerweise:', name_='TCID_Datenpunkt'): + if self.Objektname != 'Datenpunkt|Proxy_Objekt' and 'Objektname' not in already_processed: + already_processed.add('Objektname') + outfile.write(' Objektname=%s' % (quote_attrib(self.Objektname), )) + def _exportChildren(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Datenpunkt', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Bearbeitungsvermerk_ in self.ID_Bearbeitungsvermerk: + namespaceprefix_ = self.ID_Bearbeitungsvermerk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bearbeitungsvermerk_nsprefix_) else '' + ID_Bearbeitungsvermerk_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bearbeitungsvermerk', pretty_print=pretty_print) + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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_('Objektname', node) + if value is not None and 'Objektname' not in already_processed: + already_processed.add('Objektname') + self.Objektname = value + self.validate_TObjektname(self.Objektname) # validate type TObjektname + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Bearbeitungsvermerk': + obj_ = TCID_Bearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bearbeitungsvermerk.append(obj_) + obj_.original_tagname_ = 'ID_Bearbeitungsvermerk' + elif nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGUID + self.validate_TGUID(self.Wert) +# end class TCID_Datenpunkt + + +class TCID_EV_Modul(GeneratedsSuper): + """ID_Bearbeitungsvermerk -- Verweist auf einen oder mehrere Bearbeitungsvermerke. Ein Anhang wird + ü + ber einen Bearbeitungsvermerk zugeordnet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Objektname='EV_Modul|Proxy_Objekt', ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Objektname = _cast(None, Objektname) + self.Objektname_nsprefix_ = None + if ID_Bearbeitungsvermerk is None: + self.ID_Bearbeitungsvermerk = [] + else: + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + self.ID_Bearbeitungsvermerk_nsprefix_ = None + self.Wert = Wert + self.validate_TGUID(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCID_EV_Modul) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCID_EV_Modul.subclass: + return TCID_EV_Modul.subclass(*args_, **kwargs_) + else: + return TCID_EV_Modul(*args_, **kwargs_) + factory = staticmethod(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_Bearbeitungsvermerk(self): + return self.ID_Bearbeitungsvermerk + def set_ID_Bearbeitungsvermerk(self, ID_Bearbeitungsvermerk): + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + def add_ID_Bearbeitungsvermerk(self, value): + self.ID_Bearbeitungsvermerk.append(value) + def insert_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk.insert(index, value) + def replace_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk[index] = value + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def get_Objektname(self): + return self.Objektname + def set_Objektname(self, Objektname): + self.Objektname = Objektname + def validate_TGUID(self, value): + result = True + # Validate type TGUID, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGUID_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGUID_patterns_, )) + result = False + return result + validate_TGUID_patterns_ = [['^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$']] + def validate_TObjektname(self, value): + # Validate type nsBasisTypen:TObjektname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TObjektname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TObjektname_patterns_, )) + validate_TObjektname_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.ID_Bearbeitungsvermerk or + self.Wert is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_EV_Modul', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCID_EV_Modul') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCID_EV_Modul': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCID_EV_Modul') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCID_EV_Modul', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsVerweise:', name_='TCID_EV_Modul'): + if self.Objektname != 'EV_Modul|Proxy_Objekt' and 'Objektname' not in already_processed: + already_processed.add('Objektname') + outfile.write(' Objektname=%s' % (quote_attrib(self.Objektname), )) + def _exportChildren(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_EV_Modul', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Bearbeitungsvermerk_ in self.ID_Bearbeitungsvermerk: + namespaceprefix_ = self.ID_Bearbeitungsvermerk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bearbeitungsvermerk_nsprefix_) else '' + ID_Bearbeitungsvermerk_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bearbeitungsvermerk', pretty_print=pretty_print) + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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_('Objektname', node) + if value is not None and 'Objektname' not in already_processed: + already_processed.add('Objektname') + self.Objektname = value + self.validate_TObjektname(self.Objektname) # validate type TObjektname + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Bearbeitungsvermerk': + obj_ = TCID_Bearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bearbeitungsvermerk.append(obj_) + obj_.original_tagname_ = 'ID_Bearbeitungsvermerk' + elif nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGUID + self.validate_TGUID(self.Wert) +# end class TCID_EV_Modul + + +class TCID_ZN_Anzeigefeld(GeneratedsSuper): + """ID_Bearbeitungsvermerk -- Verweist auf einen oder mehrere Bearbeitungsvermerke. Ein Anhang wird + ü + ber einen Bearbeitungsvermerk zugeordnet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Objektname='ZN_Anzeigefeld|Proxy_Objekt', ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Objektname = _cast(None, Objektname) + self.Objektname_nsprefix_ = None + if ID_Bearbeitungsvermerk is None: + self.ID_Bearbeitungsvermerk = [] + else: + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + self.ID_Bearbeitungsvermerk_nsprefix_ = None + self.Wert = Wert + self.validate_TGUID(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCID_ZN_Anzeigefeld) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCID_ZN_Anzeigefeld.subclass: + return TCID_ZN_Anzeigefeld.subclass(*args_, **kwargs_) + else: + return TCID_ZN_Anzeigefeld(*args_, **kwargs_) + factory = staticmethod(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_Bearbeitungsvermerk(self): + return self.ID_Bearbeitungsvermerk + def set_ID_Bearbeitungsvermerk(self, ID_Bearbeitungsvermerk): + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + def add_ID_Bearbeitungsvermerk(self, value): + self.ID_Bearbeitungsvermerk.append(value) + def insert_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk.insert(index, value) + def replace_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk[index] = value + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def get_Objektname(self): + return self.Objektname + def set_Objektname(self, Objektname): + self.Objektname = Objektname + def validate_TGUID(self, value): + result = True + # Validate type TGUID, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGUID_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGUID_patterns_, )) + result = False + return result + validate_TGUID_patterns_ = [['^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$']] + def validate_TObjektname(self, value): + # Validate type nsBasisTypen:TObjektname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TObjektname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TObjektname_patterns_, )) + validate_TObjektname_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.ID_Bearbeitungsvermerk or + self.Wert is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_ZN_Anzeigefeld', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCID_ZN_Anzeigefeld') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCID_ZN_Anzeigefeld': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCID_ZN_Anzeigefeld') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCID_ZN_Anzeigefeld', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsVerweise:', name_='TCID_ZN_Anzeigefeld'): + if self.Objektname != 'ZN_Anzeigefeld|Proxy_Objekt' and 'Objektname' not in already_processed: + already_processed.add('Objektname') + outfile.write(' Objektname=%s' % (quote_attrib(self.Objektname), )) + def _exportChildren(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_ZN_Anzeigefeld', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Bearbeitungsvermerk_ in self.ID_Bearbeitungsvermerk: + namespaceprefix_ = self.ID_Bearbeitungsvermerk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bearbeitungsvermerk_nsprefix_) else '' + ID_Bearbeitungsvermerk_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bearbeitungsvermerk', pretty_print=pretty_print) + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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_('Objektname', node) + if value is not None and 'Objektname' not in already_processed: + already_processed.add('Objektname') + self.Objektname = value + self.validate_TObjektname(self.Objektname) # validate type TObjektname + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Bearbeitungsvermerk': + obj_ = TCID_Bearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bearbeitungsvermerk.append(obj_) + obj_.original_tagname_ = 'ID_Bearbeitungsvermerk' + elif nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGUID + self.validate_TGUID(self.Wert) +# end class TCID_ZN_Anzeigefeld + + +class TCID_Binaerdaten_ohne_Proxy(GeneratedsSuper): + """ID_Bearbeitungsvermerk -- Verweist auf einen oder mehrere Be + arbeitungsvermerke. Ein Anhang wird + ü + ber einen Bearbeitungsvermerk zugeordnet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Objektname='Binaerdaten', ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Objektname = _cast(None, Objektname) + self.Objektname_nsprefix_ = None + if ID_Bearbeitungsvermerk is None: + self.ID_Bearbeitungsvermerk = [] + else: + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + self.ID_Bearbeitungsvermerk_nsprefix_ = None + self.Wert = Wert + self.validate_TGUID(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCID_Binaerdaten_ohne_Proxy) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCID_Binaerdaten_ohne_Proxy.subclass: + return TCID_Binaerdaten_ohne_Proxy.subclass(*args_, **kwargs_) + else: + return TCID_Binaerdaten_ohne_Proxy(*args_, **kwargs_) + factory = staticmethod(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_Bearbeitungsvermerk(self): + return self.ID_Bearbeitungsvermerk + def set_ID_Bearbeitungsvermerk(self, ID_Bearbeitungsvermerk): + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + def add_ID_Bearbeitungsvermerk(self, value): + self.ID_Bearbeitungsvermerk.append(value) + def insert_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk.insert(index, value) + def replace_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk[index] = value + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def get_Objektname(self): + return self.Objektname + def set_Objektname(self, Objektname): + self.Objektname = Objektname + def validate_TGUID(self, value): + result = True + # Validate type TGUID, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGUID_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGUID_patterns_, )) + result = False + return result + validate_TGUID_patterns_ = [['^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$']] + def validate_TObjektname(self, value): + # Validate type nsBasisTypen:TObjektname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TObjektname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TObjektname_patterns_, )) + validate_TObjektname_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.ID_Bearbeitungsvermerk or + self.Wert is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Binaerdaten_ohne_Proxy', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCID_Binaerdaten_ohne_Proxy') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCID_Binaerdaten_ohne_Proxy': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCID_Binaerdaten_ohne_Proxy') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCID_Binaerdaten_ohne_Proxy', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsVerweise:', name_='TCID_Binaerdaten_ohne_Proxy'): + if self.Objektname != 'Binaerdaten' and 'Objektname' not in already_processed: + already_processed.add('Objektname') + outfile.write(' Objektname=%s' % (quote_attrib(self.Objektname), )) + def _exportChildren(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Binaerdaten_ohne_Proxy', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Bearbeitungsvermerk_ in self.ID_Bearbeitungsvermerk: + namespaceprefix_ = self.ID_Bearbeitungsvermerk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bearbeitungsvermerk_nsprefix_) else '' + ID_Bearbeitungsvermerk_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bearbeitungsvermerk', pretty_print=pretty_print) + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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_('Objektname', node) + if value is not None and 'Objektname' not in already_processed: + already_processed.add('Objektname') + self.Objektname = value + self.validate_TObjektname(self.Objektname) # validate type TObjektname + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Bearbeitungsvermerk': + obj_ = TCID_Bearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bearbeitungsvermerk.append(obj_) + obj_.original_tagname_ = 'ID_Bearbeitungsvermerk' + elif nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGUID + self.validate_TGUID(self.Wert) +# end class TCID_Binaerdaten_ohne_Proxy + + +class TCID_Markanter_Punkt(GeneratedsSuper): + """ID_Bearbeitungsvermerk -- Verweist auf einen oder mehrere Bearbeitungsvermerke. Ein Anhang wird + ü + ber einen Bearbeitungsvermerk zugeordnet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Objektname='Markanter_Punkt|Proxy_Objekt', ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Objektname = _cast(None, Objektname) + self.Objektname_nsprefix_ = None + if ID_Bearbeitungsvermerk is None: + self.ID_Bearbeitungsvermerk = [] + else: + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + self.ID_Bearbeitungsvermerk_nsprefix_ = None + self.Wert = Wert + self.validate_TGUID(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCID_Markanter_Punkt) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCID_Markanter_Punkt.subclass: + return TCID_Markanter_Punkt.subclass(*args_, **kwargs_) + else: + return TCID_Markanter_Punkt(*args_, **kwargs_) + factory = staticmethod(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_Bearbeitungsvermerk(self): + return self.ID_Bearbeitungsvermerk + def set_ID_Bearbeitungsvermerk(self, ID_Bearbeitungsvermerk): + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + def add_ID_Bearbeitungsvermerk(self, value): + self.ID_Bearbeitungsvermerk.append(value) + def insert_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk.insert(index, value) + def replace_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk[index] = value + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def get_Objektname(self): + return self.Objektname + def set_Objektname(self, Objektname): + self.Objektname = Objektname + def validate_TGUID(self, value): + result = True + # Validate type TGUID, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGUID_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGUID_patterns_, )) + result = False + return result + validate_TGUID_patterns_ = [['^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$']] + def validate_TObjektname(self, value): + # Validate type nsBasisTypen:TObjektname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TObjektname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TObjektname_patterns_, )) + validate_TObjektname_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.ID_Bearbeitungsvermerk or + self.Wert is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Markanter_Punkt', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCID_Markanter_Punkt') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCID_Markanter_Punkt': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCID_Markanter_Punkt') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCID_Markanter_Punkt', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsVerweise:', name_='TCID_Markanter_Punkt'): + if self.Objektname != 'Markanter_Punkt|Proxy_Objekt' and 'Objektname' not in already_processed: + already_processed.add('Objektname') + outfile.write(' Objektname=%s' % (quote_attrib(self.Objektname), )) + def _exportChildren(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Markanter_Punkt', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Bearbeitungsvermerk_ in self.ID_Bearbeitungsvermerk: + namespaceprefix_ = self.ID_Bearbeitungsvermerk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bearbeitungsvermerk_nsprefix_) else '' + ID_Bearbeitungsvermerk_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bearbeitungsvermerk', pretty_print=pretty_print) + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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_('Objektname', node) + if value is not None and 'Objektname' not in already_processed: + already_processed.add('Objektname') + self.Objektname = value + self.validate_TObjektname(self.Objektname) # validate type TObjektname + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Bearbeitungsvermerk': + obj_ = TCID_Bearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bearbeitungsvermerk.append(obj_) + obj_.original_tagname_ = 'ID_Bearbeitungsvermerk' + elif nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGUID + self.validate_TGUID(self.Wert) +# end class TCID_Markanter_Punkt + + +class TCID_W_Kr_Anlage_ohne_Proxy(GeneratedsSuper): + """ID_Bearbeitungsvermerk -- Verweist auf einen oder mehrere Bearbeitungsvermerke. Ein Anhang wird + ü + ber einen Bearbeitungsvermerk zugeordnet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Objektname='W_Kr_Anlage', ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Objektname = _cast(None, Objektname) + self.Objektname_nsprefix_ = None + if ID_Bearbeitungsvermerk is None: + self.ID_Bearbeitungsvermerk = [] + else: + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + self.ID_Bearbeitungsvermerk_nsprefix_ = None + self.Wert = Wert + self.validate_TGUID(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCID_W_Kr_Anlage_ohne_Proxy) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCID_W_Kr_Anlage_ohne_Proxy.subclass: + return TCID_W_Kr_Anlage_ohne_Proxy.subclass(*args_, **kwargs_) + else: + return TCID_W_Kr_Anlage_ohne_Proxy(*args_, **kwargs_) + factory = staticmethod(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_Bearbeitungsvermerk(self): + return self.ID_Bearbeitungsvermerk + def set_ID_Bearbeitungsvermerk(self, ID_Bearbeitungsvermerk): + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + def add_ID_Bearbeitungsvermerk(self, value): + self.ID_Bearbeitungsvermerk.append(value) + def insert_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk.insert(index, value) + def replace_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk[index] = value + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def get_Objektname(self): + return self.Objektname + def set_Objektname(self, Objektname): + self.Objektname = Objektname + def validate_TGUID(self, value): + result = True + # Validate type TGUID, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGUID_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGUID_patterns_, )) + result = False + return result + validate_TGUID_patterns_ = [['^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$']] + def validate_TObjektname(self, value): + # Validate type nsBasisTypen:TObjektname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TObjektname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TObjektname_patterns_, )) + validate_TObjektname_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.ID_Bearbeitungsvermerk or + self.Wert is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_W_Kr_Anlage_ohne_Proxy', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCID_W_Kr_Anlage_ohne_Proxy') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCID_W_Kr_Anlage_ohne_Proxy': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCID_W_Kr_Anlage_ohne_Proxy') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCID_W_Kr_Anlage_ohne_Proxy', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsVerweise:', name_='TCID_W_Kr_Anlage_ohne_Proxy'): + if self.Objektname != 'W_Kr_Anlage' and 'Objektname' not in already_processed: + already_processed.add('Objektname') + outfile.write(' Objektname=%s' % (quote_attrib(self.Objektname), )) + def _exportChildren(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_W_Kr_Anlage_ohne_Proxy', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Bearbeitungsvermerk_ in self.ID_Bearbeitungsvermerk: + namespaceprefix_ = self.ID_Bearbeitungsvermerk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bearbeitungsvermerk_nsprefix_) else '' + ID_Bearbeitungsvermerk_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bearbeitungsvermerk', pretty_print=pretty_print) + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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_('Objektname', node) + if value is not None and 'Objektname' not in already_processed: + already_processed.add('Objektname') + self.Objektname = value + self.validate_TObjektname(self.Objektname) # validate type TObjektname + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Bearbeitungsvermerk': + obj_ = TCID_Bearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bearbeitungsvermerk.append(obj_) + obj_.original_tagname_ = 'ID_Bearbeitungsvermerk' + elif nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGUID + self.validate_TGUID(self.Wert) +# end class TCID_W_Kr_Anlage_ohne_Proxy + + +class TCID_Markante_Stelle(GeneratedsSuper): + """ID_Bearbeitungsvermerk -- Verweist auf einen oder mehrere Bearbeitungsvermerke. Ein Anhang wird + ü + ber einen Bearbeitungsvermerk zugeordnet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Objektname='Datenpunkt|Signal|W_Kr_Gsp_Komponente|Sonstiger_Punkt|FMA_Komponente|Proxy_Objekt', ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Objektname = _cast(None, Objektname) + self.Objektname_nsprefix_ = None + if ID_Bearbeitungsvermerk is None: + self.ID_Bearbeitungsvermerk = [] + else: + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + self.ID_Bearbeitungsvermerk_nsprefix_ = None + self.Wert = Wert + self.validate_TGUID(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCID_Markante_Stelle) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCID_Markante_Stelle.subclass: + return TCID_Markante_Stelle.subclass(*args_, **kwargs_) + else: + return TCID_Markante_Stelle(*args_, **kwargs_) + factory = staticmethod(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_Bearbeitungsvermerk(self): + return self.ID_Bearbeitungsvermerk + def set_ID_Bearbeitungsvermerk(self, ID_Bearbeitungsvermerk): + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + def add_ID_Bearbeitungsvermerk(self, value): + self.ID_Bearbeitungsvermerk.append(value) + def insert_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk.insert(index, value) + def replace_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk[index] = value + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def get_Objektname(self): + return self.Objektname + def set_Objektname(self, Objektname): + self.Objektname = Objektname + def validate_TGUID(self, value): + result = True + # Validate type TGUID, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGUID_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGUID_patterns_, )) + result = False + return result + validate_TGUID_patterns_ = [['^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$']] + def validate_TObjektname(self, value): + # Validate type nsBasisTypen:TObjektname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TObjektname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TObjektname_patterns_, )) + validate_TObjektname_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.ID_Bearbeitungsvermerk or + self.Wert is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Markante_Stelle', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCID_Markante_Stelle') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCID_Markante_Stelle': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCID_Markante_Stelle') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCID_Markante_Stelle', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsVerweise:', name_='TCID_Markante_Stelle'): + if self.Objektname != 'Datenpunkt|Signal|W_Kr_Gsp_Komponente|Sonstiger_Punkt|FMA_Komponente|Proxy_Objekt' and 'Objektname' not in already_processed: + already_processed.add('Objektname') + outfile.write(' Objektname=%s' % (quote_attrib(self.Objektname), )) + def _exportChildren(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Markante_Stelle', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Bearbeitungsvermerk_ in self.ID_Bearbeitungsvermerk: + namespaceprefix_ = self.ID_Bearbeitungsvermerk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bearbeitungsvermerk_nsprefix_) else '' + ID_Bearbeitungsvermerk_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bearbeitungsvermerk', pretty_print=pretty_print) + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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_('Objektname', node) + if value is not None and 'Objektname' not in already_processed: + already_processed.add('Objektname') + self.Objektname = value + self.validate_TObjektname(self.Objektname) # validate type TObjektname + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Bearbeitungsvermerk': + obj_ = TCID_Bearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bearbeitungsvermerk.append(obj_) + obj_.original_tagname_ = 'ID_Bearbeitungsvermerk' + elif nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGUID + self.validate_TGUID(self.Wert) +# end class TCID_Markante_Stelle + + +class TCID_Zugeinwirkung(GeneratedsSuper): + """ID_Bearbeitungsvermerk -- Verweist auf einen oder mehrere Bearbeitungsvermerke. Ein Anhang wird + ü + ber einen Bearbeitungsvermerk zugeordnet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Objektname='Zugeinwirkung|Proxy_Objekt', ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Objektname = _cast(None, Objektname) + self.Objektname_nsprefix_ = None + if ID_Bearbeitungsvermerk is None: + self.ID_Bearbeitungsvermerk = [] + else: + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + self.ID_Bearbeitungsvermerk_nsprefix_ = None + self.Wert = Wert + self.validate_TGUID(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCID_Zugeinwirkung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCID_Zugeinwirkung.subclass: + return TCID_Zugeinwirkung.subclass(*args_, **kwargs_) + else: + return TCID_Zugeinwirkung(*args_, **kwargs_) + factory = staticmethod(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_Bearbeitungsvermerk(self): + return self.ID_Bearbeitungsvermerk + def set_ID_Bearbeitungsvermerk(self, ID_Bearbeitungsvermerk): + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + def add_ID_Bearbeitungsvermerk(self, value): + self.ID_Bearbeitungsvermerk.append(value) + def insert_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk.insert(index, value) + def replace_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk[index] = value + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def get_Objektname(self): + return self.Objektname + def set_Objektname(self, Objektname): + self.Objektname = Objektname + def validate_TGUID(self, value): + result = True + # Validate type TGUID, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGUID_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGUID_patterns_, )) + result = False + return result + validate_TGUID_patterns_ = [['^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$']] + def validate_TObjektname(self, value): + # Validate type nsBasisTypen:TObjektname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TObjektname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TObjektname_patterns_, )) + validate_TObjektname_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.ID_Bearbeitungsvermerk or + self.Wert is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Zugeinwirkung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCID_Zugeinwirkung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCID_Zugeinwirkung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCID_Zugeinwirkung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCID_Zugeinwirkung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsVerweise:', name_='TCID_Zugeinwirkung'): + if self.Objektname != 'Zugeinwirkung|Proxy_Objekt' and 'Objektname' not in already_processed: + already_processed.add('Objektname') + outfile.write(' Objektname=%s' % (quote_attrib(self.Objektname), )) + def _exportChildren(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Zugeinwirkung', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Bearbeitungsvermerk_ in self.ID_Bearbeitungsvermerk: + namespaceprefix_ = self.ID_Bearbeitungsvermerk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bearbeitungsvermerk_nsprefix_) else '' + ID_Bearbeitungsvermerk_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bearbeitungsvermerk', pretty_print=pretty_print) + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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_('Objektname', node) + if value is not None and 'Objektname' not in already_processed: + already_processed.add('Objektname') + self.Objektname = value + self.validate_TObjektname(self.Objektname) # validate type TObjektname + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Bearbeitungsvermerk': + obj_ = TCID_Bearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bearbeitungsvermerk.append(obj_) + obj_.original_tagname_ = 'ID_Bearbeitungsvermerk' + elif nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGUID + self.validate_TGUID(self.Wert) +# end class TCID_Zugeinwirkung + + +class CPruefmerkmale_Daten(GeneratedsSuper): + """CPruefmerkmale_Daten -- Basisattributgruppe zur Zuordnung von Pr + ü + fmerkmalen zu Daten bzw. einer Datei. + Datum_Auslieferung -- Datum, an dem die Daten bzw. die Datei vom Hersteller ausgeliefert wurde(n). + Pruefsumme -- Pr + ü + fsumme f + ü + r die Daten bzw. die Datei zur Sicherstellung der Unverf + ä + lschtheit. + Pruefsumme_Art -- Art der verwendeten Pr + ü + fsumme (z. B. MD4). + Version_Auslieferung -- Version der Auslieferung vom Hersteller. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Datum_Auslieferung=None, Pruefsumme=None, Pruefsumme_Art=None, Version_Auslieferung=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Datum_Auslieferung = Datum_Auslieferung + self.Datum_Auslieferung_nsprefix_ = None + self.Pruefsumme = Pruefsumme + self.Pruefsumme_nsprefix_ = None + self.Pruefsumme_Art = Pruefsumme_Art + self.Pruefsumme_Art_nsprefix_ = None + self.Version_Auslieferung = Version_Auslieferung + self.Version_Auslieferung_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CPruefmerkmale_Daten) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CPruefmerkmale_Daten.subclass: + return CPruefmerkmale_Daten.subclass(*args_, **kwargs_) + else: + return CPruefmerkmale_Daten(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Datum_Auslieferung(self): + return self.Datum_Auslieferung + def set_Datum_Auslieferung(self, Datum_Auslieferung): + self.Datum_Auslieferung = Datum_Auslieferung + def get_Pruefsumme(self): + return self.Pruefsumme + def set_Pruefsumme(self, Pruefsumme): + self.Pruefsumme = Pruefsumme + def get_Pruefsumme_Art(self): + return self.Pruefsumme_Art + def set_Pruefsumme_Art(self, Pruefsumme_Art): + self.Pruefsumme_Art = Pruefsumme_Art + def get_Version_Auslieferung(self): + return self.Version_Auslieferung + def set_Version_Auslieferung(self, Version_Auslieferung): + self.Version_Auslieferung = Version_Auslieferung + def has__content(self): + if ( + self.Datum_Auslieferung is not None or + self.Pruefsumme is not None or + self.Pruefsumme_Art is not None or + self.Version_Auslieferung is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBasisTypen:', namespacedef_='xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0"', name_='CPruefmerkmale_Daten', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CPruefmerkmale_Daten') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CPruefmerkmale_Daten': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CPruefmerkmale_Daten') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CPruefmerkmale_Daten', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBasisTypen:', name_='CPruefmerkmale_Daten'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsBasisTypen:', namespacedef_='xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0"', name_='CPruefmerkmale_Daten', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Datum_Auslieferung is not None: + namespaceprefix_ = self.Datum_Auslieferung_nsprefix_ + ':' if (UseCapturedNS_ and self.Datum_Auslieferung_nsprefix_) else '' + self.Datum_Auslieferung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Datum_Auslieferung', pretty_print=pretty_print) + if self.Pruefsumme is not None: + namespaceprefix_ = self.Pruefsumme_nsprefix_ + ':' if (UseCapturedNS_ and self.Pruefsumme_nsprefix_) else '' + self.Pruefsumme.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Pruefsumme', pretty_print=pretty_print) + if self.Pruefsumme_Art is not None: + namespaceprefix_ = self.Pruefsumme_Art_nsprefix_ + ':' if (UseCapturedNS_ and self.Pruefsumme_Art_nsprefix_) else '' + self.Pruefsumme_Art.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Pruefsumme_Art', pretty_print=pretty_print) + if self.Version_Auslieferung is not None: + namespaceprefix_ = self.Version_Auslieferung_nsprefix_ + ':' if (UseCapturedNS_ and self.Version_Auslieferung_nsprefix_) else '' + self.Version_Auslieferung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Version_Auslieferung', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Datum_Auslieferung': + obj_ = TCDatum_Auslieferung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Datum_Auslieferung = obj_ + obj_.original_tagname_ = 'Datum_Auslieferung' + elif nodeName_ == 'Pruefsumme': + obj_ = TCPruefsumme.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Pruefsumme = obj_ + obj_.original_tagname_ = 'Pruefsumme' + elif nodeName_ == 'Pruefsumme_Art': + obj_ = TCPruefsumme_Art.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Pruefsumme_Art = obj_ + obj_.original_tagname_ = 'Pruefsumme_Art' + elif nodeName_ == 'Version_Auslieferung': + obj_ = TCVersion_Auslieferung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Version_Auslieferung = obj_ + obj_.original_tagname_ = 'Version_Auslieferung' +# end class CPruefmerkmale_Daten + + +class CBasisAttribut(GeneratedsSuper): + """CBasisAttribut -- Das BasisAttribut stellt die Schablone f + ü + r alle Attribute aller Objekte dar. + Die Attributeigenschaften des BasisAttributs sind in 2 Gruppen unterteilbar. Zum einen die vom Modell gef + ü + llten Attribute, die als eine xs:appinfo umgesetzt sind: + • + Beispielbefuellung, + • + Patternbeschreibung, + • + Planungsphase. + In ihnen werden Informationen zum Attribut fest gespeichert. Sie sind f + ü + r alle Programme, die das Schema auslesen, verf + ü + gbar und werden zur Durchf + ü + hrung von Pr + ü + fungen verwendet oder um dem jeweiligen Bearbeitungsprogramm zus + ä + tzliche Informationen + ü + ber das Attribut zur Verf + ü + gung zu stellen. + Die zweite Gruppe der Attributeigenschaften sind als XSDElement modellierten Informationen, die von den Nutzern der Schnittstelle erstellt werden. Es handelt sich neben dem eigentlichen Wert, welcher verpflichtend zu f + ü + llen ist, um einen oder mehrere optionale Verweise auf Bearbeitungsvermerke. In diesen k + ö + nnen weitere Informationen zu der speziellen Auspr + ä + gung des Attributs hinterlegt werden. + • + ID_Bearbeitungsvermerk, + • + Wert. + ID_Bearbeitungsvermerk -- Verweist auf einen oder mehrere Bearbeitungsvermerke. Ein Anhang wird + ü + ber einen Bearbeitungsvermerk zugeordnet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, ID_Bearbeitungsvermerk=None, extensiontype_=None, gds_collector_=None, **kwargs_): + self.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 ID_Bearbeitungsvermerk is None: + self.ID_Bearbeitungsvermerk = [] + else: + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + self.ID_Bearbeitungsvermerk_nsprefix_ = None + self.extensiontype_ = extensiontype_ + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CBasisAttribut) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CBasisAttribut.subclass: + return CBasisAttribut.subclass(*args_, **kwargs_) + else: + return CBasisAttribut(*args_, **kwargs_) + factory = staticmethod(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_Bearbeitungsvermerk(self): + return self.ID_Bearbeitungsvermerk + def set_ID_Bearbeitungsvermerk(self, ID_Bearbeitungsvermerk): + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + def add_ID_Bearbeitungsvermerk(self, value): + self.ID_Bearbeitungsvermerk.append(value) + def insert_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk.insert(index, value) + def replace_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk[index] = value + def get_extensiontype_(self): return self.extensiontype_ + def set_extensiontype_(self, extensiontype_): self.extensiontype_ = extensiontype_ + def has__content(self): + if ( + self.ID_Bearbeitungsvermerk + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBasisTypen:', namespacedef_='xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0"', name_='CBasisAttribut', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CBasisAttribut') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CBasisAttribut': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CBasisAttribut') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CBasisAttribut', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBasisTypen:', name_='CBasisAttribut'): + if self.extensiontype_ is not None and 'xsi:type' not in already_processed: + already_processed.add('xsi:type') + outfile.write(' xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"') + if ":" not in self.extensiontype_: + imported_ns_type_prefix_ = GenerateDSNamespaceTypePrefixes_.get(self.extensiontype_, '') + outfile.write(' xsi:type="%s%s"' % (imported_ns_type_prefix_, self.extensiontype_)) + else: + outfile.write(' xsi:type="%s"' % self.extensiontype_) + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsBasisTypen:', namespacedef_='xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0"', name_='CBasisAttribut', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Bearbeitungsvermerk_ in self.ID_Bearbeitungsvermerk: + namespaceprefix_ = self.ID_Bearbeitungsvermerk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bearbeitungsvermerk_nsprefix_) else '' + ID_Bearbeitungsvermerk_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bearbeitungsvermerk', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('xsi:type', node) + if value is not None and 'xsi:type' not in already_processed: + already_processed.add('xsi:type') + self.extensiontype_ = value + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Bearbeitungsvermerk': + obj_ = TCID_Bearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bearbeitungsvermerk.append(obj_) + obj_.original_tagname_ = 'ID_Bearbeitungsvermerk' +# end class CBasisAttribut + + +class TCOertlicher_Elementname(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCOertlicher_Elementname"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TOertlicher_Elementname(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCOertlicher_Elementname) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCOertlicher_Elementname.subclass: + return TCOertlicher_Elementname.subclass(*args_, **kwargs_) + else: + return TCOertlicher_Elementname(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TOertlicher_Elementname(self, value): + result = True + # Validate type TOertlicher_Elementname, a restriction on nsBasisTypen:TZeichenkette. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TOertlicher_Elementname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TOertlicher_Elementname_patterns_, )) + result = False + return result + validate_TOertlicher_Elementname_patterns_ = [['^(.{1,6})$'], ['^([a-zA-Z_0-9]{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCOertlicher_Elementname, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBasisTypen:', namespacedef_='xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0"', name_='TCOertlicher_Elementname', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCOertlicher_Elementname') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCOertlicher_Elementname': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCOertlicher_Elementname') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCOertlicher_Elementname', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBasisTypen:', name_='TCOertlicher_Elementname'): + super(TCOertlicher_Elementname, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCOertlicher_Elementname') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBasisTypen:', namespacedef_='xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0"', name_='TCOertlicher_Elementname', fromsubclass_=False, pretty_print=True): + super(TCOertlicher_Elementname, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCOertlicher_Elementname, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TOertlicher_Elementname + self.validate_TOertlicher_Elementname(self.Wert) + super(TCOertlicher_Elementname, self)._buildChildren(child_, node, nodeName_, True) +# end class TCOertlicher_Elementname + + +class TCBezeichnung_Tabelle(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCBezeichnung_Tabelle"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TBezeichnung_Tabelle(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCBezeichnung_Tabelle) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCBezeichnung_Tabelle.subclass: + return TCBezeichnung_Tabelle.subclass(*args_, **kwargs_) + else: + return TCBezeichnung_Tabelle(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TBezeichnung_Tabelle(self, value): + result = True + # Validate type TBezeichnung_Tabelle, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TBezeichnung_Tabelle_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TBezeichnung_Tabelle_patterns_, )) + result = False + return result + validate_TBezeichnung_Tabelle_patterns_ = [['^(.{1,36})$'], ['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCBezeichnung_Tabelle, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBasisTypen:', namespacedef_='xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0"', name_='TCBezeichnung_Tabelle', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCBezeichnung_Tabelle') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCBezeichnung_Tabelle': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBezeichnung_Tabelle') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCBezeichnung_Tabelle', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBasisTypen:', name_='TCBezeichnung_Tabelle'): + super(TCBezeichnung_Tabelle, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBezeichnung_Tabelle') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBasisTypen:', namespacedef_='xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0"', name_='TCBezeichnung_Tabelle', fromsubclass_=False, pretty_print=True): + super(TCBezeichnung_Tabelle, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCBezeichnung_Tabelle, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TBezeichnung_Tabelle + self.validate_TBezeichnung_Tabelle(self.Wert) + super(TCBezeichnung_Tabelle, self)._buildChildren(child_, node, nodeName_, True) +# end class TCBezeichnung_Tabelle + + +class TCKennzahl(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCKennzahl"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TKennzahl(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCKennzahl) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCKennzahl.subclass: + return TCKennzahl.subclass(*args_, **kwargs_) + else: + return TCKennzahl(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TKennzahl(self, value): + result = True + # Validate type TKennzahl, a restriction on nsBasisTypen:TZeichenkette. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TKennzahl_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TKennzahl_patterns_, )) + result = False + return result + validate_TKennzahl_patterns_ = [['^(0[1-9]|[1-9][0-9])$'], ['^([a-zA-Z_0-9]{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCKennzahl, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBasisTypen:', namespacedef_='xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0"', name_='TCKennzahl', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCKennzahl') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCKennzahl': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCKennzahl') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCKennzahl', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBasisTypen:', name_='TCKennzahl'): + super(TCKennzahl, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCKennzahl') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBasisTypen:', namespacedef_='xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0"', name_='TCKennzahl', fromsubclass_=False, pretty_print=True): + super(TCKennzahl, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCKennzahl, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TKennzahl + self.validate_TKennzahl(self.Wert) + super(TCKennzahl, self)._buildChildren(child_, node, nodeName_, True) +# end class TCKennzahl + + +class CBezeichnung_Element(GeneratedsSuper): + """CBezeichnung_Element -- Basisattributgruppe zur einheitlichen Modellierung der Bezeichnung von Stell- und weiteren Elementen. Die Bildung der resultierenden Bezeichnung eines Elements in den verschiedenen Auspr + ä + gungen ist in Bildung der Bezeichnungen beschrieben. DB-Regelwerk Ril 819.9001 (Symbolbezeichnungen sicherungstechnischer Pl + ä + ne) + Bezeichnung_Aussenanlage -- Beschriftung des Elements oder der Komponente der LST-Anlage. + Die Bezeichnung besteht i. d. R. aus dem Elementnamen (siehe Bildung der Bezeichnungen). Komponenten, die nicht bedienbar sind (z.B. Achsz + ä + hlpunkte) k + ö + nnen durch Zusammenf + ü + gen von Elementnamen oder modifizierten Elementnamen bezeichnet werden. + Bei Elementen der LST-Anlage, die in der Au + ß + enanlage kein Bezeichnungsschild und im sicherungstechnischen Plan- und Tabellenwerk keinen spezifischen Bezeichner haben, kann dieses Attribut entfallen. + Beispiele: + • + ein Hauptsignal hat in der Au + ß + enanlage ein Bezeichnungsschild und auf dem sicherungstechnischen Lageplan einen spezifischen Bezeichner, das Attribut wird bef + ü + llt; + • + ein Vorsignal hat in der Au + ß + enanlage kein Bezeichnungsschild, aber auf dem sicherungstechnischen Lageplan einen spezifischen Bezeichner, das Attribut wird bef + ü + llt; + • + ein Bedienpunkt (fiktives Signal) existiert gar nicht in der Au + ß + enanlage, hat aber mindestens im Tabellenwerk einen spezifischen Bezeichner, das Attribut wird bef + ü + llt; + • + ein Lf 7 hat in der Au + ß + enanlage kein Bezeichnungsschild und auf dem sicherungstechnischen Lageplan keinen spezifischen Bezeichner, das Attribut entf + ä + llt (Hinweis: Auch wenn im Lageplan der Bezeichner + Bezeichnung_Lageplan_Kurz -- Kurze Bezeichnung eines bedienbaren Elements im Lageplan. Die Bezeichnung besteht i. d. R. ausschlie + ß + lich aus dem Oertlichen Elementnamen (siehe Bildung der Bezeichnungen). + + * Bezeichnung_Lageplan_Lang -- Lange Bezeichnung eines bedienbaren Elements im Lageplan. Die Bezeichnung besteht i. d. R. aus dem Elementnamen (siehe Bildung der Bezeichnungen). + + * Bezeichnung_Tabelle -- Bezeichnung eines bedienbaren Elements in den Tabellen der AP PT 1. Die Bezeichnung besteht i. d. R. aus dem Elementnamen (siehe Bildung der Bezeichnungen). + * Kennzahl -- Eindeutige Kennzahl der operativen Sicherungstechnik innerhalb eines Bedienbezirks f + ü + r eine Betriebsstelle. + Die ESTW-Kennzahl kennzeichnet eine Betriebsstelle oder einen Betriebsstellenteil. Es handelt sich nicht um die Bahnhofsnummer der Zugnummernmeldeanlage (Ril 819.0731)! + Eine Betriebsstelle kann mehrere Kennzahlen erhalten. Z.B. dann, wenn in einem Geb + ä + ude zwei ESTW-Zentraleinheiten untergebracht sind (Beispiel Hannover Hbf mit den ESTW-Zentraleinheiten \ + „ + HH Kennzahl 06\ + “ + und \ + „ + HHZX Kennzahl 30\ + “ + ). + Eine Kennzahl kann aber auch mehrere Betriebsstellen beinhalten. Z. B dann, wenn eine ESTW-Zentraleinheit zwei + Ü + berleitstellen steuert (Beispiel ESTW-Zentraleinheit Giften HGIF Kennzahl 71 mit \ + „ + Ü + st Giften HGIF\ + “ + und \ + „ + Ü + st Ritterkamp HRIT\ + “ + . + In Stellbereichen von Bedienbezirken werden f + ü + r Betriebsstellen (z. B. Bahnh + ö + fe, Abzweigstellen, Anschlussstellen) Kennzahlen von 01 bis 99 vergeben. Diese Kennzahl muss im Bedienbezirk eindeutig sein. + Eindeutigkeit der Kennzahlen bei angrenzenden Bedienbezirken entlang einer Strecke: + Innerhalb eines Bedienbezirks und f + ü + r benachbarte Betriebsstellen eines angrenzenden Bedienbezirks entlang einer Strecke darf eine Kennzahl nur einmal verwendet werden. Beispiel: Media:Bedien Oertlichkeit Kennzahl 131121.pdf + F + ü + r alle im jeweiligen Bereich befindlichen Stellelemente der Betriebsstellen und Strecken wird die Kennzahl Bestandteil der ausf + ü + hrlichen Elementbezeichnung. Hierdurch er + ü + brigt sich in einem gr + ö + ß + eren Bereich der Infrastruktur die Mitf + ü + hrung eines Ortsbezeichners. + Zentrale Vergabe von Kennzahlen auch ohne Anbindung an Bedien_Zentralen: + Unabnh + ä + ngig ob eine ESTW-Zentraleinheit aus einer Bedien_Zentrale gesteuert wird oder nur + ö + rtlich eingerichtet ist, soll die Kennzahlenvergabe zentral im Sinne einer m + ö + glichen Konzentration von ESTW-Zentraleinheiten in Bedienbezirken geplant und vergeben werden. + DB-Regelwerk + • + Kennzahltabelle oder Kennzaheln + ü + bersichtsplan im PT 1, + • + 819.0603 2, + • + 819.9001 1 (5). + + * Oertlicher_Elementname -- Kurzbezeichnung eines Elements. Der + ö + rtliche Elementname ist Bestandteil des Elementnamens und wird elementspezifisch gebildet. Bei Lichtsperrsignalen und anderen Elementen mit Richtungsbuchstaben (X, Y) kann dieser nicht immer eindeutig und automatisch aus einem Richtungsattribut abgeleitet werden. Er ist in jedem Fall vom Planer zu bestimmen und als Bestandteil des + ö + rtlichen Elementnamens abzuspeichern. Der + ö + rtliche Elementname wird + ü + blicherweise im Lageplan verwendet. Siehe auch Bildung der Bezeichnungen. DB-Regelwerk 819.0603 (Stellwerkseinrichtungen - Bedienoberfl + ä + chen), 819.9001 (Symbolbezeichnungen sicherungstechnischer Pl + ä + ne). + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Bezeichnung_Aussenanlage=None, Bezeichnung_Lageplan_Kurz=None, Bezeichnung_Lageplan_Lang=None, Bezeichnung_Tabelle=None, Kennzahl=None, Oertlicher_Elementname=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Bezeichnung_Aussenanlage = Bezeichnung_Aussenanlage + self.Bezeichnung_Aussenanlage_nsprefix_ = None + self.Bezeichnung_Lageplan_Kurz = Bezeichnung_Lageplan_Kurz + self.Bezeichnung_Lageplan_Kurz_nsprefix_ = None + self.Bezeichnung_Lageplan_Lang = Bezeichnung_Lageplan_Lang + self.Bezeichnung_Lageplan_Lang_nsprefix_ = None + self.Bezeichnung_Tabelle = Bezeichnung_Tabelle + self.Bezeichnung_Tabelle_nsprefix_ = None + self.Kennzahl = Kennzahl + self.Kennzahl_nsprefix_ = None + self.Oertlicher_Elementname = Oertlicher_Elementname + self.Oertlicher_Elementname_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CBezeichnung_Element) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CBezeichnung_Element.subclass: + return CBezeichnung_Element.subclass(*args_, **kwargs_) + else: + return CBezeichnung_Element(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Bezeichnung_Aussenanlage(self): + return self.Bezeichnung_Aussenanlage + def set_Bezeichnung_Aussenanlage(self, Bezeichnung_Aussenanlage): + self.Bezeichnung_Aussenanlage = Bezeichnung_Aussenanlage + def get_Bezeichnung_Lageplan_Kurz(self): + return self.Bezeichnung_Lageplan_Kurz + def set_Bezeichnung_Lageplan_Kurz(self, Bezeichnung_Lageplan_Kurz): + self.Bezeichnung_Lageplan_Kurz = Bezeichnung_Lageplan_Kurz + def get_Bezeichnung_Lageplan_Lang(self): + return self.Bezeichnung_Lageplan_Lang + def set_Bezeichnung_Lageplan_Lang(self, Bezeichnung_Lageplan_Lang): + self.Bezeichnung_Lageplan_Lang = Bezeichnung_Lageplan_Lang + def get_Bezeichnung_Tabelle(self): + return self.Bezeichnung_Tabelle + def set_Bezeichnung_Tabelle(self, Bezeichnung_Tabelle): + self.Bezeichnung_Tabelle = Bezeichnung_Tabelle + def get_Kennzahl(self): + return self.Kennzahl + def set_Kennzahl(self, Kennzahl): + self.Kennzahl = Kennzahl + def get_Oertlicher_Elementname(self): + return self.Oertlicher_Elementname + def set_Oertlicher_Elementname(self, Oertlicher_Elementname): + self.Oertlicher_Elementname = Oertlicher_Elementname + def has__content(self): + if ( + self.Bezeichnung_Aussenanlage is not None or + self.Bezeichnung_Lageplan_Kurz is not None or + self.Bezeichnung_Lageplan_Lang is not None or + self.Bezeichnung_Tabelle is not None or + self.Kennzahl is not None or + self.Oertlicher_Elementname is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBasisTypen:', namespacedef_='xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0"', name_='CBezeichnung_Element', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CBezeichnung_Element') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CBezeichnung_Element': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CBezeichnung_Element') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CBezeichnung_Element', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBasisTypen:', name_='CBezeichnung_Element'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsBasisTypen:', namespacedef_='xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0"', name_='CBezeichnung_Element', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Bezeichnung_Aussenanlage is not None: + namespaceprefix_ = self.Bezeichnung_Aussenanlage_nsprefix_ + ':' if (UseCapturedNS_ and self.Bezeichnung_Aussenanlage_nsprefix_) else '' + self.Bezeichnung_Aussenanlage.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Bezeichnung_Aussenanlage', pretty_print=pretty_print) + if self.Bezeichnung_Lageplan_Kurz is not None: + namespaceprefix_ = self.Bezeichnung_Lageplan_Kurz_nsprefix_ + ':' if (UseCapturedNS_ and self.Bezeichnung_Lageplan_Kurz_nsprefix_) else '' + self.Bezeichnung_Lageplan_Kurz.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Bezeichnung_Lageplan_Kurz', pretty_print=pretty_print) + if self.Bezeichnung_Lageplan_Lang is not None: + namespaceprefix_ = self.Bezeichnung_Lageplan_Lang_nsprefix_ + ':' if (UseCapturedNS_ and self.Bezeichnung_Lageplan_Lang_nsprefix_) else '' + self.Bezeichnung_Lageplan_Lang.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Bezeichnung_Lageplan_Lang', pretty_print=pretty_print) + if self.Bezeichnung_Tabelle is not None: + namespaceprefix_ = self.Bezeichnung_Tabelle_nsprefix_ + ':' if (UseCapturedNS_ and self.Bezeichnung_Tabelle_nsprefix_) else '' + self.Bezeichnung_Tabelle.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Bezeichnung_Tabelle', pretty_print=pretty_print) + if self.Kennzahl is not None: + namespaceprefix_ = self.Kennzahl_nsprefix_ + ':' if (UseCapturedNS_ and self.Kennzahl_nsprefix_) else '' + self.Kennzahl.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Kennzahl', pretty_print=pretty_print) + if self.Oertlicher_Elementname is not None: + namespaceprefix_ = self.Oertlicher_Elementname_nsprefix_ + ':' if (UseCapturedNS_ and self.Oertlicher_Elementname_nsprefix_) else '' + self.Oertlicher_Elementname.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Oertlicher_Elementname', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Bezeichnung_Aussenanlage': + obj_ = TCBezeichnung_Aussenanlage.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Bezeichnung_Aussenanlage = obj_ + obj_.original_tagname_ = 'Bezeichnung_Aussenanlage' + elif nodeName_ == 'Bezeichnung_Lageplan_Kurz': + obj_ = TCBezeichnung_Lageplan_Kurz.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Bezeichnung_Lageplan_Kurz = obj_ + obj_.original_tagname_ = 'Bezeichnung_Lageplan_Kurz' + elif nodeName_ == 'Bezeichnung_Lageplan_Lang': + obj_ = TCBezeichnung_Lageplan_Lang.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Bezeichnung_Lageplan_Lang = obj_ + obj_.original_tagname_ = 'Bezeichnung_Lageplan_Lang' + elif nodeName_ == 'Bezeichnung_Tabelle': + obj_ = TCBezeichnung_Tabelle.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Bezeichnung_Tabelle = obj_ + obj_.original_tagname_ = 'Bezeichnung_Tabelle' + elif nodeName_ == 'Kennzahl': + obj_ = TCKennzahl.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Kennzahl = obj_ + obj_.original_tagname_ = 'Kennzahl' + elif nodeName_ == 'Oertlicher_Elementname': + obj_ = TCOertlicher_Elementname.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Oertlicher_Elementname = obj_ + obj_.original_tagname_ = 'Oertlicher_Elementname' +# end class CBezeichnung_Element + + +class TCDatum_Auslieferung(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCDatum_Auslieferung"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + if isinstance(Wert, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Wert, '%Y-%m-%d').date() + else: + initvalue_ = Wert + self.Wert = initvalue_ + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCDatum_Auslieferung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCDatum_Auslieferung.subclass: + return TCDatum_Auslieferung.subclass(*args_, **kwargs_) + else: + return TCDatum_Auslieferung(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TDatum_Auslieferung(self, value): + result = True + # Validate type TDatum_Auslieferung, 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 + pass + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCDatum_Auslieferung, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBasisTypen:', namespacedef_='xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0"', name_='TCDatum_Auslieferung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCDatum_Auslieferung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCDatum_Auslieferung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCDatum_Auslieferung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCDatum_Auslieferung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBasisTypen:', name_='TCDatum_Auslieferung'): + super(TCDatum_Auslieferung, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCDatum_Auslieferung') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBasisTypen:', namespacedef_='xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0"', name_='TCDatum_Auslieferung', fromsubclass_=False, pretty_print=True): + super(TCDatum_Auslieferung, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_date(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCDatum_Auslieferung, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + sval_ = child_.text + dval_ = self.gds_parse_date(sval_) + self.Wert = dval_ + self.Wert_nsprefix_ = child_.prefix + # validate type TDatum_Auslieferung + self.validate_TDatum_Auslieferung(self.Wert) + super(TCDatum_Auslieferung, self)._buildChildren(child_, node, nodeName_, True) +# end class TCDatum_Auslieferung + + +class TCBezeichnung_Aussenanlage(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCBezeichnung_Aussenanlage"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TBezeichnung_Aussenanlage(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCBezeichnung_Aussenanlage) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCBezeichnung_Aussenanlage.subclass: + return TCBezeichnung_Aussenanlage.subclass(*args_, **kwargs_) + else: + return TCBezeichnung_Aussenanlage(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TBezeichnung_Aussenanlage(self, value): + result = True + # Validate type TBezeichnung_Aussenanlage, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TBezeichnung_Aussenanlage_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TBezeichnung_Aussenanlage_patterns_, )) + result = False + return result + validate_TBezeichnung_Aussenanlage_patterns_ = [['^(.{1,36})$'], ['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCBezeichnung_Aussenanlage, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBasisTypen:', namespacedef_='xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0"', name_='TCBezeichnung_Aussenanlage', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCBezeichnung_Aussenanlage') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCBezeichnung_Aussenanlage': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBezeichnung_Aussenanlage') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCBezeichnung_Aussenanlage', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBasisTypen:', name_='TCBezeichnung_Aussenanlage'): + super(TCBezeichnung_Aussenanlage, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBezeichnung_Aussenanlage') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBasisTypen:', namespacedef_='xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0"', name_='TCBezeichnung_Aussenanlage', fromsubclass_=False, pretty_print=True): + super(TCBezeichnung_Aussenanlage, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCBezeichnung_Aussenanlage, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TBezeichnung_Aussenanlage + self.validate_TBezeichnung_Aussenanlage(self.Wert) + super(TCBezeichnung_Aussenanlage, self)._buildChildren(child_, node, nodeName_, True) +# end class TCBezeichnung_Aussenanlage + + +class TCID_Bearbeitungsvermerk(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Objektname='Bearbeitungsvermerk|Proxy_Objekt', Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Objektname = _cast(None, Objektname) + self.Objektname_nsprefix_ = None + self.Wert = Wert + self.validate_TGUID(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCID_Bearbeitungsvermerk) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCID_Bearbeitungsvermerk.subclass: + return TCID_Bearbeitungsvermerk.subclass(*args_, **kwargs_) + else: + return TCID_Bearbeitungsvermerk(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def get_Objektname(self): + return self.Objektname + def set_Objektname(self, Objektname): + self.Objektname = Objektname + def validate_TGUID(self, value): + result = True + # Validate type TGUID, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGUID_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGUID_patterns_, )) + result = False + return result + validate_TGUID_patterns_ = [['^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$']] + def validate_TObjektname(self, value): + # Validate type nsBasisTypen:TObjektname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TObjektname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TObjektname_patterns_, )) + validate_TObjektname_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBasisTypen:', namespacedef_='xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0"', name_='TCID_Bearbeitungsvermerk', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCID_Bearbeitungsvermerk') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCID_Bearbeitungsvermerk': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCID_Bearbeitungsvermerk') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCID_Bearbeitungsvermerk', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBasisTypen:', name_='TCID_Bearbeitungsvermerk'): + if self.Objektname != 'Bearbeitungsvermerk|Proxy_Objekt' and 'Objektname' not in already_processed: + already_processed.add('Objektname') + outfile.write(' Objektname=%s' % (quote_attrib(self.Objektname), )) + def _exportChildren(self, outfile, level, namespaceprefix_='nsBasisTypen:', namespacedef_='xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0"', name_='TCID_Bearbeitungsvermerk', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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_('Objektname', node) + if value is not None and 'Objektname' not in already_processed: + already_processed.add('Objektname') + self.Objektname = value + self.validate_TObjektname(self.Objektname) # validate type TObjektname + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGUID + self.validate_TGUID(self.Wert) +# end class TCID_Bearbeitungsvermerk + + +class TCZeiger(CBasisAttribut): + """TCZeiger -- Typklasse, von der alle spezifischen Zeiger im Modell abgeleitet sind. Spezifische Zeiger werden verwendet, um einen Verweis von einem Objekt auf ein anderes Objekt zu modellieren. Dazu wird technisch auf die GUID des Zielobjektes referenziert. + Objektname -- Der Typ wird im Modell verwendet, um GUID-Zeiger auf ein spezifisches Ziel-LST-Objekt zu konfigurieren. + Wert -- Enth + ä + lt die GUID des Ziel-LST-Objekts, auf das der GUID-Zeiger verweist. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Objektname=None, Wert=None, extensiontype_=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCZeiger"), self).__init__(ID_Bearbeitungsvermerk, extensiontype_, **kwargs_) + self.Objektname = _cast(None, Objektname) + self.Objektname_nsprefix_ = None + self.Wert = Wert + self.validate_TGUID(self.Wert) + self.Wert_nsprefix_ = None + self.extensiontype_ = extensiontype_ + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCZeiger) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCZeiger.subclass: + return TCZeiger.subclass(*args_, **kwargs_) + else: + return TCZeiger(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def get_Objektname(self): + return self.Objektname + def set_Objektname(self, Objektname): + self.Objektname = Objektname + def get_extensiontype_(self): return self.extensiontype_ + def set_extensiontype_(self, extensiontype_): self.extensiontype_ = extensiontype_ + def validate_TGUID(self, value): + result = True + # Validate type TGUID, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGUID_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGUID_patterns_, )) + result = False + return result + validate_TGUID_patterns_ = [['^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$']] + def validate_TObjektname(self, value): + # Validate type nsBasisTypen:TObjektname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TObjektname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TObjektname_patterns_, )) + validate_TObjektname_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCZeiger, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBasisTypen:', namespacedef_='xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0"', name_='TCZeiger', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCZeiger') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCZeiger': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCZeiger') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCZeiger', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBasisTypen:', name_='TCZeiger'): + super(TCZeiger, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCZeiger') + if self.Objektname is not None and 'Objektname' not in already_processed: + already_processed.add('Objektname') + outfile.write(' Objektname=%s' % (quote_attrib(self.Objektname), )) + if self.extensiontype_ is not None and 'xsi:type' not in already_processed: + already_processed.add('xsi:type') + outfile.write(' xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"') + if ":" not in self.extensiontype_: + imported_ns_type_prefix_ = GenerateDSNamespaceTypePrefixes_.get(self.extensiontype_, '') + outfile.write(' xsi:type="%s%s"' % (imported_ns_type_prefix_, self.extensiontype_)) + else: + outfile.write(' xsi:type="%s"' % self.extensiontype_) + def _exportChildren(self, outfile, level, namespaceprefix_='nsBasisTypen:', namespacedef_='xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0"', name_='TCZeiger', fromsubclass_=False, pretty_print=True): + super(TCZeiger, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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_('Objektname', node) + if value is not None and 'Objektname' not in already_processed: + already_processed.add('Objektname') + self.Objektname = value + self.validate_TObjektname(self.Objektname) # validate type TObjektname + value = find_attr_value_('xsi:type', node) + if value is not None and 'xsi:type' not in already_processed: + already_processed.add('xsi:type') + self.extensiontype_ = value + super(TCZeiger, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGUID + self.validate_TGUID(self.Wert) + super(TCZeiger, self)._buildChildren(child_, node, nodeName_, True) +# end class TCZeiger + + +class TCVersion_Auslieferung(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCVersion_Auslieferung"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TVersion_Auslieferung(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCVersion_Auslieferung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCVersion_Auslieferung.subclass: + return TCVersion_Auslieferung.subclass(*args_, **kwargs_) + else: + return TCVersion_Auslieferung(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TVersion_Auslieferung(self, value): + result = True + # Validate type TVersion_Auslieferung, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TVersion_Auslieferung_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TVersion_Auslieferung_patterns_, )) + result = False + return result + validate_TVersion_Auslieferung_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCVersion_Auslieferung, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBasisTypen:', namespacedef_='xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0"', name_='TCVersion_Auslieferung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCVersion_Auslieferung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCVersion_Auslieferung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCVersion_Auslieferung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCVersion_Auslieferung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBasisTypen:', name_='TCVersion_Auslieferung'): + super(TCVersion_Auslieferung, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCVersion_Auslieferung') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBasisTypen:', namespacedef_='xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0"', name_='TCVersion_Auslieferung', fromsubclass_=False, pretty_print=True): + super(TCVersion_Auslieferung, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCVersion_Auslieferung, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TVersion_Auslieferung + self.validate_TVersion_Auslieferung(self.Wert) + super(TCVersion_Auslieferung, self)._buildChildren(child_, node, nodeName_, True) +# end class TCVersion_Auslieferung + + +class TCPruefsumme_Art(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCPruefsumme_Art"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMPruefsumme_Art(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCPruefsumme_Art) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCPruefsumme_Art.subclass: + return TCPruefsumme_Art.subclass(*args_, **kwargs_) + else: + return TCPruefsumme_Art(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMPruefsumme_Art(self, value): + result = True + # Validate type ENUMPruefsumme_Art, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['MD4', 'MD5', 'SHA1', 'SHA256'] + 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 ENUMPruefsumme_Art' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCPruefsumme_Art, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBasisTypen:', namespacedef_='xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0"', name_='TCPruefsumme_Art', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCPruefsumme_Art') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCPruefsumme_Art': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCPruefsumme_Art') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCPruefsumme_Art', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBasisTypen:', name_='TCPruefsumme_Art'): + super(TCPruefsumme_Art, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCPruefsumme_Art') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBasisTypen:', namespacedef_='xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0"', name_='TCPruefsumme_Art', fromsubclass_=False, pretty_print=True): + super(TCPruefsumme_Art, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCPruefsumme_Art, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMPruefsumme_Art + self.validate_ENUMPruefsumme_Art(self.Wert) + super(TCPruefsumme_Art, self)._buildChildren(child_, node, nodeName_, True) +# end class TCPruefsumme_Art + + +class TCLO_Datum_Herstellung(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCLO_Datum_Herstellung"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + if isinstance(Wert, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Wert, '%Y-%m-%d').date() + else: + initvalue_ = Wert + self.Wert = initvalue_ + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCLO_Datum_Herstellung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCLO_Datum_Herstellung.subclass: + return TCLO_Datum_Herstellung.subclass(*args_, **kwargs_) + else: + return TCLO_Datum_Herstellung(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def has__content(self): + if ( + self.Wert is not None or + super(TCLO_Datum_Herstellung, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBasisobjekte:', namespacedef_='xmlns:nsBasisobjekte="http://www.plan-pro.org/modell/Basisobjekte/1.10.0"', name_='TCLO_Datum_Herstellung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCLO_Datum_Herstellung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCLO_Datum_Herstellung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCLO_Datum_Herstellung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCLO_Datum_Herstellung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBasisobjekte:', name_='TCLO_Datum_Herstellung'): + super(TCLO_Datum_Herstellung, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCLO_Datum_Herstellung') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBasisobjekte:', namespacedef_='xmlns:nsBasisobjekte="http://www.plan-pro.org/modell/Basisobjekte/1.10.0"', name_='TCLO_Datum_Herstellung', fromsubclass_=False, pretty_print=True): + super(TCLO_Datum_Herstellung, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_date(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCLO_Datum_Herstellung, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + sval_ = child_.text + dval_ = self.gds_parse_date(sval_) + self.Wert = dval_ + self.Wert_nsprefix_ = child_.prefix + super(TCLO_Datum_Herstellung, self)._buildChildren(child_, node, nodeName_, True) +# end class TCLO_Datum_Herstellung + + +class TCKommentar(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCKommentar"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TKommentar(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCKommentar) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCKommentar.subclass: + return TCKommentar.subclass(*args_, **kwargs_) + else: + return TCKommentar(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TKommentar(self, value): + result = True + # Validate type TKommentar, a restriction on nsBasisTypen:TFreiText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + pass + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCKommentar, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBasisobjekte:', namespacedef_='xmlns:nsBasisobjekte="http://www.plan-pro.org/modell/Basisobjekte/1.10.0"', name_='TCKommentar', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCKommentar') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCKommentar': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCKommentar') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCKommentar', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBasisobjekte:', name_='TCKommentar'): + super(TCKommentar, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCKommentar') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBasisobjekte:', namespacedef_='xmlns:nsBasisobjekte="http://www.plan-pro.org/modell/Basisobjekte/1.10.0"', name_='TCKommentar', fromsubclass_=False, pretty_print=True): + super(TCKommentar, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCKommentar, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TKommentar + self.validate_TKommentar(self.Wert) + super(TCKommentar, self)._buildChildren(child_, node, nodeName_, True) +# end class TCKommentar + + +class TCBV_Darstellung_In_Plan(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCBV_Darstellung_In_Plan"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMBV_Darstellung_In_Plan(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCBV_Darstellung_In_Plan) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCBV_Darstellung_In_Plan.subclass: + return TCBV_Darstellung_In_Plan.subclass(*args_, **kwargs_) + else: + return TCBV_Darstellung_In_Plan(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMBV_Darstellung_In_Plan(self, value): + result = True + # Validate type ENUMBV_Darstellung_In_Plan, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['Anlagentabelle Transition', 'Balisenprüfprotokoll', 'Bedieneinrichtungstabelle BÜ', 'Bedieneinrichtungstabelle Stw', 'BÜ-Abhängigkeitstabelle', 'BÜ-Kabellage- und Übersichtsplan', 'BÜ-Kabelübersichtsplan', 'BÜ-Lageplan ntg', 'Deadlock-Tabelle', 'Durchrutschweg- und Gefahrpunkttabelle', 'Elementansteuertabelle', 'ESG-Datenpunkttabelle 1', 'ESG-Datenpunkttabelle 2', 'ESG-Datenpunkttabelle 3', 'ETCS Melde- und Kommandoanschaltung Signale (Muka Signale)', 'ETCS Melde- und Kommandoanschaltung Weichen (Muka Weichen)', 'ETCS-Datenpunkttabelle', 'Flankenschutztabelle', 'Freimeldetabelle', 'GFR-Plan', 'Gleisfreimeldeplan für Gleisstromkreise', 'Gleismagnettabelle', 'Gleisschaltmitteltabelle', 'Inselgleistabelle', 'Kabellageplan', 'Kabelübersichtsplan', 'LEU-Tabelle', 'Meldedrucktabelle', 'Nahbedienungstabelle', 'Rangierstraßentabelle', 'Schlosstabelle', 'Sicherungstechnischer Kreuzungsplan', 'Sicherungstechnischer Lageplan', 'Sicherungstechnischer Übersichtsplan', 'Sicherungstechnischer Übersichtsplan BÜ', 'Signal- und Schutzstreckentabelle', 'Signaltabelle', 'sonstige', 'Stammkabelübersichtsplan', 'Statische Streckeneigenschaften', 'Streckenblocktabelle', 'Tabelle der aneinandergereihten Fahrstraßen', 'Tabelle der ATO Segment Profiles', 'Tabelle der ATO Timing Points', 'Tabelle der ATO-TS Instanzen', 'Tabelle der Ein- und Ausstiege', 'Tabelle der Technik- und Bedienstandorte', 'Übertragungswegtabelle', 'Weichenlaufkettentabelle', 'Weichentabelle', 'ZBS-Datenpunkttabelle 1', 'ZBS-Datenpunkttabelle 2', 'ZBS-Datenpunkttabelle 3', 'ZL-Anstoßtabelle', 'ZLV-Bus-Übersichtsplan', 'ZN-Tabelle', 'ZN-Übersichtsplan', 'Zugstraßentabelle', 'Zwieschutzweichentabelle'] + 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 ENUMBV_Darstellung_In_Plan' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCBV_Darstellung_In_Plan, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBasisobjekte:', namespacedef_='xmlns:nsBasisobjekte="http://www.plan-pro.org/modell/Basisobjekte/1.10.0"', name_='TCBV_Darstellung_In_Plan', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCBV_Darstellung_In_Plan') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCBV_Darstellung_In_Plan': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBV_Darstellung_In_Plan') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCBV_Darstellung_In_Plan', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBasisobjekte:', name_='TCBV_Darstellung_In_Plan'): + super(TCBV_Darstellung_In_Plan, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBV_Darstellung_In_Plan') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBasisobjekte:', namespacedef_='xmlns:nsBasisobjekte="http://www.plan-pro.org/modell/Basisobjekte/1.10.0"', name_='TCBV_Darstellung_In_Plan', fromsubclass_=False, pretty_print=True): + super(TCBV_Darstellung_In_Plan, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCBV_Darstellung_In_Plan, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMBV_Darstellung_In_Plan + self.validate_ENUMBV_Darstellung_In_Plan(self.Wert) + super(TCBV_Darstellung_In_Plan, self)._buildChildren(child_, node, nodeName_, True) +# end class TCBV_Darstellung_In_Plan + + +class TCSeitliche_Lage(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCSeitliche_Lage"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TSeitliche_Lage(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCSeitliche_Lage) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCSeitliche_Lage.subclass: + return TCSeitliche_Lage.subclass(*args_, **kwargs_) + else: + return TCSeitliche_Lage(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TSeitliche_Lage(self, value): + result = True + # Validate type TSeitliche_Lage, a restriction on nsBasisTypen:TLinksRechts. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['links', 'rechts'] + 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 TSeitliche_Lage' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCSeitliche_Lage, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBasisobjekte:', namespacedef_='xmlns:nsBasisobjekte="http://www.plan-pro.org/modell/Basisobjekte/1.10.0"', name_='TCSeitliche_Lage', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCSeitliche_Lage') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCSeitliche_Lage': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCSeitliche_Lage') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCSeitliche_Lage', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBasisobjekte:', name_='TCSeitliche_Lage'): + super(TCSeitliche_Lage, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCSeitliche_Lage') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBasisobjekte:', namespacedef_='xmlns:nsBasisobjekte="http://www.plan-pro.org/modell/Basisobjekte/1.10.0"', name_='TCSeitliche_Lage', fromsubclass_=False, pretty_print=True): + super(TCSeitliche_Lage, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCSeitliche_Lage, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TSeitliche_Lage + self.validate_TSeitliche_Lage(self.Wert) + super(TCSeitliche_Lage, self)._buildChildren(child_, node, nodeName_, True) +# end class TCSeitliche_Lage + + +class TCZeit_Bearbeitungsvermerk(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCZeit_Bearbeitungsvermerk"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + if isinstance(Wert, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Wert, '%Y-%m-%dT%H:%M:%S') + else: + initvalue_ = Wert + self.Wert = initvalue_ + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCZeit_Bearbeitungsvermerk) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCZeit_Bearbeitungsvermerk.subclass: + return TCZeit_Bearbeitungsvermerk.subclass(*args_, **kwargs_) + else: + return TCZeit_Bearbeitungsvermerk(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def has__content(self): + if ( + self.Wert is not None or + super(TCZeit_Bearbeitungsvermerk, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBasisobjekte:', namespacedef_='xmlns:nsBasisobjekte="http://www.plan-pro.org/modell/Basisobjekte/1.10.0"', name_='TCZeit_Bearbeitungsvermerk', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCZeit_Bearbeitungsvermerk') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCZeit_Bearbeitungsvermerk': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCZeit_Bearbeitungsvermerk') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCZeit_Bearbeitungsvermerk', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBasisobjekte:', name_='TCZeit_Bearbeitungsvermerk'): + super(TCZeit_Bearbeitungsvermerk, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCZeit_Bearbeitungsvermerk') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBasisobjekte:', namespacedef_='xmlns:nsBasisobjekte="http://www.plan-pro.org/modell/Basisobjekte/1.10.0"', name_='TCZeit_Bearbeitungsvermerk', fromsubclass_=False, pretty_print=True): + super(TCZeit_Bearbeitungsvermerk, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_datetime(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCZeit_Bearbeitungsvermerk, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + sval_ = child_.text + dval_ = self.gds_parse_datetime(sval_) + self.Wert = dval_ + self.Wert_nsprefix_ = child_.prefix + super(TCZeit_Bearbeitungsvermerk, self)._buildChildren(child_, node, nodeName_, True) +# end class TCZeit_Bearbeitungsvermerk + + +class TCDB_GDI_Referenz(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCDB_GDI_Referenz"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TDB_GDI_Referenz(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCDB_GDI_Referenz) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCDB_GDI_Referenz.subclass: + return TCDB_GDI_Referenz.subclass(*args_, **kwargs_) + else: + return TCDB_GDI_Referenz(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TDB_GDI_Referenz(self, value): + result = True + # Validate type TDB_GDI_Referenz, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TDB_GDI_Referenz_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TDB_GDI_Referenz_patterns_, )) + result = False + return result + validate_TDB_GDI_Referenz_patterns_ = [['^(.{1,20})$'], ['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCDB_GDI_Referenz, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBasisobjekte:', namespacedef_='xmlns:nsBasisobjekte="http://www.plan-pro.org/modell/Basisobjekte/1.10.0"', name_='TCDB_GDI_Referenz', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCDB_GDI_Referenz') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCDB_GDI_Referenz': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCDB_GDI_Referenz') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCDB_GDI_Referenz', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBasisobjekte:', name_='TCDB_GDI_Referenz'): + super(TCDB_GDI_Referenz, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCDB_GDI_Referenz') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBasisobjekte:', namespacedef_='xmlns:nsBasisobjekte="http://www.plan-pro.org/modell/Basisobjekte/1.10.0"', name_='TCDB_GDI_Referenz', fromsubclass_=False, pretty_print=True): + super(TCDB_GDI_Referenz, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCDB_GDI_Referenz, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TDB_GDI_Referenz + self.validate_TDB_GDI_Referenz(self.Wert) + super(TCDB_GDI_Referenz, self)._buildChildren(child_, node, nodeName_, True) +# end class TCDB_GDI_Referenz + + +class CUr_Objekt(GeneratedsSuper): + """CUr_Objekt -- Allen Objekten zugrundeliegender Objekttyp, durch die jede Instanz eines Objektes einen eindeutigen Identifikator in Form einer GUID erh + ä + lt. + Identitaet -- Eindeutige Identifizierung des Objektes mit Hilfe der GUID. Bei Verlinkungen auf ein Objekt wird eine entsprechende Referenz angegeben. Verlinkungsattribute setzen sich aus dem Pr + ä + fix + „ + ID_ + “ + und in der Regel dem entsprechenden Objektnamen zusammen ( + „ + ID_[Objekt] + “ + ). Die Eindeutigkeit der Verlinkung ergibt sich aus der Spezifikation der GUID, siehe hierf + ü + r RFC 4122: http://tools.ietf.org/html/rfc4122. Zu weiteren Vorgaben und Empfehlungen f + ü + r die GUID-Erzeugung siehe Goldene Regeln Schnittstelle. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Identitaet=None, extensiontype_=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Identitaet = Identitaet + self.Identitaet_nsprefix_ = None + self.extensiontype_ = extensiontype_ + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CUr_Objekt) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CUr_Objekt.subclass: + return CUr_Objekt.subclass(*args_, **kwargs_) + else: + return CUr_Objekt(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Identitaet(self): + return self.Identitaet + def set_Identitaet(self, Identitaet): + self.Identitaet = Identitaet + def get_extensiontype_(self): return self.extensiontype_ + def set_extensiontype_(self, extensiontype_): self.extensiontype_ = extensiontype_ + def has__content(self): + if ( + self.Identitaet is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBasisobjekte:', namespacedef_='xmlns:nsBasisobjekte="http://www.plan-pro.org/modell/Basisobjekte/1.10.0"', name_='CUr_Objekt', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CUr_Objekt') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CUr_Objekt': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CUr_Objekt') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CUr_Objekt', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBasisobjekte:', name_='CUr_Objekt'): + if self.extensiontype_ is not None and 'xsi:type' not in already_processed: + already_processed.add('xsi:type') + outfile.write(' xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"') + if ":" not in self.extensiontype_: + imported_ns_type_prefix_ = GenerateDSNamespaceTypePrefixes_.get(self.extensiontype_, '') + outfile.write(' xsi:type="%s%s"' % (imported_ns_type_prefix_, self.extensiontype_)) + else: + outfile.write(' xsi:type="%s"' % self.extensiontype_) + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsBasisobjekte:', namespacedef_='xmlns:nsBasisobjekte="http://www.plan-pro.org/modell/Basisobjekte/1.10.0"', name_='CUr_Objekt', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Identitaet is not None: + namespaceprefix_ = self.Identitaet_nsprefix_ + ':' if (UseCapturedNS_ and self.Identitaet_nsprefix_) else '' + self.Identitaet.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Identitaet', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('xsi:type', node) + if value is not None and 'xsi:type' not in already_processed: + already_processed.add('xsi:type') + self.extensiontype_ = value + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Identitaet': + obj_ = TCIdentitaet.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Identitaet = obj_ + obj_.original_tagname_ = 'Identitaet' +# end class CUr_Objekt + + +class TCKm_Massgebend(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCKm_Massgebend"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCKm_Massgebend) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCKm_Massgebend.subclass: + return TCKm_Massgebend.subclass(*args_, **kwargs_) + else: + return TCKm_Massgebend(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def has__content(self): + if ( + self.Wert is not None or + super(TCKm_Massgebend, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBasisobjekte:', namespacedef_='xmlns:nsBasisobjekte="http://www.plan-pro.org/modell/Basisobjekte/1.10.0"', name_='TCKm_Massgebend', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCKm_Massgebend') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCKm_Massgebend': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCKm_Massgebend') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCKm_Massgebend', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBasisobjekte:', name_='TCKm_Massgebend'): + super(TCKm_Massgebend, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCKm_Massgebend') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBasisobjekte:', namespacedef_='xmlns:nsBasisobjekte="http://www.plan-pro.org/modell/Basisobjekte/1.10.0"', name_='TCKm_Massgebend', fromsubclass_=False, pretty_print=True): + super(TCKm_Massgebend, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_boolean(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCKm_Massgebend, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + sval_ = child_.text + ival_ = self.gds_parse_boolean(sval_, node, 'Wert') + ival_ = self.gds_validate_boolean(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + super(TCKm_Massgebend, self)._buildChildren(child_, node, nodeName_, True) +# end class TCKm_Massgebend + + +class CLO_Material(GeneratedsSuper): + """LO_Ausgabestand -- Ausgabe- bzw. Ger + ä + testand. + LO_Datum_Herstellung -- Produktionszeitpunkt des LO. + LO_DB_Freigabe -- Art der von der DB Netz AG erteilten Freigabe (Erprobung oder Serienfreigabe). + LO_EMA_Nr -- EMA-Nummer der DB (zur Nachbestellbarkeit des Ersatzeils + ü + ber die DB-internen Beschaffungswege). + F + ü + r LO ohne EMA-Nummer ist \"ohne EMA-Nummer\" anzugeben. + LO_Firmensachnummer -- Firmensachnummer. + LO_Seriennummer -- Seriennummer des Bauteils. Falls keine existiert, ist \"ohne Seriennummer\" einzutragen. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, LO_Ausgabestand=None, LO_Datum_Herstellung=None, LO_DB_Freigabe=None, LO_EMA_Nr=None, LO_Firmensachnummer=None, LO_Seriennummer=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.LO_Ausgabestand = LO_Ausgabestand + self.LO_Ausgabestand_nsprefix_ = None + self.LO_Datum_Herstellung = LO_Datum_Herstellung + self.LO_Datum_Herstellung_nsprefix_ = None + self.LO_DB_Freigabe = LO_DB_Freigabe + self.LO_DB_Freigabe_nsprefix_ = None + self.LO_EMA_Nr = LO_EMA_Nr + self.LO_EMA_Nr_nsprefix_ = None + self.LO_Firmensachnummer = LO_Firmensachnummer + self.LO_Firmensachnummer_nsprefix_ = None + self.LO_Seriennummer = LO_Seriennummer + self.LO_Seriennummer_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CLO_Material) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CLO_Material.subclass: + return CLO_Material.subclass(*args_, **kwargs_) + else: + return CLO_Material(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_LO_Ausgabestand(self): + return self.LO_Ausgabestand + def set_LO_Ausgabestand(self, LO_Ausgabestand): + self.LO_Ausgabestand = LO_Ausgabestand + def get_LO_Datum_Herstellung(self): + return self.LO_Datum_Herstellung + def set_LO_Datum_Herstellung(self, LO_Datum_Herstellung): + self.LO_Datum_Herstellung = LO_Datum_Herstellung + def get_LO_DB_Freigabe(self): + return self.LO_DB_Freigabe + def set_LO_DB_Freigabe(self, LO_DB_Freigabe): + self.LO_DB_Freigabe = LO_DB_Freigabe + def get_LO_EMA_Nr(self): + return self.LO_EMA_Nr + def set_LO_EMA_Nr(self, LO_EMA_Nr): + self.LO_EMA_Nr = LO_EMA_Nr + def get_LO_Firmensachnummer(self): + return self.LO_Firmensachnummer + def set_LO_Firmensachnummer(self, LO_Firmensachnummer): + self.LO_Firmensachnummer = LO_Firmensachnummer + def get_LO_Seriennummer(self): + return self.LO_Seriennummer + def set_LO_Seriennummer(self, LO_Seriennummer): + self.LO_Seriennummer = LO_Seriennummer + def has__content(self): + if ( + self.LO_Ausgabestand is not None or + self.LO_Datum_Herstellung is not None or + self.LO_DB_Freigabe is not None or + self.LO_EMA_Nr is not None or + self.LO_Firmensachnummer is not None or + self.LO_Seriennummer is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBasisobjekte:', namespacedef_='xmlns:nsBasisobjekte="http://www.plan-pro.org/modell/Basisobjekte/1.10.0"', name_='CLO_Material', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CLO_Material') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CLO_Material': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CLO_Material') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CLO_Material', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBasisobjekte:', name_='CLO_Material'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsBasisobjekte:', namespacedef_='xmlns:nsBasisobjekte="http://www.plan-pro.org/modell/Basisobjekte/1.10.0"', name_='CLO_Material', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.LO_Ausgabestand is not None: + namespaceprefix_ = self.LO_Ausgabestand_nsprefix_ + ':' if (UseCapturedNS_ and self.LO_Ausgabestand_nsprefix_) else '' + self.LO_Ausgabestand.export(outfile, level, namespaceprefix_, namespacedef_='', name_='LO_Ausgabestand', pretty_print=pretty_print) + if self.LO_Datum_Herstellung is not None: + namespaceprefix_ = self.LO_Datum_Herstellung_nsprefix_ + ':' if (UseCapturedNS_ and self.LO_Datum_Herstellung_nsprefix_) else '' + self.LO_Datum_Herstellung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='LO_Datum_Herstellung', pretty_print=pretty_print) + if self.LO_DB_Freigabe is not None: + namespaceprefix_ = self.LO_DB_Freigabe_nsprefix_ + ':' if (UseCapturedNS_ and self.LO_DB_Freigabe_nsprefix_) else '' + self.LO_DB_Freigabe.export(outfile, level, namespaceprefix_, namespacedef_='', name_='LO_DB_Freigabe', pretty_print=pretty_print) + if self.LO_EMA_Nr is not None: + namespaceprefix_ = self.LO_EMA_Nr_nsprefix_ + ':' if (UseCapturedNS_ and self.LO_EMA_Nr_nsprefix_) else '' + self.LO_EMA_Nr.export(outfile, level, namespaceprefix_, namespacedef_='', name_='LO_EMA_Nr', pretty_print=pretty_print) + if self.LO_Firmensachnummer is not None: + namespaceprefix_ = self.LO_Firmensachnummer_nsprefix_ + ':' if (UseCapturedNS_ and self.LO_Firmensachnummer_nsprefix_) else '' + self.LO_Firmensachnummer.export(outfile, level, namespaceprefix_, namespacedef_='', name_='LO_Firmensachnummer', pretty_print=pretty_print) + if self.LO_Seriennummer is not None: + namespaceprefix_ = self.LO_Seriennummer_nsprefix_ + ':' if (UseCapturedNS_ and self.LO_Seriennummer_nsprefix_) else '' + self.LO_Seriennummer.export(outfile, level, namespaceprefix_, namespacedef_='', name_='LO_Seriennummer', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'LO_Ausgabestand': + obj_ = TCLO_Ausgabestand.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.LO_Ausgabestand = obj_ + obj_.original_tagname_ = 'LO_Ausgabestand' + elif nodeName_ == 'LO_Datum_Herstellung': + obj_ = TCLO_Datum_Herstellung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.LO_Datum_Herstellung = obj_ + obj_.original_tagname_ = 'LO_Datum_Herstellung' + elif nodeName_ == 'LO_DB_Freigabe': + obj_ = TCLO_DB_Freigabe.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.LO_DB_Freigabe = obj_ + obj_.original_tagname_ = 'LO_DB_Freigabe' + elif nodeName_ == 'LO_EMA_Nr': + obj_ = TCLO_EMA_Nr.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.LO_EMA_Nr = obj_ + obj_.original_tagname_ = 'LO_EMA_Nr' + elif nodeName_ == 'LO_Firmensachnummer': + obj_ = TCLO_Firmensachnummer.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.LO_Firmensachnummer = obj_ + obj_.original_tagname_ = 'LO_Firmensachnummer' + elif nodeName_ == 'LO_Seriennummer': + obj_ = TCLO_Seriennummer.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.LO_Seriennummer = obj_ + obj_.original_tagname_ = 'LO_Seriennummer' +# end class CLO_Material + + +class CProxy_Objekt(CUr_Objekt): + """CProxy_Objekt -- Hilfsobjekt zur S + ä + ttigung von Verweisen an der + ä + u + ß + eren Grenze des Betrachtungsbereichs einer Einzelplanung. Die Validierung einer XML-Datei ist nur gesamthaft m + ö + glich. Somit m + ü + ssen Planungs- und Betrachtungsbereich gleicherma + ß + en valide sein. An der + ä + u + ß + eren Grenze des Betrachtungsbereichs sind jedoch u. U. nicht mehr alle Zielobjekte von Verweisen vorhanden, da der Betrachtungsbereich nicht beliebig ausgeweitet werden kann und soll. Unter der Ma + ß + gabe einer validen XML besteht jedoch ein Zwang zur S + ä + ttigung von Verweisen. Das Proxy_Objekt schafft diesbez + ü + glich eine L + ö + sung f + ü + r alle Objekte des LST-Datenmodells. In den Bestandsdaten der LST-Datenbank d + ü + rfen keine Proxyobjekte vorhanden sein. + LST_Objekt_Art -- Art des Objekts, das durch das Proxyobjekt vertreten wird. Mit Ausnahme von Ur Objekt, Basis Objekt, Bereich Objekt, Punkt Objekt und dem Proxy Objekt selbst k + ö + nnen alle Objekte des LST-Datenmodells ausgew + ä + hlt werden. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CUr_Objekt + def __init__(self, Identitaet=None, LST_Objekt_Art=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CProxy_Objekt"), self).__init__(Identitaet, **kwargs_) + self.LST_Objekt_Art = LST_Objekt_Art + self.LST_Objekt_Art_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CProxy_Objekt) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CProxy_Objekt.subclass: + return CProxy_Objekt.subclass(*args_, **kwargs_) + else: + return CProxy_Objekt(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_LST_Objekt_Art(self): + return self.LST_Objekt_Art + def set_LST_Objekt_Art(self, LST_Objekt_Art): + self.LST_Objekt_Art = LST_Objekt_Art + def has__content(self): + if ( + self.LST_Objekt_Art is not None or + super(CProxy_Objekt, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBasisobjekte:', namespacedef_='xmlns:nsBasisobjekte="http://www.plan-pro.org/modell/Basisobjekte/1.10.0"', name_='CProxy_Objekt', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CProxy_Objekt') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CProxy_Objekt': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CProxy_Objekt') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CProxy_Objekt', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBasisobjekte:', name_='CProxy_Objekt'): + super(CProxy_Objekt, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CProxy_Objekt') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBasisobjekte:', namespacedef_='xmlns:nsBasisobjekte="http://www.plan-pro.org/modell/Basisobjekte/1.10.0"', name_='CProxy_Objekt', fromsubclass_=False, pretty_print=True): + super(CProxy_Objekt, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.LST_Objekt_Art is not None: + namespaceprefix_ = self.LST_Objekt_Art_nsprefix_ + ':' if (UseCapturedNS_ and self.LST_Objekt_Art_nsprefix_) else '' + self.LST_Objekt_Art.export(outfile, level, namespaceprefix_, namespacedef_='', name_='LST_Objekt_Art', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CProxy_Objekt, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'LST_Objekt_Art': + obj_ = TCLST_Objekt_Art.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.LST_Objekt_Art = obj_ + obj_.original_tagname_ = 'LST_Objekt_Art' + super(CProxy_Objekt, self)._buildChildren(child_, node, nodeName_, True) +# end class CProxy_Objekt + + +class CBasis_Objekt_Allg(GeneratedsSuper): + """Bestandsschutz -- F + ü + r das betroffene Objekt wurde Bestandsschutz festgelegt (true). Die Angabe entf + ä + llt, wenn kein Bestandsschutz vorhanden ist. + Objektzustand_Besonders -- Besonderer Zustand eines Objekts im Planungsbereich. Ist dieses Attribut nicht vorhanden, so ist das Objekt am geplanten/vorgesehenen Standort und angesteuert. \"Nicht g + ü + ltig\" sind gem + ä + ß + Betra als nicht g + ü + ltig erkl + ä + rte Signale im Baugleis [gem. Ril 819.1701 (11)]. \"Ung + ü + ltig\" sind betrieblich au + ß + er Betrieb befindliche Signale, die mit einem Ung + ü + ltigkeitskreuz [gem. Ril 819.1701 (10)] versehen sind. Bei Auswahl von \"sonstige\" ist ein Bearbeitungsvermerk mit entsprechenden Erl + ä + uterungen anzuf + ü + gen. DB-Regelwerk Bisher keine eindeutige Abbildung, besonderer Objektzustand meist Fu + ß + noteneintrag in Planungsunterlagen. + Datum_Regelwerk -- Datum des letzten Planungsstandes eines Objekts, Hinweis auf den Regelwerksstand zum Planungszeitpunkt. Erg + ä + nzende Beschreibung zum Umgang im PlanPro-Planungsprozess Anhand des Regelwerksstandes lassen sich die jeweils g + ü + ltigen St + ä + nde der verwendeten Regelwerke herleiten (wichtig f + ü + r Bestandsschutz). Abweichungen werden auf Objektebene (Basis Objekt) + ü + ber das Attribut ID Anhang Regelwerk Besonders beigef + ü + gt. Im Rahmen der Erstellung einer Planung_Einzel werden alle neuen und ge + ä + nderten Objekte standardm + ä + ß + ig mit dem zentral einzugebenden Wert des Attributs + „ + Datum Regelwerksstand + “ + der Planung_Einzel bef + ü + llt. Durch die Bef + ü + llung d + ü + rfen bereits vorhandene Angaben + „ + ID_Anhang_Regelwerk_Besonders + “ + nicht + ü + berschrieben werden. Bei Abweichungen kann der LST-Fachplaner objekt- oder objektgruppenbezogen + „ + ID_Anhang_Regelwerk_Besonders + “ + f + ü + llen. DB-Regelwerk Bisher ohne eindeutige Abbildung im Schriftfeld gem + ä + ß + Ril 886.0102. + ID_Anhang_Regelwerk_Besonders -- F + ü + r das Objekt abweichend geltendes Regelwerk. Verweis auf einen Anhang, aus dem der besondere Regelwerksstand eines LST-Objektes hervorgeht. Dieser gilt abweichend von dem f + ü + r die Planung_Einzel festgelegten Datum Regelwerksstand. Erg + ä + nzende Beschreibung zum Umgang im PlanPro-Planungsprozess Im Schriftfeld gem + ä + ß + Ril 886.0102 dient Feld 30 \"Zus + ä + tzliche Vermerke\" + ü + blicherweise zur Angabe von Regelwerksabweichungen. DB-Regelwerk Bisher eine eindeutige Abbildung als Schriftfeldeintrag gem + ä + ß + Ril 886.0102. Meist Angabe im Erl + ä + uterungsbericht. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Bestandsschutz=None, Objektzustand_Besonders=None, Datum_Regelwerk=None, ID_Anhang_Regelwerk_Besonders=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Bestandsschutz = Bestandsschutz + self.Bestandsschutz_nsprefix_ = None + self.Objektzustand_Besonders = Objektzustand_Besonders + self.Objektzustand_Besonders_nsprefix_ = None + self.Datum_Regelwerk = Datum_Regelwerk + self.Datum_Regelwerk_nsprefix_ = None + self.ID_Anhang_Regelwerk_Besonders = ID_Anhang_Regelwerk_Besonders + self.ID_Anhang_Regelwerk_Besonders_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CBasis_Objekt_Allg) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CBasis_Objekt_Allg.subclass: + return CBasis_Objekt_Allg.subclass(*args_, **kwargs_) + else: + return CBasis_Objekt_Allg(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Bestandsschutz(self): + return self.Bestandsschutz + def set_Bestandsschutz(self, Bestandsschutz): + self.Bestandsschutz = Bestandsschutz + def get_Objektzustand_Besonders(self): + return self.Objektzustand_Besonders + def set_Objektzustand_Besonders(self, Objektzustand_Besonders): + self.Objektzustand_Besonders = Objektzustand_Besonders + def get_Datum_Regelwerk(self): + return self.Datum_Regelwerk + def set_Datum_Regelwerk(self, Datum_Regelwerk): + self.Datum_Regelwerk = Datum_Regelwerk + def get_ID_Anhang_Regelwerk_Besonders(self): + return self.ID_Anhang_Regelwerk_Besonders + def set_ID_Anhang_Regelwerk_Besonders(self, ID_Anhang_Regelwerk_Besonders): + self.ID_Anhang_Regelwerk_Besonders = ID_Anhang_Regelwerk_Besonders + def has__content(self): + if ( + self.Bestandsschutz is not None or + self.Objektzustand_Besonders is not None or + self.Datum_Regelwerk is not None or + self.ID_Anhang_Regelwerk_Besonders is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBasisobjekte:', namespacedef_='xmlns:nsBasisobjekte="http://www.plan-pro.org/modell/Basisobjekte/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CBasis_Objekt_Allg', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CBasis_Objekt_Allg') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CBasis_Objekt_Allg': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CBasis_Objekt_Allg') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CBasis_Objekt_Allg', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBasisobjekte:', name_='CBasis_Objekt_Allg'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsBasisobjekte:', namespacedef_='xmlns:nsBasisobjekte="http://www.plan-pro.org/modell/Basisobjekte/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CBasis_Objekt_Allg', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Bestandsschutz is not None: + namespaceprefix_ = self.Bestandsschutz_nsprefix_ + ':' if (UseCapturedNS_ and self.Bestandsschutz_nsprefix_) else '' + self.Bestandsschutz.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Bestandsschutz', pretty_print=pretty_print) + if self.Objektzustand_Besonders is not None: + namespaceprefix_ = self.Objektzustand_Besonders_nsprefix_ + ':' if (UseCapturedNS_ and self.Objektzustand_Besonders_nsprefix_) else '' + self.Objektzustand_Besonders.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Objektzustand_Besonders', pretty_print=pretty_print) + if self.Datum_Regelwerk is not None: + namespaceprefix_ = self.Datum_Regelwerk_nsprefix_ + ':' if (UseCapturedNS_ and self.Datum_Regelwerk_nsprefix_) else '' + self.Datum_Regelwerk.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Datum_Regelwerk', pretty_print=pretty_print) + if self.ID_Anhang_Regelwerk_Besonders is not None: + namespaceprefix_ = self.ID_Anhang_Regelwerk_Besonders_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Anhang_Regelwerk_Besonders_nsprefix_) else '' + self.ID_Anhang_Regelwerk_Besonders.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Anhang_Regelwerk_Besonders', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Bestandsschutz': + obj_ = TCBestandsschutz.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Bestandsschutz = obj_ + obj_.original_tagname_ = 'Bestandsschutz' + elif nodeName_ == 'Objektzustand_Besonders': + obj_ = TCObjektzustand_Besonders.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Objektzustand_Besonders = obj_ + obj_.original_tagname_ = 'Objektzustand_Besonders' + elif nodeName_ == 'Datum_Regelwerk': + obj_ = TCDatum_Regelwerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Datum_Regelwerk = obj_ + obj_.original_tagname_ = 'Datum_Regelwerk' + elif nodeName_ == 'ID_Anhang_Regelwerk_Besonders': + obj_ = TCID_Anhang.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Anhang_Regelwerk_Besonders = obj_ + obj_.original_tagname_ = 'ID_Anhang_Regelwerk_Besonders' +# end class CBasis_Objekt_Allg + + +class TCKurztext(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCKurztext"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TKurztext(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCKurztext) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCKurztext.subclass: + return TCKurztext.subclass(*args_, **kwargs_) + else: + return TCKurztext(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TKurztext(self, value): + result = True + # Validate type TKurztext, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TKurztext_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TKurztext_patterns_, )) + result = False + return result + validate_TKurztext_patterns_ = [['^(.{1,100})$'], ['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCKurztext, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBasisobjekte:', namespacedef_='xmlns:nsBasisobjekte="http://www.plan-pro.org/modell/Basisobjekte/1.10.0"', name_='TCKurztext', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCKurztext') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCKurztext': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCKurztext') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCKurztext', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBasisobjekte:', name_='TCKurztext'): + super(TCKurztext, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCKurztext') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBasisobjekte:', namespacedef_='xmlns:nsBasisobjekte="http://www.plan-pro.org/modell/Basisobjekte/1.10.0"', name_='TCKurztext', fromsubclass_=False, pretty_print=True): + super(TCKurztext, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCKurztext, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TKurztext + self.validate_TKurztext(self.Wert) + super(TCKurztext, self)._buildChildren(child_, node, nodeName_, True) +# end class TCKurztext + + +class TCBegrenzung_A(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCBegrenzung_A"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TBegrenzung_A(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCBegrenzung_A) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCBegrenzung_A.subclass: + return TCBegrenzung_A.subclass(*args_, **kwargs_) + else: + return TCBegrenzung_A(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TBegrenzung_A(self, value): + result = True + # Validate type TBegrenzung_A, a restriction on nsBasisTypen:TMeter. + 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 not self.gds_validate_simple_patterns( + self.validate_TBegrenzung_A_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TBegrenzung_A_patterns_, )) + result = False + return result + validate_TBegrenzung_A_patterns_ = [['^((0|[1-9][0-9]{0,4})\\.[0-9]{3})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCBegrenzung_A, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBasisobjekte:', namespacedef_='xmlns:nsBasisobjekte="http://www.plan-pro.org/modell/Basisobjekte/1.10.0"', name_='TCBegrenzung_A', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCBegrenzung_A') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCBegrenzung_A': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBegrenzung_A') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCBegrenzung_A', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBasisobjekte:', name_='TCBegrenzung_A'): + super(TCBegrenzung_A, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBegrenzung_A') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBasisobjekte:', namespacedef_='xmlns:nsBasisobjekte="http://www.plan-pro.org/modell/Basisobjekte/1.10.0"', name_='TCBegrenzung_A', fromsubclass_=False, pretty_print=True): + super(TCBegrenzung_A, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_decimal(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCBegrenzung_A, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + fval_ = self.gds_parse_decimal(sval_, node, 'Wert') + fval_ = self.gds_validate_decimal(fval_, node, 'Wert') + self.Wert = fval_ + self.Wert_nsprefix_ = child_.prefix + # validate type TBegrenzung_A + self.validate_TBegrenzung_A(self.Wert) + super(TCBegrenzung_A, self)._buildChildren(child_, node, nodeName_, True) +# end class TCBegrenzung_A + + +class TCStrecke_Km(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCStrecke_Km"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TStrecke_Km(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCStrecke_Km) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCStrecke_Km.subclass: + return TCStrecke_Km.subclass(*args_, **kwargs_) + else: + return TCStrecke_Km(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TStrecke_Km(self, value): + result = True + # Validate type TStrecke_Km, a restriction on nsBasisTypen:TKilometrierung. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TStrecke_Km_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TStrecke_Km_patterns_, )) + result = False + return result + validate_TStrecke_Km_patterns_ = [['^(-?(([1-9][0-9]{0,2})|0),([0-9]{3}|([0-9][\\+\\-][1-9][0-9]{0,4})))$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCStrecke_Km, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBasisobjekte:', namespacedef_='xmlns:nsBasisobjekte="http://www.plan-pro.org/modell/Basisobjekte/1.10.0"', name_='TCStrecke_Km', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCStrecke_Km') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCStrecke_Km': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCStrecke_Km') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCStrecke_Km', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBasisobjekte:', name_='TCStrecke_Km'): + super(TCStrecke_Km, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCStrecke_Km') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBasisobjekte:', namespacedef_='xmlns:nsBasisobjekte="http://www.plan-pro.org/modell/Basisobjekte/1.10.0"', name_='TCStrecke_Km', fromsubclass_=False, pretty_print=True): + super(TCStrecke_Km, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCStrecke_Km, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TStrecke_Km + self.validate_TStrecke_Km(self.Wert) + super(TCStrecke_Km, self)._buildChildren(child_, node, nodeName_, True) +# end class TCStrecke_Km + + +class TCBearbeitungsvermerk_Rolle(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCBearbeitungsvermerk_Rolle"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMRolle(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCBearbeitungsvermerk_Rolle) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCBearbeitungsvermerk_Rolle.subclass: + return TCBearbeitungsvermerk_Rolle.subclass(*args_, **kwargs_) + else: + return TCBearbeitungsvermerk_Rolle(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMRolle(self, value): + result = True + # Validate type ENUMRolle, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['GEO_Planer', 'GIS_Daten', 'LST_Fachplaner', 'sonstige'] + 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 ENUMRolle' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCBearbeitungsvermerk_Rolle, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBasisobjekte:', namespacedef_='xmlns:nsBasisobjekte="http://www.plan-pro.org/modell/Basisobjekte/1.10.0"', name_='TCBearbeitungsvermerk_Rolle', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCBearbeitungsvermerk_Rolle') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCBearbeitungsvermerk_Rolle': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBearbeitungsvermerk_Rolle') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCBearbeitungsvermerk_Rolle', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBasisobjekte:', name_='TCBearbeitungsvermerk_Rolle'): + super(TCBearbeitungsvermerk_Rolle, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBearbeitungsvermerk_Rolle') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBasisobjekte:', namespacedef_='xmlns:nsBasisobjekte="http://www.plan-pro.org/modell/Basisobjekte/1.10.0"', name_='TCBearbeitungsvermerk_Rolle', fromsubclass_=False, pretty_print=True): + super(TCBearbeitungsvermerk_Rolle, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCBearbeitungsvermerk_Rolle, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMRolle + self.validate_ENUMRolle(self.Wert) + super(TCBearbeitungsvermerk_Rolle, self)._buildChildren(child_, node, nodeName_, True) +# end class TCBearbeitungsvermerk_Rolle + + +class TCDatum_Regelwerk(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCDatum_Regelwerk"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + if isinstance(Wert, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Wert, '%Y-%m-%d').date() + else: + initvalue_ = Wert + self.Wert = initvalue_ + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCDatum_Regelwerk) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCDatum_Regelwerk.subclass: + return TCDatum_Regelwerk.subclass(*args_, **kwargs_) + else: + return TCDatum_Regelwerk(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def has__content(self): + if ( + self.Wert is not None or + super(TCDatum_Regelwerk, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBasisobjekte:', namespacedef_='xmlns:nsBasisobjekte="http://www.plan-pro.org/modell/Basisobjekte/1.10.0"', name_='TCDatum_Regelwerk', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCDatum_Regelwerk') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCDatum_Regelwerk': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCDatum_Regelwerk') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCDatum_Regelwerk', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBasisobjekte:', name_='TCDatum_Regelwerk'): + super(TCDatum_Regelwerk, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCDatum_Regelwerk') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBasisobjekte:', namespacedef_='xmlns:nsBasisobjekte="http://www.plan-pro.org/modell/Basisobjekte/1.10.0"', name_='TCDatum_Regelwerk', fromsubclass_=False, pretty_print=True): + super(TCDatum_Regelwerk, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_date(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCDatum_Regelwerk, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + sval_ = child_.text + dval_ = self.gds_parse_date(sval_) + self.Wert = dval_ + self.Wert_nsprefix_ = child_.prefix + super(TCDatum_Regelwerk, self)._buildChildren(child_, node, nodeName_, True) +# end class TCDatum_Regelwerk + + +class CAnhang(CUr_Objekt): + """CAnhang -- Erm + ö + glicht die Aufnahme von Anhangsdokumenten in das Modell. Das Objekt Anhang erlaubt es, im PlanPro Datenmodell Informationen aus bestehenden Dateien vorzuhalten, die nicht durch ein eigenes Objekt im Modell abgebildet sind. Diese Informationen entsprechen den im bisherigen papiergebundenen Prozess beigef + ü + gten Anlagen, eben den Anh + ä + ngen. Die erlaubten Typen von Anh + ä + ngen sind im Attribut + „ + Anhang Art + “ + definiert. Der Dateiname der Ursprungsdatei wird im Attribut + „ + Dateiname + “ + ohne die Endung abgelegt. Die erlaubte Endung wird im Attribut + „ + Dateityp + “ + definiert. Der eigentliche Inhalt der Ursprungsdatei wird im Attribut + „ + Daten + “ + als base64-codierte Bin + ä + rdaten abgelegt. Ein Anhang wird im Datenmodell auf zwei Arten verwendet. Zum einen kann ein Anhang + ü + ber das Objekt Bearbeitungsvermerk mit jedem Objekt oder Attribut verbunden werden. Dies ist in der Beschreibung des Objekts Bearbeitungsvermerk n + ä + her erl + ä + utert. Spezielle Anh + ä + nge, die direkt in einem Objekt bei der Planung enthalten sein m + ü + ssen, z.B. INA-Berechnung, werden direkt durch Attribute im jeweiligen Objekt definiert und so ohne den Umweg des Bearbeitungsvermerkes eingebunden. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CUr_Objekt + def __init__(self, Identitaet=None, Anhang_Allg=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CAnhang"), self).__init__(Identitaet, **kwargs_) + self.Anhang_Allg = Anhang_Allg + self.Anhang_Allg_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CAnhang) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CAnhang.subclass: + return CAnhang.subclass(*args_, **kwargs_) + else: + return CAnhang(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anhang_Allg(self): + return self.Anhang_Allg + def set_Anhang_Allg(self, Anhang_Allg): + self.Anhang_Allg = Anhang_Allg + def has__content(self): + if ( + self.Anhang_Allg is not None or + super(CAnhang, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBasisobjekte:', namespacedef_='xmlns:nsBasisobjekte="http://www.plan-pro.org/modell/Basisobjekte/1.10.0"', name_='CAnhang', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CAnhang') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CAnhang': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CAnhang') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CAnhang', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBasisobjekte:', name_='CAnhang'): + super(CAnhang, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CAnhang') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBasisobjekte:', namespacedef_='xmlns:nsBasisobjekte="http://www.plan-pro.org/modell/Basisobjekte/1.10.0"', name_='CAnhang', fromsubclass_=False, pretty_print=True): + super(CAnhang, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Anhang_Allg is not None: + namespaceprefix_ = self.Anhang_Allg_nsprefix_ + ':' if (UseCapturedNS_ and self.Anhang_Allg_nsprefix_) else '' + self.Anhang_Allg.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Anhang_Allg', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CAnhang, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Anhang_Allg': + obj_ = CAnhang_Allg.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Anhang_Allg = obj_ + obj_.original_tagname_ = 'Anhang_Allg' + super(CAnhang, self)._buildChildren(child_, node, nodeName_, True) +# end class CAnhang + + +class CBereich_Objekt_Teilbereich(GeneratedsSuper): + """Begrenzung_A -- Abstand der Begrenzung A zum Anfang der TOP Kante. Die Begrenzung A darf nicht weiter als die Begrenzung B vom Anfang der TOP Kante entfernt sein. + Begrenzung_B -- Abstand der Begrenzung B zum Anfang der TOP Kante. Die Begrenzung B ist gleich weit oder weiter als die Begrenzung A vom Anfang der TOP Kante entfernt. + ID_TOP_Kante -- Verweis, auf welche TOP Kante sich der Teilbereich bezieht. DB-Regelwerk Darstellung im sicherungstechnischen Lageplan + Richtungsbezug -- Richtung des Teilbereichs bezogen auf die Topologierichtung der + ü + ber ID TOP Kante referenzierten Topologiekante. Zur vererbungsspezifischen Bef + ü + llung siehe Modellierung Basisobjekte. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Begrenzung_A=None, Begrenzung_B=None, ID_TOP_Kante=None, Richtungsbezug=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Begrenzung_A = Begrenzung_A + self.Begrenzung_A_nsprefix_ = None + self.Begrenzung_B = Begrenzung_B + self.Begrenzung_B_nsprefix_ = None + self.ID_TOP_Kante = ID_TOP_Kante + self.ID_TOP_Kante_nsprefix_ = None + self.Richtungsbezug = Richtungsbezug + self.Richtungsbezug_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CBereich_Objekt_Teilbereich) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CBereich_Objekt_Teilbereich.subclass: + return CBereich_Objekt_Teilbereich.subclass(*args_, **kwargs_) + else: + return CBereich_Objekt_Teilbereich(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Begrenzung_A(self): + return self.Begrenzung_A + def set_Begrenzung_A(self, Begrenzung_A): + self.Begrenzung_A = Begrenzung_A + def get_Begrenzung_B(self): + return self.Begrenzung_B + def set_Begrenzung_B(self, Begrenzung_B): + self.Begrenzung_B = Begrenzung_B + def get_ID_TOP_Kante(self): + return self.ID_TOP_Kante + def set_ID_TOP_Kante(self, ID_TOP_Kante): + self.ID_TOP_Kante = ID_TOP_Kante + def get_Richtungsbezug(self): + return self.Richtungsbezug + def set_Richtungsbezug(self, Richtungsbezug): + self.Richtungsbezug = Richtungsbezug + def has__content(self): + if ( + self.Begrenzung_A is not None or + self.Begrenzung_B is not None or + self.ID_TOP_Kante is not None or + self.Richtungsbezug is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBasisobjekte:', namespacedef_='xmlns:nsBasisobjekte="http://www.plan-pro.org/modell/Basisobjekte/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CBereich_Objekt_Teilbereich', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CBereich_Objekt_Teilbereich') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CBereich_Objekt_Teilbereich': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CBereich_Objekt_Teilbereich') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CBereich_Objekt_Teilbereich', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBasisobjekte:', name_='CBereich_Objekt_Teilbereich'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsBasisobjekte:', namespacedef_='xmlns:nsBasisobjekte="http://www.plan-pro.org/modell/Basisobjekte/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CBereich_Objekt_Teilbereich', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Begrenzung_A is not None: + namespaceprefix_ = self.Begrenzung_A_nsprefix_ + ':' if (UseCapturedNS_ and self.Begrenzung_A_nsprefix_) else '' + self.Begrenzung_A.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Begrenzung_A', pretty_print=pretty_print) + if self.Begrenzung_B is not None: + namespaceprefix_ = self.Begrenzung_B_nsprefix_ + ':' if (UseCapturedNS_ and self.Begrenzung_B_nsprefix_) else '' + self.Begrenzung_B.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Begrenzung_B', pretty_print=pretty_print) + if self.ID_TOP_Kante is not None: + namespaceprefix_ = self.ID_TOP_Kante_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_TOP_Kante_nsprefix_) else '' + self.ID_TOP_Kante.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_TOP_Kante', pretty_print=pretty_print) + if self.Richtungsbezug is not None: + namespaceprefix_ = self.Richtungsbezug_nsprefix_ + ':' if (UseCapturedNS_ and self.Richtungsbezug_nsprefix_) else '' + self.Richtungsbezug.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Richtungsbezug', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Begrenzung_A': + obj_ = TCBegrenzung_A.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Begrenzung_A = obj_ + obj_.original_tagname_ = 'Begrenzung_A' + elif nodeName_ == 'Begrenzung_B': + obj_ = TCBegrenzung_B.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Begrenzung_B = obj_ + obj_.original_tagname_ = 'Begrenzung_B' + elif nodeName_ == 'ID_TOP_Kante': + obj_ = TCID_TOP_Kante.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_TOP_Kante = obj_ + obj_.original_tagname_ = 'ID_TOP_Kante' + elif nodeName_ == 'Richtungsbezug': + obj_ = TCRichtungsbezug.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Richtungsbezug = obj_ + obj_.original_tagname_ = 'Richtungsbezug' +# end class CBereich_Objekt_Teilbereich + + +class TCIdentitaet(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCIdentitaet"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TIdentitaet(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCIdentitaet) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCIdentitaet.subclass: + return TCIdentitaet.subclass(*args_, **kwargs_) + else: + return TCIdentitaet(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TIdentitaet(self, value): + result = True + # Validate type TIdentitaet, a restriction on nsBasisTypen:TGUID. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TIdentitaet_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TIdentitaet_patterns_, )) + result = False + return result + validate_TIdentitaet_patterns_ = [['^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCIdentitaet, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBasisobjekte:', namespacedef_='xmlns:nsBasisobjekte="http://www.plan-pro.org/modell/Basisobjekte/1.10.0"', name_='TCIdentitaet', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCIdentitaet') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCIdentitaet': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCIdentitaet') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCIdentitaet', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBasisobjekte:', name_='TCIdentitaet'): + super(TCIdentitaet, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCIdentitaet') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBasisobjekte:', namespacedef_='xmlns:nsBasisobjekte="http://www.plan-pro.org/modell/Basisobjekte/1.10.0"', name_='TCIdentitaet', fromsubclass_=False, pretty_print=True): + super(TCIdentitaet, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCIdentitaet, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TIdentitaet + self.validate_TIdentitaet(self.Wert) + super(TCIdentitaet, self)._buildChildren(child_, node, nodeName_, True) +# end class TCIdentitaet + + +class TCBegrenzung_B(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCBegrenzung_B"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TBegrenzung_B(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCBegrenzung_B) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCBegrenzung_B.subclass: + return TCBegrenzung_B.subclass(*args_, **kwargs_) + else: + return TCBegrenzung_B(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TBegrenzung_B(self, value): + result = True + # Validate type TBegrenzung_B, a restriction on nsBasisTypen:TMeter. + 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 not self.gds_validate_simple_patterns( + self.validate_TBegrenzung_B_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TBegrenzung_B_patterns_, )) + result = False + return result + validate_TBegrenzung_B_patterns_ = [['^((0|[1-9][0-9]{0,4})\\.[0-9]{3})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCBegrenzung_B, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBasisobjekte:', namespacedef_='xmlns:nsBasisobjekte="http://www.plan-pro.org/modell/Basisobjekte/1.10.0"', name_='TCBegrenzung_B', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCBegrenzung_B') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCBegrenzung_B': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBegrenzung_B') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCBegrenzung_B', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBasisobjekte:', name_='TCBegrenzung_B'): + super(TCBegrenzung_B, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBegrenzung_B') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBasisobjekte:', namespacedef_='xmlns:nsBasisobjekte="http://www.plan-pro.org/modell/Basisobjekte/1.10.0"', name_='TCBegrenzung_B', fromsubclass_=False, pretty_print=True): + super(TCBegrenzung_B, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_decimal(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCBegrenzung_B, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + fval_ = self.gds_parse_decimal(sval_, node, 'Wert') + fval_ = self.gds_validate_decimal(fval_, node, 'Wert') + self.Wert = fval_ + self.Wert_nsprefix_ = child_.prefix + # validate type TBegrenzung_B + self.validate_TBegrenzung_B(self.Wert) + super(TCBegrenzung_B, self)._buildChildren(child_, node, nodeName_, True) +# end class TCBegrenzung_B + + +class TCBestandsschutz(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCBestandsschutz"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCBestandsschutz) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCBestandsschutz.subclass: + return TCBestandsschutz.subclass(*args_, **kwargs_) + else: + return TCBestandsschutz(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def has__content(self): + if ( + self.Wert is not None or + super(TCBestandsschutz, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBasisobjekte:', namespacedef_='xmlns:nsBasisobjekte="http://www.plan-pro.org/modell/Basisobjekte/1.10.0"', name_='TCBestandsschutz', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCBestandsschutz') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCBestandsschutz': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBestandsschutz') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCBestandsschutz', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBasisobjekte:', name_='TCBestandsschutz'): + super(TCBestandsschutz, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBestandsschutz') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBasisobjekte:', namespacedef_='xmlns:nsBasisobjekte="http://www.plan-pro.org/modell/Basisobjekte/1.10.0"', name_='TCBestandsschutz', fromsubclass_=False, pretty_print=True): + super(TCBestandsschutz, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_boolean(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCBestandsschutz, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + sval_ = child_.text + ival_ = self.gds_parse_boolean(sval_, node, 'Wert') + ival_ = self.gds_validate_boolean(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + super(TCBestandsschutz, self)._buildChildren(child_, node, nodeName_, True) +# end class TCBestandsschutz + + +class TCAnhang_Art(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCAnhang_Art"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMAnhang_Art(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCAnhang_Art) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCAnhang_Art.subclass: + return TCAnhang_Art.subclass(*args_, **kwargs_) + else: + return TCAnhang_Art(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMAnhang_Art(self, value): + result = True + # Validate type ENUMAnhang_Art, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['Abnahmeniederschrift', 'Anbindung_IB2', 'Anbindung_IB3', 'BAST', 'BELU', 'Benutzeroberflaeche', 'Bestaetig_Gleichstellung', 'Bestaetig_Qualitaetspruefung', 'Bestaetig_Uebernahme', 'Freigabe_Bvb', 'Genehmigung_AG_Bh_Bhv', 'Material_Besonders', 'Uebertragungswegeplan', 'DWS', 'Erlaeuterungsbericht', 'GEO', 'INA', 'Moebelaufstellplan_Aufriss', 'Moebelaufstellplan_Grundriss', 'Monitoraufteilung', 'Planverzeichnis', 'Pruefbericht', 'Raumplan_Bedienraeume', 'Raumplan_Rechnerraeume', 'Regelwerksstand_Besonders', 'Richtungssinn', 'sonstige', 'Steuerbezirksuebersicht', 'UiG', 'Vorgabe', 'Vorgabe_GBT', 'VzG', 'ZiE', 'ZN_Raumplan_Bedienraum', 'ZN_Raumplan_Rechnerraum'] + 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 ENUMAnhang_Art' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCAnhang_Art, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBasisobjekte:', namespacedef_='xmlns:nsBasisobjekte="http://www.plan-pro.org/modell/Basisobjekte/1.10.0"', name_='TCAnhang_Art', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCAnhang_Art') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCAnhang_Art': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCAnhang_Art') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCAnhang_Art', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBasisobjekte:', name_='TCAnhang_Art'): + super(TCAnhang_Art, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCAnhang_Art') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBasisobjekte:', namespacedef_='xmlns:nsBasisobjekte="http://www.plan-pro.org/modell/Basisobjekte/1.10.0"', name_='TCAnhang_Art', fromsubclass_=False, pretty_print=True): + super(TCAnhang_Art, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCAnhang_Art, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMAnhang_Art + self.validate_ENUMAnhang_Art(self.Wert) + super(TCAnhang_Art, self)._buildChildren(child_, node, nodeName_, True) +# end class TCAnhang_Art + + +class TCSeitlicher_Abstand(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCSeitlicher_Abstand"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TSeitlicher_Abstand(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCSeitlicher_Abstand) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCSeitlicher_Abstand.subclass: + return TCSeitlicher_Abstand.subclass(*args_, **kwargs_) + else: + return TCSeitlicher_Abstand(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TSeitlicher_Abstand(self, value): + result = True + # Validate type TSeitlicher_Abstand, a restriction on nsBasisTypen:TMeter. + 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 not self.gds_validate_simple_patterns( + self.validate_TSeitlicher_Abstand_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TSeitlicher_Abstand_patterns_, )) + result = False + return result + validate_TSeitlicher_Abstand_patterns_ = [['^((-?[1-9][0-9]{0,4}\\.[0-9]{3})|(-?0\\.[89][0-9]{2})|0.000)$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCSeitlicher_Abstand, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBasisobjekte:', namespacedef_='xmlns:nsBasisobjekte="http://www.plan-pro.org/modell/Basisobjekte/1.10.0"', name_='TCSeitlicher_Abstand', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCSeitlicher_Abstand') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCSeitlicher_Abstand': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCSeitlicher_Abstand') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCSeitlicher_Abstand', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBasisobjekte:', name_='TCSeitlicher_Abstand'): + super(TCSeitlicher_Abstand, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCSeitlicher_Abstand') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBasisobjekte:', namespacedef_='xmlns:nsBasisobjekte="http://www.plan-pro.org/modell/Basisobjekte/1.10.0"', name_='TCSeitlicher_Abstand', fromsubclass_=False, pretty_print=True): + super(TCSeitlicher_Abstand, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_decimal(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCSeitlicher_Abstand, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + fval_ = self.gds_parse_decimal(sval_, node, 'Wert') + fval_ = self.gds_validate_decimal(fval_, node, 'Wert') + self.Wert = fval_ + self.Wert_nsprefix_ = child_.prefix + # validate type TSeitlicher_Abstand + self.validate_TSeitlicher_Abstand(self.Wert) + super(TCSeitlicher_Abstand, self)._buildChildren(child_, node, nodeName_, True) +# end class TCSeitlicher_Abstand + + +class TCLO_Seriennummer(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCLO_Seriennummer"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TLO_Seriennummer(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCLO_Seriennummer) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCLO_Seriennummer.subclass: + return TCLO_Seriennummer.subclass(*args_, **kwargs_) + else: + return TCLO_Seriennummer(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TLO_Seriennummer(self, value): + result = True + # Validate type TLO_Seriennummer, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TLO_Seriennummer_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TLO_Seriennummer_patterns_, )) + result = False + return result + validate_TLO_Seriennummer_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCLO_Seriennummer, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBasisobjekte:', namespacedef_='xmlns:nsBasisobjekte="http://www.plan-pro.org/modell/Basisobjekte/1.10.0"', name_='TCLO_Seriennummer', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCLO_Seriennummer') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCLO_Seriennummer': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCLO_Seriennummer') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCLO_Seriennummer', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBasisobjekte:', name_='TCLO_Seriennummer'): + super(TCLO_Seriennummer, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCLO_Seriennummer') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBasisobjekte:', namespacedef_='xmlns:nsBasisobjekte="http://www.plan-pro.org/modell/Basisobjekte/1.10.0"', name_='TCLO_Seriennummer', fromsubclass_=False, pretty_print=True): + super(TCLO_Seriennummer, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCLO_Seriennummer, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TLO_Seriennummer + self.validate_TLO_Seriennummer(self.Wert) + super(TCLO_Seriennummer, self)._buildChildren(child_, node, nodeName_, True) +# end class TCLO_Seriennummer + + +class CBearbeitungsvermerk(CUr_Objekt): + """CBearbeitungsvermerk -- Anhang in Form von Datei oder Text zu einem Objekt oder Attribut. Jeder zugelassene Projektbeteiligte kann zu einem Objekt oder Attribut einen Bearbeitungsvermerk anf + ü + gen, sofern er die entsprechend notwendige Berechtigung besitzt. Dies gilt f + ü + r fachliche wie organisatorische Objekte und Attribute. F + ü + r ENUM-Attribute ist bei Auswahl des Werts \"sonstige\" zwingend ein Bearbeitungsvermerk anzuf + ü + gen. Eine Dokumentenbeigabe ist dabei optional. Zu einem Objekt oder Attribut k + ö + nnen mehrere Bearbeitungsvermerke erstellt werden. Der Bearbeitungsvermerk enth + ä + lt vorl + ä + ufig eine GUID zur Identifikation des Bearbeiters sowie eine GUID f + ü + r die Signatur. Im Attribut + „ + Bearbeitungsvermerk Rolle + “ + kann die fachliche Rolle des Bearbeiters abgelegt werden. Kommentare des Bearbeiters werden als Freitext im Attribut + „ + Kommentar + “ + hinterlegt. Der Bearbeitungsvermerk kann einen Anhang aufnehmen. Um mehrere Anh + ä + nge zu einem Objekt zuzuordnen, m + ü + ssen mehrere Bearbeitungsvermerke erstellt werden. + ID_Anhang -- Verweis auf den durch diesen Bearbeitungsvermerk referenzierten Anhang. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CUr_Objekt + def __init__(self, Identitaet=None, Bearbeitungsvermerk_Allg=None, ID_Anhang=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CBearbeitungsvermerk"), self).__init__(Identitaet, **kwargs_) + self.Bearbeitungsvermerk_Allg = Bearbeitungsvermerk_Allg + self.Bearbeitungsvermerk_Allg_nsprefix_ = None + if ID_Anhang is None: + self.ID_Anhang = [] + else: + self.ID_Anhang = ID_Anhang + self.ID_Anhang_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CBearbeitungsvermerk) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CBearbeitungsvermerk.subclass: + return CBearbeitungsvermerk.subclass(*args_, **kwargs_) + else: + return CBearbeitungsvermerk(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Bearbeitungsvermerk_Allg(self): + return self.Bearbeitungsvermerk_Allg + def set_Bearbeitungsvermerk_Allg(self, Bearbeitungsvermerk_Allg): + self.Bearbeitungsvermerk_Allg = Bearbeitungsvermerk_Allg + def get_ID_Anhang(self): + return self.ID_Anhang + def set_ID_Anhang(self, ID_Anhang): + self.ID_Anhang = ID_Anhang + def add_ID_Anhang(self, value): + self.ID_Anhang.append(value) + def insert_ID_Anhang_at(self, index, value): + self.ID_Anhang.insert(index, value) + def replace_ID_Anhang_at(self, index, value): + self.ID_Anhang[index] = value + def has__content(self): + if ( + self.Bearbeitungsvermerk_Allg is not None or + self.ID_Anhang or + super(CBearbeitungsvermerk, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBasisobjekte:', namespacedef_='xmlns:nsBasisobjekte="http://www.plan-pro.org/modell/Basisobjekte/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CBearbeitungsvermerk', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CBearbeitungsvermerk') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CBearbeitungsvermerk': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CBearbeitungsvermerk') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CBearbeitungsvermerk', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBasisobjekte:', name_='CBearbeitungsvermerk'): + super(CBearbeitungsvermerk, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CBearbeitungsvermerk') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBasisobjekte:', namespacedef_='xmlns:nsBasisobjekte="http://www.plan-pro.org/modell/Basisobjekte/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CBearbeitungsvermerk', fromsubclass_=False, pretty_print=True): + super(CBearbeitungsvermerk, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Bearbeitungsvermerk_Allg is not None: + namespaceprefix_ = self.Bearbeitungsvermerk_Allg_nsprefix_ + ':' if (UseCapturedNS_ and self.Bearbeitungsvermerk_Allg_nsprefix_) else '' + self.Bearbeitungsvermerk_Allg.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Bearbeitungsvermerk_Allg', pretty_print=pretty_print) + for ID_Anhang_ in self.ID_Anhang: + namespaceprefix_ = self.ID_Anhang_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Anhang_nsprefix_) else '' + ID_Anhang_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Anhang', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CBearbeitungsvermerk, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Bearbeitungsvermerk_Allg': + obj_ = CBearbeitungsvermerk_Allg.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Bearbeitungsvermerk_Allg = obj_ + obj_.original_tagname_ = 'Bearbeitungsvermerk_Allg' + elif nodeName_ == 'ID_Anhang': + obj_ = TCID_Anhang.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Anhang.append(obj_) + obj_.original_tagname_ = 'ID_Anhang' + super(CBearbeitungsvermerk, self)._buildChildren(child_, node, nodeName_, True) +# end class CBearbeitungsvermerk + + +class TCRichtungsbezug(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCRichtungsbezug"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TRichtungsbezug(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCRichtungsbezug) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCRichtungsbezug.subclass: + return TCRichtungsbezug.subclass(*args_, **kwargs_) + else: + return TCRichtungsbezug(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TRichtungsbezug(self, value): + result = True + # Validate type TRichtungsbezug, a restriction on nsBasisTypen:TWirkrichtung. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['beide', 'gegen', 'in'] + 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 TRichtungsbezug' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCRichtungsbezug, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBasisobjekte:', namespacedef_='xmlns:nsBasisobjekte="http://www.plan-pro.org/modell/Basisobjekte/1.10.0"', name_='TCRichtungsbezug', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCRichtungsbezug') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCRichtungsbezug': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCRichtungsbezug') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCRichtungsbezug', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBasisobjekte:', name_='TCRichtungsbezug'): + super(TCRichtungsbezug, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCRichtungsbezug') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBasisobjekte:', namespacedef_='xmlns:nsBasisobjekte="http://www.plan-pro.org/modell/Basisobjekte/1.10.0"', name_='TCRichtungsbezug', fromsubclass_=False, pretty_print=True): + super(TCRichtungsbezug, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCRichtungsbezug, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TRichtungsbezug + self.validate_TRichtungsbezug(self.Wert) + super(TCRichtungsbezug, self)._buildChildren(child_, node, nodeName_, True) +# end class TCRichtungsbezug + + +class TCWirkrichtung(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCWirkrichtung"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TWirkrichtung(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCWirkrichtung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCWirkrichtung.subclass: + return TCWirkrichtung.subclass(*args_, **kwargs_) + else: + return TCWirkrichtung(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TWirkrichtung(self, value): + result = True + # Validate type TWirkrichtung, a restriction on nsBasisTypen:ENUMWirkrichtung. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['beide', 'gegen', 'in'] + 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 TWirkrichtung' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCWirkrichtung, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBasisobjekte:', namespacedef_='xmlns:nsBasisobjekte="http://www.plan-pro.org/modell/Basisobjekte/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCWirkrichtung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCWirkrichtung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCWirkrichtung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCWirkrichtung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCWirkrichtung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBasisobjekte:', name_='TCWirkrichtung'): + super(TCWirkrichtung, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCWirkrichtung') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBasisobjekte:', namespacedef_='xmlns:nsBasisobjekte="http://www.plan-pro.org/modell/Basisobjekte/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCWirkrichtung', fromsubclass_=False, pretty_print=True): + super(TCWirkrichtung, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCWirkrichtung, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TWirkrichtung + self.validate_TWirkrichtung(self.Wert) + super(TCWirkrichtung, self)._buildChildren(child_, node, nodeName_, True) +# end class TCWirkrichtung + + +class TCLO_Ersatz(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCLO_Ersatz"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCLO_Ersatz) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCLO_Ersatz.subclass: + return TCLO_Ersatz.subclass(*args_, **kwargs_) + else: + return TCLO_Ersatz(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def has__content(self): + if ( + self.Wert is not None or + super(TCLO_Ersatz, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBasisobjekte:', namespacedef_='xmlns:nsBasisobjekte="http://www.plan-pro.org/modell/Basisobjekte/1.10.0"', name_='TCLO_Ersatz', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCLO_Ersatz') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCLO_Ersatz': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCLO_Ersatz') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCLO_Ersatz', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBasisobjekte:', name_='TCLO_Ersatz'): + super(TCLO_Ersatz, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCLO_Ersatz') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBasisobjekte:', namespacedef_='xmlns:nsBasisobjekte="http://www.plan-pro.org/modell/Basisobjekte/1.10.0"', name_='TCLO_Ersatz', fromsubclass_=False, pretty_print=True): + super(TCLO_Ersatz, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_boolean(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCLO_Ersatz, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + sval_ = child_.text + ival_ = self.gds_parse_boolean(sval_, node, 'Wert') + ival_ = self.gds_validate_boolean(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + super(TCLO_Ersatz, self)._buildChildren(child_, node, nodeName_, True) +# end class TCLO_Ersatz + + +class CPunkt_Objekt_Strecke(GeneratedsSuper): + """ID_Strecke -- Zuordnung eines Punktobjektes zu einer Streckennummer. + Km_Massgebend -- Kennzeichnung der ma + ß + gebenden Kilometrierung (\"true\") bei Referenz zu mehreren Strecken. + Strecke_Km -- Kilometer des Punktobjekts an der Strecke. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, ID_Strecke=None, Km_Massgebend=None, Strecke_Km=None, gds_collector_=None, **kwargs_): + self.gds_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_Strecke = ID_Strecke + self.ID_Strecke_nsprefix_ = None + self.Km_Massgebend = Km_Massgebend + self.Km_Massgebend_nsprefix_ = None + self.Strecke_Km = Strecke_Km + self.Strecke_Km_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CPunkt_Objekt_Strecke) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CPunkt_Objekt_Strecke.subclass: + return CPunkt_Objekt_Strecke.subclass(*args_, **kwargs_) + else: + return CPunkt_Objekt_Strecke(*args_, **kwargs_) + factory = staticmethod(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_Strecke(self): + return self.ID_Strecke + def set_ID_Strecke(self, ID_Strecke): + self.ID_Strecke = ID_Strecke + def get_Km_Massgebend(self): + return self.Km_Massgebend + def set_Km_Massgebend(self, Km_Massgebend): + self.Km_Massgebend = Km_Massgebend + def get_Strecke_Km(self): + return self.Strecke_Km + def set_Strecke_Km(self, Strecke_Km): + self.Strecke_Km = Strecke_Km + def has__content(self): + if ( + self.ID_Strecke is not None or + self.Km_Massgebend is not None or + self.Strecke_Km is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBasisobjekte:', namespacedef_='xmlns:nsBasisobjekte="http://www.plan-pro.org/modell/Basisobjekte/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CPunkt_Objekt_Strecke', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CPunkt_Objekt_Strecke') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CPunkt_Objekt_Strecke': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CPunkt_Objekt_Strecke') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CPunkt_Objekt_Strecke', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBasisobjekte:', name_='CPunkt_Objekt_Strecke'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsBasisobjekte:', namespacedef_='xmlns:nsBasisobjekte="http://www.plan-pro.org/modell/Basisobjekte/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CPunkt_Objekt_Strecke', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.ID_Strecke is not None: + namespaceprefix_ = self.ID_Strecke_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Strecke_nsprefix_) else '' + self.ID_Strecke.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Strecke', pretty_print=pretty_print) + if self.Km_Massgebend is not None: + namespaceprefix_ = self.Km_Massgebend_nsprefix_ + ':' if (UseCapturedNS_ and self.Km_Massgebend_nsprefix_) else '' + self.Km_Massgebend.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Km_Massgebend', pretty_print=pretty_print) + if self.Strecke_Km is not None: + namespaceprefix_ = self.Strecke_Km_nsprefix_ + ':' if (UseCapturedNS_ and self.Strecke_Km_nsprefix_) else '' + self.Strecke_Km.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Strecke_Km', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Strecke': + obj_ = TCID_Strecke.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Strecke = obj_ + obj_.original_tagname_ = 'ID_Strecke' + elif nodeName_ == 'Km_Massgebend': + obj_ = TCKm_Massgebend.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Km_Massgebend = obj_ + obj_.original_tagname_ = 'Km_Massgebend' + elif nodeName_ == 'Strecke_Km': + obj_ = TCStrecke_Km.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Strecke_Km = obj_ + obj_.original_tagname_ = 'Strecke_Km' +# end class CPunkt_Objekt_Strecke + + +class TCAbstand(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCAbstand"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TAbstand(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCAbstand) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCAbstand.subclass: + return TCAbstand.subclass(*args_, **kwargs_) + else: + return TCAbstand(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TAbstand(self, value): + result = True + # Validate type TAbstand, a restriction on nsBasisTypen:TMeter. + 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 not self.gds_validate_simple_patterns( + self.validate_TAbstand_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TAbstand_patterns_, )) + result = False + return result + validate_TAbstand_patterns_ = [['^((0|[1-9][0-9]{0,4})\\.[0-9]{3})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCAbstand, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBasisobjekte:', namespacedef_='xmlns:nsBasisobjekte="http://www.plan-pro.org/modell/Basisobjekte/1.10.0"', name_='TCAbstand', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCAbstand') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCAbstand': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCAbstand') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCAbstand', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBasisobjekte:', name_='TCAbstand'): + super(TCAbstand, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCAbstand') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBasisobjekte:', namespacedef_='xmlns:nsBasisobjekte="http://www.plan-pro.org/modell/Basisobjekte/1.10.0"', name_='TCAbstand', fromsubclass_=False, pretty_print=True): + super(TCAbstand, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_decimal(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCAbstand, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + fval_ = self.gds_parse_decimal(sval_, node, 'Wert') + fval_ = self.gds_validate_decimal(fval_, node, 'Wert') + self.Wert = fval_ + self.Wert_nsprefix_ = child_.prefix + # validate type TAbstand + self.validate_TAbstand(self.Wert) + super(TCAbstand, self)._buildChildren(child_, node, nodeName_, True) +# end class TCAbstand + + +class CBearbeitungsvermerk_Allg(GeneratedsSuper): + """Bearbeitungsvermerk_Rolle -- Fachliche Rolle des Bearbeiters, der den Bearbeitungsvermerk verfasst hat. In der ersten Umsetzungsstufe PlanPro ist dabei nur die Rolle \"LST_Fachplaner\" (Ingenieurb + ü + ro) vorgesehen. Bei Auswahl von \"sonstige\" ist ein Bearbeitungsvermerk mit entsprechenden Erl + ä + uterungen anzuf + ü + gen. + Bestandsrelevanz -- Relevanz eines Bearbeitungsvermerks f + ü + r die + Ü + bernahme in den Bestand (Bestandsdaten bzw. Bestandspl + ä + ne). + nein - Nur g + ü + ltig innerhalb einer Planungsgruppe. Der BV ist vor Erstellen der Bestandsdaten einer Planungsgruppe zu l + ö + schen. + Bestandsdaten - G + ü + ltig innerhalb eines Planungsprojekts bis vor Erstellen einer Bestandsdokumentation, d. h. der BV kann in den Bestandsdaten enthalten bleiben, ist jedoch vor Erstellen einer Bestandsdokumentation zu l + ö + schen. + Bestandsdokumentation - G + ü + ltig innerhalb eines Planungsprojekts bis vor Erstellen der letzten Bestandsdokumentation, d. h. der BV kann + ü + ber mehrere Planungsgruppen hinaus enthalten bleiben, ist jedoch vor Projektabschluss zu l + ö + schen. + dauerhaft - G + ü + ltig + ü + ber das Gesamtprojekt hinaus auch nach Erstellen der letzten Bestandsdokumentation. + Der BV ist dauerhaft relevant und kann erst mit einem neuen Planungsprojekt ge + ä + ndert/gel + ö + scht werden. + BV_Darstellung_In_Plan -- Angabe des Plans, in dem der Bearbeitungsvermerk dargestellt werden soll. + BV_Kategorie -- Kategorisierung des Bearbeitungsvermerks zur Sortierung und Filterung (z. B. zur Ablage von Zusatzinformationen f + ü + r besondere Anwendungsf + ä + lle) + Kommentar -- Kommentare des Bearbeiters als Freitext. + Kurztext -- Kurzform des Kommentars des Bearbeitungsvermerks f + ü + r Anzeige bzw. Druck in den Ausgabeformaten. + Zeit_Bearbeitungsvermerk -- Zeitpunkt, zu dem der Bearbeitungsvermerk ge + ä + ndert wurde. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Bearbeitungsvermerk_Rolle=None, Bestandsrelevanz=None, BV_Darstellung_In_Plan=None, BV_Kategorie=None, Kommentar=None, Kurztext=None, Zeit_Bearbeitungsvermerk=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Bearbeitungsvermerk_Rolle = Bearbeitungsvermerk_Rolle + self.Bearbeitungsvermerk_Rolle_nsprefix_ = None + self.Bestandsrelevanz = Bestandsrelevanz + self.Bestandsrelevanz_nsprefix_ = None + if BV_Darstellung_In_Plan is None: + self.BV_Darstellung_In_Plan = [] + else: + self.BV_Darstellung_In_Plan = BV_Darstellung_In_Plan + self.BV_Darstellung_In_Plan_nsprefix_ = None + self.BV_Kategorie = BV_Kategorie + self.BV_Kategorie_nsprefix_ = None + self.Kommentar = Kommentar + self.Kommentar_nsprefix_ = None + self.Kurztext = Kurztext + self.Kurztext_nsprefix_ = None + self.Zeit_Bearbeitungsvermerk = Zeit_Bearbeitungsvermerk + self.Zeit_Bearbeitungsvermerk_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CBearbeitungsvermerk_Allg) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CBearbeitungsvermerk_Allg.subclass: + return CBearbeitungsvermerk_Allg.subclass(*args_, **kwargs_) + else: + return CBearbeitungsvermerk_Allg(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Bearbeitungsvermerk_Rolle(self): + return self.Bearbeitungsvermerk_Rolle + def set_Bearbeitungsvermerk_Rolle(self, Bearbeitungsvermerk_Rolle): + self.Bearbeitungsvermerk_Rolle = Bearbeitungsvermerk_Rolle + def get_Bestandsrelevanz(self): + return self.Bestandsrelevanz + def set_Bestandsrelevanz(self, Bestandsrelevanz): + self.Bestandsrelevanz = Bestandsrelevanz + def get_BV_Darstellung_In_Plan(self): + return self.BV_Darstellung_In_Plan + def set_BV_Darstellung_In_Plan(self, BV_Darstellung_In_Plan): + self.BV_Darstellung_In_Plan = BV_Darstellung_In_Plan + def add_BV_Darstellung_In_Plan(self, value): + self.BV_Darstellung_In_Plan.append(value) + def insert_BV_Darstellung_In_Plan_at(self, index, value): + self.BV_Darstellung_In_Plan.insert(index, value) + def replace_BV_Darstellung_In_Plan_at(self, index, value): + self.BV_Darstellung_In_Plan[index] = value + def get_BV_Kategorie(self): + return self.BV_Kategorie + def set_BV_Kategorie(self, BV_Kategorie): + self.BV_Kategorie = BV_Kategorie + def get_Kommentar(self): + return self.Kommentar + def set_Kommentar(self, Kommentar): + self.Kommentar = Kommentar + def get_Kurztext(self): + return self.Kurztext + def set_Kurztext(self, Kurztext): + self.Kurztext = Kurztext + def get_Zeit_Bearbeitungsvermerk(self): + return self.Zeit_Bearbeitungsvermerk + def set_Zeit_Bearbeitungsvermerk(self, Zeit_Bearbeitungsvermerk): + self.Zeit_Bearbeitungsvermerk = Zeit_Bearbeitungsvermerk + def has__content(self): + if ( + self.Bearbeitungsvermerk_Rolle is not None or + self.Bestandsrelevanz is not None or + self.BV_Darstellung_In_Plan or + self.BV_Kategorie is not None or + self.Kommentar is not None or + self.Kurztext is not None or + self.Zeit_Bearbeitungsvermerk is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBasisobjekte:', namespacedef_='xmlns:nsBasisobjekte="http://www.plan-pro.org/modell/Basisobjekte/1.10.0"', name_='CBearbeitungsvermerk_Allg', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CBearbeitungsvermerk_Allg') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CBearbeitungsvermerk_Allg': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CBearbeitungsvermerk_Allg') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CBearbeitungsvermerk_Allg', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBasisobjekte:', name_='CBearbeitungsvermerk_Allg'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsBasisobjekte:', namespacedef_='xmlns:nsBasisobjekte="http://www.plan-pro.org/modell/Basisobjekte/1.10.0"', name_='CBearbeitungsvermerk_Allg', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Bearbeitungsvermerk_Rolle is not None: + namespaceprefix_ = self.Bearbeitungsvermerk_Rolle_nsprefix_ + ':' if (UseCapturedNS_ and self.Bearbeitungsvermerk_Rolle_nsprefix_) else '' + self.Bearbeitungsvermerk_Rolle.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Bearbeitungsvermerk_Rolle', pretty_print=pretty_print) + if self.Bestandsrelevanz is not None: + namespaceprefix_ = self.Bestandsrelevanz_nsprefix_ + ':' if (UseCapturedNS_ and self.Bestandsrelevanz_nsprefix_) else '' + self.Bestandsrelevanz.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Bestandsrelevanz', pretty_print=pretty_print) + for BV_Darstellung_In_Plan_ in self.BV_Darstellung_In_Plan: + namespaceprefix_ = self.BV_Darstellung_In_Plan_nsprefix_ + ':' if (UseCapturedNS_ and self.BV_Darstellung_In_Plan_nsprefix_) else '' + BV_Darstellung_In_Plan_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='BV_Darstellung_In_Plan', pretty_print=pretty_print) + if self.BV_Kategorie is not None: + namespaceprefix_ = self.BV_Kategorie_nsprefix_ + ':' if (UseCapturedNS_ and self.BV_Kategorie_nsprefix_) else '' + self.BV_Kategorie.export(outfile, level, namespaceprefix_, namespacedef_='', name_='BV_Kategorie', pretty_print=pretty_print) + if self.Kommentar is not None: + namespaceprefix_ = self.Kommentar_nsprefix_ + ':' if (UseCapturedNS_ and self.Kommentar_nsprefix_) else '' + self.Kommentar.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Kommentar', pretty_print=pretty_print) + if self.Kurztext is not None: + namespaceprefix_ = self.Kurztext_nsprefix_ + ':' if (UseCapturedNS_ and self.Kurztext_nsprefix_) else '' + self.Kurztext.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Kurztext', pretty_print=pretty_print) + if self.Zeit_Bearbeitungsvermerk is not None: + namespaceprefix_ = self.Zeit_Bearbeitungsvermerk_nsprefix_ + ':' if (UseCapturedNS_ and self.Zeit_Bearbeitungsvermerk_nsprefix_) else '' + self.Zeit_Bearbeitungsvermerk.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Zeit_Bearbeitungsvermerk', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Bearbeitungsvermerk_Rolle': + obj_ = TCBearbeitungsvermerk_Rolle.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Bearbeitungsvermerk_Rolle = obj_ + obj_.original_tagname_ = 'Bearbeitungsvermerk_Rolle' + elif nodeName_ == 'Bestandsrelevanz': + obj_ = TCBestandsrelevanz.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Bestandsrelevanz = obj_ + obj_.original_tagname_ = 'Bestandsrelevanz' + elif nodeName_ == 'BV_Darstellung_In_Plan': + obj_ = TCBV_Darstellung_In_Plan.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.BV_Darstellung_In_Plan.append(obj_) + obj_.original_tagname_ = 'BV_Darstellung_In_Plan' + elif nodeName_ == 'BV_Kategorie': + obj_ = TCBV_Kategorie.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.BV_Kategorie = obj_ + obj_.original_tagname_ = 'BV_Kategorie' + elif nodeName_ == 'Kommentar': + obj_ = TCKommentar.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Kommentar = obj_ + obj_.original_tagname_ = 'Kommentar' + elif nodeName_ == 'Kurztext': + obj_ = TCKurztext.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Kurztext = obj_ + obj_.original_tagname_ = 'Kurztext' + elif nodeName_ == 'Zeit_Bearbeitungsvermerk': + obj_ = TCZeit_Bearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Zeit_Bearbeitungsvermerk = obj_ + obj_.original_tagname_ = 'Zeit_Bearbeitungsvermerk' +# end class CBearbeitungsvermerk_Allg + + +class TCLO_EMA_Nr(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCLO_EMA_Nr"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TLO_EMA_Nr(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCLO_EMA_Nr) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCLO_EMA_Nr.subclass: + return TCLO_EMA_Nr.subclass(*args_, **kwargs_) + else: + return TCLO_EMA_Nr(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TLO_EMA_Nr(self, value): + result = True + # Validate type TLO_EMA_Nr, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TLO_EMA_Nr_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TLO_EMA_Nr_patterns_, )) + result = False + return result + validate_TLO_EMA_Nr_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCLO_EMA_Nr, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBasisobjekte:', namespacedef_='xmlns:nsBasisobjekte="http://www.plan-pro.org/modell/Basisobjekte/1.10.0"', name_='TCLO_EMA_Nr', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCLO_EMA_Nr') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCLO_EMA_Nr': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCLO_EMA_Nr') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCLO_EMA_Nr', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBasisobjekte:', name_='TCLO_EMA_Nr'): + super(TCLO_EMA_Nr, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCLO_EMA_Nr') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBasisobjekte:', namespacedef_='xmlns:nsBasisobjekte="http://www.plan-pro.org/modell/Basisobjekte/1.10.0"', name_='TCLO_EMA_Nr', fromsubclass_=False, pretty_print=True): + super(TCLO_EMA_Nr, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCLO_EMA_Nr, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TLO_EMA_Nr + self.validate_TLO_EMA_Nr(self.Wert) + super(TCLO_EMA_Nr, self)._buildChildren(child_, node, nodeName_, True) +# end class TCLO_EMA_Nr + + +class TCLO_DB_Freigabe(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCLO_DB_Freigabe"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TLO_DB_Freigabe(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCLO_DB_Freigabe) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCLO_DB_Freigabe.subclass: + return TCLO_DB_Freigabe.subclass(*args_, **kwargs_) + else: + return TCLO_DB_Freigabe(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TLO_DB_Freigabe(self, value): + result = True + # Validate type TLO_DB_Freigabe, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TLO_DB_Freigabe_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TLO_DB_Freigabe_patterns_, )) + result = False + return result + validate_TLO_DB_Freigabe_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCLO_DB_Freigabe, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBasisobjekte:', namespacedef_='xmlns:nsBasisobjekte="http://www.plan-pro.org/modell/Basisobjekte/1.10.0"', name_='TCLO_DB_Freigabe', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCLO_DB_Freigabe') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCLO_DB_Freigabe': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCLO_DB_Freigabe') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCLO_DB_Freigabe', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBasisobjekte:', name_='TCLO_DB_Freigabe'): + super(TCLO_DB_Freigabe, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCLO_DB_Freigabe') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBasisobjekte:', namespacedef_='xmlns:nsBasisobjekte="http://www.plan-pro.org/modell/Basisobjekte/1.10.0"', name_='TCLO_DB_Freigabe', fromsubclass_=False, pretty_print=True): + super(TCLO_DB_Freigabe, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCLO_DB_Freigabe, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TLO_DB_Freigabe + self.validate_TLO_DB_Freigabe(self.Wert) + super(TCLO_DB_Freigabe, self)._buildChildren(child_, node, nodeName_, True) +# end class TCLO_DB_Freigabe + + +class CObjektreferenzen(GeneratedsSuper): + """DB_GDI_Referenz -- IPID-Kennung des Objektes im DB-GIS Systems. Das Attribut ist optional. Die Kennung ist eindeutig einem konkreten Objekt im DB-GDI zugeordnet. Das Attribut ist dann zu bef + ü + llen, wenn Daten + ü + ber Objekte aus dem DB-GIS verarbeitet werden. + Technischer_Platz -- Bezeichnung des zugeh + ö + rigen Technischen Platzes im SAP-System. Das Attribut ist optional und enth + ä + lt die Bezeichnung des zugeh + ö + rigen technischen Platzes im SAP-System. Die Kennung ist eindeutig einem konkreten Objekt im SAP zugeordnet. Mehrere PlanPro-Objekte k + ö + nnen auf den gleichen technischen Platz verweisen. Das Attribut ist dann zu bef + ü + llen, wenn Daten + ü + ber Objekte aus einem Fremdsystem der DB AG mit Verweis auf einen Technischen Platz verarbeitet werden oder im Rahmen der Bestandserstellung die technischen Pl + ä + tze zugewiesen werden. Es ist noch gesondert festzulegen, f + ü + r welche PlanPro-Objekte technische Pl + ä + tze zugewiesen werden. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, DB_GDI_Referenz=None, Technischer_Platz=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.DB_GDI_Referenz = DB_GDI_Referenz + self.DB_GDI_Referenz_nsprefix_ = None + self.Technischer_Platz = Technischer_Platz + self.Technischer_Platz_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CObjektreferenzen) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CObjektreferenzen.subclass: + return CObjektreferenzen.subclass(*args_, **kwargs_) + else: + return CObjektreferenzen(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_DB_GDI_Referenz(self): + return self.DB_GDI_Referenz + def set_DB_GDI_Referenz(self, DB_GDI_Referenz): + self.DB_GDI_Referenz = DB_GDI_Referenz + def get_Technischer_Platz(self): + return self.Technischer_Platz + def set_Technischer_Platz(self, Technischer_Platz): + self.Technischer_Platz = Technischer_Platz + def has__content(self): + if ( + self.DB_GDI_Referenz is not None or + self.Technischer_Platz is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBasisobjekte:', namespacedef_='xmlns:nsBasisobjekte="http://www.plan-pro.org/modell/Basisobjekte/1.10.0"', name_='CObjektreferenzen', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CObjektreferenzen') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CObjektreferenzen': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CObjektreferenzen') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CObjektreferenzen', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBasisobjekte:', name_='CObjektreferenzen'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsBasisobjekte:', namespacedef_='xmlns:nsBasisobjekte="http://www.plan-pro.org/modell/Basisobjekte/1.10.0"', name_='CObjektreferenzen', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.DB_GDI_Referenz is not None: + namespaceprefix_ = self.DB_GDI_Referenz_nsprefix_ + ':' if (UseCapturedNS_ and self.DB_GDI_Referenz_nsprefix_) else '' + self.DB_GDI_Referenz.export(outfile, level, namespaceprefix_, namespacedef_='', name_='DB_GDI_Referenz', pretty_print=pretty_print) + if self.Technischer_Platz is not None: + namespaceprefix_ = self.Technischer_Platz_nsprefix_ + ':' if (UseCapturedNS_ and self.Technischer_Platz_nsprefix_) else '' + self.Technischer_Platz.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Technischer_Platz', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'DB_GDI_Referenz': + obj_ = TCDB_GDI_Referenz.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.DB_GDI_Referenz = obj_ + obj_.original_tagname_ = 'DB_GDI_Referenz' + elif nodeName_ == 'Technischer_Platz': + obj_ = TCTechnischer_Platz.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Technischer_Platz = obj_ + obj_.original_tagname_ = 'Technischer_Platz' +# end class CObjektreferenzen + + +class TCDateiname(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCDateiname"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TDateiname(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCDateiname) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCDateiname.subclass: + return TCDateiname.subclass(*args_, **kwargs_) + else: + return TCDateiname(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TDateiname(self, value): + result = True + # Validate type TDateiname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TDateiname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TDateiname_patterns_, )) + result = False + return result + validate_TDateiname_patterns_ = [['^([^\\\\/?:\\*\\|"<>]*)$'], ['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCDateiname, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBasisobjekte:', namespacedef_='xmlns:nsBasisobjekte="http://www.plan-pro.org/modell/Basisobjekte/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCDateiname', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCDateiname') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCDateiname': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCDateiname') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCDateiname', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBasisobjekte:', name_='TCDateiname'): + super(TCDateiname, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCDateiname') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBasisobjekte:', namespacedef_='xmlns:nsBasisobjekte="http://www.plan-pro.org/modell/Basisobjekte/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCDateiname', fromsubclass_=False, pretty_print=True): + super(TCDateiname, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCDateiname, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TDateiname + self.validate_TDateiname(self.Wert) + super(TCDateiname, self)._buildChildren(child_, node, nodeName_, True) +# end class TCDateiname + + +class TCLST_Objekt_Art(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCLST_Objekt_Art"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMLST_Objekt_Art(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCLST_Objekt_Art) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCLST_Objekt_Art.subclass: + return TCLST_Objekt_Art.subclass(*args_, **kwargs_) + else: + return TCLST_Objekt_Art(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMLST_Objekt_Art(self, value): + result = True + # Validate type ENUMLST_Objekt_Art, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['Anhang', 'ATO_Segment_Profile', 'ATO_Timing_Point', 'ATO_TS_Instanz', 'Aussenelementansteuerung', 'Bahnsteig_Anlage', 'Bahnsteig_Dach', 'Bahnsteig_Kante', 'Bahnsteig_Zugang', 'Balise', 'Bearbeitungsvermerk', 'Bedien_Anrueckabschnitt', 'Bedien_Anzeige_Element', 'Bedien_Bezirk', 'Bedien_Einrichtung_Oertlich', 'Bedien_GBT', 'Bedien_Oberflaeche', 'Bedien_Oberflaeche_Bild', 'Bedien_Oertlichkeit', 'Bedien_Platz', 'Bedien_Standort', 'Bedien_Zentrale', 'Binaerdaten', 'Block_Anlage', 'Block_Element', 'Block_Strecke', 'BUE_Anlage', 'BUE_Anlage_Strasse', 'BUE_Anlage_V', 'BUE_Ausschaltung', 'BUE_Bedien_Anzeige_Element', 'BUE_Deckendes_Signal_Zuordnung', 'BUE_Einschaltung', 'BUE_Einschaltung_Zuordnung', 'BUE_Gefahrraum_Eckpunkt', 'BUE_Gleisbezogener_Gefahrraum', 'BUE_Kante', 'BUE_Kreuzungsplan', 'BUE_Schnittstelle', 'BUE_Spezifisches_Signal', 'BUE_WS_Fstr_Zuordnung', 'Datenpunkt', 'Datenpunkt_Link', 'ESTW_Zentraleinheit', 'ETCS_Kante', 'ETCS_Knoten', 'ETCS_Richtungsanzeige', 'ETCS_Signal', 'ETCS_W_Kr', 'EV_Modul', 'Fachtelegramm', 'Fla_Freimelde_Zuordnung', 'Fla_Schutz', 'Fla_Zwieschutz', 'FMA_Anlage', 'FMA_Element', 'FMA_Komponente', 'Fstr_Abhaengigkeit', 'Fstr_Aneinander', 'Fstr_Aneinander_Zuordnung', 'Fstr_DWeg', 'Fstr_DWeg_W_Kr', 'Fstr_Fahrweg', 'Fstr_Nichthaltfall', 'Fstr_Rangier_Fla_Zuordnung', 'Fstr_Signalisierung', 'Fstr_Umfahrpunkt', 'Fstr_Zug_Rangier', 'FT_Anschaltbedingung', 'FT_Fahrweg_Teil', 'GEO_Kante', 'GEO_Knoten', 'GEO_Punkt', 'Geschwindigkeitsprofil', 'GFR_Anlage', 'GFR_Element', 'GFR_Tripelspiegel', 'Gleis_Abschluss', 'Gleis_Abschnitt', 'Gleis_Art', 'Gleis_Baubereich', 'Gleis_Bezeichnung', 'Gleis_Fahrbahn', 'Gleis_Lichtraum', 'Gleis_Schaltgruppe', 'Hoehenlinie', 'Hoehenpunkt', 'Kabel', 'Kabel_Verteilpunkt', 'LEU_Anlage', 'LEU_Modul', 'LEU_Schaltkasten', 'Lieferobjekt', 'Luft_Telegramm', 'Markanter_Punkt', 'NB', 'NB_Bedien_Anzeige_Element', 'NB_Zone', 'NB_Zone_Element', 'NB_Zone_Grenze', 'Oertlichkeit', 'Prog_Datei_Gruppe', 'PZB_Element', 'PZB_Element_Zuordnung', 'PZB_Zuordnung_Signal', 'RBC', 'Regelzeichnung', 'Regelzeichnung_Parameter', 'Schaltmittel_Fstr_Zuordnung', 'Schaltmittel_Zuordnung', 'Schloss', 'Schlosskombination', 'Schluessel', 'Schluesselsperre', 'Schrankenantrieb', 'Signal', 'Signal_Befestigung', 'Signal_Fank_Zuordnung', 'Signal_Rahmen', 'Signal_Signalbegriff', 'Sonstiger_Punkt', 'Stell_Bereich', 'Stellelement', 'Strecke', 'Strecke_Bremsweg', 'Strecke_Punkt', 'Technik_Standort', 'Technischer_Bereich', 'Technischer_Punkt', 'TOP_Kante', 'TOP_Knoten', 'Trasse_Kante', 'Trasse_Knoten', 'Ueberhoehung', 'Ueberhoehungslinie', 'Uebertragungsweg', 'Unterbringung', 'Verkehrszeichen', 'W_Kr_Anlage', 'W_Kr_Gsp_Element', 'W_Kr_Gsp_Komponente', 'Weichenlaufkette', 'Weichenlaufkette_Zuordnung', 'ZBS_Schutzstrecke', 'ZBS_Signal', 'ZL', 'ZL_DLP_Abschnitt', 'ZL_DLP_Fstr', 'ZL_Fstr', 'ZL_Fstr_Anstoss', 'ZL_Signalgruppe', 'ZL_Signalgruppe_Zuordnung', 'ZLV_Bus', 'ZLV_Bus_Besondere_Anlage', 'ZLV_Bus_US_Zuordnung', 'ZN', 'ZN_Akustik', 'ZN_Anzeigefeld', 'ZN_Fortschalt_Kriterium', 'ZN_Telegramm_84_Zuordnung', 'ZN_Telegramm_85_Zuordnung', 'ZN_Unterstation', 'ZN_ZBS', 'ZUB_Bereichsgrenze', 'ZUB_Streckeneigenschaft', 'Zugeinwirkung'] + 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 ENUMLST_Objekt_Art' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCLST_Objekt_Art, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBasisobjekte:', namespacedef_='xmlns:nsBasisobjekte="http://www.plan-pro.org/modell/Basisobjekte/1.10.0"', name_='TCLST_Objekt_Art', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCLST_Objekt_Art') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCLST_Objekt_Art': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCLST_Objekt_Art') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCLST_Objekt_Art', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBasisobjekte:', name_='TCLST_Objekt_Art'): + super(TCLST_Objekt_Art, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCLST_Objekt_Art') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBasisobjekte:', namespacedef_='xmlns:nsBasisobjekte="http://www.plan-pro.org/modell/Basisobjekte/1.10.0"', name_='TCLST_Objekt_Art', fromsubclass_=False, pretty_print=True): + super(TCLST_Objekt_Art, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCLST_Objekt_Art, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMLST_Objekt_Art + self.validate_ENUMLST_Objekt_Art(self.Wert) + super(TCLST_Objekt_Art, self)._buildChildren(child_, node, nodeName_, True) +# end class TCLST_Objekt_Art + + +class TCLO_Ausgabestand(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCLO_Ausgabestand"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TLO_Ausgabestand(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCLO_Ausgabestand) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCLO_Ausgabestand.subclass: + return TCLO_Ausgabestand.subclass(*args_, **kwargs_) + else: + return TCLO_Ausgabestand(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TLO_Ausgabestand(self, value): + result = True + # Validate type TLO_Ausgabestand, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TLO_Ausgabestand_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TLO_Ausgabestand_patterns_, )) + result = False + return result + validate_TLO_Ausgabestand_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCLO_Ausgabestand, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBasisobjekte:', namespacedef_='xmlns:nsBasisobjekte="http://www.plan-pro.org/modell/Basisobjekte/1.10.0"', name_='TCLO_Ausgabestand', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCLO_Ausgabestand') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCLO_Ausgabestand': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCLO_Ausgabestand') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCLO_Ausgabestand', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBasisobjekte:', name_='TCLO_Ausgabestand'): + super(TCLO_Ausgabestand, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCLO_Ausgabestand') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBasisobjekte:', namespacedef_='xmlns:nsBasisobjekte="http://www.plan-pro.org/modell/Basisobjekte/1.10.0"', name_='TCLO_Ausgabestand', fromsubclass_=False, pretty_print=True): + super(TCLO_Ausgabestand, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCLO_Ausgabestand, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TLO_Ausgabestand + self.validate_TLO_Ausgabestand(self.Wert) + super(TCLO_Ausgabestand, self)._buildChildren(child_, node, nodeName_, True) +# end class TCLO_Ausgabestand + + +class TCLO_Firmensachnummer(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCLO_Firmensachnummer"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TLO_Firmensachnummer(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCLO_Firmensachnummer) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCLO_Firmensachnummer.subclass: + return TCLO_Firmensachnummer.subclass(*args_, **kwargs_) + else: + return TCLO_Firmensachnummer(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TLO_Firmensachnummer(self, value): + result = True + # Validate type TLO_Firmensachnummer, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TLO_Firmensachnummer_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TLO_Firmensachnummer_patterns_, )) + result = False + return result + validate_TLO_Firmensachnummer_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCLO_Firmensachnummer, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBasisobjekte:', namespacedef_='xmlns:nsBasisobjekte="http://www.plan-pro.org/modell/Basisobjekte/1.10.0"', name_='TCLO_Firmensachnummer', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCLO_Firmensachnummer') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCLO_Firmensachnummer': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCLO_Firmensachnummer') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCLO_Firmensachnummer', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBasisobjekte:', name_='TCLO_Firmensachnummer'): + super(TCLO_Firmensachnummer, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCLO_Firmensachnummer') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBasisobjekte:', namespacedef_='xmlns:nsBasisobjekte="http://www.plan-pro.org/modell/Basisobjekte/1.10.0"', name_='TCLO_Firmensachnummer', fromsubclass_=False, pretty_print=True): + super(TCLO_Firmensachnummer, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCLO_Firmensachnummer, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TLO_Firmensachnummer + self.validate_TLO_Firmensachnummer(self.Wert) + super(TCLO_Firmensachnummer, self)._buildChildren(child_, node, nodeName_, True) +# end class TCLO_Firmensachnummer + + +class TCObjektzustand_Besonders(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCObjektzustand_Besonders"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMObjektzustand_Besonders(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCObjektzustand_Besonders) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCObjektzustand_Besonders.subclass: + return TCObjektzustand_Besonders.subclass(*args_, **kwargs_) + else: + return TCObjektzustand_Besonders(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMObjektzustand_Besonders(self, value): + result = True + # Validate type ENUMObjektzustand_Besonders, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['am_Standort_angesteuert_nicht_gueltig', 'am_Standort_angesteuert_ungueltig_abgedeckt', 'am_Standort_nicht_angesteuert_ungueltig', 'am_Standort_nicht_angesteuert_vorbereitend', 'sonstige', 'standortfern_angesteuert_ungueltig', 'standortfern_nicht_angesteuert_ungueltig'] + 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 ENUMObjektzustand_Besonders' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCObjektzustand_Besonders, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBasisobjekte:', namespacedef_='xmlns:nsBasisobjekte="http://www.plan-pro.org/modell/Basisobjekte/1.10.0"', name_='TCObjektzustand_Besonders', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCObjektzustand_Besonders') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCObjektzustand_Besonders': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCObjektzustand_Besonders') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCObjektzustand_Besonders', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBasisobjekte:', name_='TCObjektzustand_Besonders'): + super(TCObjektzustand_Besonders, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCObjektzustand_Besonders') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBasisobjekte:', namespacedef_='xmlns:nsBasisobjekte="http://www.plan-pro.org/modell/Basisobjekte/1.10.0"', name_='TCObjektzustand_Besonders', fromsubclass_=False, pretty_print=True): + super(TCObjektzustand_Besonders, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCObjektzustand_Besonders, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMObjektzustand_Besonders + self.validate_ENUMObjektzustand_Besonders(self.Wert) + super(TCObjektzustand_Besonders, self)._buildChildren(child_, node, nodeName_, True) +# end class TCObjektzustand_Besonders + + +class TCTechnischer_Platz(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCTechnischer_Platz"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TTechnischer_Platz(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCTechnischer_Platz) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCTechnischer_Platz.subclass: + return TCTechnischer_Platz.subclass(*args_, **kwargs_) + else: + return TCTechnischer_Platz(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TTechnischer_Platz(self, value): + result = True + # Validate type TTechnischer_Platz, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TTechnischer_Platz_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TTechnischer_Platz_patterns_, )) + result = False + return result + validate_TTechnischer_Platz_patterns_ = [['^([A-Z0-9\\-]{30})$'], ['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCTechnischer_Platz, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBasisobjekte:', namespacedef_='xmlns:nsBasisobjekte="http://www.plan-pro.org/modell/Basisobjekte/1.10.0"', name_='TCTechnischer_Platz', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCTechnischer_Platz') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCTechnischer_Platz': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCTechnischer_Platz') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCTechnischer_Platz', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBasisobjekte:', name_='TCTechnischer_Platz'): + super(TCTechnischer_Platz, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCTechnischer_Platz') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBasisobjekte:', namespacedef_='xmlns:nsBasisobjekte="http://www.plan-pro.org/modell/Basisobjekte/1.10.0"', name_='TCTechnischer_Platz', fromsubclass_=False, pretty_print=True): + super(TCTechnischer_Platz, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCTechnischer_Platz, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TTechnischer_Platz + self.validate_TTechnischer_Platz(self.Wert) + super(TCTechnischer_Platz, self)._buildChildren(child_, node, nodeName_, True) +# end class TCTechnischer_Platz + + +class TCBestandsrelevanz(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCBestandsrelevanz"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMBestandsrelevanz(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCBestandsrelevanz) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCBestandsrelevanz.subclass: + return TCBestandsrelevanz.subclass(*args_, **kwargs_) + else: + return TCBestandsrelevanz(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMBestandsrelevanz(self, value): + result = True + # Validate type ENUMBestandsrelevanz, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['Bestandsdaten', 'Bestandsdokumentation', 'dauerhaft', 'nein'] + 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 ENUMBestandsrelevanz' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCBestandsrelevanz, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBasisobjekte:', namespacedef_='xmlns:nsBasisobjekte="http://www.plan-pro.org/modell/Basisobjekte/1.10.0"', name_='TCBestandsrelevanz', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCBestandsrelevanz') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCBestandsrelevanz': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBestandsrelevanz') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCBestandsrelevanz', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBasisobjekte:', name_='TCBestandsrelevanz'): + super(TCBestandsrelevanz, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBestandsrelevanz') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBasisobjekte:', namespacedef_='xmlns:nsBasisobjekte="http://www.plan-pro.org/modell/Basisobjekte/1.10.0"', name_='TCBestandsrelevanz', fromsubclass_=False, pretty_print=True): + super(TCBestandsrelevanz, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCBestandsrelevanz, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMBestandsrelevanz + self.validate_ENUMBestandsrelevanz(self.Wert) + super(TCBestandsrelevanz, self)._buildChildren(child_, node, nodeName_, True) +# end class TCBestandsrelevanz + + +class CPunkt_Objekt_TOP_Kante(GeneratedsSuper): + """Abstand -- Abstand des Objekts vom Knoten A bezogen auf TOP_Kante in Metern. DB-Regelwerk Darstellung im sicherungstechnischen Lageplan + ID_GEO_Punkt_Berechnet -- Verweis auf einen GEO_Punkt zur Angabe von berechneten Objekt-Koordinaten. Diese werden auf Basis der Soll-Gleislage und der im Punktobjekt vorgegebenen Abst + ä + nde ermittelt und sind f + ü + r Bau und Abnahme ma + ß + gebend. Eine Mehrfachangabe ist bei Verortung in unterschiedlichen Koordinatensystemen notwendig. + ID_TOP_Kante -- Verweis, an welcher Kante das Objekt verortet ist. Eine n-fache Einbindung der Attributgruppe erfolgt zum Verweis, an welcher Kante das Objekt noch verortet sein kann (sogenanntes Doppelpunkt-Objekt). Notwendig z. B. f + ü + r: Grenzzeichen, W_Kr_Gsp_Komponente, Signale im Zungenbereich von Weichen. DB-Regelwerk Darstellung im sicherungstechnischen Lageplan + Wirkrichtung -- (Fahrt-)Richtung, in die ein verortetes Objekt wirkt. Die Angabe \"in\", \"gegen\" bzw. \"beide\" bezieht sich auf die Topologierichtung der TOP Kante. Weitere Erl + ä + uterungen zu den verwendeten Richtungsbegriffen siehe Modellierung Richtung. Zur vererbungsspezifischen Bef + ü + llung siehe Modellierung Basisobjekte. DB-Regelwerk Darstellung im sicherungstechnischen Lageplan + Seitliche_Lage -- Angabe, ob sich das Punkt Objekt bezogen auf die Topologierichtung links oder rechts von der TOP Kante bzw. Gleisachse befindet. Das Attribut wird verwendet, wenn keine Vorgabe des Abstands von der Gleisachse notwendig ist (z. B. bei Anbringung an der linken oder rechten Fahrschiene) und soll als Alternative zum seitlichen Abstand verwendet werden. Es kann die Werte links, rechts annehmen. Zur vererbungsspezifischen Bef + ü + llung siehe Modellierung Basisobjekte. + Seitlicher_Abstand -- Gibt den orthogonalen seitlichen Abstand eines Elementes zur Gleisachse bezogen auf die Topologierichtung A - B der TOP Kante an: Anordnung des Elementes in Topologierichtung rechts: seitlicher Abstand ist ein positiver Wert. Anordnung des Elementes in Topologierichtung links: seitlicher Abstand ist ein negativer Wert. Die Wirkrichtung des verorteten Elements bleibt bei der Ermittlung des seitlichen Abstands unber + ü + cksichtigt. Weitere Erl + ä + uterungen zu den verwendeten Richtungsbegriffen siehe Modellierung Richtung. Im Datenmodell wird (teilweise abweichend von der bisherigen Praxis) der seitliche Abstand immer als Abstand Achse zu Achse (z. B. Gleisachse zu Achse des Signalfundaments bzw. Signalmastes) verstanden. Zur vererbungsspezifischen Bef + ü + llung siehe Modellierung Basisobjekte. Besonderheiten: F + ü + r Elemente, die an einer Fahrschiene angebracht sind (z.B. Entgleissungsschuhe, PZB-Magnete) ist das Attribut Seitliche Lage zu verwenden F + ü + r Elemente, die in der Gleismitte angeordnet werden sollen (z. B. Gleis Abschluss) bzw. die keinen realen Abstand haben (z. B. NB_Zone_Grenze), ist der Wert 0.000 zu verwenden. Fiktive Signale erhalten keinen seitlichen Abstand. Punkt_Objekte, die mehreren TOP_Kanten zugeordnet sind, erhalten nur zur n + ä + chstliegenden TOP_Kante einen seitlichen Abstand, wenn alle zugeordneten TOP_Kanten auf der selben Seite liegen (z. B. Weichensignal) bzw. nur zu der jeweils rechts und links n + ä + chstliegenden TOP_Kante einen seitlichen Abstand, wenn das Punkt_Objekt zwischen den zugeordneten TOP-Kanten liegt (z. B. Grenzzeichen). DB-Regelwerk Darstellung im sicherungstechnischen Lageplan + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Abstand=None, ID_GEO_Punkt_Berechnet=None, ID_TOP_Kante=None, Wirkrichtung=None, Seitliche_Lage=None, Seitlicher_Abstand=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Abstand = Abstand + self.Abstand_nsprefix_ = None + if ID_GEO_Punkt_Berechnet is None: + self.ID_GEO_Punkt_Berechnet = [] + else: + self.ID_GEO_Punkt_Berechnet = ID_GEO_Punkt_Berechnet + self.ID_GEO_Punkt_Berechnet_nsprefix_ = None + self.ID_TOP_Kante = ID_TOP_Kante + self.ID_TOP_Kante_nsprefix_ = None + self.Wirkrichtung = Wirkrichtung + self.Wirkrichtung_nsprefix_ = None + self.Seitliche_Lage = Seitliche_Lage + self.Seitliche_Lage_nsprefix_ = None + self.Seitlicher_Abstand = Seitlicher_Abstand + self.Seitlicher_Abstand_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CPunkt_Objekt_TOP_Kante) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CPunkt_Objekt_TOP_Kante.subclass: + return CPunkt_Objekt_TOP_Kante.subclass(*args_, **kwargs_) + else: + return CPunkt_Objekt_TOP_Kante(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Abstand(self): + return self.Abstand + def set_Abstand(self, Abstand): + self.Abstand = Abstand + def get_ID_GEO_Punkt_Berechnet(self): + return self.ID_GEO_Punkt_Berechnet + def set_ID_GEO_Punkt_Berechnet(self, ID_GEO_Punkt_Berechnet): + self.ID_GEO_Punkt_Berechnet = ID_GEO_Punkt_Berechnet + def add_ID_GEO_Punkt_Berechnet(self, value): + self.ID_GEO_Punkt_Berechnet.append(value) + def insert_ID_GEO_Punkt_Berechnet_at(self, index, value): + self.ID_GEO_Punkt_Berechnet.insert(index, value) + def replace_ID_GEO_Punkt_Berechnet_at(self, index, value): + self.ID_GEO_Punkt_Berechnet[index] = value + def get_ID_TOP_Kante(self): + return self.ID_TOP_Kante + def set_ID_TOP_Kante(self, ID_TOP_Kante): + self.ID_TOP_Kante = ID_TOP_Kante + def get_Wirkrichtung(self): + return self.Wirkrichtung + def set_Wirkrichtung(self, Wirkrichtung): + self.Wirkrichtung = Wirkrichtung + def get_Seitliche_Lage(self): + return self.Seitliche_Lage + def set_Seitliche_Lage(self, Seitliche_Lage): + self.Seitliche_Lage = Seitliche_Lage + def get_Seitlicher_Abstand(self): + return self.Seitlicher_Abstand + def set_Seitlicher_Abstand(self, Seitlicher_Abstand): + self.Seitlicher_Abstand = Seitlicher_Abstand + def has__content(self): + if ( + self.Abstand is not None or + self.ID_GEO_Punkt_Berechnet or + self.ID_TOP_Kante is not None or + self.Wirkrichtung is not None or + self.Seitliche_Lage is not None or + self.Seitlicher_Abstand is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBasisobjekte:', namespacedef_='xmlns:nsBasisobjekte="http://www.plan-pro.org/modell/Basisobjekte/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CPunkt_Objekt_TOP_Kante', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CPunkt_Objekt_TOP_Kante') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CPunkt_Objekt_TOP_Kante': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CPunkt_Objekt_TOP_Kante') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CPunkt_Objekt_TOP_Kante', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBasisobjekte:', name_='CPunkt_Objekt_TOP_Kante'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsBasisobjekte:', namespacedef_='xmlns:nsBasisobjekte="http://www.plan-pro.org/modell/Basisobjekte/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CPunkt_Objekt_TOP_Kante', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Abstand is not None: + namespaceprefix_ = self.Abstand_nsprefix_ + ':' if (UseCapturedNS_ and self.Abstand_nsprefix_) else '' + self.Abstand.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Abstand', pretty_print=pretty_print) + for ID_GEO_Punkt_Berechnet_ in self.ID_GEO_Punkt_Berechnet: + namespaceprefix_ = self.ID_GEO_Punkt_Berechnet_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_GEO_Punkt_Berechnet_nsprefix_) else '' + ID_GEO_Punkt_Berechnet_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_GEO_Punkt_Berechnet', pretty_print=pretty_print) + if self.ID_TOP_Kante is not None: + namespaceprefix_ = self.ID_TOP_Kante_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_TOP_Kante_nsprefix_) else '' + self.ID_TOP_Kante.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_TOP_Kante', pretty_print=pretty_print) + if self.Wirkrichtung is not None: + namespaceprefix_ = self.Wirkrichtung_nsprefix_ + ':' if (UseCapturedNS_ and self.Wirkrichtung_nsprefix_) else '' + self.Wirkrichtung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Wirkrichtung', pretty_print=pretty_print) + if self.Seitliche_Lage is not None: + namespaceprefix_ = self.Seitliche_Lage_nsprefix_ + ':' if (UseCapturedNS_ and self.Seitliche_Lage_nsprefix_) else '' + self.Seitliche_Lage.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Seitliche_Lage', pretty_print=pretty_print) + if self.Seitlicher_Abstand is not None: + namespaceprefix_ = self.Seitlicher_Abstand_nsprefix_ + ':' if (UseCapturedNS_ and self.Seitlicher_Abstand_nsprefix_) else '' + self.Seitlicher_Abstand.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Seitlicher_Abstand', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Abstand': + obj_ = TCAbstand.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Abstand = obj_ + obj_.original_tagname_ = 'Abstand' + elif nodeName_ == 'ID_GEO_Punkt_Berechnet': + obj_ = TCID_GEO_Punkt_ohne_Proxy.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_GEO_Punkt_Berechnet.append(obj_) + obj_.original_tagname_ = 'ID_GEO_Punkt_Berechnet' + elif nodeName_ == 'ID_TOP_Kante': + obj_ = TCID_TOP_Kante.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_TOP_Kante = obj_ + obj_.original_tagname_ = 'ID_TOP_Kante' + elif nodeName_ == 'Wirkrichtung': + obj_ = TCWirkrichtung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Wirkrichtung = obj_ + obj_.original_tagname_ = 'Wirkrichtung' + elif nodeName_ == 'Seitliche_Lage': + obj_ = TCSeitliche_Lage.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Seitliche_Lage = obj_ + obj_.original_tagname_ = 'Seitliche_Lage' + elif nodeName_ == 'Seitlicher_Abstand': + obj_ = TCSeitlicher_Abstand.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Seitlicher_Abstand = obj_ + obj_.original_tagname_ = 'Seitlicher_Abstand' +# end class CPunkt_Objekt_TOP_Kante + + +class CAnhang_Allg(GeneratedsSuper): + """Anhang_Art -- Beinhaltet die Information + ü + ber den fachlichen Inhalt des Anhangs. Bei Auswahl von \"sonstige\" ist der Anhang im dazugeh + ö + rigen Bearbeitungsvermerk zu erl + ä + utern. Ggf. ist ein weiterer Bearbeitungsvermerk zur Kommentierung anzuf + ü + gen. Das LST-Datenmodell enth + ä + lt sowohl fachliche Anh + ä + nge (zu LST-Fachdaten) sowie Anh + ä + nge des Objektmanagements. Zu den Anh + ä + ngen des Objektmanagements f + ü + r eine Einzelplanung geh + ö + ren: Abnahmeniederschrift Anh + ä + nge zu einem LST Zustand Information BAST Best + ä + tigung der Gleichstellung Best + ä + tigung der Qualit + ä + tspr + ü + fung Best + ä + tigung der + Ü + bernahme Erl + ä + uterungsbericht Best + ä + tigung der Freigabe des Bvb Best + ä + tigung der Genehmigung des AG/Bh/Bhv besondere Materialisierung (v. a. projektbezogene Wiederverwendung von LST-Reststoffen) Planverzeichnis Planpr + ü + fberichtbericht sonstige VzG + Dateiname -- Urspr + ü + nglicher Name der angeh + ä + ngten Datei ohne Dateiformat bzw. -typ. + Dateityp -- Format des Anhangs. Nur die im ENUM dargestellten Dateiarten k + ö + nnen einer Planung angehangen werden. Andere Dateiarten sind aus Gr + ü + nden der Nachpr + ü + fbarkeit und der Transparenz nicht zul + ä + ssig. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anhang_Art=None, Dateiname=None, Dateityp=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anhang_Art = Anhang_Art + self.Anhang_Art_nsprefix_ = None + self.Dateiname = Dateiname + self.Dateiname_nsprefix_ = None + self.Dateityp = Dateityp + self.Dateityp_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CAnhang_Allg) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CAnhang_Allg.subclass: + return CAnhang_Allg.subclass(*args_, **kwargs_) + else: + return CAnhang_Allg(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anhang_Art(self): + return self.Anhang_Art + def set_Anhang_Art(self, Anhang_Art): + self.Anhang_Art = Anhang_Art + def get_Dateiname(self): + return self.Dateiname + def set_Dateiname(self, Dateiname): + self.Dateiname = Dateiname + def get_Dateityp(self): + return self.Dateityp + def set_Dateityp(self, Dateityp): + self.Dateityp = Dateityp + def has__content(self): + if ( + self.Anhang_Art is not None or + self.Dateiname is not None or + self.Dateityp is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBasisobjekte:', namespacedef_='xmlns:nsBasisobjekte="http://www.plan-pro.org/modell/Basisobjekte/1.10.0"', name_='CAnhang_Allg', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CAnhang_Allg') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CAnhang_Allg': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CAnhang_Allg') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CAnhang_Allg', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBasisobjekte:', name_='CAnhang_Allg'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsBasisobjekte:', namespacedef_='xmlns:nsBasisobjekte="http://www.plan-pro.org/modell/Basisobjekte/1.10.0"', name_='CAnhang_Allg', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Anhang_Art is not None: + namespaceprefix_ = self.Anhang_Art_nsprefix_ + ':' if (UseCapturedNS_ and self.Anhang_Art_nsprefix_) else '' + self.Anhang_Art.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Anhang_Art', pretty_print=pretty_print) + if self.Dateiname is not None: + namespaceprefix_ = self.Dateiname_nsprefix_ + ':' if (UseCapturedNS_ and self.Dateiname_nsprefix_) else '' + self.Dateiname.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Dateiname', pretty_print=pretty_print) + if self.Dateityp is not None: + namespaceprefix_ = self.Dateityp_nsprefix_ + ':' if (UseCapturedNS_ and self.Dateityp_nsprefix_) else '' + self.Dateityp.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Dateityp', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Anhang_Art': + obj_ = TCAnhang_Art.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Anhang_Art = obj_ + obj_.original_tagname_ = 'Anhang_Art' + elif nodeName_ == 'Dateiname': + obj_ = TCDateiname.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Dateiname = obj_ + obj_.original_tagname_ = 'Dateiname' + elif nodeName_ == 'Dateityp': + obj_ = TCDateityp.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Dateityp = obj_ + obj_.original_tagname_ = 'Dateityp' +# end class CAnhang_Allg + + +class CBasis_Objekt(CUr_Objekt): + """CBasis_Objekt -- Allen Modell-Objekten zugrundeliegendes Objekt, welches gemeinsame Eigenschaften definiert. In den Basisobjekten werden grunds + ä + tzliche Eigenschaften definiert, die allen Objekten gemein sind. Alle im Datenmodell definierten LST-Objekte erben diese Eigenschaften unmittelbar, wie z.B. die Regelzeichnung, oder mittelbar, z.B. + ü + ber das Punkt Objekt. + ID_Bearbeitungsvermerk -- Verweist auf einen oder mehrere Bearbeitungsvermerke. Ein Anhang wird + ü + ber einen Bearbeitungsvermerk zugeordnet. + ID_Oertlichkeit_Ausgabe -- Verweis auf die Oertlichkeit (Betriebsstelle), der das Element zugeordnet wird. Die Angabe ist beispielsweise relevant f + ü + r die Erzeugung der Ausgabeformate (Lagepl + ä + ne, Tabellen). + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CUr_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, extensiontype_=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CBasis_Objekt"), self).__init__(Identitaet, extensiontype_, **kwargs_) + self.Basis_Objekt_Allg = Basis_Objekt_Allg + self.Basis_Objekt_Allg_nsprefix_ = None + if ID_Bearbeitungsvermerk is None: + self.ID_Bearbeitungsvermerk = [] + else: + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + self.ID_Bearbeitungsvermerk_nsprefix_ = None + self.ID_Oertlichkeit_Ausgabe = ID_Oertlichkeit_Ausgabe + self.ID_Oertlichkeit_Ausgabe_nsprefix_ = None + self.Objektreferenzen = Objektreferenzen + self.Objektreferenzen_nsprefix_ = None + self.extensiontype_ = extensiontype_ + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CBasis_Objekt) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CBasis_Objekt.subclass: + return CBasis_Objekt.subclass(*args_, **kwargs_) + else: + return CBasis_Objekt(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Basis_Objekt_Allg(self): + return self.Basis_Objekt_Allg + def set_Basis_Objekt_Allg(self, Basis_Objekt_Allg): + self.Basis_Objekt_Allg = Basis_Objekt_Allg + def get_ID_Bearbeitungsvermerk(self): + return self.ID_Bearbeitungsvermerk + def set_ID_Bearbeitungsvermerk(self, ID_Bearbeitungsvermerk): + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + def add_ID_Bearbeitungsvermerk(self, value): + self.ID_Bearbeitungsvermerk.append(value) + def insert_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk.insert(index, value) + def replace_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk[index] = value + def get_ID_Oertlichkeit_Ausgabe(self): + return self.ID_Oertlichkeit_Ausgabe + def set_ID_Oertlichkeit_Ausgabe(self, ID_Oertlichkeit_Ausgabe): + self.ID_Oertlichkeit_Ausgabe = ID_Oertlichkeit_Ausgabe + def get_Objektreferenzen(self): + return self.Objektreferenzen + def set_Objektreferenzen(self, Objektreferenzen): + self.Objektreferenzen = Objektreferenzen + def get_extensiontype_(self): return self.extensiontype_ + def set_extensiontype_(self, extensiontype_): self.extensiontype_ = extensiontype_ + def has__content(self): + if ( + self.Basis_Objekt_Allg is not None or + self.ID_Bearbeitungsvermerk or + self.ID_Oertlichkeit_Ausgabe is not None or + self.Objektreferenzen is not None or + super(CBasis_Objekt, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBasisobjekte:', namespacedef_='xmlns:nsBasisobjekte="http://www.plan-pro.org/modell/Basisobjekte/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CBasis_Objekt', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CBasis_Objekt') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CBasis_Objekt': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CBasis_Objekt') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CBasis_Objekt', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBasisobjekte:', name_='CBasis_Objekt'): + super(CBasis_Objekt, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CBasis_Objekt') + if self.extensiontype_ is not None and 'xsi:type' not in already_processed: + already_processed.add('xsi:type') + outfile.write(' xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"') + if ":" not in self.extensiontype_: + imported_ns_type_prefix_ = GenerateDSNamespaceTypePrefixes_.get(self.extensiontype_, '') + outfile.write(' xsi:type="%s%s"' % (imported_ns_type_prefix_, self.extensiontype_)) + else: + outfile.write(' xsi:type="%s"' % self.extensiontype_) + def _exportChildren(self, outfile, level, namespaceprefix_='nsBasisobjekte:', namespacedef_='xmlns:nsBasisobjekte="http://www.plan-pro.org/modell/Basisobjekte/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CBasis_Objekt', fromsubclass_=False, pretty_print=True): + super(CBasis_Objekt, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Basis_Objekt_Allg is not None: + namespaceprefix_ = self.Basis_Objekt_Allg_nsprefix_ + ':' if (UseCapturedNS_ and self.Basis_Objekt_Allg_nsprefix_) else '' + self.Basis_Objekt_Allg.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Basis_Objekt_Allg', pretty_print=pretty_print) + for ID_Bearbeitungsvermerk_ in self.ID_Bearbeitungsvermerk: + namespaceprefix_ = self.ID_Bearbeitungsvermerk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bearbeitungsvermerk_nsprefix_) else '' + ID_Bearbeitungsvermerk_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bearbeitungsvermerk', pretty_print=pretty_print) + if self.ID_Oertlichkeit_Ausgabe is not None: + namespaceprefix_ = self.ID_Oertlichkeit_Ausgabe_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Oertlichkeit_Ausgabe_nsprefix_) else '' + self.ID_Oertlichkeit_Ausgabe.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Oertlichkeit_Ausgabe', pretty_print=pretty_print) + if self.Objektreferenzen is not None: + namespaceprefix_ = self.Objektreferenzen_nsprefix_ + ':' if (UseCapturedNS_ and self.Objektreferenzen_nsprefix_) else '' + self.Objektreferenzen.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Objektreferenzen', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('xsi:type', node) + if value is not None and 'xsi:type' not in already_processed: + already_processed.add('xsi:type') + self.extensiontype_ = value + super(CBasis_Objekt, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Basis_Objekt_Allg': + obj_ = CBasis_Objekt_Allg.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Basis_Objekt_Allg = obj_ + obj_.original_tagname_ = 'Basis_Objekt_Allg' + elif nodeName_ == 'ID_Bearbeitungsvermerk': + obj_ = TCID_Bearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bearbeitungsvermerk.append(obj_) + obj_.original_tagname_ = 'ID_Bearbeitungsvermerk' + elif nodeName_ == 'ID_Oertlichkeit_Ausgabe': + obj_ = TCID_Oertlichkeit_Ausgabe.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Oertlichkeit_Ausgabe = obj_ + obj_.original_tagname_ = 'ID_Oertlichkeit_Ausgabe' + elif nodeName_ == 'Objektreferenzen': + obj_ = CObjektreferenzen.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Objektreferenzen = obj_ + obj_.original_tagname_ = 'Objektreferenzen' + super(CBasis_Objekt, self)._buildChildren(child_, node, nodeName_, True) +# end class CBasis_Objekt + + +class TCDateityp(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCDateityp"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMDateityp(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCDateityp) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCDateityp.subclass: + return TCDateityp.subclass(*args_, **kwargs_) + else: + return TCDateityp(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMDateityp(self, value): + result = True + # Validate type ENUMDateityp, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['jpg', 'mpeg', 'pdf', 'png', 'tif'] + 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 ENUMDateityp' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCDateityp, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBasisobjekte:', namespacedef_='xmlns:nsBasisobjekte="http://www.plan-pro.org/modell/Basisobjekte/1.10.0"', name_='TCDateityp', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCDateityp') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCDateityp': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCDateityp') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCDateityp', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBasisobjekte:', name_='TCDateityp'): + super(TCDateityp, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCDateityp') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBasisobjekte:', namespacedef_='xmlns:nsBasisobjekte="http://www.plan-pro.org/modell/Basisobjekte/1.10.0"', name_='TCDateityp', fromsubclass_=False, pretty_print=True): + super(TCDateityp, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCDateityp, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMDateityp + self.validate_ENUMDateityp(self.Wert) + super(TCDateityp, self)._buildChildren(child_, node, nodeName_, True) +# end class TCDateityp + + +class TCBeschreibung(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCBeschreibung"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TBeschreibung(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCBeschreibung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCBeschreibung.subclass: + return TCBeschreibung.subclass(*args_, **kwargs_) + else: + return TCBeschreibung(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TBeschreibung(self, value): + result = True + # Validate type TBeschreibung, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TBeschreibung_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TBeschreibung_patterns_, )) + result = False + return result + validate_TBeschreibung_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCBeschreibung, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBasisobjekte:', namespacedef_='xmlns:nsBasisobjekte="http://www.plan-pro.org/modell/Basisobjekte/1.10.0"', name_='TCBeschreibung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCBeschreibung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCBeschreibung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBeschreibung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCBeschreibung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBasisobjekte:', name_='TCBeschreibung'): + super(TCBeschreibung, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBeschreibung') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBasisobjekte:', namespacedef_='xmlns:nsBasisobjekte="http://www.plan-pro.org/modell/Basisobjekte/1.10.0"', name_='TCBeschreibung', fromsubclass_=False, pretty_print=True): + super(TCBeschreibung, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCBeschreibung, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TBeschreibung + self.validate_TBeschreibung(self.Wert) + super(TCBeschreibung, self)._buildChildren(child_, node, nodeName_, True) +# end class TCBeschreibung + + +class TCBV_Kategorie(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCBV_Kategorie"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TBV_Kategorie(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCBV_Kategorie) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCBV_Kategorie.subclass: + return TCBV_Kategorie.subclass(*args_, **kwargs_) + else: + return TCBV_Kategorie(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TBV_Kategorie(self, value): + result = True + # Validate type TBV_Kategorie, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TBV_Kategorie_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TBV_Kategorie_patterns_, )) + result = False + return result + validate_TBV_Kategorie_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCBV_Kategorie, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBasisobjekte:', namespacedef_='xmlns:nsBasisobjekte="http://www.plan-pro.org/modell/Basisobjekte/1.10.0"', name_='TCBV_Kategorie', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCBV_Kategorie') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCBV_Kategorie': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBV_Kategorie') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCBV_Kategorie', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBasisobjekte:', name_='TCBV_Kategorie'): + super(TCBV_Kategorie, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBV_Kategorie') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBasisobjekte:', namespacedef_='xmlns:nsBasisobjekte="http://www.plan-pro.org/modell/Basisobjekte/1.10.0"', name_='TCBV_Kategorie', fromsubclass_=False, pretty_print=True): + super(TCBV_Kategorie, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCBV_Kategorie, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TBV_Kategorie + self.validate_TBV_Kategorie(self.Wert) + super(TCBV_Kategorie, self)._buildChildren(child_, node, nodeName_, True) +# end class TCBV_Kategorie + + +class TCFUEM_Auswertung(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCFUEM_Auswertung"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCFUEM_Auswertung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCFUEM_Auswertung.subclass: + return TCFUEM_Auswertung.subclass(*args_, **kwargs_) + else: + return TCFUEM_Auswertung(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def has__content(self): + if ( + self.Wert is not None or + super(TCFUEM_Auswertung, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsZuglenkung:', namespacedef_='xmlns:nsZuglenkung="http://www.plan-pro.org/modell/Zuglenkung/1.10.0"', name_='TCFUEM_Auswertung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCFUEM_Auswertung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCFUEM_Auswertung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCFUEM_Auswertung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCFUEM_Auswertung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsZuglenkung:', name_='TCFUEM_Auswertung'): + super(TCFUEM_Auswertung, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCFUEM_Auswertung') + def _exportChildren(self, outfile, level, namespaceprefix_='nsZuglenkung:', namespacedef_='xmlns:nsZuglenkung="http://www.plan-pro.org/modell/Zuglenkung/1.10.0"', name_='TCFUEM_Auswertung', fromsubclass_=False, pretty_print=True): + super(TCFUEM_Auswertung, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_boolean(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCFUEM_Auswertung, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + sval_ = child_.text + ival_ = self.gds_parse_boolean(sval_, node, 'Wert') + ival_ = self.gds_validate_boolean(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + super(TCFUEM_Auswertung, self)._buildChildren(child_, node, nodeName_, True) +# end class TCFUEM_Auswertung + + +class CZL(CBasis_Objekt): + """CZL -- Anlage zur automatischen Einstellung von Fahrstra + ß + en aufgrund von Zuglaufinformationen. Die Zuglenkung ist eine Anlage, die der Unterst + ü + tzung des Betriebsablaufes dient. Aufgabe der Zuglenkung ist es, auf der Basis von Zuglaufinformationen und zugbezogenen Vorgaben f + ü + r die Benutzung von Strecken- und Bahnhofsgleisen ohne unmittelbare Mitwirkung des Bedieners Stellkommandos an das zust + ä + ndige Stellwerk auszugeben, ihre Ausf + ü + hrung zu + ü + berwachen und sich aus Meldungen des Stellwerkes ergebenden Handlungsbedarf an den Bediener weiterzugeben. Zuglaufinformationen erh + ä + lt die Zuglenkung von der Zuglaufverfolgung (ZLV), die vorgesehene Benutzung der Strecken- und Bahnhofsgleise sowie Wartebedingungen einschlie + ß + lich besonderer Bedingungen f + ü + r die Regelung der Reihenfolge der Z + ü + ge aus einem sogenannten Lenkplan, der in Form einer Gleisbenutzungstabelle (GBT) darstellbar ist. DB-Regelwerk 819.0732 Gleisbenutzungstabelle Weitere Angaben finden sich im Lastenheft, das dem LST-Fachplaner nicht zur Verf + ü + gung steht. + ID_ESTW_Zentraleinheit -- Verweis auf die ESTW-Zentraleinheit, zu der diese ZL geplant wurde. + ID_ZN -- Verweis auf die ZN, die zu dieser ZL geh + ö + rt. ZL und ZN m + ü + ssen planerisch eine Einheit bilden, da die ZN-Anzeigefelder immer definierte Einschaltpunkte f + ü + r die ZL sind. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasis_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, ID_ESTW_Zentraleinheit=None, ID_ZN=None, ZL_Allg=None, ZL_ZN=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CZL"), self).__init__(Identitaet, Basis_Objekt_Allg, ID_Bearbeitungsvermerk, ID_Oertlichkeit_Ausgabe, Objektreferenzen, **kwargs_) + self.ID_ESTW_Zentraleinheit = ID_ESTW_Zentraleinheit + self.ID_ESTW_Zentraleinheit_nsprefix_ = None + self.ID_ZN = ID_ZN + self.ID_ZN_nsprefix_ = None + self.ZL_Allg = ZL_Allg + self.ZL_Allg_nsprefix_ = None + self.ZL_ZN = ZL_ZN + self.ZL_ZN_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CZL) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CZL.subclass: + return CZL.subclass(*args_, **kwargs_) + else: + return CZL(*args_, **kwargs_) + factory = staticmethod(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_ESTW_Zentraleinheit(self): + return self.ID_ESTW_Zentraleinheit + def set_ID_ESTW_Zentraleinheit(self, ID_ESTW_Zentraleinheit): + self.ID_ESTW_Zentraleinheit = ID_ESTW_Zentraleinheit + def get_ID_ZN(self): + return self.ID_ZN + def set_ID_ZN(self, ID_ZN): + self.ID_ZN = ID_ZN + def get_ZL_Allg(self): + return self.ZL_Allg + def set_ZL_Allg(self, ZL_Allg): + self.ZL_Allg = ZL_Allg + def get_ZL_ZN(self): + return self.ZL_ZN + def set_ZL_ZN(self, ZL_ZN): + self.ZL_ZN = ZL_ZN + def has__content(self): + if ( + self.ID_ESTW_Zentraleinheit is not None or + self.ID_ZN is not None or + self.ZL_Allg is not None or + self.ZL_ZN is not None or + super(CZL, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsZuglenkung:', namespacedef_='xmlns:nsZuglenkung="http://www.plan-pro.org/modell/Zuglenkung/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CZL', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CZL') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CZL': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CZL') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CZL', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsZuglenkung:', name_='CZL'): + super(CZL, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CZL') + def _exportChildren(self, outfile, level, namespaceprefix_='nsZuglenkung:', namespacedef_='xmlns:nsZuglenkung="http://www.plan-pro.org/modell/Zuglenkung/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CZL', fromsubclass_=False, pretty_print=True): + super(CZL, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.ID_ESTW_Zentraleinheit is not None: + namespaceprefix_ = self.ID_ESTW_Zentraleinheit_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_ESTW_Zentraleinheit_nsprefix_) else '' + self.ID_ESTW_Zentraleinheit.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_ESTW_Zentraleinheit', pretty_print=pretty_print) + if self.ID_ZN is not None: + namespaceprefix_ = self.ID_ZN_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_ZN_nsprefix_) else '' + self.ID_ZN.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_ZN', pretty_print=pretty_print) + if self.ZL_Allg is not None: + namespaceprefix_ = self.ZL_Allg_nsprefix_ + ':' if (UseCapturedNS_ and self.ZL_Allg_nsprefix_) else '' + self.ZL_Allg.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ZL_Allg', pretty_print=pretty_print) + if self.ZL_ZN is not None: + namespaceprefix_ = self.ZL_ZN_nsprefix_ + ':' if (UseCapturedNS_ and self.ZL_ZN_nsprefix_) else '' + self.ZL_ZN.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ZL_ZN', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CZL, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_ESTW_Zentraleinheit': + obj_ = TCID_ESTW_Zentraleinheit.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_ESTW_Zentraleinheit = obj_ + obj_.original_tagname_ = 'ID_ESTW_Zentraleinheit' + elif nodeName_ == 'ID_ZN': + obj_ = TCID_ZN.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_ZN = obj_ + obj_.original_tagname_ = 'ID_ZN' + elif nodeName_ == 'ZL_Allg': + obj_ = CZL_Allg.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ZL_Allg = obj_ + obj_.original_tagname_ = 'ZL_Allg' + elif nodeName_ == 'ZL_ZN': + obj_ = CZL_ZN.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ZL_ZN = obj_ + obj_.original_tagname_ = 'ZL_ZN' + super(CZL, self)._buildChildren(child_, node, nodeName_, True) +# end class CZL + + +class TCAnnaeherungsgeschwindigkeit(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCAnnaeherungsgeschwindigkeit"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TAnnaeherungsgeschwindigkeit(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCAnnaeherungsgeschwindigkeit) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCAnnaeherungsgeschwindigkeit.subclass: + return TCAnnaeherungsgeschwindigkeit.subclass(*args_, **kwargs_) + else: + return TCAnnaeherungsgeschwindigkeit(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TAnnaeherungsgeschwindigkeit(self, value): + result = True + # Validate type TAnnaeherungsgeschwindigkeit, a restriction on nsBasisTypen:TGeschwindigkeit. + 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_TAnnaeherungsgeschwindigkeit_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TAnnaeherungsgeschwindigkeit_patterns_, )) + result = False + return result + validate_TAnnaeherungsgeschwindigkeit_patterns_ = [['^([4-9][0-9]|1[0-5][0-9]|160)$'], ['^(0|[1-9][0-9]{0,1}|[1-4][0-9]{2}|500)$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCAnnaeherungsgeschwindigkeit, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsZuglenkung:', namespacedef_='xmlns:nsZuglenkung="http://www.plan-pro.org/modell/Zuglenkung/1.10.0"', name_='TCAnnaeherungsgeschwindigkeit', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCAnnaeherungsgeschwindigkeit') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCAnnaeherungsgeschwindigkeit': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCAnnaeherungsgeschwindigkeit') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCAnnaeherungsgeschwindigkeit', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsZuglenkung:', name_='TCAnnaeherungsgeschwindigkeit'): + super(TCAnnaeherungsgeschwindigkeit, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCAnnaeherungsgeschwindigkeit') + def _exportChildren(self, outfile, level, namespaceprefix_='nsZuglenkung:', namespacedef_='xmlns:nsZuglenkung="http://www.plan-pro.org/modell/Zuglenkung/1.10.0"', name_='TCAnnaeherungsgeschwindigkeit', fromsubclass_=False, pretty_print=True): + super(TCAnnaeherungsgeschwindigkeit, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_integer(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCAnnaeherungsgeschwindigkeit, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + ival_ = self.gds_parse_integer(sval_, node, 'Wert') + ival_ = self.gds_validate_integer(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + # validate type TAnnaeherungsgeschwindigkeit + self.validate_TAnnaeherungsgeschwindigkeit(self.Wert) + super(TCAnnaeherungsgeschwindigkeit, self)._buildChildren(child_, node, nodeName_, True) +# end class TCAnnaeherungsgeschwindigkeit + + +class CZL_ZN(GeneratedsSuper): + """Lenkziffernstellen -- Stellen der Lenkziffern. Die Angabe ist notwendig, wenn die ZN bereits vorhanden ist und nicht neu geplant wird. DB-Regelwerk Das Planungsdatum ist im Regelwerk der DB AG nicht enthalten. + ZN_Stellen -- Stellen der ZN. Die Angabe ist notwendig, wenn die ZN bereits vorhanden ist und nicht neu geplant wird. DB-Regelwerk Das Planungsdatum ist im Regelwerk der DB AG nicht zu finden. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Lenkziffernstellen=None, ZN_Stellen=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Lenkziffernstellen = Lenkziffernstellen + self.Lenkziffernstellen_nsprefix_ = None + self.ZN_Stellen = ZN_Stellen + self.ZN_Stellen_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CZL_ZN) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CZL_ZN.subclass: + return CZL_ZN.subclass(*args_, **kwargs_) + else: + return CZL_ZN(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Lenkziffernstellen(self): + return self.Lenkziffernstellen + def set_Lenkziffernstellen(self, Lenkziffernstellen): + self.Lenkziffernstellen = Lenkziffernstellen + def get_ZN_Stellen(self): + return self.ZN_Stellen + def set_ZN_Stellen(self, ZN_Stellen): + self.ZN_Stellen = ZN_Stellen + def has__content(self): + if ( + self.Lenkziffernstellen is not None or + self.ZN_Stellen is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsZuglenkung:', namespacedef_='xmlns:nsZuglenkung="http://www.plan-pro.org/modell/Zuglenkung/1.10.0"', name_='CZL_ZN', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CZL_ZN') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CZL_ZN': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CZL_ZN') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CZL_ZN', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsZuglenkung:', name_='CZL_ZN'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsZuglenkung:', namespacedef_='xmlns:nsZuglenkung="http://www.plan-pro.org/modell/Zuglenkung/1.10.0"', name_='CZL_ZN', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Lenkziffernstellen is not None: + namespaceprefix_ = self.Lenkziffernstellen_nsprefix_ + ':' if (UseCapturedNS_ and self.Lenkziffernstellen_nsprefix_) else '' + self.Lenkziffernstellen.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Lenkziffernstellen', pretty_print=pretty_print) + if self.ZN_Stellen is not None: + namespaceprefix_ = self.ZN_Stellen_nsprefix_ + ':' if (UseCapturedNS_ and self.ZN_Stellen_nsprefix_) else '' + self.ZN_Stellen.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ZN_Stellen', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Lenkziffernstellen': + obj_ = TCLenkziffernstellen.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Lenkziffernstellen = obj_ + obj_.original_tagname_ = 'Lenkziffernstellen' + elif nodeName_ == 'ZN_Stellen': + obj_ = TCZN_Stellen.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ZN_Stellen = obj_ + obj_.original_tagname_ = 'ZN_Stellen' +# end class CZL_ZN + + +class TCZN_Stellen(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCZN_Stellen"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMZN_Stellen(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCZN_Stellen) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCZN_Stellen.subclass: + return TCZN_Stellen.subclass(*args_, **kwargs_) + else: + return TCZN_Stellen(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMZN_Stellen(self, value): + result = True + # Validate type ENUMZN_Stellen, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['5', '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 ENUMZN_Stellen' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCZN_Stellen, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsZuglenkung:', namespacedef_='xmlns:nsZuglenkung="http://www.plan-pro.org/modell/Zuglenkung/1.10.0"', name_='TCZN_Stellen', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCZN_Stellen') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCZN_Stellen': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCZN_Stellen') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCZN_Stellen', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsZuglenkung:', name_='TCZN_Stellen'): + super(TCZN_Stellen, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCZN_Stellen') + def _exportChildren(self, outfile, level, namespaceprefix_='nsZuglenkung:', namespacedef_='xmlns:nsZuglenkung="http://www.plan-pro.org/modell/Zuglenkung/1.10.0"', name_='TCZN_Stellen', fromsubclass_=False, pretty_print=True): + super(TCZN_Stellen, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCZN_Stellen, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMZN_Stellen + self.validate_ENUMZN_Stellen(self.Wert) + super(TCZN_Stellen, self)._buildChildren(child_, node, nodeName_, True) +# end class TCZN_Stellen + + +class TCSignalgruppe_Bezeichner(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCSignalgruppe_Bezeichner"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TSignalgruppe_Bezeichner(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCSignalgruppe_Bezeichner) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCSignalgruppe_Bezeichner.subclass: + return TCSignalgruppe_Bezeichner.subclass(*args_, **kwargs_) + else: + return TCSignalgruppe_Bezeichner(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TSignalgruppe_Bezeichner(self, value): + result = True + # Validate type TSignalgruppe_Bezeichner, a restriction on nsBasisTypen:TZeichenkette. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TSignalgruppe_Bezeichner_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TSignalgruppe_Bezeichner_patterns_, )) + result = False + return result + validate_TSignalgruppe_Bezeichner_patterns_ = [['^([a-zA-Z_0-9]{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCSignalgruppe_Bezeichner, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsZuglenkung:', namespacedef_='xmlns:nsZuglenkung="http://www.plan-pro.org/modell/Zuglenkung/1.10.0"', name_='TCSignalgruppe_Bezeichner', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCSignalgruppe_Bezeichner') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCSignalgruppe_Bezeichner': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCSignalgruppe_Bezeichner') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCSignalgruppe_Bezeichner', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsZuglenkung:', name_='TCSignalgruppe_Bezeichner'): + super(TCSignalgruppe_Bezeichner, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCSignalgruppe_Bezeichner') + def _exportChildren(self, outfile, level, namespaceprefix_='nsZuglenkung:', namespacedef_='xmlns:nsZuglenkung="http://www.plan-pro.org/modell/Zuglenkung/1.10.0"', name_='TCSignalgruppe_Bezeichner', fromsubclass_=False, pretty_print=True): + super(TCSignalgruppe_Bezeichner, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCSignalgruppe_Bezeichner, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TSignalgruppe_Bezeichner + self.validate_TSignalgruppe_Bezeichner(self.Wert) + super(TCSignalgruppe_Bezeichner, self)._buildChildren(child_, node, nodeName_, True) +# end class TCSignalgruppe_Bezeichner + + +class CZL_DLP_Fstr(CBasis_Objekt): + """CZL_DLP_Fstr -- Zuordnung von ZL-DLP-Abschnitten zur ZL-Fahrstra + ß + e. DB-Regelwerk TM 2011-024 I.NVT 3 + ID_ZL_Fstr -- Angabe der ZL_Fstr, f + ü + r welche die DLP erfolgen soll. Die Angabe, zu welcher Betriebsstelle die ZL_Fstr geh + ö + rt, ist + ü + ber die Zuordnung der Fstr_Zug_Rangier zur + Ö + rtlichkeit indirekt m + ö + glich. Mehrere Instanzen mit der gleichen ZL_Fstr m + ü + ssen dann f + ü + r die eigentliche systematische Pr + ü + fung in der DLP ODER-verkn + ü + pft werden. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasis_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, ID_ZL_Fstr=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CZL_DLP_Fstr"), self).__init__(Identitaet, Basis_Objekt_Allg, ID_Bearbeitungsvermerk, ID_Oertlichkeit_Ausgabe, Objektreferenzen, **kwargs_) + self.ID_ZL_Fstr = ID_ZL_Fstr + self.ID_ZL_Fstr_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CZL_DLP_Fstr) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CZL_DLP_Fstr.subclass: + return CZL_DLP_Fstr.subclass(*args_, **kwargs_) + else: + return CZL_DLP_Fstr(*args_, **kwargs_) + factory = staticmethod(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_ZL_Fstr(self): + return self.ID_ZL_Fstr + def set_ID_ZL_Fstr(self, ID_ZL_Fstr): + self.ID_ZL_Fstr = ID_ZL_Fstr + def has__content(self): + if ( + self.ID_ZL_Fstr is not None or + super(CZL_DLP_Fstr, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsZuglenkung:', namespacedef_='xmlns:nsZuglenkung="http://www.plan-pro.org/modell/Zuglenkung/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CZL_DLP_Fstr', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CZL_DLP_Fstr') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CZL_DLP_Fstr': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CZL_DLP_Fstr') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CZL_DLP_Fstr', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsZuglenkung:', name_='CZL_DLP_Fstr'): + super(CZL_DLP_Fstr, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CZL_DLP_Fstr') + def _exportChildren(self, outfile, level, namespaceprefix_='nsZuglenkung:', namespacedef_='xmlns:nsZuglenkung="http://www.plan-pro.org/modell/Zuglenkung/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CZL_DLP_Fstr', fromsubclass_=False, pretty_print=True): + super(CZL_DLP_Fstr, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.ID_ZL_Fstr is not None: + namespaceprefix_ = self.ID_ZL_Fstr_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_ZL_Fstr_nsprefix_) else '' + self.ID_ZL_Fstr.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_ZL_Fstr', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CZL_DLP_Fstr, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_ZL_Fstr': + obj_ = TCID_ZL_Fstr.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_ZL_Fstr = obj_ + obj_.original_tagname_ = 'ID_ZL_Fstr' + super(CZL_DLP_Fstr, self)._buildChildren(child_, node, nodeName_, True) +# end class CZL_DLP_Fstr + + +class TCVmax_Annaeherung(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCVmax_Annaeherung"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TVmax_Annaeherung(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCVmax_Annaeherung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCVmax_Annaeherung.subclass: + return TCVmax_Annaeherung.subclass(*args_, **kwargs_) + else: + return TCVmax_Annaeherung(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TVmax_Annaeherung(self, value): + result = True + # Validate type TVmax_Annaeherung, a restriction on nsBasisTypen:TGeschwindigkeit. + 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_TVmax_Annaeherung_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TVmax_Annaeherung_patterns_, )) + result = False + return result + validate_TVmax_Annaeherung_patterns_ = [['^(0|[1-9][0-9]{0,1}|[1-4][0-9]{2}|500)$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCVmax_Annaeherung, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsZuglenkung:', namespacedef_='xmlns:nsZuglenkung="http://www.plan-pro.org/modell/Zuglenkung/1.10.0"', name_='TCVmax_Annaeherung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCVmax_Annaeherung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCVmax_Annaeherung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCVmax_Annaeherung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCVmax_Annaeherung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsZuglenkung:', name_='TCVmax_Annaeherung'): + super(TCVmax_Annaeherung, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCVmax_Annaeherung') + def _exportChildren(self, outfile, level, namespaceprefix_='nsZuglenkung:', namespacedef_='xmlns:nsZuglenkung="http://www.plan-pro.org/modell/Zuglenkung/1.10.0"', name_='TCVmax_Annaeherung', fromsubclass_=False, pretty_print=True): + super(TCVmax_Annaeherung, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_integer(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCVmax_Annaeherung, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + ival_ = self.gds_parse_integer(sval_, node, 'Wert') + ival_ = self.gds_validate_integer(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + # validate type TVmax_Annaeherung + self.validate_TVmax_Annaeherung(self.Wert) + super(TCVmax_Annaeherung, self)._buildChildren(child_, node, nodeName_, True) +# end class TCVmax_Annaeherung + + +class TCAnzahl_Wiederhol_ZL_Anstoesse(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCAnzahl_Wiederhol_ZL_Anstoesse"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TAnzahl_Wiederhol_ZL_Anstoesse(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCAnzahl_Wiederhol_ZL_Anstoesse) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCAnzahl_Wiederhol_ZL_Anstoesse.subclass: + return TCAnzahl_Wiederhol_ZL_Anstoesse.subclass(*args_, **kwargs_) + else: + return TCAnzahl_Wiederhol_ZL_Anstoesse(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TAnzahl_Wiederhol_ZL_Anstoesse(self, value): + result = True + # Validate type TAnzahl_Wiederhol_ZL_Anstoesse, a restriction on xs:integer. + 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_TAnzahl_Wiederhol_ZL_Anstoesse_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TAnzahl_Wiederhol_ZL_Anstoesse_patterns_, )) + result = False + return result + validate_TAnzahl_Wiederhol_ZL_Anstoesse_patterns_ = [['^([1-9]|10)$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCAnzahl_Wiederhol_ZL_Anstoesse, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsZuglenkung:', namespacedef_='xmlns:nsZuglenkung="http://www.plan-pro.org/modell/Zuglenkung/1.10.0"', name_='TCAnzahl_Wiederhol_ZL_Anstoesse', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCAnzahl_Wiederhol_ZL_Anstoesse') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCAnzahl_Wiederhol_ZL_Anstoesse': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCAnzahl_Wiederhol_ZL_Anstoesse') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCAnzahl_Wiederhol_ZL_Anstoesse', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsZuglenkung:', name_='TCAnzahl_Wiederhol_ZL_Anstoesse'): + super(TCAnzahl_Wiederhol_ZL_Anstoesse, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCAnzahl_Wiederhol_ZL_Anstoesse') + def _exportChildren(self, outfile, level, namespaceprefix_='nsZuglenkung:', namespacedef_='xmlns:nsZuglenkung="http://www.plan-pro.org/modell/Zuglenkung/1.10.0"', name_='TCAnzahl_Wiederhol_ZL_Anstoesse', fromsubclass_=False, pretty_print=True): + super(TCAnzahl_Wiederhol_ZL_Anstoesse, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_integer(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCAnzahl_Wiederhol_ZL_Anstoesse, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + ival_ = self.gds_parse_integer(sval_, node, 'Wert') + ival_ = self.gds_validate_integer(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + # validate type TAnzahl_Wiederhol_ZL_Anstoesse + self.validate_TAnzahl_Wiederhol_ZL_Anstoesse(self.Wert) + super(TCAnzahl_Wiederhol_ZL_Anstoesse, self)._buildChildren(child_, node, nodeName_, True) +# end class TCAnzahl_Wiederhol_ZL_Anstoesse + + +class TCLenkabbruchzeit(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCLenkabbruchzeit"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TLenkabbruchzeit(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCLenkabbruchzeit) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCLenkabbruchzeit.subclass: + return TCLenkabbruchzeit.subclass(*args_, **kwargs_) + else: + return TCLenkabbruchzeit(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TLenkabbruchzeit(self, value): + result = True + # Validate type TLenkabbruchzeit, a restriction on nsBasisTypen:TSekunde. + 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 not self.gds_validate_simple_patterns( + self.validate_TLenkabbruchzeit_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TLenkabbruchzeit_patterns_, )) + result = False + return result + validate_TLenkabbruchzeit_patterns_ = [['^(0|[1-9][0-9]{0,2}|1[01][0-9]{2}|1200)$'], ['^([0-9]{1,5}(\\.[0-9]{2})?)$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCLenkabbruchzeit, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsZuglenkung:', namespacedef_='xmlns:nsZuglenkung="http://www.plan-pro.org/modell/Zuglenkung/1.10.0"', name_='TCLenkabbruchzeit', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCLenkabbruchzeit') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCLenkabbruchzeit': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCLenkabbruchzeit') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCLenkabbruchzeit', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsZuglenkung:', name_='TCLenkabbruchzeit'): + super(TCLenkabbruchzeit, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCLenkabbruchzeit') + def _exportChildren(self, outfile, level, namespaceprefix_='nsZuglenkung:', namespacedef_='xmlns:nsZuglenkung="http://www.plan-pro.org/modell/Zuglenkung/1.10.0"', name_='TCLenkabbruchzeit', fromsubclass_=False, pretty_print=True): + super(TCLenkabbruchzeit, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_decimal(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCLenkabbruchzeit, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + fval_ = self.gds_parse_decimal(sval_, node, 'Wert') + fval_ = self.gds_validate_decimal(fval_, node, 'Wert') + self.Wert = fval_ + self.Wert_nsprefix_ = child_.prefix + # validate type TLenkabbruchzeit + self.validate_TLenkabbruchzeit(self.Wert) + super(TCLenkabbruchzeit, self)._buildChildren(child_, node, nodeName_, True) +# end class TCLenkabbruchzeit + + +class TCGK(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCGK"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TGK(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCGK) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCGK.subclass: + return TCGK.subclass(*args_, **kwargs_) + else: + return TCGK(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TGK(self, value): + result = True + # Validate type TGK, a restriction on nsBasisTypen:TGeschwindigkeit. + 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_TGK_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGK_patterns_, )) + result = False + return result + validate_TGK_patterns_ = [['^([4-9][0-9]|1[0-5][0-9]|160)$'], ['^(0|[1-9][0-9]{0,1}|[1-4][0-9]{2}|500)$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCGK, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsZuglenkung:', namespacedef_='xmlns:nsZuglenkung="http://www.plan-pro.org/modell/Zuglenkung/1.10.0"', name_='TCGK', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCGK') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCGK': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCGK') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCGK', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsZuglenkung:', name_='TCGK'): + super(TCGK, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCGK') + def _exportChildren(self, outfile, level, namespaceprefix_='nsZuglenkung:', namespacedef_='xmlns:nsZuglenkung="http://www.plan-pro.org/modell/Zuglenkung/1.10.0"', name_='TCGK', fromsubclass_=False, pretty_print=True): + super(TCGK, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_integer(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCGK, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + ival_ = self.gds_parse_integer(sval_, node, 'Wert') + ival_ = self.gds_validate_integer(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGK + self.validate_TGK(self.Wert) + super(TCGK, self)._buildChildren(child_, node, nodeName_, True) +# end class TCGK + + +class TCDeadlockpruefung(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCDeadlockpruefung"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCDeadlockpruefung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCDeadlockpruefung.subclass: + return TCDeadlockpruefung.subclass(*args_, **kwargs_) + else: + return TCDeadlockpruefung(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def has__content(self): + if ( + self.Wert is not None or + super(TCDeadlockpruefung, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsZuglenkung:', namespacedef_='xmlns:nsZuglenkung="http://www.plan-pro.org/modell/Zuglenkung/1.10.0"', name_='TCDeadlockpruefung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCDeadlockpruefung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCDeadlockpruefung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCDeadlockpruefung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCDeadlockpruefung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsZuglenkung:', name_='TCDeadlockpruefung'): + super(TCDeadlockpruefung, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCDeadlockpruefung') + def _exportChildren(self, outfile, level, namespaceprefix_='nsZuglenkung:', namespacedef_='xmlns:nsZuglenkung="http://www.plan-pro.org/modell/Zuglenkung/1.10.0"', name_='TCDeadlockpruefung', fromsubclass_=False, pretty_print=True): + super(TCDeadlockpruefung, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_boolean(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCDeadlockpruefung, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + sval_ = child_.text + ival_ = self.gds_parse_boolean(sval_, node, 'Wert') + ival_ = self.gds_validate_boolean(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + super(TCDeadlockpruefung, self)._buildChildren(child_, node, nodeName_, True) +# end class TCDeadlockpruefung + + +class TCEinstellkontrollzeit(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCEinstellkontrollzeit"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TEinstellkontrollzeit(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCEinstellkontrollzeit) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCEinstellkontrollzeit.subclass: + return TCEinstellkontrollzeit.subclass(*args_, **kwargs_) + else: + return TCEinstellkontrollzeit(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TEinstellkontrollzeit(self, value): + result = True + # Validate type TEinstellkontrollzeit, a restriction on nsBasisTypen:TSekunde. + 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 not self.gds_validate_simple_patterns( + self.validate_TEinstellkontrollzeit_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TEinstellkontrollzeit_patterns_, )) + result = False + return result + validate_TEinstellkontrollzeit_patterns_ = [['^([1-9][0-9]{0,1}|1[0-9]{2}|200)$'], ['^([0-9]{1,5}(\\.[0-9]{2})?)$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCEinstellkontrollzeit, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsZuglenkung:', namespacedef_='xmlns:nsZuglenkung="http://www.plan-pro.org/modell/Zuglenkung/1.10.0"', name_='TCEinstellkontrollzeit', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCEinstellkontrollzeit') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCEinstellkontrollzeit': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCEinstellkontrollzeit') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCEinstellkontrollzeit', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsZuglenkung:', name_='TCEinstellkontrollzeit'): + super(TCEinstellkontrollzeit, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCEinstellkontrollzeit') + def _exportChildren(self, outfile, level, namespaceprefix_='nsZuglenkung:', namespacedef_='xmlns:nsZuglenkung="http://www.plan-pro.org/modell/Zuglenkung/1.10.0"', name_='TCEinstellkontrollzeit', fromsubclass_=False, pretty_print=True): + super(TCEinstellkontrollzeit, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_decimal(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCEinstellkontrollzeit, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + fval_ = self.gds_parse_decimal(sval_, node, 'Wert') + fval_ = self.gds_validate_decimal(fval_, node, 'Wert') + self.Wert = fval_ + self.Wert_nsprefix_ = child_.prefix + # validate type TEinstellkontrollzeit + self.validate_TEinstellkontrollzeit(self.Wert) + super(TCEinstellkontrollzeit, self)._buildChildren(child_, node, nodeName_, True) +# end class TCEinstellkontrollzeit + + +class TCTv_GK(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCTv_GK"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TTv_GK(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCTv_GK) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCTv_GK.subclass: + return TCTv_GK.subclass(*args_, **kwargs_) + else: + return TCTv_GK(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TTv_GK(self, value): + result = True + # Validate type TTv_GK, a restriction on nsBasisTypen:TSekunde. + 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 not self.gds_validate_simple_patterns( + self.validate_TTv_GK_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TTv_GK_patterns_, )) + result = False + return result + validate_TTv_GK_patterns_ = [['^(0|[1-9][0-9]{0,1}|[1-2][0-9]{2}|300)$'], ['^([0-9]{1,5}(\\.[0-9]{2})?)$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCTv_GK, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsZuglenkung:', namespacedef_='xmlns:nsZuglenkung="http://www.plan-pro.org/modell/Zuglenkung/1.10.0"', name_='TCTv_GK', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCTv_GK') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCTv_GK': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCTv_GK') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCTv_GK', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsZuglenkung:', name_='TCTv_GK'): + super(TCTv_GK, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCTv_GK') + def _exportChildren(self, outfile, level, namespaceprefix_='nsZuglenkung:', namespacedef_='xmlns:nsZuglenkung="http://www.plan-pro.org/modell/Zuglenkung/1.10.0"', name_='TCTv_GK', fromsubclass_=False, pretty_print=True): + super(TCTv_GK, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_decimal(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCTv_GK, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + fval_ = self.gds_parse_decimal(sval_, node, 'Wert') + fval_ = self.gds_validate_decimal(fval_, node, 'Wert') + self.Wert = fval_ + self.Wert_nsprefix_ = child_.prefix + # validate type TTv_GK + self.validate_TTv_GK(self.Wert) + super(TCTv_GK, self)._buildChildren(child_, node, nodeName_, True) +# end class TCTv_GK + + +class CZL_Fstr_Anstoss_GK(GeneratedsSuper): + """GK -- Geschwindigkeitsklasse, f + ü + r die die in Tv GK angegebene Geschwindigkeit gilt. F + ü + r jede Geschwindigkeitsklasse (GK) ist eine Instanz der Attributgruppe ZL_Fstr_Anstoss_GK anzulegen. Bei der Festlegung von Geschwindigkeitsklassen sind herstellerspezifische Unterschiede zu beachten. DB-Regelwerk 819.0732 14 + Tv_GK -- Verz + ö + gerungszeit f + ü + r den ZL-Ansto + ß + . Ist keine tv erforderlich, ist \"0\" anzugeben. DB-Regelwerk 819.0732 8 (3) 819.0732 11 + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, GK=None, Tv_GK=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.GK = GK + self.GK_nsprefix_ = None + self.Tv_GK = Tv_GK + self.Tv_GK_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CZL_Fstr_Anstoss_GK) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CZL_Fstr_Anstoss_GK.subclass: + return CZL_Fstr_Anstoss_GK.subclass(*args_, **kwargs_) + else: + return CZL_Fstr_Anstoss_GK(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_GK(self): + return self.GK + def set_GK(self, GK): + self.GK = GK + def get_Tv_GK(self): + return self.Tv_GK + def set_Tv_GK(self, Tv_GK): + self.Tv_GK = Tv_GK + def has__content(self): + if ( + self.GK is not None or + self.Tv_GK is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsZuglenkung:', namespacedef_='xmlns:nsZuglenkung="http://www.plan-pro.org/modell/Zuglenkung/1.10.0"', name_='CZL_Fstr_Anstoss_GK', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CZL_Fstr_Anstoss_GK') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CZL_Fstr_Anstoss_GK': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CZL_Fstr_Anstoss_GK') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CZL_Fstr_Anstoss_GK', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsZuglenkung:', name_='CZL_Fstr_Anstoss_GK'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsZuglenkung:', namespacedef_='xmlns:nsZuglenkung="http://www.plan-pro.org/modell/Zuglenkung/1.10.0"', name_='CZL_Fstr_Anstoss_GK', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.GK is not None: + namespaceprefix_ = self.GK_nsprefix_ + ':' if (UseCapturedNS_ and self.GK_nsprefix_) else '' + self.GK.export(outfile, level, namespaceprefix_, namespacedef_='', name_='GK', pretty_print=pretty_print) + if self.Tv_GK is not None: + namespaceprefix_ = self.Tv_GK_nsprefix_ + ':' if (UseCapturedNS_ and self.Tv_GK_nsprefix_) else '' + self.Tv_GK.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Tv_GK', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'GK': + obj_ = TCGK.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.GK = obj_ + obj_.original_tagname_ = 'GK' + elif nodeName_ == 'Tv_GK': + obj_ = TCTv_GK.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Tv_GK = obj_ + obj_.original_tagname_ = 'Tv_GK' +# end class CZL_Fstr_Anstoss_GK + + +class TCLenkziffernstellen(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCLenkziffernstellen"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMLenkziffernstellen(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCLenkziffernstellen) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCLenkziffernstellen.subclass: + return TCLenkziffernstellen.subclass(*args_, **kwargs_) + else: + return TCLenkziffernstellen(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMLenkziffernstellen(self, value): + result = True + # Validate type ENUMLenkziffernstellen, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['0', '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 ENUMLenkziffernstellen' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCLenkziffernstellen, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsZuglenkung:', namespacedef_='xmlns:nsZuglenkung="http://www.plan-pro.org/modell/Zuglenkung/1.10.0"', name_='TCLenkziffernstellen', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCLenkziffernstellen') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCLenkziffernstellen': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCLenkziffernstellen') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCLenkziffernstellen', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsZuglenkung:', name_='TCLenkziffernstellen'): + super(TCLenkziffernstellen, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCLenkziffernstellen') + def _exportChildren(self, outfile, level, namespaceprefix_='nsZuglenkung:', namespacedef_='xmlns:nsZuglenkung="http://www.plan-pro.org/modell/Zuglenkung/1.10.0"', name_='TCLenkziffernstellen', fromsubclass_=False, pretty_print=True): + super(TCLenkziffernstellen, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCLenkziffernstellen, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMLenkziffernstellen + self.validate_ENUMLenkziffernstellen(self.Wert) + super(TCLenkziffernstellen, self)._buildChildren(child_, node, nodeName_, True) +# end class TCLenkziffernstellen + + +class TCDWeg_Prio(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCDWeg_Prio"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TDWeg_Prio(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCDWeg_Prio) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCDWeg_Prio.subclass: + return TCDWeg_Prio.subclass(*args_, **kwargs_) + else: + return TCDWeg_Prio(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TDWeg_Prio(self, value): + result = True + # Validate type TDWeg_Prio, a restriction on xs:integer. + 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_TDWeg_Prio_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TDWeg_Prio_patterns_, )) + result = False + return result + validate_TDWeg_Prio_patterns_ = [['^([0-4])$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCDWeg_Prio, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsZuglenkung:', namespacedef_='xmlns:nsZuglenkung="http://www.plan-pro.org/modell/Zuglenkung/1.10.0"', name_='TCDWeg_Prio', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCDWeg_Prio') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCDWeg_Prio': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCDWeg_Prio') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCDWeg_Prio', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsZuglenkung:', name_='TCDWeg_Prio'): + super(TCDWeg_Prio, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCDWeg_Prio') + def _exportChildren(self, outfile, level, namespaceprefix_='nsZuglenkung:', namespacedef_='xmlns:nsZuglenkung="http://www.plan-pro.org/modell/Zuglenkung/1.10.0"', name_='TCDWeg_Prio', fromsubclass_=False, pretty_print=True): + super(TCDWeg_Prio, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_integer(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCDWeg_Prio, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + ival_ = self.gds_parse_integer(sval_, node, 'Wert') + ival_ = self.gds_validate_integer(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + # validate type TDWeg_Prio + self.validate_TDWeg_Prio(self.Wert) + super(TCDWeg_Prio, self)._buildChildren(child_, node, nodeName_, True) +# end class TCDWeg_Prio + + +class TCPersonal_Reaktionszeit(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCPersonal_Reaktionszeit"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TPersonal_Reaktionszeit(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCPersonal_Reaktionszeit) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCPersonal_Reaktionszeit.subclass: + return TCPersonal_Reaktionszeit.subclass(*args_, **kwargs_) + else: + return TCPersonal_Reaktionszeit(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TPersonal_Reaktionszeit(self, value): + result = True + # Validate type TPersonal_Reaktionszeit, a restriction on nsBasisTypen:TSekunde. + 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 not self.gds_validate_simple_patterns( + self.validate_TPersonal_Reaktionszeit_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TPersonal_Reaktionszeit_patterns_, )) + result = False + return result + validate_TPersonal_Reaktionszeit_patterns_ = [['^(1[5-9]|[23][0-9]|4[0-5])$'], ['^([0-9]{1,5}(\\.[0-9]{2})?)$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCPersonal_Reaktionszeit, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsZuglenkung:', namespacedef_='xmlns:nsZuglenkung="http://www.plan-pro.org/modell/Zuglenkung/1.10.0"', name_='TCPersonal_Reaktionszeit', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCPersonal_Reaktionszeit') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCPersonal_Reaktionszeit': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCPersonal_Reaktionszeit') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCPersonal_Reaktionszeit', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsZuglenkung:', name_='TCPersonal_Reaktionszeit'): + super(TCPersonal_Reaktionszeit, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCPersonal_Reaktionszeit') + def _exportChildren(self, outfile, level, namespaceprefix_='nsZuglenkung:', namespacedef_='xmlns:nsZuglenkung="http://www.plan-pro.org/modell/Zuglenkung/1.10.0"', name_='TCPersonal_Reaktionszeit', fromsubclass_=False, pretty_print=True): + super(TCPersonal_Reaktionszeit, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_decimal(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCPersonal_Reaktionszeit, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + fval_ = self.gds_parse_decimal(sval_, node, 'Wert') + fval_ = self.gds_validate_decimal(fval_, node, 'Wert') + self.Wert = fval_ + self.Wert_nsprefix_ = child_.prefix + # validate type TPersonal_Reaktionszeit + self.validate_TPersonal_Reaktionszeit(self.Wert) + super(TCPersonal_Reaktionszeit, self)._buildChildren(child_, node, nodeName_, True) +# end class TCPersonal_Reaktionszeit + + +class TCGKZSS(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCGKZSS"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCGKZSS) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCGKZSS.subclass: + return TCGKZSS.subclass(*args_, **kwargs_) + else: + return TCGKZSS(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def has__content(self): + if ( + self.Wert is not None or + super(TCGKZSS, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsZuglenkung:', namespacedef_='xmlns:nsZuglenkung="http://www.plan-pro.org/modell/Zuglenkung/1.10.0"', name_='TCGKZSS', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCGKZSS') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCGKZSS': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCGKZSS') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCGKZSS', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsZuglenkung:', name_='TCGKZSS'): + super(TCGKZSS, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCGKZSS') + def _exportChildren(self, outfile, level, namespaceprefix_='nsZuglenkung:', namespacedef_='xmlns:nsZuglenkung="http://www.plan-pro.org/modell/Zuglenkung/1.10.0"', name_='TCGKZSS', fromsubclass_=False, pretty_print=True): + super(TCGKZSS, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_boolean(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCGKZSS, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + sval_ = child_.text + ival_ = self.gds_parse_boolean(sval_, node, 'Wert') + ival_ = self.gds_validate_boolean(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + super(TCGKZSS, self)._buildChildren(child_, node, nodeName_, True) +# end class TCGKZSS + + +class CZL_Signalgruppe_Allg(GeneratedsSuper): + """Signalgruppe_Bezeichner -- Bezeichner der Signalgruppe f + ü + r ZL und GBT. Die Bezeichnung ist mit dem Besteller abzustimmen. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Signalgruppe_Bezeichner=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Signalgruppe_Bezeichner = Signalgruppe_Bezeichner + self.Signalgruppe_Bezeichner_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CZL_Signalgruppe_Allg) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CZL_Signalgruppe_Allg.subclass: + return CZL_Signalgruppe_Allg.subclass(*args_, **kwargs_) + else: + return CZL_Signalgruppe_Allg(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Signalgruppe_Bezeichner(self): + return self.Signalgruppe_Bezeichner + def set_Signalgruppe_Bezeichner(self, Signalgruppe_Bezeichner): + self.Signalgruppe_Bezeichner = Signalgruppe_Bezeichner + def has__content(self): + if ( + self.Signalgruppe_Bezeichner is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsZuglenkung:', namespacedef_='xmlns:nsZuglenkung="http://www.plan-pro.org/modell/Zuglenkung/1.10.0"', name_='CZL_Signalgruppe_Allg', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CZL_Signalgruppe_Allg') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CZL_Signalgruppe_Allg': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CZL_Signalgruppe_Allg') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CZL_Signalgruppe_Allg', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsZuglenkung:', name_='CZL_Signalgruppe_Allg'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsZuglenkung:', namespacedef_='xmlns:nsZuglenkung="http://www.plan-pro.org/modell/Zuglenkung/1.10.0"', name_='CZL_Signalgruppe_Allg', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Signalgruppe_Bezeichner is not None: + namespaceprefix_ = self.Signalgruppe_Bezeichner_nsprefix_ + ':' if (UseCapturedNS_ and self.Signalgruppe_Bezeichner_nsprefix_) else '' + self.Signalgruppe_Bezeichner.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Signalgruppe_Bezeichner', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Signalgruppe_Bezeichner': + obj_ = TCSignalgruppe_Bezeichner.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Signalgruppe_Bezeichner = obj_ + obj_.original_tagname_ = 'Signalgruppe_Bezeichner' +# end class CZL_Signalgruppe_Allg + + +class CZL_Fstr(CBasis_Objekt): + """CZL_Fstr -- Objekt zur Aufnahme verschiedener Anstosspunkte (mittels ZL Fstr Anstoss) abh + ä + ngig von den zugeh + ö + rigen Vorsignalen und den Geschwindigkeitsklassen f + ü + r die ZL. + Ü + ber den Verweis zur Fstr Zug Rangier ist die Verbindung zur Fstr des ESTW hergestellt. F + ü + r eine Fstr des ESTW kann es mehrere ZL_Fstr geben, umgekehrt gilt dies nicht. DB-Regelwerk 819.0732 6 (1)b In der Tabelle der Zuglenkanst + ö + ß + e entspricht eine Zeile einer ZL-Fahrstra + ß + e. + ID_Fstr_Zug_Rangier -- Verlinkung, zu welcher Fahrstra + ß + e die ZL-Fahrstra + ß + e geh + ö + rt. + ID_ZL -- Verweis auf die zugeh + ö + rige ZL, dessen Bestandteil die ZL-Fahrstra + ß + e ist. + ID_ZL_Fstr -- Verweis auf eine ZL_Fstr, die als Alternative f + ü + r die urspr + ü + nglich vorgesehene ZL_Fstr verwendet werden kann (in Tabelle ZL + „ + D-Weg_Prio + “ + ). + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasis_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, ID_Fstr_Zug_Rangier=None, ID_ZL=None, ID_ZL_Fstr=None, ZL_Fstr_Allg=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CZL_Fstr"), self).__init__(Identitaet, Basis_Objekt_Allg, ID_Bearbeitungsvermerk, ID_Oertlichkeit_Ausgabe, Objektreferenzen, **kwargs_) + self.ID_Fstr_Zug_Rangier = ID_Fstr_Zug_Rangier + self.ID_Fstr_Zug_Rangier_nsprefix_ = None + self.ID_ZL = ID_ZL + self.ID_ZL_nsprefix_ = None + self.ID_ZL_Fstr = ID_ZL_Fstr + self.ID_ZL_Fstr_nsprefix_ = None + self.ZL_Fstr_Allg = ZL_Fstr_Allg + self.ZL_Fstr_Allg_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CZL_Fstr) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CZL_Fstr.subclass: + return CZL_Fstr.subclass(*args_, **kwargs_) + else: + return CZL_Fstr(*args_, **kwargs_) + factory = staticmethod(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_Fstr_Zug_Rangier(self): + return self.ID_Fstr_Zug_Rangier + def set_ID_Fstr_Zug_Rangier(self, ID_Fstr_Zug_Rangier): + self.ID_Fstr_Zug_Rangier = ID_Fstr_Zug_Rangier + def get_ID_ZL(self): + return self.ID_ZL + def set_ID_ZL(self, ID_ZL): + self.ID_ZL = ID_ZL + def get_ID_ZL_Fstr(self): + return self.ID_ZL_Fstr + def set_ID_ZL_Fstr(self, ID_ZL_Fstr): + self.ID_ZL_Fstr = ID_ZL_Fstr + def get_ZL_Fstr_Allg(self): + return self.ZL_Fstr_Allg + def set_ZL_Fstr_Allg(self, ZL_Fstr_Allg): + self.ZL_Fstr_Allg = ZL_Fstr_Allg + def has__content(self): + if ( + self.ID_Fstr_Zug_Rangier is not None or + self.ID_ZL is not None or + self.ID_ZL_Fstr is not None or + self.ZL_Fstr_Allg is not None or + super(CZL_Fstr, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsZuglenkung:', namespacedef_='xmlns:nsZuglenkung="http://www.plan-pro.org/modell/Zuglenkung/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CZL_Fstr', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CZL_Fstr') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CZL_Fstr': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CZL_Fstr') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CZL_Fstr', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsZuglenkung:', name_='CZL_Fstr'): + super(CZL_Fstr, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CZL_Fstr') + def _exportChildren(self, outfile, level, namespaceprefix_='nsZuglenkung:', namespacedef_='xmlns:nsZuglenkung="http://www.plan-pro.org/modell/Zuglenkung/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CZL_Fstr', fromsubclass_=False, pretty_print=True): + super(CZL_Fstr, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.ID_Fstr_Zug_Rangier is not None: + namespaceprefix_ = self.ID_Fstr_Zug_Rangier_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Fstr_Zug_Rangier_nsprefix_) else '' + self.ID_Fstr_Zug_Rangier.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Fstr_Zug_Rangier', pretty_print=pretty_print) + if self.ID_ZL is not None: + namespaceprefix_ = self.ID_ZL_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_ZL_nsprefix_) else '' + self.ID_ZL.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_ZL', pretty_print=pretty_print) + if self.ID_ZL_Fstr is not None: + namespaceprefix_ = self.ID_ZL_Fstr_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_ZL_Fstr_nsprefix_) else '' + self.ID_ZL_Fstr.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_ZL_Fstr', pretty_print=pretty_print) + if self.ZL_Fstr_Allg is not None: + namespaceprefix_ = self.ZL_Fstr_Allg_nsprefix_ + ':' if (UseCapturedNS_ and self.ZL_Fstr_Allg_nsprefix_) else '' + self.ZL_Fstr_Allg.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ZL_Fstr_Allg', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CZL_Fstr, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Fstr_Zug_Rangier': + obj_ = TCID_Fstr_Zug_Rangier.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Fstr_Zug_Rangier = obj_ + obj_.original_tagname_ = 'ID_Fstr_Zug_Rangier' + elif nodeName_ == 'ID_ZL': + obj_ = TCID_ZL.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_ZL = obj_ + obj_.original_tagname_ = 'ID_ZL' + elif nodeName_ == 'ID_ZL_Fstr': + obj_ = TCID_ZL_Fstr.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_ZL_Fstr = obj_ + obj_.original_tagname_ = 'ID_ZL_Fstr' + elif nodeName_ == 'ZL_Fstr_Allg': + obj_ = CZL_Fstr_Allg.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ZL_Fstr_Allg = obj_ + obj_.original_tagname_ = 'ZL_Fstr_Allg' + super(CZL_Fstr, self)._buildChildren(child_, node, nodeName_, True) +# end class CZL_Fstr + + +class CZL_Fstr_Anstoss_Allg(GeneratedsSuper): + """GKZSS -- Der Ansto + ß + aus einem Zugbeeinflussungssystem (ETCS, LZB) ist m + ö + glich. DB-Regelwerk 819.0732 13 + Vmax_Annaeherung -- Zul + ä + ssige H + ö + chstgeschwindigkeit zwischen Vorsignal und berechnetem Einschaltpunkt. + ZL_Fstr_Zuschlag -- Zeitzuschlag f + ü + r die Berechnung des Ansto + ß + punktes der ZL. Es kann sich die Notwendigkeit ergeben, eine Zeitspanne auf die bisher errechneten Zeiten (Sichtzeit Vorsignal, Fahrstra + ß + enbildungszeit ...) aufzuschlagen, damit der ZL-Ansto + ß + fr + ü + her erfolgt, als nach der allgemeinen Berechnungsregel vorgesehen. In einem Bearbeitungsvermerk ist daf + ü + r eine Begr + ü + ndung anzugeben. Falls kein Zeitzuschlag erforderlich wird, ist das Attribut nicht zu bef + ü + llen. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, GKZSS=None, Vmax_Annaeherung=None, ZL_Fstr_Zuschlag=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.GKZSS = GKZSS + self.GKZSS_nsprefix_ = None + self.Vmax_Annaeherung = Vmax_Annaeherung + self.Vmax_Annaeherung_nsprefix_ = None + self.ZL_Fstr_Zuschlag = ZL_Fstr_Zuschlag + self.ZL_Fstr_Zuschlag_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CZL_Fstr_Anstoss_Allg) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CZL_Fstr_Anstoss_Allg.subclass: + return CZL_Fstr_Anstoss_Allg.subclass(*args_, **kwargs_) + else: + return CZL_Fstr_Anstoss_Allg(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_GKZSS(self): + return self.GKZSS + def set_GKZSS(self, GKZSS): + self.GKZSS = GKZSS + def get_Vmax_Annaeherung(self): + return self.Vmax_Annaeherung + def set_Vmax_Annaeherung(self, Vmax_Annaeherung): + self.Vmax_Annaeherung = Vmax_Annaeherung + def get_ZL_Fstr_Zuschlag(self): + return self.ZL_Fstr_Zuschlag + def set_ZL_Fstr_Zuschlag(self, ZL_Fstr_Zuschlag): + self.ZL_Fstr_Zuschlag = ZL_Fstr_Zuschlag + def has__content(self): + if ( + self.GKZSS is not None or + self.Vmax_Annaeherung is not None or + self.ZL_Fstr_Zuschlag is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsZuglenkung:', namespacedef_='xmlns:nsZuglenkung="http://www.plan-pro.org/modell/Zuglenkung/1.10.0"', name_='CZL_Fstr_Anstoss_Allg', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CZL_Fstr_Anstoss_Allg') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CZL_Fstr_Anstoss_Allg': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CZL_Fstr_Anstoss_Allg') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CZL_Fstr_Anstoss_Allg', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsZuglenkung:', name_='CZL_Fstr_Anstoss_Allg'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsZuglenkung:', namespacedef_='xmlns:nsZuglenkung="http://www.plan-pro.org/modell/Zuglenkung/1.10.0"', name_='CZL_Fstr_Anstoss_Allg', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.GKZSS is not None: + namespaceprefix_ = self.GKZSS_nsprefix_ + ':' if (UseCapturedNS_ and self.GKZSS_nsprefix_) else '' + self.GKZSS.export(outfile, level, namespaceprefix_, namespacedef_='', name_='GKZSS', pretty_print=pretty_print) + if self.Vmax_Annaeherung is not None: + namespaceprefix_ = self.Vmax_Annaeherung_nsprefix_ + ':' if (UseCapturedNS_ and self.Vmax_Annaeherung_nsprefix_) else '' + self.Vmax_Annaeherung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Vmax_Annaeherung', pretty_print=pretty_print) + if self.ZL_Fstr_Zuschlag is not None: + namespaceprefix_ = self.ZL_Fstr_Zuschlag_nsprefix_ + ':' if (UseCapturedNS_ and self.ZL_Fstr_Zuschlag_nsprefix_) else '' + self.ZL_Fstr_Zuschlag.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ZL_Fstr_Zuschlag', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'GKZSS': + obj_ = TCGKZSS.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.GKZSS = obj_ + obj_.original_tagname_ = 'GKZSS' + elif nodeName_ == 'Vmax_Annaeherung': + obj_ = TCVmax_Annaeherung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Vmax_Annaeherung = obj_ + obj_.original_tagname_ = 'Vmax_Annaeherung' + elif nodeName_ == 'ZL_Fstr_Zuschlag': + obj_ = TCZL_Fstr_Zuschlag.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ZL_Fstr_Zuschlag = obj_ + obj_.original_tagname_ = 'ZL_Fstr_Zuschlag' +# end class CZL_Fstr_Anstoss_Allg + + +class CZL_Fstr_Anstoss(CBasis_Objekt): + """CZL_Fstr_Anstoss -- Mit ZL_Fstr_Anstoss wird f + ü + r eine Fahrstrasse der Zuglenkung der Anstosspunkt gebildet. Die f + ü + r diese ZL-Fahrstra + ß + e relevante(n) Geschwindigkeitsklasse(n) (GK) wird/werden + ü + ber die entsprechende Attributgruppe zugeordnet. DB-Regelwerk 819.0732 11 In der Tabelle der Zuglenkanst + ö + ß + e findet sich die Angabe in der Spalte \"EP-MO\". + ID_Vorsignal -- Standort der Vorsignalisierung des zu lenkenden Hauptsignals. Die Angabe ist notwendig f + ü + r die Ermittlung des Sichtpunkts bei vorgegebener Sichtzeit. Es wird aus dem Objekt der Standort (km, Stationierung) ben + ö + tigt. Der Verweis kann entfallen, wenn der Zug erst am zu lenkenden Hauptsignal startet oder das Startsignal ein LZB-Blockkennzeichen ist. + ID_ZL_Fstr -- Verlinkung, zu welcher ZL_Fstr dieser Ansto + ß + geh + ö + rt. + ID_Einschaltpunkt -- Verweis auf ein Schaltmittel, welches als Ansto + ß + f + ü + r die ZL-Fahrstra + ß + e ausgewertet wird. Der Standort bzw. die Stationierung geht in die Berechnung einer Verz + ö + gerungszeit ein. Das Attribut ist optional, da nicht f + ü + r jede ZL-Fahrstra + ß + e ein Schaltmittel ausgew + ä + hlt werden kann (z. B. an Stellbereichsgrenzen). In dem Fall ist ein ZN_Anzeigefeld als Ansto + ß + kriterium festzulegen. Einer von beiden Verweisen (ID_Einschaltpunkt oder ID ZN Anzeigefeld Anstoss) muss immer gef + ü + llt sein. + ID_ZN_Anzeigefeld_Anstoss -- Verweis auf das ZN Anzeigefeld, aus dem der Ansto + ß + der ZL ausgel + ö + st wird. Das Attribut ist optional, falls f + ü + r einen ZL-Ansto + ß + kein geeignetes ZN-Anzeigefeld zur Verf + ü + gung steht. In dem Fall ist ein Schaltmittel als Ansto + ß + kriterium festzulegen. Einer von beiden Verweisen (ID Einschaltpunkt oder ID_ZN_Anzeigefeld_Anstoss) muss immer gef + ü + llt sein. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasis_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, ID_Vorsignal=None, ID_ZL_Fstr=None, ZL_Fstr_Anstoss_Allg=None, ZL_Fstr_Anstoss_GK=None, ID_Einschaltpunkt=None, ID_ZN_Anzeigefeld_Anstoss=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CZL_Fstr_Anstoss"), self).__init__(Identitaet, Basis_Objekt_Allg, ID_Bearbeitungsvermerk, ID_Oertlichkeit_Ausgabe, Objektreferenzen, **kwargs_) + self.ID_Vorsignal = ID_Vorsignal + self.ID_Vorsignal_nsprefix_ = None + self.ID_ZL_Fstr = ID_ZL_Fstr + self.ID_ZL_Fstr_nsprefix_ = None + self.ZL_Fstr_Anstoss_Allg = ZL_Fstr_Anstoss_Allg + self.ZL_Fstr_Anstoss_Allg_nsprefix_ = None + if ZL_Fstr_Anstoss_GK is None: + self.ZL_Fstr_Anstoss_GK = [] + else: + self.ZL_Fstr_Anstoss_GK = ZL_Fstr_Anstoss_GK + self.ZL_Fstr_Anstoss_GK_nsprefix_ = None + self.ID_Einschaltpunkt = ID_Einschaltpunkt + self.ID_Einschaltpunkt_nsprefix_ = None + self.ID_ZN_Anzeigefeld_Anstoss = ID_ZN_Anzeigefeld_Anstoss + self.ID_ZN_Anzeigefeld_Anstoss_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CZL_Fstr_Anstoss) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CZL_Fstr_Anstoss.subclass: + return CZL_Fstr_Anstoss.subclass(*args_, **kwargs_) + else: + return CZL_Fstr_Anstoss(*args_, **kwargs_) + factory = staticmethod(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_Vorsignal(self): + return self.ID_Vorsignal + def set_ID_Vorsignal(self, ID_Vorsignal): + self.ID_Vorsignal = ID_Vorsignal + def get_ID_ZL_Fstr(self): + return self.ID_ZL_Fstr + def set_ID_ZL_Fstr(self, ID_ZL_Fstr): + self.ID_ZL_Fstr = ID_ZL_Fstr + def get_ZL_Fstr_Anstoss_Allg(self): + return self.ZL_Fstr_Anstoss_Allg + def set_ZL_Fstr_Anstoss_Allg(self, ZL_Fstr_Anstoss_Allg): + self.ZL_Fstr_Anstoss_Allg = ZL_Fstr_Anstoss_Allg + def get_ZL_Fstr_Anstoss_GK(self): + return self.ZL_Fstr_Anstoss_GK + def set_ZL_Fstr_Anstoss_GK(self, ZL_Fstr_Anstoss_GK): + self.ZL_Fstr_Anstoss_GK = ZL_Fstr_Anstoss_GK + def add_ZL_Fstr_Anstoss_GK(self, value): + self.ZL_Fstr_Anstoss_GK.append(value) + def insert_ZL_Fstr_Anstoss_GK_at(self, index, value): + self.ZL_Fstr_Anstoss_GK.insert(index, value) + def replace_ZL_Fstr_Anstoss_GK_at(self, index, value): + self.ZL_Fstr_Anstoss_GK[index] = value + def get_ID_Einschaltpunkt(self): + return self.ID_Einschaltpunkt + def set_ID_Einschaltpunkt(self, ID_Einschaltpunkt): + self.ID_Einschaltpunkt = ID_Einschaltpunkt + def get_ID_ZN_Anzeigefeld_Anstoss(self): + return self.ID_ZN_Anzeigefeld_Anstoss + def set_ID_ZN_Anzeigefeld_Anstoss(self, ID_ZN_Anzeigefeld_Anstoss): + self.ID_ZN_Anzeigefeld_Anstoss = ID_ZN_Anzeigefeld_Anstoss + def has__content(self): + if ( + self.ID_Vorsignal is not None or + self.ID_ZL_Fstr is not None or + self.ZL_Fstr_Anstoss_Allg is not None or + self.ZL_Fstr_Anstoss_GK or + self.ID_Einschaltpunkt is not None or + self.ID_ZN_Anzeigefeld_Anstoss is not None or + super(CZL_Fstr_Anstoss, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsZuglenkung:', namespacedef_='xmlns:nsZuglenkung="http://www.plan-pro.org/modell/Zuglenkung/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CZL_Fstr_Anstoss', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CZL_Fstr_Anstoss') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CZL_Fstr_Anstoss': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CZL_Fstr_Anstoss') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CZL_Fstr_Anstoss', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsZuglenkung:', name_='CZL_Fstr_Anstoss'): + super(CZL_Fstr_Anstoss, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CZL_Fstr_Anstoss') + def _exportChildren(self, outfile, level, namespaceprefix_='nsZuglenkung:', namespacedef_='xmlns:nsZuglenkung="http://www.plan-pro.org/modell/Zuglenkung/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CZL_Fstr_Anstoss', fromsubclass_=False, pretty_print=True): + super(CZL_Fstr_Anstoss, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.ID_Vorsignal is not None: + namespaceprefix_ = self.ID_Vorsignal_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Vorsignal_nsprefix_) else '' + self.ID_Vorsignal.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Vorsignal', pretty_print=pretty_print) + if self.ID_ZL_Fstr is not None: + namespaceprefix_ = self.ID_ZL_Fstr_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_ZL_Fstr_nsprefix_) else '' + self.ID_ZL_Fstr.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_ZL_Fstr', pretty_print=pretty_print) + if self.ZL_Fstr_Anstoss_Allg is not None: + namespaceprefix_ = self.ZL_Fstr_Anstoss_Allg_nsprefix_ + ':' if (UseCapturedNS_ and self.ZL_Fstr_Anstoss_Allg_nsprefix_) else '' + self.ZL_Fstr_Anstoss_Allg.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ZL_Fstr_Anstoss_Allg', pretty_print=pretty_print) + for ZL_Fstr_Anstoss_GK_ in self.ZL_Fstr_Anstoss_GK: + namespaceprefix_ = self.ZL_Fstr_Anstoss_GK_nsprefix_ + ':' if (UseCapturedNS_ and self.ZL_Fstr_Anstoss_GK_nsprefix_) else '' + ZL_Fstr_Anstoss_GK_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ZL_Fstr_Anstoss_GK', pretty_print=pretty_print) + if self.ID_Einschaltpunkt is not None: + namespaceprefix_ = self.ID_Einschaltpunkt_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Einschaltpunkt_nsprefix_) else '' + self.ID_Einschaltpunkt.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Einschaltpunkt', pretty_print=pretty_print) + if self.ID_ZN_Anzeigefeld_Anstoss is not None: + namespaceprefix_ = self.ID_ZN_Anzeigefeld_Anstoss_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_ZN_Anzeigefeld_Anstoss_nsprefix_) else '' + self.ID_ZN_Anzeigefeld_Anstoss.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_ZN_Anzeigefeld_Anstoss', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CZL_Fstr_Anstoss, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Vorsignal': + obj_ = TCID_Signal.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Vorsignal = obj_ + obj_.original_tagname_ = 'ID_Vorsignal' + elif nodeName_ == 'ID_ZL_Fstr': + obj_ = TCID_ZL_Fstr.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_ZL_Fstr = obj_ + obj_.original_tagname_ = 'ID_ZL_Fstr' + elif nodeName_ == 'ZL_Fstr_Anstoss_Allg': + obj_ = CZL_Fstr_Anstoss_Allg.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ZL_Fstr_Anstoss_Allg = obj_ + obj_.original_tagname_ = 'ZL_Fstr_Anstoss_Allg' + elif nodeName_ == 'ZL_Fstr_Anstoss_GK': + obj_ = CZL_Fstr_Anstoss_GK.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ZL_Fstr_Anstoss_GK.append(obj_) + obj_.original_tagname_ = 'ZL_Fstr_Anstoss_GK' + elif nodeName_ == 'ID_Einschaltpunkt': + obj_ = TCID_Einschaltpunkt.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Einschaltpunkt = obj_ + obj_.original_tagname_ = 'ID_Einschaltpunkt' + elif nodeName_ == 'ID_ZN_Anzeigefeld_Anstoss': + obj_ = TCID_ZN_Anzeigefeld_Anstoss.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_ZN_Anzeigefeld_Anstoss = obj_ + obj_.original_tagname_ = 'ID_ZN_Anzeigefeld_Anstoss' + super(CZL_Fstr_Anstoss, self)._buildChildren(child_, node, nodeName_, True) +# end class CZL_Fstr_Anstoss + + +class CZL_Fstr_Allg(GeneratedsSuper): + """Annaeherungsgeschwindigkeit -- Geschwindigkeit, die der Berechnung des Ansto + ß + zeitpunktes einer Fahrstra + ß + e zugrunde liegt. Die genaue Verwendung des Begriffes ist momentan in der Abstimmung mit den Experten der ZL, da dort in den verschiedenen Bauformen unterschiedliche Philosophien umgesetzt wurden und die Lastenheft-Vorgabe nicht eindeutig ist. DB-Regelwerk Ermittlung gem + ä + ß + 819.0732 15 + DWeg_Prio -- D-Weg-Priorit + ä + t f + ü + r die vorgesehene ZL-Fahrstra + ß + e, wenn diese aus betrieblichen Gr + ü + nden gefordert wird. Es ist ein Zahlenwert von 0..4 einzutragen. + Fstr_Bildezeit -- F + ü + r die Ermittlung des rechtzeitigen Fahrstra + ß + enansto + ß + es notwendige Fahrstra + ß + enbildezeit. DB-Regelwerk Ril 819.0732 + FUEM_Auswertung -- Auswertung der FUEM bei der Einstellung der ZL-Fahrstra + ß + e. Die F + Ü + M-Auswertung (blinkend) ist notwendig, wenn bei der vorhergehenden Fstr. ein B + Ü + enthalten ist, der zum Zeitpunkt des Fstr.-Ansto + ß + es noch nicht geschlossen ist. DB-Regelwerk 819.0732 8 (3) + Sichtzeit_Vorsignal -- Angabe der Sichtzeit auf das Vorsignal in Sekunden, Standard 15 Sekunden. Der Wert kann projektabh + ä + ngig ver + ä + ndert werden. F + ü + r ZL-Fahrstra + ß + en, die kein Vorsignal haben (LZB-Blockkennzeichen) ist der Wert + „ + 0 + “ + anzugeben. DB-Regelwerk 819.0732 5 (2) 819.0732 11 (3) + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Annaeherungsgeschwindigkeit=None, DWeg_Prio=None, Fstr_Bildezeit=None, FUEM_Auswertung=None, Sichtzeit_Vorsignal=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Annaeherungsgeschwindigkeit = Annaeherungsgeschwindigkeit + self.Annaeherungsgeschwindigkeit_nsprefix_ = None + self.DWeg_Prio = DWeg_Prio + self.DWeg_Prio_nsprefix_ = None + self.Fstr_Bildezeit = Fstr_Bildezeit + self.Fstr_Bildezeit_nsprefix_ = None + self.FUEM_Auswertung = FUEM_Auswertung + self.FUEM_Auswertung_nsprefix_ = None + self.Sichtzeit_Vorsignal = Sichtzeit_Vorsignal + self.Sichtzeit_Vorsignal_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CZL_Fstr_Allg) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CZL_Fstr_Allg.subclass: + return CZL_Fstr_Allg.subclass(*args_, **kwargs_) + else: + return CZL_Fstr_Allg(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Annaeherungsgeschwindigkeit(self): + return self.Annaeherungsgeschwindigkeit + def set_Annaeherungsgeschwindigkeit(self, Annaeherungsgeschwindigkeit): + self.Annaeherungsgeschwindigkeit = Annaeherungsgeschwindigkeit + def get_DWeg_Prio(self): + return self.DWeg_Prio + def set_DWeg_Prio(self, DWeg_Prio): + self.DWeg_Prio = DWeg_Prio + def get_Fstr_Bildezeit(self): + return self.Fstr_Bildezeit + def set_Fstr_Bildezeit(self, Fstr_Bildezeit): + self.Fstr_Bildezeit = Fstr_Bildezeit + def get_FUEM_Auswertung(self): + return self.FUEM_Auswertung + def set_FUEM_Auswertung(self, FUEM_Auswertung): + self.FUEM_Auswertung = FUEM_Auswertung + def get_Sichtzeit_Vorsignal(self): + return self.Sichtzeit_Vorsignal + def set_Sichtzeit_Vorsignal(self, Sichtzeit_Vorsignal): + self.Sichtzeit_Vorsignal = Sichtzeit_Vorsignal + def has__content(self): + if ( + self.Annaeherungsgeschwindigkeit is not None or + self.DWeg_Prio is not None or + self.Fstr_Bildezeit is not None or + self.FUEM_Auswertung is not None or + self.Sichtzeit_Vorsignal is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsZuglenkung:', namespacedef_='xmlns:nsZuglenkung="http://www.plan-pro.org/modell/Zuglenkung/1.10.0"', name_='CZL_Fstr_Allg', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CZL_Fstr_Allg') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CZL_Fstr_Allg': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CZL_Fstr_Allg') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CZL_Fstr_Allg', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsZuglenkung:', name_='CZL_Fstr_Allg'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsZuglenkung:', namespacedef_='xmlns:nsZuglenkung="http://www.plan-pro.org/modell/Zuglenkung/1.10.0"', name_='CZL_Fstr_Allg', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Annaeherungsgeschwindigkeit is not None: + namespaceprefix_ = self.Annaeherungsgeschwindigkeit_nsprefix_ + ':' if (UseCapturedNS_ and self.Annaeherungsgeschwindigkeit_nsprefix_) else '' + self.Annaeherungsgeschwindigkeit.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Annaeherungsgeschwindigkeit', pretty_print=pretty_print) + if self.DWeg_Prio is not None: + namespaceprefix_ = self.DWeg_Prio_nsprefix_ + ':' if (UseCapturedNS_ and self.DWeg_Prio_nsprefix_) else '' + self.DWeg_Prio.export(outfile, level, namespaceprefix_, namespacedef_='', name_='DWeg_Prio', pretty_print=pretty_print) + if self.Fstr_Bildezeit is not None: + namespaceprefix_ = self.Fstr_Bildezeit_nsprefix_ + ':' if (UseCapturedNS_ and self.Fstr_Bildezeit_nsprefix_) else '' + self.Fstr_Bildezeit.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Fstr_Bildezeit', pretty_print=pretty_print) + if self.FUEM_Auswertung is not None: + namespaceprefix_ = self.FUEM_Auswertung_nsprefix_ + ':' if (UseCapturedNS_ and self.FUEM_Auswertung_nsprefix_) else '' + self.FUEM_Auswertung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='FUEM_Auswertung', pretty_print=pretty_print) + if self.Sichtzeit_Vorsignal is not None: + namespaceprefix_ = self.Sichtzeit_Vorsignal_nsprefix_ + ':' if (UseCapturedNS_ and self.Sichtzeit_Vorsignal_nsprefix_) else '' + self.Sichtzeit_Vorsignal.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Sichtzeit_Vorsignal', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Annaeherungsgeschwindigkeit': + obj_ = TCAnnaeherungsgeschwindigkeit.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Annaeherungsgeschwindigkeit = obj_ + obj_.original_tagname_ = 'Annaeherungsgeschwindigkeit' + elif nodeName_ == 'DWeg_Prio': + obj_ = TCDWeg_Prio.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.DWeg_Prio = obj_ + obj_.original_tagname_ = 'DWeg_Prio' + elif nodeName_ == 'Fstr_Bildezeit': + obj_ = TCFstr_Bildezeit.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Fstr_Bildezeit = obj_ + obj_.original_tagname_ = 'Fstr_Bildezeit' + elif nodeName_ == 'FUEM_Auswertung': + obj_ = TCFUEM_Auswertung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.FUEM_Auswertung = obj_ + obj_.original_tagname_ = 'FUEM_Auswertung' + elif nodeName_ == 'Sichtzeit_Vorsignal': + obj_ = TCSichtzeit_Vorsignal.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Sichtzeit_Vorsignal = obj_ + obj_.original_tagname_ = 'Sichtzeit_Vorsignal' +# end class CZL_Fstr_Allg + + +class CZL_DLP_Abschnitt(CBasis_Objekt): + """CZL_DLP_Abschnitt -- Sammlung der Gleisabschnitte, die in ZL DLP Fstr eingebunden werden und f + ü + r die eine Pr + ü + fung auf Deadlock erfolgen muss. DB-Regelwerk TM 2011-024 I.NVT 3 + ID_Gleis_Abschnitt -- Angabe, welche Freimeldeabschnitte gepr + ü + ft werden m + ü + ssen. + ID_ZL_DLP_Fstr -- Angabe der ZL DLP Fstr, f + ü + r welche die Gleisabschnitte UND-verkn + ü + pft werden m + ü + ssen. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasis_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, ID_Gleis_Abschnitt=None, ID_ZL_DLP_Fstr=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CZL_DLP_Abschnitt"), self).__init__(Identitaet, Basis_Objekt_Allg, ID_Bearbeitungsvermerk, ID_Oertlichkeit_Ausgabe, Objektreferenzen, **kwargs_) + if ID_Gleis_Abschnitt is None: + self.ID_Gleis_Abschnitt = [] + else: + self.ID_Gleis_Abschnitt = ID_Gleis_Abschnitt + self.ID_Gleis_Abschnitt_nsprefix_ = None + self.ID_ZL_DLP_Fstr = ID_ZL_DLP_Fstr + self.ID_ZL_DLP_Fstr_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CZL_DLP_Abschnitt) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CZL_DLP_Abschnitt.subclass: + return CZL_DLP_Abschnitt.subclass(*args_, **kwargs_) + else: + return CZL_DLP_Abschnitt(*args_, **kwargs_) + factory = staticmethod(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_Gleis_Abschnitt(self): + return self.ID_Gleis_Abschnitt + def set_ID_Gleis_Abschnitt(self, ID_Gleis_Abschnitt): + self.ID_Gleis_Abschnitt = ID_Gleis_Abschnitt + def add_ID_Gleis_Abschnitt(self, value): + self.ID_Gleis_Abschnitt.append(value) + def insert_ID_Gleis_Abschnitt_at(self, index, value): + self.ID_Gleis_Abschnitt.insert(index, value) + def replace_ID_Gleis_Abschnitt_at(self, index, value): + self.ID_Gleis_Abschnitt[index] = value + def get_ID_ZL_DLP_Fstr(self): + return self.ID_ZL_DLP_Fstr + def set_ID_ZL_DLP_Fstr(self, ID_ZL_DLP_Fstr): + self.ID_ZL_DLP_Fstr = ID_ZL_DLP_Fstr + def has__content(self): + if ( + self.ID_Gleis_Abschnitt or + self.ID_ZL_DLP_Fstr is not None or + super(CZL_DLP_Abschnitt, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsZuglenkung:', namespacedef_='xmlns:nsZuglenkung="http://www.plan-pro.org/modell/Zuglenkung/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CZL_DLP_Abschnitt', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CZL_DLP_Abschnitt') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CZL_DLP_Abschnitt': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CZL_DLP_Abschnitt') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CZL_DLP_Abschnitt', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsZuglenkung:', name_='CZL_DLP_Abschnitt'): + super(CZL_DLP_Abschnitt, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CZL_DLP_Abschnitt') + def _exportChildren(self, outfile, level, namespaceprefix_='nsZuglenkung:', namespacedef_='xmlns:nsZuglenkung="http://www.plan-pro.org/modell/Zuglenkung/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CZL_DLP_Abschnitt', fromsubclass_=False, pretty_print=True): + super(CZL_DLP_Abschnitt, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Gleis_Abschnitt_ in self.ID_Gleis_Abschnitt: + namespaceprefix_ = self.ID_Gleis_Abschnitt_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Gleis_Abschnitt_nsprefix_) else '' + ID_Gleis_Abschnitt_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Gleis_Abschnitt', pretty_print=pretty_print) + if self.ID_ZL_DLP_Fstr is not None: + namespaceprefix_ = self.ID_ZL_DLP_Fstr_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_ZL_DLP_Fstr_nsprefix_) else '' + self.ID_ZL_DLP_Fstr.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_ZL_DLP_Fstr', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CZL_DLP_Abschnitt, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Gleis_Abschnitt': + obj_ = TCID_Gleis_Abschnitt.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Gleis_Abschnitt.append(obj_) + obj_.original_tagname_ = 'ID_Gleis_Abschnitt' + elif nodeName_ == 'ID_ZL_DLP_Fstr': + obj_ = TCID_ZL_DLP_Fstr.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_ZL_DLP_Fstr = obj_ + obj_.original_tagname_ = 'ID_ZL_DLP_Fstr' + super(CZL_DLP_Abschnitt, self)._buildChildren(child_, node, nodeName_, True) +# end class CZL_DLP_Abschnitt + + +class CZL_Signalgruppe_Zuordnung(CBasis_Objekt): + """CZL_Signalgruppe_Zuordnung -- Zuordnung von Signalen zur ZL Signalgruppe. DB-Regelwerk 819.0732 A06 Im PT1 erfolgt die Angabe in einer gesonderten Tabelle, f + ü + r die es im Regelwerk z. Zt. keine Vorgabe gibt. + ID_Signal -- Verweis auf ein Signal, das der ZL_Signalgruppe zugeordnet wird. + ID_ZL_Signalgruppe -- Verweis auf die ZL_Signalgruppe, zu der das zugeordnete Signal geh + ö + rt. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasis_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, ID_Signal=None, ID_ZL_Signalgruppe=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CZL_Signalgruppe_Zuordnung"), self).__init__(Identitaet, Basis_Objekt_Allg, ID_Bearbeitungsvermerk, ID_Oertlichkeit_Ausgabe, Objektreferenzen, **kwargs_) + self.ID_Signal = ID_Signal + self.ID_Signal_nsprefix_ = None + self.ID_ZL_Signalgruppe = ID_ZL_Signalgruppe + self.ID_ZL_Signalgruppe_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CZL_Signalgruppe_Zuordnung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CZL_Signalgruppe_Zuordnung.subclass: + return CZL_Signalgruppe_Zuordnung.subclass(*args_, **kwargs_) + else: + return CZL_Signalgruppe_Zuordnung(*args_, **kwargs_) + factory = staticmethod(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_Signal(self): + return self.ID_Signal + def set_ID_Signal(self, ID_Signal): + self.ID_Signal = ID_Signal + def get_ID_ZL_Signalgruppe(self): + return self.ID_ZL_Signalgruppe + def set_ID_ZL_Signalgruppe(self, ID_ZL_Signalgruppe): + self.ID_ZL_Signalgruppe = ID_ZL_Signalgruppe + def has__content(self): + if ( + self.ID_Signal is not None or + self.ID_ZL_Signalgruppe is not None or + super(CZL_Signalgruppe_Zuordnung, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsZuglenkung:', namespacedef_='xmlns:nsZuglenkung="http://www.plan-pro.org/modell/Zuglenkung/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CZL_Signalgruppe_Zuordnung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CZL_Signalgruppe_Zuordnung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CZL_Signalgruppe_Zuordnung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CZL_Signalgruppe_Zuordnung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CZL_Signalgruppe_Zuordnung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsZuglenkung:', name_='CZL_Signalgruppe_Zuordnung'): + super(CZL_Signalgruppe_Zuordnung, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CZL_Signalgruppe_Zuordnung') + def _exportChildren(self, outfile, level, namespaceprefix_='nsZuglenkung:', namespacedef_='xmlns:nsZuglenkung="http://www.plan-pro.org/modell/Zuglenkung/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CZL_Signalgruppe_Zuordnung', fromsubclass_=False, pretty_print=True): + super(CZL_Signalgruppe_Zuordnung, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.ID_Signal is not None: + namespaceprefix_ = self.ID_Signal_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Signal_nsprefix_) else '' + self.ID_Signal.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Signal', pretty_print=pretty_print) + if self.ID_ZL_Signalgruppe is not None: + namespaceprefix_ = self.ID_ZL_Signalgruppe_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_ZL_Signalgruppe_nsprefix_) else '' + self.ID_ZL_Signalgruppe.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_ZL_Signalgruppe', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CZL_Signalgruppe_Zuordnung, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Signal': + obj_ = TCID_Signal.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Signal = obj_ + obj_.original_tagname_ = 'ID_Signal' + elif nodeName_ == 'ID_ZL_Signalgruppe': + obj_ = TCID_ZL_Signalgruppe.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_ZL_Signalgruppe = obj_ + obj_.original_tagname_ = 'ID_ZL_Signalgruppe' + super(CZL_Signalgruppe_Zuordnung, self)._buildChildren(child_, node, nodeName_, True) +# end class CZL_Signalgruppe_Zuordnung + + +class CZL_Allg(GeneratedsSuper): + """Anzahl_Wiederhol_ZL_Anstoesse -- Anzahl erneuter Stellversuche nach negativer Stw-Quittung im Warteintervall von Standard 3-5 s nach positiver Stellbarkeitspr + ü + fung der ZL. DB-Regelwerk 819.0732 5 (2) + Deadlockpruefung -- In der Zuglenkung ist eine Deadlockpr + ü + fung (DLP) zu projektieren. Die Angabe, welche Gleisabschnitte in die Pr + ü + fung einzubeziehen sind, erfolgt + ü + ber ein gesondertes Objekt. Die Objekt-Instanzen, die in die DLP einbezogen werden m + ü + ssen, werden mit den Objekten ZL DLP Fstr und ZL DLP Abschnitt festgelegt. DB-Regelwerk TM 2011-024 I.NVT3 (Fa. Thales) + Einstellkontrollzeit -- Pr + ü + fung auf Fahrtstellung Signal nach Ansto + ß + innerhalb einer Zeit, bei Nicht-Fahrtstellung Lenkabbruch, Angabe in Sekunden, Standard 120 s. Der gew + ä + hlte Wert muss gr + ö + ß + er sein als die Summe aus Ansto + ß + verz + ö + gerung und Fahrstra + ß + enbildungszeit. DB-Regelwerk 819.0732 5 (5) + Lenkabbruchzeit -- Zeit bis zum Lenkabbruch, wenn die zyklische Stellbarkeitspr + ü + fung der ZL bis dahin negativ war. Der Standard-Wert betr + ä + gt 600 s. Die Angabe in den Tools muss in Minuten erfolgen. DB-Regelwerk 819.0732 5 (5) + Personal_Reaktionszeit -- Personalreaktionszeit, Angabe in Sekunden. Der Standardwert auf Hauptbahnen betr + ä + gt 45 Sekunden, der Standardwert auf Nebenbahnen 15 Sekunden. Abweichungen sind m + ö + glich, bed + ü + rfen jedoch der betrieblichen Best + ä + tigung. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anzahl_Wiederhol_ZL_Anstoesse=None, Deadlockpruefung=None, Einstellkontrollzeit=None, Lenkabbruchzeit=None, Personal_Reaktionszeit=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anzahl_Wiederhol_ZL_Anstoesse = Anzahl_Wiederhol_ZL_Anstoesse + self.Anzahl_Wiederhol_ZL_Anstoesse_nsprefix_ = None + self.Deadlockpruefung = Deadlockpruefung + self.Deadlockpruefung_nsprefix_ = None + self.Einstellkontrollzeit = Einstellkontrollzeit + self.Einstellkontrollzeit_nsprefix_ = None + self.Lenkabbruchzeit = Lenkabbruchzeit + self.Lenkabbruchzeit_nsprefix_ = None + self.Personal_Reaktionszeit = Personal_Reaktionszeit + self.Personal_Reaktionszeit_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CZL_Allg) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CZL_Allg.subclass: + return CZL_Allg.subclass(*args_, **kwargs_) + else: + return CZL_Allg(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anzahl_Wiederhol_ZL_Anstoesse(self): + return self.Anzahl_Wiederhol_ZL_Anstoesse + def set_Anzahl_Wiederhol_ZL_Anstoesse(self, Anzahl_Wiederhol_ZL_Anstoesse): + self.Anzahl_Wiederhol_ZL_Anstoesse = Anzahl_Wiederhol_ZL_Anstoesse + def get_Deadlockpruefung(self): + return self.Deadlockpruefung + def set_Deadlockpruefung(self, Deadlockpruefung): + self.Deadlockpruefung = Deadlockpruefung + def get_Einstellkontrollzeit(self): + return self.Einstellkontrollzeit + def set_Einstellkontrollzeit(self, Einstellkontrollzeit): + self.Einstellkontrollzeit = Einstellkontrollzeit + def get_Lenkabbruchzeit(self): + return self.Lenkabbruchzeit + def set_Lenkabbruchzeit(self, Lenkabbruchzeit): + self.Lenkabbruchzeit = Lenkabbruchzeit + def get_Personal_Reaktionszeit(self): + return self.Personal_Reaktionszeit + def set_Personal_Reaktionszeit(self, Personal_Reaktionszeit): + self.Personal_Reaktionszeit = Personal_Reaktionszeit + def has__content(self): + if ( + self.Anzahl_Wiederhol_ZL_Anstoesse is not None or + self.Deadlockpruefung is not None or + self.Einstellkontrollzeit is not None or + self.Lenkabbruchzeit is not None or + self.Personal_Reaktionszeit is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsZuglenkung:', namespacedef_='xmlns:nsZuglenkung="http://www.plan-pro.org/modell/Zuglenkung/1.10.0"', name_='CZL_Allg', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CZL_Allg') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CZL_Allg': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CZL_Allg') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CZL_Allg', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsZuglenkung:', name_='CZL_Allg'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsZuglenkung:', namespacedef_='xmlns:nsZuglenkung="http://www.plan-pro.org/modell/Zuglenkung/1.10.0"', name_='CZL_Allg', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Anzahl_Wiederhol_ZL_Anstoesse is not None: + namespaceprefix_ = self.Anzahl_Wiederhol_ZL_Anstoesse_nsprefix_ + ':' if (UseCapturedNS_ and self.Anzahl_Wiederhol_ZL_Anstoesse_nsprefix_) else '' + self.Anzahl_Wiederhol_ZL_Anstoesse.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Anzahl_Wiederhol_ZL_Anstoesse', pretty_print=pretty_print) + if self.Deadlockpruefung is not None: + namespaceprefix_ = self.Deadlockpruefung_nsprefix_ + ':' if (UseCapturedNS_ and self.Deadlockpruefung_nsprefix_) else '' + self.Deadlockpruefung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Deadlockpruefung', pretty_print=pretty_print) + if self.Einstellkontrollzeit is not None: + namespaceprefix_ = self.Einstellkontrollzeit_nsprefix_ + ':' if (UseCapturedNS_ and self.Einstellkontrollzeit_nsprefix_) else '' + self.Einstellkontrollzeit.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Einstellkontrollzeit', pretty_print=pretty_print) + if self.Lenkabbruchzeit is not None: + namespaceprefix_ = self.Lenkabbruchzeit_nsprefix_ + ':' if (UseCapturedNS_ and self.Lenkabbruchzeit_nsprefix_) else '' + self.Lenkabbruchzeit.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Lenkabbruchzeit', pretty_print=pretty_print) + if self.Personal_Reaktionszeit is not None: + namespaceprefix_ = self.Personal_Reaktionszeit_nsprefix_ + ':' if (UseCapturedNS_ and self.Personal_Reaktionszeit_nsprefix_) else '' + self.Personal_Reaktionszeit.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Personal_Reaktionszeit', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Anzahl_Wiederhol_ZL_Anstoesse': + obj_ = TCAnzahl_Wiederhol_ZL_Anstoesse.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Anzahl_Wiederhol_ZL_Anstoesse = obj_ + obj_.original_tagname_ = 'Anzahl_Wiederhol_ZL_Anstoesse' + elif nodeName_ == 'Deadlockpruefung': + obj_ = TCDeadlockpruefung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Deadlockpruefung = obj_ + obj_.original_tagname_ = 'Deadlockpruefung' + elif nodeName_ == 'Einstellkontrollzeit': + obj_ = TCEinstellkontrollzeit.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Einstellkontrollzeit = obj_ + obj_.original_tagname_ = 'Einstellkontrollzeit' + elif nodeName_ == 'Lenkabbruchzeit': + obj_ = TCLenkabbruchzeit.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Lenkabbruchzeit = obj_ + obj_.original_tagname_ = 'Lenkabbruchzeit' + elif nodeName_ == 'Personal_Reaktionszeit': + obj_ = TCPersonal_Reaktionszeit.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Personal_Reaktionszeit = obj_ + obj_.original_tagname_ = 'Personal_Reaktionszeit' +# end class CZL_Allg + + +class TCFstr_Bildezeit(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCFstr_Bildezeit"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TFstr_Bildezeit(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCFstr_Bildezeit) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCFstr_Bildezeit.subclass: + return TCFstr_Bildezeit.subclass(*args_, **kwargs_) + else: + return TCFstr_Bildezeit(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TFstr_Bildezeit(self, value): + result = True + # Validate type TFstr_Bildezeit, a restriction on nsBasisTypen:TSekunde. + 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 not self.gds_validate_simple_patterns( + self.validate_TFstr_Bildezeit_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TFstr_Bildezeit_patterns_, )) + result = False + return result + validate_TFstr_Bildezeit_patterns_ = [['^(0|[1-9][0-9]{0,1}|[1-8][0-9]{2}|900)$'], ['^([0-9]{1,5}(\\.[0-9]{2})?)$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCFstr_Bildezeit, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsZuglenkung:', namespacedef_='xmlns:nsZuglenkung="http://www.plan-pro.org/modell/Zuglenkung/1.10.0"', name_='TCFstr_Bildezeit', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCFstr_Bildezeit') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCFstr_Bildezeit': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCFstr_Bildezeit') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCFstr_Bildezeit', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsZuglenkung:', name_='TCFstr_Bildezeit'): + super(TCFstr_Bildezeit, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCFstr_Bildezeit') + def _exportChildren(self, outfile, level, namespaceprefix_='nsZuglenkung:', namespacedef_='xmlns:nsZuglenkung="http://www.plan-pro.org/modell/Zuglenkung/1.10.0"', name_='TCFstr_Bildezeit', fromsubclass_=False, pretty_print=True): + super(TCFstr_Bildezeit, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_decimal(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCFstr_Bildezeit, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + fval_ = self.gds_parse_decimal(sval_, node, 'Wert') + fval_ = self.gds_validate_decimal(fval_, node, 'Wert') + self.Wert = fval_ + self.Wert_nsprefix_ = child_.prefix + # validate type TFstr_Bildezeit + self.validate_TFstr_Bildezeit(self.Wert) + super(TCFstr_Bildezeit, self)._buildChildren(child_, node, nodeName_, True) +# end class TCFstr_Bildezeit + + +class TCSichtzeit_Vorsignal(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCSichtzeit_Vorsignal"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TSichtzeit_Vorsignal(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCSichtzeit_Vorsignal) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCSichtzeit_Vorsignal.subclass: + return TCSichtzeit_Vorsignal.subclass(*args_, **kwargs_) + else: + return TCSichtzeit_Vorsignal(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TSichtzeit_Vorsignal(self, value): + result = True + # Validate type TSichtzeit_Vorsignal, a restriction on nsBasisTypen:TSekunde. + 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 not self.gds_validate_simple_patterns( + self.validate_TSichtzeit_Vorsignal_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TSichtzeit_Vorsignal_patterns_, )) + result = False + return result + validate_TSichtzeit_Vorsignal_patterns_ = [['^(0|1[0-9]|20)$'], ['^([0-9]{1,5}(\\.[0-9]{2})?)$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCSichtzeit_Vorsignal, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsZuglenkung:', namespacedef_='xmlns:nsZuglenkung="http://www.plan-pro.org/modell/Zuglenkung/1.10.0"', name_='TCSichtzeit_Vorsignal', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCSichtzeit_Vorsignal') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCSichtzeit_Vorsignal': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCSichtzeit_Vorsignal') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCSichtzeit_Vorsignal', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsZuglenkung:', name_='TCSichtzeit_Vorsignal'): + super(TCSichtzeit_Vorsignal, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCSichtzeit_Vorsignal') + def _exportChildren(self, outfile, level, namespaceprefix_='nsZuglenkung:', namespacedef_='xmlns:nsZuglenkung="http://www.plan-pro.org/modell/Zuglenkung/1.10.0"', name_='TCSichtzeit_Vorsignal', fromsubclass_=False, pretty_print=True): + super(TCSichtzeit_Vorsignal, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_decimal(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCSichtzeit_Vorsignal, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + fval_ = self.gds_parse_decimal(sval_, node, 'Wert') + fval_ = self.gds_validate_decimal(fval_, node, 'Wert') + self.Wert = fval_ + self.Wert_nsprefix_ = child_.prefix + # validate type TSichtzeit_Vorsignal + self.validate_TSichtzeit_Vorsignal(self.Wert) + super(TCSichtzeit_Vorsignal, self)._buildChildren(child_, node, nodeName_, True) +# end class TCSichtzeit_Vorsignal + + +class CZL_Signalgruppe(CBasis_Objekt): + """CZL_Signalgruppe -- Gruppe von Signalen (Haupt-, Sperrsignale), die von der Zug- bzw. Rangierlenkung f + ü + r die Vorzugregelung ben + ö + tigt wird. DB-Regelwerk 819.0732 A06 Im PT1 erfolgt die Angabe in einer gesonderten Tabelle, f + ü + r die es im Regelwerk z. Zt. keine Vorgabe gibt. + ID_ZL -- Verweis auf die zugeh + ö + rige ZL, der die Signalgruppe zugeordnet ist. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasis_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, ID_ZL=None, ZL_Signalgruppe_Allg=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CZL_Signalgruppe"), self).__init__(Identitaet, Basis_Objekt_Allg, ID_Bearbeitungsvermerk, ID_Oertlichkeit_Ausgabe, Objektreferenzen, **kwargs_) + self.ID_ZL = ID_ZL + self.ID_ZL_nsprefix_ = None + self.ZL_Signalgruppe_Allg = ZL_Signalgruppe_Allg + self.ZL_Signalgruppe_Allg_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CZL_Signalgruppe) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CZL_Signalgruppe.subclass: + return CZL_Signalgruppe.subclass(*args_, **kwargs_) + else: + return CZL_Signalgruppe(*args_, **kwargs_) + factory = staticmethod(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_ZL(self): + return self.ID_ZL + def set_ID_ZL(self, ID_ZL): + self.ID_ZL = ID_ZL + def get_ZL_Signalgruppe_Allg(self): + return self.ZL_Signalgruppe_Allg + def set_ZL_Signalgruppe_Allg(self, ZL_Signalgruppe_Allg): + self.ZL_Signalgruppe_Allg = ZL_Signalgruppe_Allg + def has__content(self): + if ( + self.ID_ZL is not None or + self.ZL_Signalgruppe_Allg is not None or + super(CZL_Signalgruppe, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsZuglenkung:', namespacedef_='xmlns:nsZuglenkung="http://www.plan-pro.org/modell/Zuglenkung/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CZL_Signalgruppe', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CZL_Signalgruppe') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CZL_Signalgruppe': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CZL_Signalgruppe') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CZL_Signalgruppe', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsZuglenkung:', name_='CZL_Signalgruppe'): + super(CZL_Signalgruppe, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CZL_Signalgruppe') + def _exportChildren(self, outfile, level, namespaceprefix_='nsZuglenkung:', namespacedef_='xmlns:nsZuglenkung="http://www.plan-pro.org/modell/Zuglenkung/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CZL_Signalgruppe', fromsubclass_=False, pretty_print=True): + super(CZL_Signalgruppe, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.ID_ZL is not None: + namespaceprefix_ = self.ID_ZL_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_ZL_nsprefix_) else '' + self.ID_ZL.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_ZL', pretty_print=pretty_print) + if self.ZL_Signalgruppe_Allg is not None: + namespaceprefix_ = self.ZL_Signalgruppe_Allg_nsprefix_ + ':' if (UseCapturedNS_ and self.ZL_Signalgruppe_Allg_nsprefix_) else '' + self.ZL_Signalgruppe_Allg.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ZL_Signalgruppe_Allg', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CZL_Signalgruppe, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_ZL': + obj_ = TCID_ZL.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_ZL = obj_ + obj_.original_tagname_ = 'ID_ZL' + elif nodeName_ == 'ZL_Signalgruppe_Allg': + obj_ = CZL_Signalgruppe_Allg.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ZL_Signalgruppe_Allg = obj_ + obj_.original_tagname_ = 'ZL_Signalgruppe_Allg' + super(CZL_Signalgruppe, self)._buildChildren(child_, node, nodeName_, True) +# end class CZL_Signalgruppe + + +class TCZL_Fstr_Zuschlag(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCZL_Fstr_Zuschlag"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TZL_Fstr_Zuschlag(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCZL_Fstr_Zuschlag) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCZL_Fstr_Zuschlag.subclass: + return TCZL_Fstr_Zuschlag.subclass(*args_, **kwargs_) + else: + return TCZL_Fstr_Zuschlag(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TZL_Fstr_Zuschlag(self, value): + result = True + # Validate type TZL_Fstr_Zuschlag, a restriction on nsBasisTypen:TSekunde. + 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 not self.gds_validate_simple_patterns( + self.validate_TZL_Fstr_Zuschlag_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TZL_Fstr_Zuschlag_patterns_, )) + result = False + return result + validate_TZL_Fstr_Zuschlag_patterns_ = [['^([0-9]{1,5}(\\.[0-9]{2})?)$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCZL_Fstr_Zuschlag, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsZuglenkung:', namespacedef_='xmlns:nsZuglenkung="http://www.plan-pro.org/modell/Zuglenkung/1.10.0"', name_='TCZL_Fstr_Zuschlag', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCZL_Fstr_Zuschlag') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCZL_Fstr_Zuschlag': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCZL_Fstr_Zuschlag') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCZL_Fstr_Zuschlag', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsZuglenkung:', name_='TCZL_Fstr_Zuschlag'): + super(TCZL_Fstr_Zuschlag, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCZL_Fstr_Zuschlag') + def _exportChildren(self, outfile, level, namespaceprefix_='nsZuglenkung:', namespacedef_='xmlns:nsZuglenkung="http://www.plan-pro.org/modell/Zuglenkung/1.10.0"', name_='TCZL_Fstr_Zuschlag', fromsubclass_=False, pretty_print=True): + super(TCZL_Fstr_Zuschlag, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_decimal(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCZL_Fstr_Zuschlag, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + fval_ = self.gds_parse_decimal(sval_, node, 'Wert') + fval_ = self.gds_validate_decimal(fval_, node, 'Wert') + self.Wert = fval_ + self.Wert_nsprefix_ = child_.prefix + # validate type TZL_Fstr_Zuschlag + self.validate_TZL_Fstr_Zuschlag(self.Wert) + super(TCZL_Fstr_Zuschlag, self)._buildChildren(child_, node, nodeName_, True) +# end class TCZL_Fstr_Zuschlag + + +class So_20(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen=None, Beleuchtbar=True, Beschreibung='schwarzes Rechteck mit weißem Dreieck nach rechts oder links weisend', Geltungsbereich_DS=True, Geltungsbereich_DV=True, Geltungsbereich_SBahn_B=True, Geltungsbereich_SBahn_HH=True, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS='So 20', Kurzbezeichnung_DV='So 20', Langbezeichnung='Zuordnungstafel', Schaltbar=False, Zusatz_Moeglich=False, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, So_20) + if subclass is not None: + return subclass(*args_, **kwargs_) + if So_20.subclass: + return So_20.subclass(*args_, **kwargs_) + else: + return So_20(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='So_20', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('So_20') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'So_20': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='So_20') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='So_20', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='So_20'): + if self.Anmerkungen is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if not self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'schwarzes Rechteck mit weißem Dreieck nach rechts oder links weisend' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if not self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if not self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if not self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if not self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS != 'So 20' and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV != 'So 20' and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung != 'Zuordnungstafel' and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='So_20', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class So_20 + + +class Ms_ws_rt_ws(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen=None, Beleuchtbar=False, Beschreibung='Mastschild weiß-rot-weiß', Geltungsbereich_DS=True, Geltungsbereich_DV=True, Geltungsbereich_SBahn_B=True, Geltungsbereich_SBahn_HH=True, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS=None, Kurzbezeichnung_DV=None, Langbezeichnung=None, Schaltbar=False, Zusatz_Moeglich=False, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, Ms_ws_rt_ws) + if subclass is not None: + return subclass(*args_, **kwargs_) + if Ms_ws_rt_ws.subclass: + return Ms_ws_rt_ws.subclass(*args_, **kwargs_) + else: + return Ms_ws_rt_ws(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Ms_ws_rt_ws', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('Ms_ws_rt_ws') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'Ms_ws_rt_ws': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Ms_ws_rt_ws') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Ms_ws_rt_ws', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='Ms_ws_rt_ws'): + if self.Anmerkungen is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'Mastschild weiß-rot-weiß' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if not self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if not self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if not self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if not self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Ms_ws_rt_ws', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class Ms_ws_rt_ws + + +class Ms_rt(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen=None, Beleuchtbar=False, Beschreibung='Mastschild rot', Geltungsbereich_DS=False, Geltungsbereich_DV=False, Geltungsbereich_SBahn_B=True, Geltungsbereich_SBahn_HH=False, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS=None, Kurzbezeichnung_DV=None, Langbezeichnung=None, Schaltbar=False, Zusatz_Moeglich=False, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, Ms_rt) + if subclass is not None: + return subclass(*args_, **kwargs_) + if Ms_rt.subclass: + return Ms_rt.subclass(*args_, **kwargs_) + else: + return Ms_rt(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Ms_rt', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('Ms_rt') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'Ms_rt': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Ms_rt') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Ms_rt', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='Ms_rt'): + if self.Anmerkungen is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'Mastschild rot' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if not self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Ms_rt', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class Ms_rt + + +class Ms_ws_ge_ws(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen=None, Beleuchtbar=False, Beschreibung='Mastschild weiß-gelb-weiß-gelb-weiß', Geltungsbereich_DS=True, Geltungsbereich_DV=True, Geltungsbereich_SBahn_B=True, Geltungsbereich_SBahn_HH=True, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS=None, Kurzbezeichnung_DV=None, Langbezeichnung=None, Schaltbar=False, Zusatz_Moeglich=False, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, Ms_ws_ge_ws) + if subclass is not None: + return subclass(*args_, **kwargs_) + if Ms_ws_ge_ws.subclass: + return Ms_ws_ge_ws.subclass(*args_, **kwargs_) + else: + return Ms_ws_ge_ws(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Ms_ws_ge_ws', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('Ms_ws_ge_ws') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'Ms_ws_ge_ws': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Ms_ws_ge_ws') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Ms_ws_ge_ws', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='Ms_ws_ge_ws'): + if self.Anmerkungen is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'Mastschild weiß-gelb-weiß-gelb-weiß' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if not self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if not self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if not self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if not self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Ms_ws_ge_ws', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class Ms_ws_ge_ws + + +class Ms_ws_sw_ws(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen=None, Beleuchtbar=False, Beschreibung='Mastschild weiß-schwarz-weiß-schwarz-weiß', Geltungsbereich_DS=False, Geltungsbereich_DV=False, Geltungsbereich_SBahn_B=True, Geltungsbereich_SBahn_HH=True, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS=None, Kurzbezeichnung_DV=None, Langbezeichnung=None, Schaltbar=False, Zusatz_Moeglich=False, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, Ms_ws_sw_ws) + if subclass is not None: + return subclass(*args_, **kwargs_) + if Ms_ws_sw_ws.subclass: + return Ms_ws_sw_ws.subclass(*args_, **kwargs_) + else: + return Ms_ws_sw_ws(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Ms_ws_sw_ws', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('Ms_ws_sw_ws') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'Ms_ws_sw_ws': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Ms_ws_sw_ws') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Ms_ws_sw_ws', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='Ms_ws_sw_ws'): + if self.Anmerkungen is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'Mastschild weiß-schwarz-weiß-schwarz-weiß' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if not self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if not self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Ms_ws_sw_ws', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class Ms_ws_sw_ws + + +class Ms_ws_2swP(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen=None, Beleuchtbar=False, Beschreibung='Mastschild weiß mit zwei schwarzen Punkten', Geltungsbereich_DS=False, Geltungsbereich_DV=True, Geltungsbereich_SBahn_B=True, Geltungsbereich_SBahn_HH=False, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS=None, Kurzbezeichnung_DV=None, Langbezeichnung=None, Schaltbar=False, Zusatz_Moeglich=False, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, Ms_ws_2swP) + if subclass is not None: + return subclass(*args_, **kwargs_) + if Ms_ws_2swP.subclass: + return Ms_ws_2swP.subclass(*args_, **kwargs_) + else: + return Ms_ws_2swP(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Ms_ws_2swP', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('Ms_ws_2swP') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'Ms_ws_2swP': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Ms_ws_2swP') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Ms_ws_2swP', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='Ms_ws_2swP'): + if self.Anmerkungen is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'Mastschild weiß mit zwei schwarzen Punkten' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if not self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if not self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Ms_ws_2swP', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class Ms_ws_2swP + + +class Ukr(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen=None, Beleuchtbar=False, Beschreibung='Ungültigkeitskreuz (weißes Kreuz mit schwarzem Rand)', Geltungsbereich_DS=True, Geltungsbereich_DV=True, Geltungsbereich_SBahn_B=True, Geltungsbereich_SBahn_HH=True, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS=None, Kurzbezeichnung_DV=None, Langbezeichnung=None, Schaltbar=False, Zusatz_Moeglich=False, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, Ukr) + if subclass is not None: + return subclass(*args_, **kwargs_) + if Ukr.subclass: + return Ukr.subclass(*args_, **kwargs_) + else: + return Ukr(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Ukr', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('Ukr') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'Ukr': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Ukr') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Ukr', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='Ukr'): + if self.Anmerkungen is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'Ungültigkeitskreuz (weißes Kreuz mit schwarzem Rand)' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if not self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if not self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if not self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if not self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Ukr', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class Ukr + + +class Hp_0(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen=None, Beleuchtbar=False, Beschreibung='ein roter Lichtpunkt', Geltungsbereich_DS=True, Geltungsbereich_DV=True, Geltungsbereich_SBahn_B=True, Geltungsbereich_SBahn_HH=True, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS='Hp 0', Kurzbezeichnung_DV='Hp 0', Langbezeichnung=None, Schaltbar=True, Zusatz_Moeglich=False, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, Hp_0) + if subclass is not None: + return subclass(*args_, **kwargs_) + if Hp_0.subclass: + return Hp_0.subclass(*args_, **kwargs_) + else: + return Hp_0(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Hp_0', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('Hp_0') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'Hp_0': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Hp_0') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Hp_0', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='Hp_0'): + if self.Anmerkungen is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'ein roter Lichtpunkt' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if not self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if not self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if not self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if not self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS != 'Hp 0' and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV != 'Hp 0' and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if not self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Hp_0', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class Hp_0 + + +class Hp_0_2Lp(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen='Abbildung von ehemals Hp 00, Sh 0 und Gsp 0, notwendig für Bestandsdigitalisierung und Ergänzungen von Bestandsanlagen', Beleuchtbar=False, Beschreibung='zwei rote Lichtpunkte nebeneinander', Geltungsbereich_DS=True, Geltungsbereich_DV=True, Geltungsbereich_SBahn_B=True, Geltungsbereich_SBahn_HH=True, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS='Hp 0', Kurzbezeichnung_DV='Hp 0', Langbezeichnung=None, Schaltbar=True, Zusatz_Moeglich=False, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, Hp_0_2Lp) + if subclass is not None: + return subclass(*args_, **kwargs_) + if Hp_0_2Lp.subclass: + return Hp_0_2Lp.subclass(*args_, **kwargs_) + else: + return Hp_0_2Lp(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Hp_0_2Lp', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('Hp_0_2Lp') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'Hp_0_2Lp': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Hp_0_2Lp') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Hp_0_2Lp', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='Hp_0_2Lp'): + if self.Anmerkungen != 'Abbildung von ehemals Hp 00, Sh 0 und Gsp 0, notwendig für Bestandsdigitalisierung und Ergänzungen von Bestandsanlagen' and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'zwei rote Lichtpunkte nebeneinander' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if not self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if not self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if not self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if not self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS != 'Hp 0' and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV != 'Hp 0' and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if not self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Hp_0_2Lp', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class Hp_0_2Lp + + +class Hp_1(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen=None, Beleuchtbar=False, Beschreibung='ein grüner Lichtpunkt', Geltungsbereich_DS=True, Geltungsbereich_DV=True, Geltungsbereich_SBahn_B=True, Geltungsbereich_SBahn_HH=True, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS='Hp 1', Kurzbezeichnung_DV='Hp 1', Langbezeichnung=None, Schaltbar=True, Zusatz_Moeglich=False, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, Hp_1) + if subclass is not None: + return subclass(*args_, **kwargs_) + if Hp_1.subclass: + return Hp_1.subclass(*args_, **kwargs_) + else: + return Hp_1(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Hp_1', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('Hp_1') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'Hp_1': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Hp_1') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Hp_1', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='Hp_1'): + if self.Anmerkungen is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'ein grüner Lichtpunkt' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if not self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if not self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if not self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if not self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS != 'Hp 1' and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV != 'Hp 1' and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if not self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Hp_1', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class Hp_1 + + +class Hp_2(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen=None, Beleuchtbar=False, Beschreibung='ein grüner und senkrecht darunter ein gelber Lichtpunkt', Geltungsbereich_DS=True, Geltungsbereich_DV=True, Geltungsbereich_SBahn_B=True, Geltungsbereich_SBahn_HH=True, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS='Hp 2', Kurzbezeichnung_DV='Hp 2', Langbezeichnung=None, Schaltbar=True, Zusatz_Moeglich=False, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, Hp_2) + if subclass is not None: + return subclass(*args_, **kwargs_) + if Hp_2.subclass: + return Hp_2.subclass(*args_, **kwargs_) + else: + return Hp_2(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Hp_2', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('Hp_2') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'Hp_2': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Hp_2') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Hp_2', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='Hp_2'): + if self.Anmerkungen is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'ein grüner und senkrecht darunter ein gelber Lichtpunkt' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if not self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if not self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if not self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if not self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS != 'Hp 2' and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV != 'Hp 2' and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if not self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Hp_2', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class Hp_2 + + +class Ms_ge_D(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen=None, Beleuchtbar=False, Beschreibung='gelbes Dreieck mit Spitze nach unten', Geltungsbereich_DS=True, Geltungsbereich_DV=True, Geltungsbereich_SBahn_B=True, Geltungsbereich_SBahn_HH=True, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS=None, Kurzbezeichnung_DV=None, Langbezeichnung=None, Schaltbar=False, Zusatz_Moeglich=False, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, Ms_ge_D) + if subclass is not None: + return subclass(*args_, **kwargs_) + if Ms_ge_D.subclass: + return Ms_ge_D.subclass(*args_, **kwargs_) + else: + return Ms_ge_D(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Ms_ge_D', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('Ms_ge_D') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'Ms_ge_D': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Ms_ge_D') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Ms_ge_D', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='Ms_ge_D'): + if self.Anmerkungen is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'gelbes Dreieck mit Spitze nach unten' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if not self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if not self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if not self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if not self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Ms_ge_D', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class Ms_ge_D + + +class Zl_o(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen=None, Beleuchtbar=False, Beschreibung='verkuerzter Abstand des Bremswegs, weißes Zusatzlicht über Signallicht', Geltungsbereich_DS=True, Geltungsbereich_DV=True, Geltungsbereich_SBahn_B=True, Geltungsbereich_SBahn_HH=True, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS=None, Kurzbezeichnung_DV=None, Langbezeichnung='Zusatzlicht', Schaltbar=True, Zusatz_Moeglich=False, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, Zl_o) + if subclass is not None: + return subclass(*args_, **kwargs_) + if Zl_o.subclass: + return Zl_o.subclass(*args_, **kwargs_) + else: + return Zl_o(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Zl_o', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('Zl_o') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'Zl_o': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Zl_o') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Zl_o', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='Zl_o'): + if self.Anmerkungen is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'verkuerzter Abstand des Bremswegs, weißes Zusatzlicht über Signallicht' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if not self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if not self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if not self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if not self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung != 'Zusatzlicht' and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if not self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Zl_o', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class Zl_o + + +class Zl_u(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen=None, Beleuchtbar=False, Beschreibung='Vorsignalwiederholer, weißes Zusatzlicht unter Signallicht', Geltungsbereich_DS=True, Geltungsbereich_DV=True, Geltungsbereich_SBahn_B=True, Geltungsbereich_SBahn_HH=True, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS=None, Kurzbezeichnung_DV=None, Langbezeichnung='Zusatzlicht', Schaltbar=True, Zusatz_Moeglich=False, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, Zl_u) + if subclass is not None: + return subclass(*args_, **kwargs_) + if Zl_u.subclass: + return Zl_u.subclass(*args_, **kwargs_) + else: + return Zl_u(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Zl_u', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('Zl_u') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'Zl_u': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Zl_u') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Zl_u', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='Zl_u'): + if self.Anmerkungen is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'Vorsignalwiederholer, weißes Zusatzlicht unter Signallicht' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if not self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if not self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if not self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if not self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung != 'Zusatzlicht' and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if not self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Zl_u', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class Zl_u + + +class Kl(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen=None, Beleuchtbar=False, Beschreibung='ein weißes Licht anstelle der sonst vorgesehenen Signalbilder', Geltungsbereich_DS=True, Geltungsbereich_DV=True, Geltungsbereich_SBahn_B=True, Geltungsbereich_SBahn_HH=True, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS=None, Kurzbezeichnung_DV=None, Langbezeichnung='Kennlicht', Schaltbar=True, Zusatz_Moeglich=False, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, Kl) + if subclass is not None: + return subclass(*args_, **kwargs_) + if Kl.subclass: + return Kl.subclass(*args_, **kwargs_) + else: + return Kl(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Kl', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('Kl') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'Kl': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Kl') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Kl', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='Kl'): + if self.Anmerkungen is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'ein weißes Licht anstelle der sonst vorgesehenen Signalbilder' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if not self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if not self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if not self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if not self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung != 'Kennlicht' and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if not self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Kl', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class Kl + + +class Ks_1(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen=None, Beleuchtbar=False, Beschreibung='ein grünes Licht', Geltungsbereich_DS=True, Geltungsbereich_DV=True, Geltungsbereich_SBahn_B=True, Geltungsbereich_SBahn_HH=True, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS='Ks 1', Kurzbezeichnung_DV='Ks 1', Langbezeichnung=None, Schaltbar=True, Zusatz_Moeglich=False, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, Ks_1) + if subclass is not None: + return subclass(*args_, **kwargs_) + if Ks_1.subclass: + return Ks_1.subclass(*args_, **kwargs_) + else: + return Ks_1(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Ks_1', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('Ks_1') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'Ks_1': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Ks_1') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Ks_1', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='Ks_1'): + if self.Anmerkungen is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'ein grünes Licht' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if not self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if not self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if not self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if not self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS != 'Ks 1' and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV != 'Ks 1' and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if not self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Ks_1', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class Ks_1 + + +class Ks_2(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen=None, Beleuchtbar=False, Beschreibung='ein gelbes Licht', Geltungsbereich_DS=True, Geltungsbereich_DV=True, Geltungsbereich_SBahn_B=True, Geltungsbereich_SBahn_HH=True, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS='Ks 2', Kurzbezeichnung_DV='Ks 2', Langbezeichnung=None, Schaltbar=True, Zusatz_Moeglich=False, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, Ks_2) + if subclass is not None: + return subclass(*args_, **kwargs_) + if Ks_2.subclass: + return Ks_2.subclass(*args_, **kwargs_) + else: + return Ks_2(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Ks_2', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('Ks_2') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'Ks_2': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Ks_2') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Ks_2', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='Ks_2'): + if self.Anmerkungen is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'ein gelbes Licht' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if not self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if not self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if not self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if not self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS != 'Ks 2' and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV != 'Ks 2' and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if not self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Ks_2', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class Ks_2 + + +class Hl_1(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen=None, Beleuchtbar=False, Beschreibung='ein grünes Licht', Geltungsbereich_DS=False, Geltungsbereich_DV=True, Geltungsbereich_SBahn_B=True, Geltungsbereich_SBahn_HH=False, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS=None, Kurzbezeichnung_DV='Hl 1', Langbezeichnung=None, Schaltbar=True, Zusatz_Moeglich=False, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, Hl_1) + if subclass is not None: + return subclass(*args_, **kwargs_) + if Hl_1.subclass: + return Hl_1.subclass(*args_, **kwargs_) + else: + return Hl_1(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Hl_1', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('Hl_1') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'Hl_1': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Hl_1') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Hl_1', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='Hl_1'): + if self.Anmerkungen is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'ein grünes Licht' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if not self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if not self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV != 'Hl 1' and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if not self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Hl_1', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class Hl_1 + + +class Hl_2(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen=None, Beleuchtbar=False, Beschreibung='ein gelbes Licht mit einem grünen Lichtstreifen, darüber ein grünes Licht', Geltungsbereich_DS=False, Geltungsbereich_DV=True, Geltungsbereich_SBahn_B=True, Geltungsbereich_SBahn_HH=False, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS=None, Kurzbezeichnung_DV='Hl 2', Langbezeichnung=None, Schaltbar=True, Zusatz_Moeglich=False, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, Hl_2) + if subclass is not None: + return subclass(*args_, **kwargs_) + if Hl_2.subclass: + return Hl_2.subclass(*args_, **kwargs_) + else: + return Hl_2(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Hl_2', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('Hl_2') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'Hl_2': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Hl_2') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Hl_2', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='Hl_2'): + if self.Anmerkungen is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'ein gelbes Licht mit einem grünen Lichtstreifen, darüber ein grünes Licht' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if not self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if not self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV != 'Hl 2' and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if not self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Hl_2', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class Hl_2 + + +class Hl_3a(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen=None, Beleuchtbar=False, Beschreibung='ein gelbes Licht, darüber ein grünes Licht', Geltungsbereich_DS=False, Geltungsbereich_DV=True, Geltungsbereich_SBahn_B=True, Geltungsbereich_SBahn_HH=False, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS=None, Kurzbezeichnung_DV='Hl 3a', Langbezeichnung=None, Schaltbar=True, Zusatz_Moeglich=False, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, Hl_3a) + if subclass is not None: + return subclass(*args_, **kwargs_) + if Hl_3a.subclass: + return Hl_3a.subclass(*args_, **kwargs_) + else: + return Hl_3a(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Hl_3a', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('Hl_3a') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'Hl_3a': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Hl_3a') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Hl_3a', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='Hl_3a'): + if self.Anmerkungen is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'ein gelbes Licht, darüber ein grünes Licht' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if not self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if not self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV != 'Hl 3a' and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if not self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Hl_3a', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class Hl_3a + + +class Hl_3b(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen=None, Beleuchtbar=False, Beschreibung='ein gelbes Licht mit einem gelben Lichtstreifen, darüber ein grünes Licht', Geltungsbereich_DS=False, Geltungsbereich_DV=True, Geltungsbereich_SBahn_B=True, Geltungsbereich_SBahn_HH=False, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS=None, Kurzbezeichnung_DV='Hl 3b', Langbezeichnung=None, Schaltbar=True, Zusatz_Moeglich=False, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, Hl_3b) + if subclass is not None: + return subclass(*args_, **kwargs_) + if Hl_3b.subclass: + return Hl_3b.subclass(*args_, **kwargs_) + else: + return Hl_3b(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Hl_3b', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('Hl_3b') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'Hl_3b': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Hl_3b') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Hl_3b', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='Hl_3b'): + if self.Anmerkungen is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'ein gelbes Licht mit einem gelben Lichtstreifen, darüber ein grünes Licht' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if not self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if not self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV != 'Hl 3b' and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if not self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Hl_3b', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class Hl_3b + + +class Hl_4(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen=None, Beleuchtbar=False, Beschreibung='ein grünes Blinklicht', Geltungsbereich_DS=False, Geltungsbereich_DV=True, Geltungsbereich_SBahn_B=True, Geltungsbereich_SBahn_HH=False, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS=None, Kurzbezeichnung_DV='Hl 4', Langbezeichnung=None, Schaltbar=True, Zusatz_Moeglich=False, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, Hl_4) + if subclass is not None: + return subclass(*args_, **kwargs_) + if Hl_4.subclass: + return Hl_4.subclass(*args_, **kwargs_) + else: + return Hl_4(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Hl_4', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('Hl_4') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'Hl_4': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Hl_4') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Hl_4', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='Hl_4'): + if self.Anmerkungen is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'ein grünes Blinklicht' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if not self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if not self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV != 'Hl 4' and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if not self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Hl_4', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class Hl_4 + + +class Hl_5(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen=None, Beleuchtbar=False, Beschreibung='ein gelbes Licht mit einem grünen Lichtstreifen, darüber ein grünes Blinklicht', Geltungsbereich_DS=False, Geltungsbereich_DV=True, Geltungsbereich_SBahn_B=True, Geltungsbereich_SBahn_HH=False, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS=None, Kurzbezeichnung_DV='Hl 5', Langbezeichnung=None, Schaltbar=True, Zusatz_Moeglich=False, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, Hl_5) + if subclass is not None: + return subclass(*args_, **kwargs_) + if Hl_5.subclass: + return Hl_5.subclass(*args_, **kwargs_) + else: + return Hl_5(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Hl_5', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('Hl_5') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'Hl_5': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Hl_5') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Hl_5', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='Hl_5'): + if self.Anmerkungen is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'ein gelbes Licht mit einem grünen Lichtstreifen, darüber ein grünes Blinklicht' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if not self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if not self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV != 'Hl 5' and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if not self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Hl_5', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class Hl_5 + + +class Hl_6a(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen=None, Beleuchtbar=False, Beschreibung='ein gelbes Licht, darüber ein grünes Blinklicht', Geltungsbereich_DS=False, Geltungsbereich_DV=True, Geltungsbereich_SBahn_B=True, Geltungsbereich_SBahn_HH=False, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS=None, Kurzbezeichnung_DV='Hl 6a', Langbezeichnung=None, Schaltbar=True, Zusatz_Moeglich=False, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, Hl_6a) + if subclass is not None: + return subclass(*args_, **kwargs_) + if Hl_6a.subclass: + return Hl_6a.subclass(*args_, **kwargs_) + else: + return Hl_6a(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Hl_6a', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('Hl_6a') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'Hl_6a': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Hl_6a') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Hl_6a', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='Hl_6a'): + if self.Anmerkungen is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'ein gelbes Licht, darüber ein grünes Blinklicht' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if not self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if not self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV != 'Hl 6a' and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if not self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Hl_6a', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class Hl_6a + + +class Hl_6b(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen=None, Beleuchtbar=False, Beschreibung='ein gelbes Licht mit einem gelben Lichtstreifen, darüber ein grünes Blinklicht', Geltungsbereich_DS=False, Geltungsbereich_DV=True, Geltungsbereich_SBahn_B=True, Geltungsbereich_SBahn_HH=False, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS=None, Kurzbezeichnung_DV='Hl 6b', Langbezeichnung=None, Schaltbar=True, Zusatz_Moeglich=False, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, Hl_6b) + if subclass is not None: + return subclass(*args_, **kwargs_) + if Hl_6b.subclass: + return Hl_6b.subclass(*args_, **kwargs_) + else: + return Hl_6b(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Hl_6b', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('Hl_6b') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'Hl_6b': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Hl_6b') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Hl_6b', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='Hl_6b'): + if self.Anmerkungen is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'ein gelbes Licht mit einem gelben Lichtstreifen, darüber ein grünes Blinklicht' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if not self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if not self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV != 'Hl 6b' and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if not self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Hl_6b', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class Hl_6b + + +class Hl_7(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen=None, Beleuchtbar=False, Beschreibung='ein gelbes Blinklicht', Geltungsbereich_DS=False, Geltungsbereich_DV=True, Geltungsbereich_SBahn_B=True, Geltungsbereich_SBahn_HH=False, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS=None, Kurzbezeichnung_DV='Hl 7', Langbezeichnung=None, Schaltbar=True, Zusatz_Moeglich=False, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, Hl_7) + if subclass is not None: + return subclass(*args_, **kwargs_) + if Hl_7.subclass: + return Hl_7.subclass(*args_, **kwargs_) + else: + return Hl_7(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Hl_7', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('Hl_7') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'Hl_7': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Hl_7') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Hl_7', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='Hl_7'): + if self.Anmerkungen is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'ein gelbes Blinklicht' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if not self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if not self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV != 'Hl 7' and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if not self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Hl_7', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class Hl_7 + + +class Hl_8(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen=None, Beleuchtbar=False, Beschreibung='ein gelbes Licht mit einem grünen Lichtstreifen, darüber ein gelbes Blinklicht', Geltungsbereich_DS=False, Geltungsbereich_DV=True, Geltungsbereich_SBahn_B=True, Geltungsbereich_SBahn_HH=False, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS=None, Kurzbezeichnung_DV='Hl 8', Langbezeichnung=None, Schaltbar=True, Zusatz_Moeglich=False, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, Hl_8) + if subclass is not None: + return subclass(*args_, **kwargs_) + if Hl_8.subclass: + return Hl_8.subclass(*args_, **kwargs_) + else: + return Hl_8(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Hl_8', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('Hl_8') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'Hl_8': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Hl_8') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Hl_8', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='Hl_8'): + if self.Anmerkungen is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'ein gelbes Licht mit einem grünen Lichtstreifen, darüber ein gelbes Blinklicht' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if not self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if not self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV != 'Hl 8' and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if not self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Hl_8', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class Hl_8 + + +class Hl_9a(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen=None, Beleuchtbar=False, Beschreibung='ein gelbes Licht, darüber ein gelbes Blinklicht', Geltungsbereich_DS=False, Geltungsbereich_DV=True, Geltungsbereich_SBahn_B=True, Geltungsbereich_SBahn_HH=False, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS=None, Kurzbezeichnung_DV='Hl 9a', Langbezeichnung=None, Schaltbar=True, Zusatz_Moeglich=False, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, Hl_9a) + if subclass is not None: + return subclass(*args_, **kwargs_) + if Hl_9a.subclass: + return Hl_9a.subclass(*args_, **kwargs_) + else: + return Hl_9a(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Hl_9a', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('Hl_9a') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'Hl_9a': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Hl_9a') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Hl_9a', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='Hl_9a'): + if self.Anmerkungen is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'ein gelbes Licht, darüber ein gelbes Blinklicht' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if not self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if not self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV != 'Hl 9a' and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if not self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Hl_9a', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class Hl_9a + + +class Hl_9b(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen=None, Beleuchtbar=False, Beschreibung='ein gelbes Licht mit einem gelben Lichtstreifen, darüber ein gelbes Blinklicht', Geltungsbereich_DS=False, Geltungsbereich_DV=True, Geltungsbereich_SBahn_B=True, Geltungsbereich_SBahn_HH=False, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS=None, Kurzbezeichnung_DV='Hl 9b', Langbezeichnung=None, Schaltbar=True, Zusatz_Moeglich=False, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, Hl_9b) + if subclass is not None: + return subclass(*args_, **kwargs_) + if Hl_9b.subclass: + return Hl_9b.subclass(*args_, **kwargs_) + else: + return Hl_9b(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Hl_9b', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('Hl_9b') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'Hl_9b': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Hl_9b') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Hl_9b', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='Hl_9b'): + if self.Anmerkungen is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'ein gelbes Licht mit einem gelben Lichtstreifen, darüber ein gelbes Blinklicht' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if not self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if not self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV != 'Hl 9b' and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if not self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Hl_9b', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class Hl_9b + + +class Hl_10(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen=None, Beleuchtbar=False, Beschreibung='ein gelbes Licht', Geltungsbereich_DS=False, Geltungsbereich_DV=True, Geltungsbereich_SBahn_B=True, Geltungsbereich_SBahn_HH=False, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS=None, Kurzbezeichnung_DV='Hl 10', Langbezeichnung=None, Schaltbar=True, Zusatz_Moeglich=False, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, Hl_10) + if subclass is not None: + return subclass(*args_, **kwargs_) + if Hl_10.subclass: + return Hl_10.subclass(*args_, **kwargs_) + else: + return Hl_10(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Hl_10', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('Hl_10') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'Hl_10': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Hl_10') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Hl_10', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='Hl_10'): + if self.Anmerkungen is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'ein gelbes Licht' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if not self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if not self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV != 'Hl 10' and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if not self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Hl_10', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class Hl_10 + + +class Hl_11(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen=None, Beleuchtbar=False, Beschreibung='ein gelbes Licht mit einem grünen Lichtstreifen, darüber ein gelbes Licht', Geltungsbereich_DS=False, Geltungsbereich_DV=True, Geltungsbereich_SBahn_B=True, Geltungsbereich_SBahn_HH=False, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS=None, Kurzbezeichnung_DV='Hl 11', Langbezeichnung=None, Schaltbar=True, Zusatz_Moeglich=False, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, Hl_11) + if subclass is not None: + return subclass(*args_, **kwargs_) + if Hl_11.subclass: + return Hl_11.subclass(*args_, **kwargs_) + else: + return Hl_11(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Hl_11', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('Hl_11') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'Hl_11': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Hl_11') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Hl_11', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='Hl_11'): + if self.Anmerkungen is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'ein gelbes Licht mit einem grünen Lichtstreifen, darüber ein gelbes Licht' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if not self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if not self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV != 'Hl 11' and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if not self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Hl_11', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class Hl_11 + + +class Hl_12a(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen=None, Beleuchtbar=False, Beschreibung='zwei gelbe Lichter übereinander', Geltungsbereich_DS=False, Geltungsbereich_DV=True, Geltungsbereich_SBahn_B=True, Geltungsbereich_SBahn_HH=False, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS=None, Kurzbezeichnung_DV='Hl 12a', Langbezeichnung=None, Schaltbar=True, Zusatz_Moeglich=False, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, Hl_12a) + if subclass is not None: + return subclass(*args_, **kwargs_) + if Hl_12a.subclass: + return Hl_12a.subclass(*args_, **kwargs_) + else: + return Hl_12a(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Hl_12a', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('Hl_12a') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'Hl_12a': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Hl_12a') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Hl_12a', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='Hl_12a'): + if self.Anmerkungen is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'zwei gelbe Lichter übereinander' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if not self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if not self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV != 'Hl 12a' and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if not self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Hl_12a', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class Hl_12a + + +class Hl_12b(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen=None, Beleuchtbar=False, Beschreibung='ein gelbes Licht mit einem gelben Lichtstreifen, darüber ein gelbes Licht', Geltungsbereich_DS=False, Geltungsbereich_DV=True, Geltungsbereich_SBahn_B=True, Geltungsbereich_SBahn_HH=False, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS=None, Kurzbezeichnung_DV='Hl 12b', Langbezeichnung=None, Schaltbar=True, Zusatz_Moeglich=False, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, Hl_12b) + if subclass is not None: + return subclass(*args_, **kwargs_) + if Hl_12b.subclass: + return Hl_12b.subclass(*args_, **kwargs_) + else: + return Hl_12b(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Hl_12b', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('Hl_12b') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'Hl_12b': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Hl_12b') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Hl_12b', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='Hl_12b'): + if self.Anmerkungen is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'ein gelbes Licht mit einem gelben Lichtstreifen, darüber ein gelbes Licht' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if not self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if not self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV != 'Hl 12b' and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if not self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Hl_12b', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class Hl_12b + + +class Sv_0(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen=None, Beleuchtbar=False, Beschreibung='Zughalt, Weiterfahren auf Sicht; zwei gelbe Lichter waagerecht nebeneinander', Geltungsbereich_DS=False, Geltungsbereich_DV=False, Geltungsbereich_SBahn_B=False, Geltungsbereich_SBahn_HH=True, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS='Sv 0', Kurzbezeichnung_DV=None, Langbezeichnung=None, Schaltbar=True, Zusatz_Moeglich=False, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, Sv_0) + if subclass is not None: + return subclass(*args_, **kwargs_) + if Sv_0.subclass: + return Sv_0.subclass(*args_, **kwargs_) + else: + return Sv_0(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Sv_0', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('Sv_0') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'Sv_0': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Sv_0') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Sv_0', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='Sv_0'): + if self.Anmerkungen is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'Zughalt, Weiterfahren auf Sicht; zwei gelbe Lichter waagerecht nebeneinander' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if not self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS != 'Sv 0' and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if not self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Sv_0', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class Sv_0 + + +class Sv_1(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen=None, Beleuchtbar=False, Beschreibung='Fahrt, Fahrt erwarten; zwei grüne Lichter waagerecht nebeneinander', Geltungsbereich_DS=False, Geltungsbereich_DV=False, Geltungsbereich_SBahn_B=False, Geltungsbereich_SBahn_HH=True, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS='Sv 1', Kurzbezeichnung_DV=None, Langbezeichnung=None, Schaltbar=True, Zusatz_Moeglich=False, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, Sv_1) + if subclass is not None: + return subclass(*args_, **kwargs_) + if Sv_1.subclass: + return Sv_1.subclass(*args_, **kwargs_) + else: + return Sv_1(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Sv_1', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('Sv_1') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'Sv_1': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Sv_1') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Sv_1', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='Sv_1'): + if self.Anmerkungen is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'Fahrt, Fahrt erwarten; zwei grüne Lichter waagerecht nebeneinander' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if not self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS != 'Sv 1' and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if not self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Sv_1', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class Sv_1 + + +class Sv_2(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen=None, Beleuchtbar=False, Beschreibung='Fahrt, Halt erwarten; ein grünes, rechts daneben in gleicher Höhe ein gelbes Licht', Geltungsbereich_DS=False, Geltungsbereich_DV=False, Geltungsbereich_SBahn_B=False, Geltungsbereich_SBahn_HH=True, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS='Sv 2', Kurzbezeichnung_DV=None, Langbezeichnung=None, Schaltbar=True, Zusatz_Moeglich=False, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, Sv_2) + if subclass is not None: + return subclass(*args_, **kwargs_) + if Sv_2.subclass: + return Sv_2.subclass(*args_, **kwargs_) + else: + return Sv_2(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Sv_2', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('Sv_2') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'Sv_2': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Sv_2') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Sv_2', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='Sv_2'): + if self.Anmerkungen is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'Fahrt, Halt erwarten; ein grünes, rechts daneben in gleicher Höhe ein gelbes Licht' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if not self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS != 'Sv 2' and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if not self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Sv_2', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class Sv_2 + + +class Sv_3(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen=None, Beleuchtbar=False, Beschreibung='Fahrt, Langsamfahrt erwarten; links ein grünes Licht, rechts in gleicher Höhe ein grünes und senkrecht darunter ein gelbes Licht', Geltungsbereich_DS=False, Geltungsbereich_DV=False, Geltungsbereich_SBahn_B=False, Geltungsbereich_SBahn_HH=True, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS='Sv 3', Kurzbezeichnung_DV=None, Langbezeichnung=None, Schaltbar=True, Zusatz_Moeglich=False, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, Sv_3) + if subclass is not None: + return subclass(*args_, **kwargs_) + if Sv_3.subclass: + return Sv_3.subclass(*args_, **kwargs_) + else: + return Sv_3(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Sv_3', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('Sv_3') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'Sv_3': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Sv_3') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Sv_3', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='Sv_3'): + if self.Anmerkungen is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'Fahrt, Langsamfahrt erwarten; links ein grünes Licht, rechts in gleicher Höhe ein grünes und senkrecht darunter ein gelbes Licht' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if not self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS != 'Sv 3' and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if not self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Sv_3', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class Sv_3 + + +class Sv_4(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen=None, Beleuchtbar=False, Beschreibung='Langsamfahrt, Fahrt erwarten; links ein grünes und senkrecht darunter ein gelbes Licht; rechts in Höhe des oberen linken Lichtes ein grünes Licht', Geltungsbereich_DS=False, Geltungsbereich_DV=False, Geltungsbereich_SBahn_B=False, Geltungsbereich_SBahn_HH=True, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS='Sv 4', Kurzbezeichnung_DV=None, Langbezeichnung=None, Schaltbar=True, Zusatz_Moeglich=False, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, Sv_4) + if subclass is not None: + return subclass(*args_, **kwargs_) + if Sv_4.subclass: + return Sv_4.subclass(*args_, **kwargs_) + else: + return Sv_4(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Sv_4', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('Sv_4') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'Sv_4': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Sv_4') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Sv_4', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='Sv_4'): + if self.Anmerkungen is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'Langsamfahrt, Fahrt erwarten; links ein grünes und senkrecht darunter ein gelbes Licht; rechts in Höhe des oberen linken Lichtes ein grünes Licht' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if not self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS != 'Sv 4' and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if not self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Sv_4', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class Sv_4 + + +class Sv_5(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen=None, Beleuchtbar=False, Beschreibung='Langsamfahrt, Langsamfahrt erwarten; links ein grünes und senkrecht darunter ein gelbes Licht, rechts daneben in gleicher Höhe die gleichen Lichter', Geltungsbereich_DS=False, Geltungsbereich_DV=False, Geltungsbereich_SBahn_B=False, Geltungsbereich_SBahn_HH=True, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS='Sv 5', Kurzbezeichnung_DV=None, Langbezeichnung=None, Schaltbar=True, Zusatz_Moeglich=False, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, Sv_5) + if subclass is not None: + return subclass(*args_, **kwargs_) + if Sv_5.subclass: + return Sv_5.subclass(*args_, **kwargs_) + else: + return Sv_5(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Sv_5', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('Sv_5') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'Sv_5': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Sv_5') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Sv_5', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='Sv_5'): + if self.Anmerkungen is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'Langsamfahrt, Langsamfahrt erwarten; links ein grünes und senkrecht darunter ein gelbes Licht, rechts daneben in gleicher Höhe die gleichen Lichter' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if not self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS != 'Sv 5' and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if not self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Sv_5', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class Sv_5 + + +class Sv_6(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen=None, Beleuchtbar=False, Beschreibung='Langsamfahrt, Halt erwarten; links ein grünes, senkrecht darunter ein gelbes Licht, rechts in Höhe des oberen linken Lichtes ein gelbes Licht', Geltungsbereich_DS=False, Geltungsbereich_DV=False, Geltungsbereich_SBahn_B=False, Geltungsbereich_SBahn_HH=True, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS='Sv 6', Kurzbezeichnung_DV=None, Langbezeichnung=None, Schaltbar=True, Zusatz_Moeglich=False, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, Sv_6) + if subclass is not None: + return subclass(*args_, **kwargs_) + if Sv_6.subclass: + return Sv_6.subclass(*args_, **kwargs_) + else: + return Sv_6(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Sv_6', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('Sv_6') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'Sv_6': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Sv_6') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Sv_6', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='Sv_6'): + if self.Anmerkungen is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'Langsamfahrt, Halt erwarten; links ein grünes, senkrecht darunter ein gelbes Licht, rechts in Höhe des oberen linken Lichtes ein gelbes Licht' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if not self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS != 'Sv 6' and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if not self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Sv_6', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class Sv_6 + + +class Sv_wPf(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen=None, Beleuchtbar=False, Beschreibung='Signal im verkürzten Abstand des Bremsweges, weißleuchtender Pfeil über den Signalbildern', Geltungsbereich_DS=False, Geltungsbereich_DV=False, Geltungsbereich_SBahn_B=False, Geltungsbereich_SBahn_HH=False, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS=None, Kurzbezeichnung_DV=None, Langbezeichnung=None, Schaltbar=True, Zusatz_Moeglich=False, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, Sv_wPf) + if subclass is not None: + return subclass(*args_, **kwargs_) + if Sv_wPf.subclass: + return Sv_wPf.subclass(*args_, **kwargs_) + else: + return Sv_wPf(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Sv_wPf', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('Sv_wPf') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'Sv_wPf': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Sv_wPf') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Sv_wPf', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='Sv_wPf'): + if self.Anmerkungen is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'Signal im verkürzten Abstand des Bremsweges, weißleuchtender Pfeil über den Signalbildern' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if not self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Sv_wPf', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class Sv_wPf + + +class Ms_Vw(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen=None, Beleuchtbar=False, Beschreibung='weiße Tafel mit schwarzem Rand und schwarzem Ring', Geltungsbereich_DS=False, Geltungsbereich_DV=True, Geltungsbereich_SBahn_B=True, Geltungsbereich_SBahn_HH=False, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS=None, Kurzbezeichnung_DV=None, Langbezeichnung=None, Schaltbar=False, Zusatz_Moeglich=False, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, Ms_Vw) + if subclass is not None: + return subclass(*args_, **kwargs_) + if Ms_Vw.subclass: + return Ms_Vw.subclass(*args_, **kwargs_) + else: + return Ms_Vw(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Ms_Vw', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('Ms_Vw') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'Ms_Vw': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Ms_Vw') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Ms_Vw', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='Ms_Vw'): + if self.Anmerkungen is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'weiße Tafel mit schwarzem Rand und schwarzem Ring' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if not self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if not self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Ms_Vw', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class Ms_Vw + + +class Wvs(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen=None, Beleuchtbar=False, Beschreibung='senkrechte runde Scheibe wie bei ortsfesten Formvorsignalen, jedoch unbeweglich und ohne Flügel', Geltungsbereich_DS=True, Geltungsbereich_DV=True, Geltungsbereich_SBahn_B=True, Geltungsbereich_SBahn_HH=True, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS=None, Kurzbezeichnung_DV=None, Langbezeichnung='Wärtervorsignal', Schaltbar=False, Zusatz_Moeglich=False, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, Wvs) + if subclass is not None: + return subclass(*args_, **kwargs_) + if Wvs.subclass: + return Wvs.subclass(*args_, **kwargs_) + else: + return Wvs(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Wvs', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('Wvs') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'Wvs': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Wvs') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Wvs', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='Wvs'): + if self.Anmerkungen is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'senkrechte runde Scheibe wie bei ortsfesten Formvorsignalen, jedoch unbeweglich und ohne Flügel' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if not self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if not self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if not self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if not self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung != 'Wärtervorsignal' and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Wvs', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class Wvs + + +class Vr_0(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen=None, Beleuchtbar=False, Beschreibung='ein oder zwei gelbe Lichtpunkte nach rechts steigend', Geltungsbereich_DS=True, Geltungsbereich_DV=True, Geltungsbereich_SBahn_B=True, Geltungsbereich_SBahn_HH=True, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS='Vr 0', Kurzbezeichnung_DV='Vr 0', Langbezeichnung=None, Schaltbar=True, Zusatz_Moeglich=False, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, Vr_0) + if subclass is not None: + return subclass(*args_, **kwargs_) + if Vr_0.subclass: + return Vr_0.subclass(*args_, **kwargs_) + else: + return Vr_0(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Vr_0', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('Vr_0') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'Vr_0': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Vr_0') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Vr_0', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='Vr_0'): + if self.Anmerkungen is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'ein oder zwei gelbe Lichtpunkte nach rechts steigend' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if not self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if not self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if not self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if not self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS != 'Vr 0' and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV != 'Vr 0' and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if not self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Vr_0', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class Vr_0 + + +class Vr_1(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen=None, Beleuchtbar=False, Beschreibung='ein grüner Lichtpunkt oder zwei grüne Lichtpunkte nach rechts steigend', Geltungsbereich_DS=True, Geltungsbereich_DV=True, Geltungsbereich_SBahn_B=True, Geltungsbereich_SBahn_HH=True, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS='Vr 1', Kurzbezeichnung_DV='Vr 1', Langbezeichnung=None, Schaltbar=True, Zusatz_Moeglich=False, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, Vr_1) + if subclass is not None: + return subclass(*args_, **kwargs_) + if Vr_1.subclass: + return Vr_1.subclass(*args_, **kwargs_) + else: + return Vr_1(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Vr_1', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('Vr_1') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'Vr_1': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Vr_1') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Vr_1', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='Vr_1'): + if self.Anmerkungen is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'ein grüner Lichtpunkt oder zwei grüne Lichtpunkte nach rechts steigend' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if not self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if not self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if not self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if not self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS != 'Vr 1' and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV != 'Vr 1' and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if not self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Vr_1', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class Vr_1 + + +class Vr_2(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen=None, Beleuchtbar=False, Beschreibung='ein gelber und ein grüner Lichtpunkt nach rechts steigend', Geltungsbereich_DS=True, Geltungsbereich_DV=True, Geltungsbereich_SBahn_B=True, Geltungsbereich_SBahn_HH=True, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS='Vr 2', Kurzbezeichnung_DV='Vr 2', Langbezeichnung=None, Schaltbar=True, Zusatz_Moeglich=False, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, Vr_2) + if subclass is not None: + return subclass(*args_, **kwargs_) + if Vr_2.subclass: + return Vr_2.subclass(*args_, **kwargs_) + else: + return Vr_2(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Vr_2', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('Vr_2') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'Vr_2': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Vr_2') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Vr_2', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='Vr_2'): + if self.Anmerkungen is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'ein gelber und ein grüner Lichtpunkt nach rechts steigend' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if not self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if not self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if not self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if not self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS != 'Vr 2' and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV != 'Vr 2' and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if not self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Vr_2', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class Vr_2 + + +class Zs_1(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen='819.0204 2 (3): An Ks-Hauptsignalen ist das Ersatzsignal in Form eines weißen Blinklichtes anzuwenden. 819.0204 2 (5): An Hl-Lichtsignalen sowie an Formsignalen im Geltungsbereich der DV 301 ist ein weißes Blinklicht anzuwenden.', Beleuchtbar=False, Beschreibung='ein weißes Blinklicht', Geltungsbereich_DS=True, Geltungsbereich_DV=True, Geltungsbereich_SBahn_B=True, Geltungsbereich_SBahn_HH=True, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS='Zs 1', Kurzbezeichnung_DV='Zs 1', Langbezeichnung='Ersatzsignal', Schaltbar=True, Zusatz_Moeglich=False, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, Zs_1) + if subclass is not None: + return subclass(*args_, **kwargs_) + if Zs_1.subclass: + return Zs_1.subclass(*args_, **kwargs_) + else: + return Zs_1(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Zs_1', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('Zs_1') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'Zs_1': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Zs_1') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Zs_1', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='Zs_1'): + if self.Anmerkungen != '819.0204 2 (3): An Ks-Hauptsignalen ist das Ersatzsignal in Form eines weißen Blinklichtes anzuwenden. 819.0204 2 (5): An Hl-Lichtsignalen sowie an Formsignalen im Geltungsbereich der DV 301 ist ein weißes Blinklicht anzuwenden.' and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'ein weißes Blinklicht' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if not self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if not self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if not self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if not self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS != 'Zs 1' and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV != 'Zs 1' and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung != 'Ersatzsignal' and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if not self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Zs_1', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class Zs_1 + + +class Zs_1_A(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen='819.0204 2 (4): An H/V-Licht- und Formsignalen im Geltungsbereich der DS 301 sind in der Regel drei weiße Lichter in Form eines A anzuwenden.', Beleuchtbar=False, Beschreibung='drei weiße Lichter in Form eines A', Geltungsbereich_DS=True, Geltungsbereich_DV=False, Geltungsbereich_SBahn_B=False, Geltungsbereich_SBahn_HH=True, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS='Zs 1', Kurzbezeichnung_DV='Zs 1', Langbezeichnung='Ersatzsignal', Schaltbar=True, Zusatz_Moeglich=False, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, Zs_1_A) + if subclass is not None: + return subclass(*args_, **kwargs_) + if Zs_1_A.subclass: + return Zs_1_A.subclass(*args_, **kwargs_) + else: + return Zs_1_A(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Zs_1_A', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('Zs_1_A') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'Zs_1_A': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Zs_1_A') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Zs_1_A', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='Zs_1_A'): + if self.Anmerkungen != '819.0204 2 (4): An H/V-Licht- und Formsignalen im Geltungsbereich der DS 301 sind in der Regel drei weiße Lichter in Form eines A anzuwenden.' and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'drei weiße Lichter in Form eines A' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if not self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if not self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS != 'Zs 1' and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV != 'Zs 1' and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung != 'Ersatzsignal' and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if not self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Zs_1_A', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class Zs_1_A + + +class Zs_2(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen='Kennbuchstabe T nicht bei S-Bahnen im Bereich der DS 301; Buchstaben O oder D nicht gleichzeitig an einem Signal', Beleuchtbar=False, Beschreibung='ein weiß leuchtender Buchstabe', Geltungsbereich_DS=True, Geltungsbereich_DV=True, Geltungsbereich_SBahn_B=True, Geltungsbereich_SBahn_HH=True, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS='Zs 2', Kurzbezeichnung_DV='Zs 2', Langbezeichnung='Richtungsanzeiger', Schaltbar=True, Zusatz_Moeglich=False, Symbol=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + self.Symbol = Symbol + self.validate_ENUMSymbol_Zs_2(self.Symbol) + self.Symbol_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, Zs_2) + if subclass is not None: + return subclass(*args_, **kwargs_) + if Zs_2.subclass: + return Zs_2.subclass(*args_, **kwargs_) + else: + return Zs_2(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Symbol(self): + return self.Symbol + def set_Symbol(self, Symbol): + self.Symbol = Symbol + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def validate_ENUMSymbol_Zs_2(self, value): + result = True + # Validate type ENUMSymbol_Zs_2, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['A', 'B', 'C', 'D', 'E', 'F', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Z'] + 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 ENUMSymbol_Zs_2' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Symbol is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Zs_2', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('Zs_2') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'Zs_2': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Zs_2') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Zs_2', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='Zs_2'): + if self.Anmerkungen != 'Kennbuchstabe T nicht bei S-Bahnen im Bereich der DS 301; Buchstaben O oder D nicht gleichzeitig an einem Signal' and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'ein weiß leuchtender Buchstabe' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if not self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if not self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if not self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if not self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS != 'Zs 2' and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV != 'Zs 2' and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung != 'Richtungsanzeiger' and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if not self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Zs_2', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Symbol is not None: + namespaceprefix_ = self.Symbol_nsprefix_ + ':' if (UseCapturedNS_ and self.Symbol_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sSymbol>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Symbol), input_name='Symbol')), 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_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Symbol': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Symbol') + value_ = self.gds_validate_string(value_, node, 'Symbol') + self.Symbol = value_ + self.Symbol_nsprefix_ = child_.prefix + # validate type ENUMSymbol_Zs_2 + self.validate_ENUMSymbol_Zs_2(self.Symbol) +# end class Zs_2 + + +class Zs_2v(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen='Kennbuchstabe T nicht bei S-Bahnen im Bereich der DS 301; Buchstaben O oder D nicht gleichzeitig an einem Signal', Beleuchtbar=False, Beschreibung='ein gelb oder weiß leuchtender Buchstabe', Geltungsbereich_DS=True, Geltungsbereich_DV=True, Geltungsbereich_SBahn_B=True, Geltungsbereich_SBahn_HH=True, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS='Zs 2v', Kurzbezeichnung_DV='Zs 2v', Langbezeichnung='Richtungsvoranzeiger', Schaltbar=True, Zusatz_Moeglich=False, Symbol=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + self.Symbol = Symbol + self.validate_ENUMSymbol_Zs_2v(self.Symbol) + self.Symbol_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, Zs_2v) + if subclass is not None: + return subclass(*args_, **kwargs_) + if Zs_2v.subclass: + return Zs_2v.subclass(*args_, **kwargs_) + else: + return Zs_2v(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Symbol(self): + return self.Symbol + def set_Symbol(self, Symbol): + self.Symbol = Symbol + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def validate_ENUMSymbol_Zs_2v(self, value): + result = True + # Validate type ENUMSymbol_Zs_2v, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['A', 'B', 'C', 'D', 'E', 'F', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Z'] + 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 ENUMSymbol_Zs_2v' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Symbol is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Zs_2v', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('Zs_2v') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'Zs_2v': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Zs_2v') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Zs_2v', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='Zs_2v'): + if self.Anmerkungen != 'Kennbuchstabe T nicht bei S-Bahnen im Bereich der DS 301; Buchstaben O oder D nicht gleichzeitig an einem Signal' and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'ein gelb oder weiß leuchtender Buchstabe' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if not self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if not self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if not self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if not self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS != 'Zs 2v' and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV != 'Zs 2v' and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung != 'Richtungsvoranzeiger' and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if not self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Zs_2v', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Symbol is not None: + namespaceprefix_ = self.Symbol_nsprefix_ + ':' if (UseCapturedNS_ and self.Symbol_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sSymbol>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Symbol), input_name='Symbol')), 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_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Symbol': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Symbol') + value_ = self.gds_validate_string(value_, node, 'Symbol') + self.Symbol = value_ + self.Symbol_nsprefix_ = child_.prefix + # validate type ENUMSymbol_Zs_2v + self.validate_ENUMSymbol_Zs_2v(self.Symbol) +# end class Zs_2v + + +class Zs_3(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen='16 nur als Formsignal', Beleuchtbar=True, Beschreibung='eine weiße Kennziffer auf dreieckiger schwarzer Tafel mit Spitze nach unten oder oben bzw. eine weiß leuchtende Kennziffer', Geltungsbereich_DS=True, Geltungsbereich_DV=True, Geltungsbereich_SBahn_B=True, Geltungsbereich_SBahn_HH=True, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS='Zs 3', Kurzbezeichnung_DV='Zs 3', Langbezeichnung='Geschwindigkeitsanzeiger', Schaltbar=True, Zusatz_Moeglich=False, Symbol=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + self.Symbol = Symbol + self.validate_ENUMSymbol_Zs_3(self.Symbol) + self.Symbol_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, Zs_3) + if subclass is not None: + return subclass(*args_, **kwargs_) + if Zs_3.subclass: + return Zs_3.subclass(*args_, **kwargs_) + else: + return Zs_3(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Symbol(self): + return self.Symbol + def set_Symbol(self, Symbol): + self.Symbol = Symbol + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def validate_ENUMSymbol_Zs_3(self, value): + result = True + # Validate type ENUMSymbol_Zs_3, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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', '10', '11', '12', '13', '14', '15', '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 ENUMSymbol_Zs_3' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Symbol is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Zs_3', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('Zs_3') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'Zs_3': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Zs_3') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Zs_3', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='Zs_3'): + if self.Anmerkungen != '16 nur als Formsignal' and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if not self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'eine weiße Kennziffer auf dreieckiger schwarzer Tafel mit Spitze nach unten oder oben bzw. eine weiß leuchtende Kennziffer' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if not self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if not self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if not self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if not self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS != 'Zs 3' and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV != 'Zs 3' and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung != 'Geschwindigkeitsanzeiger' and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if not self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Zs_3', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Symbol is not None: + namespaceprefix_ = self.Symbol_nsprefix_ + ':' if (UseCapturedNS_ and self.Symbol_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sSymbol>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Symbol), input_name='Symbol')), 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_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Symbol': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Symbol') + value_ = self.gds_validate_string(value_, node, 'Symbol') + self.Symbol = value_ + self.Symbol_nsprefix_ = child_.prefix + # validate type ENUMSymbol_Zs_3 + self.validate_ENUMSymbol_Zs_3(self.Symbol) +# end class Zs_3 + + +class Zs_3v(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen=None, Beleuchtbar=True, Beschreibung='eine gelbe Kennziffer auf dreieckiger schwarzer Tafel mit gelbem Rand bzw. eine gelb leuchtende Kennziffer', Geltungsbereich_DS=True, Geltungsbereich_DV=True, Geltungsbereich_SBahn_B=True, Geltungsbereich_SBahn_HH=True, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS='Zs 3v', Kurzbezeichnung_DV='Zs 3v', Langbezeichnung='Geschwindigkeitsvoranzeiger', Schaltbar=True, Zusatz_Moeglich=False, Symbol=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + self.Symbol = Symbol + self.validate_ENUMSymbol_Zs_3v(self.Symbol) + self.Symbol_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, Zs_3v) + if subclass is not None: + return subclass(*args_, **kwargs_) + if Zs_3v.subclass: + return Zs_3v.subclass(*args_, **kwargs_) + else: + return Zs_3v(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Symbol(self): + return self.Symbol + def set_Symbol(self, Symbol): + self.Symbol = Symbol + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def validate_ENUMSymbol_Zs_3v(self, value): + result = True + # Validate type ENUMSymbol_Zs_3v, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12', '13', '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 ENUMSymbol_Zs_3v' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Symbol is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Zs_3v', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('Zs_3v') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'Zs_3v': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Zs_3v') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Zs_3v', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='Zs_3v'): + if self.Anmerkungen is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if not self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'eine gelbe Kennziffer auf dreieckiger schwarzer Tafel mit gelbem Rand bzw. eine gelb leuchtende Kennziffer' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if not self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if not self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if not self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if not self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS != 'Zs 3v' and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV != 'Zs 3v' and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung != 'Geschwindigkeitsvoranzeiger' and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if not self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Zs_3v', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Symbol is not None: + namespaceprefix_ = self.Symbol_nsprefix_ + ':' if (UseCapturedNS_ and self.Symbol_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sSymbol>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Symbol), input_name='Symbol')), 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_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Symbol': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Symbol') + value_ = self.gds_validate_string(value_, node, 'Symbol') + self.Symbol = value_ + self.Symbol_nsprefix_ = child_.prefix + # validate type ENUMSymbol_Zs_3v + self.validate_ENUMSymbol_Zs_3v(self.Symbol) +# end class Zs_3v + + +class Zs_6(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen=None, Beleuchtbar=False, Beschreibung='weiß leuchtender schräger Lichtstreifen (Enden können abgewinkelt sein) oder rechteckige schwarze Scheibe mit weißem Rand und einem weißen von rechts nach links steigenden Streifen, dessen Enden senkrecht abgewinkelt sind', Geltungsbereich_DS=True, Geltungsbereich_DV=True, Geltungsbereich_SBahn_B=True, Geltungsbereich_SBahn_HH=True, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS='Zs 6', Kurzbezeichnung_DV='Zs 6', Langbezeichnung='Gegengleisanzeiger', Schaltbar=True, Zusatz_Moeglich=False, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, Zs_6) + if subclass is not None: + return subclass(*args_, **kwargs_) + if Zs_6.subclass: + return Zs_6.subclass(*args_, **kwargs_) + else: + return Zs_6(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Zs_6', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('Zs_6') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'Zs_6': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Zs_6') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Zs_6', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='Zs_6'): + if self.Anmerkungen is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'weiß leuchtender schräger Lichtstreifen (Enden können abgewinkelt sein) oder rechteckige schwarze Scheibe mit weißem Rand und einem weißen von rechts nach links steigenden Streifen, dessen Enden senkrecht abgewinkelt sind' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if not self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if not self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if not self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if not self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS != 'Zs 6' and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV != 'Zs 6' and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung != 'Gegengleisanzeiger' and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if not self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Zs_6', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class Zs_6 + + +class Zs_7(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen=None, Beleuchtbar=False, Beschreibung='drei gelbe Lichter in Form eines V', Geltungsbereich_DS=True, Geltungsbereich_DV=True, Geltungsbereich_SBahn_B=True, Geltungsbereich_SBahn_HH=True, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS='Zs 7', Kurzbezeichnung_DV='Zs 7', Langbezeichnung='Vorsichtssignal', Schaltbar=True, Zusatz_Moeglich=False, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, Zs_7) + if subclass is not None: + return subclass(*args_, **kwargs_) + if Zs_7.subclass: + return Zs_7.subclass(*args_, **kwargs_) + else: + return Zs_7(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Zs_7', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('Zs_7') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'Zs_7': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Zs_7') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Zs_7', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='Zs_7'): + if self.Anmerkungen is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'drei gelbe Lichter in Form eines V' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if not self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if not self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if not self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if not self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS != 'Zs 7' and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV != 'Zs 7' and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung != 'Vorsichtssignal' and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if not self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Zs_7', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class Zs_7 + + +class Zs_8_A(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen=None, Beleuchtbar=False, Beschreibung='drei blinkende Lichter in Form eines A', Geltungsbereich_DS=False, Geltungsbereich_DV=False, Geltungsbereich_SBahn_B=False, Geltungsbereich_SBahn_HH=False, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS='Zs 8', Kurzbezeichnung_DV='Zs 8', Langbezeichnung='Gegengleisfahrt-Ersatzsignal', Schaltbar=True, Zusatz_Moeglich=False, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, Zs_8_A) + if subclass is not None: + return subclass(*args_, **kwargs_) + if Zs_8_A.subclass: + return Zs_8_A.subclass(*args_, **kwargs_) + else: + return Zs_8_A(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Zs_8_A', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('Zs_8_A') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'Zs_8_A': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Zs_8_A') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Zs_8_A', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='Zs_8_A'): + if self.Anmerkungen is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'drei blinkende Lichter in Form eines A' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS != 'Zs 8' and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV != 'Zs 8' and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung != 'Gegengleisfahrt-Ersatzsignal' and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if not self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Zs_8_A', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class Zs_8_A + + +class Zs_8(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen=None, Beleuchtbar=False, Beschreibung='weiß blinkender Lichtstreifen, Enden können abgewinkelt sein', Geltungsbereich_DS=True, Geltungsbereich_DV=True, Geltungsbereich_SBahn_B=True, Geltungsbereich_SBahn_HH=True, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS='Zs 8', Kurzbezeichnung_DV='Zs 8', Langbezeichnung='Gegengleisfahrt-Ersatzsignal', Schaltbar=True, Zusatz_Moeglich=False, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, Zs_8) + if subclass is not None: + return subclass(*args_, **kwargs_) + if Zs_8.subclass: + return Zs_8.subclass(*args_, **kwargs_) + else: + return Zs_8(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Zs_8', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('Zs_8') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'Zs_8': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Zs_8') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Zs_8', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='Zs_8'): + if self.Anmerkungen is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'weiß blinkender Lichtstreifen, Enden können abgewinkelt sein' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if not self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if not self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if not self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if not self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS != 'Zs 8' and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV != 'Zs 8' and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung != 'Gegengleisfahrt-Ersatzsignal' and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if not self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Zs_8', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class Zs_8 + + +class Zs_9(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen='Optionales Zusatzschild mit Werten "2", "3", "4", "5", "6", "7", "8", "9"', Beleuchtbar=False, Beschreibung='dreieckige, weiße Tafel mit rotem Rand und schwarzem Gatter; bei Gültigkeit für mehrere Bahnübergänge mit Angabe der Anzahl als schwarzer Zahl', Geltungsbereich_DS=False, Geltungsbereich_DV=True, Geltungsbereich_SBahn_B=True, Geltungsbereich_SBahn_HH=False, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS=None, Kurzbezeichnung_DV='Zs 9', Langbezeichnung='Bahnübergangstafel', Schaltbar=False, Zusatz_Moeglich=True, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, Zs_9) + if subclass is not None: + return subclass(*args_, **kwargs_) + if Zs_9.subclass: + return Zs_9.subclass(*args_, **kwargs_) + else: + return Zs_9(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Zs_9', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('Zs_9') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'Zs_9': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Zs_9') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Zs_9', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='Zs_9'): + if self.Anmerkungen != 'Optionales Zusatzschild mit Werten "2", "3", "4", "5", "6", "7", "8", "9"' and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'dreieckige, weiße Tafel mit rotem Rand und schwarzem Gatter; bei Gültigkeit für mehrere Bahnübergänge mit Angabe der Anzahl als schwarzer Zahl' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if not self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if not self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV != 'Zs 9' and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung != 'Bahnübergangstafel' and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if not self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Zs_9', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class Zs_9 + + +class Zs_10(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen='Signalbuch enthält Ausführungen "Formsignal" und "Lichtsignal", Ausführung "Lichtsignal" im Bestand der DB Netz AG jedoch nicht mehr enthalten; Neubau gem. 819.0204, 4 (21) untersagt', Beleuchtbar=False, Beschreibung='weißer Pfeil mit Spitze nach oben auf pfeilförmiger, schwarzer Tafel bzw. weißleuchtender Pfeil mit Spitze nach oben', Geltungsbereich_DS=True, Geltungsbereich_DV=False, Geltungsbereich_SBahn_B=False, Geltungsbereich_SBahn_HH=True, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS='Zs 10', Kurzbezeichnung_DV=None, Langbezeichnung='Endesignal', Schaltbar=False, Zusatz_Moeglich=False, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, Zs_10) + if subclass is not None: + return subclass(*args_, **kwargs_) + if Zs_10.subclass: + return Zs_10.subclass(*args_, **kwargs_) + else: + return Zs_10(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Zs_10', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('Zs_10') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'Zs_10': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Zs_10') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Zs_10', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='Zs_10'): + if self.Anmerkungen != 'Signalbuch enthält Ausführungen "Formsignal" und "Lichtsignal", Ausführung "Lichtsignal" im Bestand der DB Netz AG jedoch nicht mehr enthalten; Neubau gem. 819.0204, 4 (21) untersagt' and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'weißer Pfeil mit Spitze nach oben auf pfeilförmiger, schwarzer Tafel bzw. weißleuchtender Pfeil mit Spitze nach oben' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if not self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if not self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS != 'Zs 10' and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung != 'Endesignal' and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Zs_10', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class Zs_10 + + +class Zs_12(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen=None, Beleuchtbar=False, Beschreibung='weiße Tafel mit rotem Rand und rotem „M“ in Schreibschrift', Geltungsbereich_DS=False, Geltungsbereich_DV=False, Geltungsbereich_SBahn_B=True, Geltungsbereich_SBahn_HH=True, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS='Zs 12', Kurzbezeichnung_DV='Zs 12', Langbezeichnung='M-Tafel', Schaltbar=False, Zusatz_Moeglich=False, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, Zs_12) + if subclass is not None: + return subclass(*args_, **kwargs_) + if Zs_12.subclass: + return Zs_12.subclass(*args_, **kwargs_) + else: + return Zs_12(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Zs_12', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('Zs_12') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'Zs_12': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Zs_12') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Zs_12', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='Zs_12'): + if self.Anmerkungen is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'weiße Tafel mit rotem Rand und rotem „M“ in Schreibschrift' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if not self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if not self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS != 'Zs 12' and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV != 'Zs 12' and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung != 'M-Tafel' and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Zs_12', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class Zs_12 + + +class Zs_13(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen=None, Beleuchtbar=False, Beschreibung='ein um 90° nach links umgelegtes gelbes rückstrahlendes „T“ auf einer rechteckigen schwarzen Tafel bzw. ein um 90° nach links umgelegtes gelbleuchtendes „T“', Geltungsbereich_DS=True, Geltungsbereich_DV=True, Geltungsbereich_SBahn_B=True, Geltungsbereich_SBahn_HH=True, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS='Zs 13', Kurzbezeichnung_DV='Zs 13', Langbezeichnung='Stumpfgleis- und Frühhaltanzeiger', Schaltbar=True, Zusatz_Moeglich=False, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, Zs_13) + if subclass is not None: + return subclass(*args_, **kwargs_) + if Zs_13.subclass: + return Zs_13.subclass(*args_, **kwargs_) + else: + return Zs_13(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Zs_13', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('Zs_13') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'Zs_13': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Zs_13') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Zs_13', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='Zs_13'): + if self.Anmerkungen is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'ein um 90° nach links umgelegtes gelbes rückstrahlendes „T“ auf einer rechteckigen schwarzen Tafel bzw. ein um 90° nach links umgelegtes gelbleuchtendes „T“' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if not self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if not self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if not self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if not self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS != 'Zs 13' and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV != 'Zs 13' and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung != 'Stumpfgleis- und Frühhaltanzeiger' and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if not self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Zs_13', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class Zs_13 + + +class Zs_103(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen=None, Beleuchtbar=False, Beschreibung='rechteckige schwarze Tafel mit weißen Rauten', Geltungsbereich_DS=False, Geltungsbereich_DV=False, Geltungsbereich_SBahn_B=False, Geltungsbereich_SBahn_HH=False, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS=None, Kurzbezeichnung_DV='Zs 103', Langbezeichnung='Rautentafel', Schaltbar=False, Zusatz_Moeglich=False, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, Zs_103) + if subclass is not None: + return subclass(*args_, **kwargs_) + if Zs_103.subclass: + return Zs_103.subclass(*args_, **kwargs_) + else: + return Zs_103(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Zs_103', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('Zs_103') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'Zs_103': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Zs_103') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Zs_103', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='Zs_103'): + if self.Anmerkungen is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'rechteckige schwarze Tafel mit weißen Rauten' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV != 'Zs 103' and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung != 'Rautentafel' and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Zs_103', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class Zs_103 + + +class Ts_1(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen=None, Beleuchtbar=True, Beschreibung='Nachschieben einstellen, ein um 90° nach rechts umgelegtes weißes T auf schwarzer Rechteckscheibe', Geltungsbereich_DS=False, Geltungsbereich_DV=False, Geltungsbereich_SBahn_B=False, Geltungsbereich_SBahn_HH=False, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS='Ts 1', Kurzbezeichnung_DV='Ts 1', Langbezeichnung=None, Schaltbar=False, Zusatz_Moeglich=False, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, Ts_1) + if subclass is not None: + return subclass(*args_, **kwargs_) + if Ts_1.subclass: + return Ts_1.subclass(*args_, **kwargs_) + else: + return Ts_1(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Ts_1', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('Ts_1') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'Ts_1': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Ts_1') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Ts_1', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='Ts_1'): + if self.Anmerkungen is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if not self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'Nachschieben einstellen, ein um 90° nach rechts umgelegtes weißes T auf schwarzer Rechteckscheibe' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS != 'Ts 1' and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV != 'Ts 1' and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Ts_1', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class Ts_1 + + +class Ts_2(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen=None, Beleuchtbar=True, Beschreibung='Halt für zurückkehrende Schiebelokomotiven und Sperrfahrten, quadratische, auf der Spitze stehende weiße Scheibe mit schwarzem Rand', Geltungsbereich_DS=False, Geltungsbereich_DV=False, Geltungsbereich_SBahn_B=False, Geltungsbereich_SBahn_HH=False, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS='Ts 2', Kurzbezeichnung_DV='Ts 2', Langbezeichnung=None, Schaltbar=False, Zusatz_Moeglich=False, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, Ts_2) + if subclass is not None: + return subclass(*args_, **kwargs_) + if Ts_2.subclass: + return Ts_2.subclass(*args_, **kwargs_) + else: + return Ts_2(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Ts_2', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('Ts_2') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'Ts_2': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Ts_2') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Ts_2', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='Ts_2'): + if self.Anmerkungen is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if not self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'Halt für zurückkehrende Schiebelokomotiven und Sperrfahrten, quadratische, auf der Spitze stehende weiße Scheibe mit schwarzem Rand' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS != 'Ts 2' and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV != 'Ts 2' and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Ts_2', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class Ts_2 + + +class Ts_3(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen=None, Beleuchtbar=True, Beschreibung='Weiterfahrt für zurückkehrende Schiebelokomotiven und Sperrfahrten, auf Signal Ts 2 ein schwarzer nach rechts steigender Streifen', Geltungsbereich_DS=False, Geltungsbereich_DV=False, Geltungsbereich_SBahn_B=False, Geltungsbereich_SBahn_HH=False, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS='Ts 3', Kurzbezeichnung_DV='Ts 3', Langbezeichnung=None, Schaltbar=False, Zusatz_Moeglich=False, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, Ts_3) + if subclass is not None: + return subclass(*args_, **kwargs_) + if Ts_3.subclass: + return Ts_3.subclass(*args_, **kwargs_) + else: + return Ts_3(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Ts_3', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('Ts_3') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'Ts_3': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Ts_3') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Ts_3', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='Ts_3'): + if self.Anmerkungen is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if not self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'Weiterfahrt für zurückkehrende Schiebelokomotiven und Sperrfahrten, auf Signal Ts 2 ein schwarzer nach rechts steigender Streifen' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS != 'Ts 3' and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV != 'Ts 3' and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Ts_3', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class Ts_3 + + +class Lf_1(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen='Nachtzeichen wird im Modell nicht berücksichtigt, da kein Bestandteil PT 1', Beleuchtbar=True, Beschreibung='dreieckige gelbe Scheibe mit weißem Rand und Spitze nach oben oder unten zeigt eine schwarze Kennziffer', Geltungsbereich_DS=True, Geltungsbereich_DV=True, Geltungsbereich_SBahn_B=True, Geltungsbereich_SBahn_HH=True, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS='Lf 1', Kurzbezeichnung_DV='Lf 1', Langbezeichnung='Langsamfahrscheibe', Schaltbar=False, Zusatz_Moeglich=False, Symbol=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + self.Symbol = Symbol + self.validate_ENUMSymbol_Lf_1(self.Symbol) + self.Symbol_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, Lf_1) + if subclass is not None: + return subclass(*args_, **kwargs_) + if Lf_1.subclass: + return Lf_1.subclass(*args_, **kwargs_) + else: + return Lf_1(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Symbol(self): + return self.Symbol + def set_Symbol(self, Symbol): + self.Symbol = Symbol + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def validate_ENUMSymbol_Lf_1(self, value): + result = True + # Validate type ENUMSymbol_Lf_1, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['0,5', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12', '13', '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 ENUMSymbol_Lf_1' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Symbol is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Lf_1', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('Lf_1') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'Lf_1': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Lf_1') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Lf_1', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='Lf_1'): + if self.Anmerkungen != 'Nachtzeichen wird im Modell nicht berücksichtigt, da kein Bestandteil PT 1' and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if not self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'dreieckige gelbe Scheibe mit weißem Rand und Spitze nach oben oder unten zeigt eine schwarze Kennziffer' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if not self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if not self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if not self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if not self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS != 'Lf 1' and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV != 'Lf 1' and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung != 'Langsamfahrscheibe' and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Lf_1', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Symbol is not None: + namespaceprefix_ = self.Symbol_nsprefix_ + ':' if (UseCapturedNS_ and self.Symbol_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sSymbol>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Symbol), input_name='Symbol')), 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_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Symbol': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Symbol') + value_ = self.gds_validate_string(value_, node, 'Symbol') + self.Symbol = value_ + self.Symbol_nsprefix_ = child_.prefix + # validate type ENUMSymbol_Lf_1 + self.validate_ENUMSymbol_Lf_1(self.Symbol) +# end class Lf_1 + + +class Lf_1_2(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen=None, Beleuchtbar=True, Beschreibung='rechteckige, gelbe Scheibe mit weißem Rand zeigt eine schwarze Kennziffer', Geltungsbereich_DS=False, Geltungsbereich_DV=True, Geltungsbereich_SBahn_B=True, Geltungsbereich_SBahn_HH=False, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS=None, Kurzbezeichnung_DV='Lf 1/2', Langbezeichnung='Langsamfahrbeginnscheibe', Schaltbar=False, Zusatz_Moeglich=False, Symbol=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + self.Symbol = Symbol + self.validate_ENUMSymbol_Lf_1_2(self.Symbol) + self.Symbol_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, Lf_1_2) + if subclass is not None: + return subclass(*args_, **kwargs_) + if Lf_1_2.subclass: + return Lf_1_2.subclass(*args_, **kwargs_) + else: + return Lf_1_2(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Symbol(self): + return self.Symbol + def set_Symbol(self, Symbol): + self.Symbol = Symbol + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def validate_ENUMSymbol_Lf_1_2(self, value): + result = True + # Validate type ENUMSymbol_Lf_1_2, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['0,5', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12', '13', '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 ENUMSymbol_Lf_1_2' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Symbol is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Lf_1_2', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('Lf_1_2') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'Lf_1_2': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Lf_1_2') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Lf_1_2', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='Lf_1_2'): + if self.Anmerkungen is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if not self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'rechteckige, gelbe Scheibe mit weißem Rand zeigt eine schwarze Kennziffer' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if not self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if not self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV != 'Lf 1/2' and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung != 'Langsamfahrbeginnscheibe' and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Lf_1_2', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Symbol is not None: + namespaceprefix_ = self.Symbol_nsprefix_ + ':' if (UseCapturedNS_ and self.Symbol_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sSymbol>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Symbol), input_name='Symbol')), 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_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Symbol': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Symbol') + value_ = self.gds_validate_string(value_, node, 'Symbol') + self.Symbol = value_ + self.Symbol_nsprefix_ = child_.prefix + # validate type ENUMSymbol_Lf_1_2 + self.validate_ENUMSymbol_Lf_1_2(self.Symbol) +# end class Lf_1_2 + + +class Lf_2(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen=None, Beleuchtbar=True, Beschreibung='rechteckige, auf der Schmalseite stehende oder quadratische gelbe Scheibe mit weißem Rand und schwarzem A', Geltungsbereich_DS=True, Geltungsbereich_DV=True, Geltungsbereich_SBahn_B=True, Geltungsbereich_SBahn_HH=True, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS='Lf 2', Kurzbezeichnung_DV='Lf 2', Langbezeichnung='Anfangscheibe', Schaltbar=False, Zusatz_Moeglich=False, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, Lf_2) + if subclass is not None: + return subclass(*args_, **kwargs_) + if Lf_2.subclass: + return Lf_2.subclass(*args_, **kwargs_) + else: + return Lf_2(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Lf_2', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('Lf_2') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'Lf_2': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Lf_2') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Lf_2', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='Lf_2'): + if self.Anmerkungen is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if not self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'rechteckige, auf der Schmalseite stehende oder quadratische gelbe Scheibe mit weißem Rand und schwarzem A' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if not self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if not self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if not self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if not self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS != 'Lf 2' and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV != 'Lf 2' and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung != 'Anfangscheibe' and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Lf_2', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class Lf_2 + + +class Lf_3(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen=None, Beleuchtbar=True, Beschreibung='rechteckige, auf der Schmalseite stehende oder quadratische weiße Scheibe mit schwarzem E', Geltungsbereich_DS=True, Geltungsbereich_DV=True, Geltungsbereich_SBahn_B=True, Geltungsbereich_SBahn_HH=True, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS='Lf 3', Kurzbezeichnung_DV='Lf 3', Langbezeichnung='Endscheibe', Schaltbar=False, Zusatz_Moeglich=False, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, Lf_3) + if subclass is not None: + return subclass(*args_, **kwargs_) + if Lf_3.subclass: + return Lf_3.subclass(*args_, **kwargs_) + else: + return Lf_3(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Lf_3', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('Lf_3') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'Lf_3': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Lf_3') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Lf_3', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='Lf_3'): + if self.Anmerkungen is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if not self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'rechteckige, auf der Schmalseite stehende oder quadratische weiße Scheibe mit schwarzem E' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if not self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if not self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if not self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if not self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS != 'Lf 3' and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV != 'Lf 3' and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung != 'Endscheibe' and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Lf_3', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class Lf_3 + + +class Lf_4_DS(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen=None, Beleuchtbar=True, Beschreibung='auf der Spitze stehende oder mit der Spitze nach oben zeigende dreieckige weiße Tafel mit schwarzem Rand zeigt eine schwarze Kennziffer', Geltungsbereich_DS=False, Geltungsbereich_DV=False, Geltungsbereich_SBahn_B=False, Geltungsbereich_SBahn_HH=False, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS='Lf 4', Kurzbezeichnung_DV=None, Langbezeichnung='Geschwindigkeitstafel', Schaltbar=False, Zusatz_Moeglich=False, Symbol=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + self.Symbol = Symbol + self.validate_ENUMSymbol_Lf_4_DS(self.Symbol) + self.Symbol_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, Lf_4_DS) + if subclass is not None: + return subclass(*args_, **kwargs_) + if Lf_4_DS.subclass: + return Lf_4_DS.subclass(*args_, **kwargs_) + else: + return Lf_4_DS(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Symbol(self): + return self.Symbol + def set_Symbol(self, Symbol): + self.Symbol = Symbol + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def validate_ENUMSymbol_Lf_4_DS(self, value): + result = True + # Validate type ENUMSymbol_Lf_4_DS, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['0,5', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12', '13', '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 ENUMSymbol_Lf_4_DS' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Symbol is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Lf_4_DS', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('Lf_4_DS') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'Lf_4_DS': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Lf_4_DS') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Lf_4_DS', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='Lf_4_DS'): + if self.Anmerkungen is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if not self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'auf der Spitze stehende oder mit der Spitze nach oben zeigende dreieckige weiße Tafel mit schwarzem Rand zeigt eine schwarze Kennziffer' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS != 'Lf 4' and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung != 'Geschwindigkeitstafel' and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Lf_4_DS', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Symbol is not None: + namespaceprefix_ = self.Symbol_nsprefix_ + ':' if (UseCapturedNS_ and self.Symbol_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sSymbol>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Symbol), input_name='Symbol')), 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_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Symbol': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Symbol') + value_ = self.gds_validate_string(value_, node, 'Symbol') + self.Symbol = value_ + self.Symbol_nsprefix_ = child_.prefix + # validate type ENUMSymbol_Lf_4_DS + self.validate_ENUMSymbol_Lf_4_DS(self.Symbol) +# end class Lf_4_DS + + +class Lf_4_DV(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen=None, Beleuchtbar=True, Beschreibung='auf der Spitze stehende oder mit der Spitze nach oben zeigende dreieckige, weiße Tafel mit schwarzem Rand zeigt eine schwarze Geschwindigkeitszahl', Geltungsbereich_DS=False, Geltungsbereich_DV=False, Geltungsbereich_SBahn_B=False, Geltungsbereich_SBahn_HH=False, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS=None, Kurzbezeichnung_DV='Lf 4', Langbezeichnung='Geschwindigkeitstafel', Schaltbar=False, Zusatz_Moeglich=False, Symbol=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + self.Symbol = Symbol + self.validate_ENUMSymbol_Lf_4_DV(self.Symbol) + self.Symbol_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, Lf_4_DV) + if subclass is not None: + return subclass(*args_, **kwargs_) + if Lf_4_DV.subclass: + return Lf_4_DV.subclass(*args_, **kwargs_) + else: + return Lf_4_DV(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Symbol(self): + return self.Symbol + def set_Symbol(self, Symbol): + self.Symbol = Symbol + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def validate_ENUMSymbol_Lf_4_DV(self, value): + result = True + # Validate type ENUMSymbol_Lf_4_DV, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['0', '10', '20', '30', '40', '50', '60', '70', '80', '90', '100', '110', '120', '130', '140', '150'] + 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 ENUMSymbol_Lf_4_DV' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Symbol is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Lf_4_DV', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('Lf_4_DV') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'Lf_4_DV': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Lf_4_DV') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Lf_4_DV', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='Lf_4_DV'): + if self.Anmerkungen is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if not self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'auf der Spitze stehende oder mit der Spitze nach oben zeigende dreieckige, weiße Tafel mit schwarzem Rand zeigt eine schwarze Geschwindigkeitszahl' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV != 'Lf 4' and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung != 'Geschwindigkeitstafel' and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Lf_4_DV', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Symbol is not None: + namespaceprefix_ = self.Symbol_nsprefix_ + ':' if (UseCapturedNS_ and self.Symbol_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sSymbol>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Symbol), input_name='Symbol')), 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_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Symbol': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Symbol') + value_ = self.gds_validate_string(value_, node, 'Symbol') + self.Symbol = value_ + self.Symbol_nsprefix_ = child_.prefix + # validate type ENUMSymbol_Lf_4_DV + self.validate_ENUMSymbol_Lf_4_DV(self.Symbol) +# end class Lf_4_DV + + +class Lf_5_DS(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen=None, Beleuchtbar=False, Beschreibung='rechteckige, auf der Schmalseite stehende weiße Tafel mit schwarzem A', Geltungsbereich_DS=False, Geltungsbereich_DV=False, Geltungsbereich_SBahn_B=False, Geltungsbereich_SBahn_HH=False, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS='Lf 5', Kurzbezeichnung_DV=None, Langbezeichnung='Anfangtafel', Schaltbar=False, Zusatz_Moeglich=False, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, Lf_5_DS) + if subclass is not None: + return subclass(*args_, **kwargs_) + if Lf_5_DS.subclass: + return Lf_5_DS.subclass(*args_, **kwargs_) + else: + return Lf_5_DS(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Lf_5_DS', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('Lf_5_DS') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'Lf_5_DS': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Lf_5_DS') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Lf_5_DS', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='Lf_5_DS'): + if self.Anmerkungen is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'rechteckige, auf der Schmalseite stehende weiße Tafel mit schwarzem A' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS != 'Lf 5' and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung != 'Anfangtafel' and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Lf_5_DS', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class Lf_5_DS + + +class Lf_5_DV(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen=None, Beleuchtbar=False, Beschreibung='rechteckige, weiße Tafel mit schwarzen Ecken', Geltungsbereich_DS=False, Geltungsbereich_DV=False, Geltungsbereich_SBahn_B=False, Geltungsbereich_SBahn_HH=False, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS=None, Kurzbezeichnung_DV='Lf 5', Langbezeichnung='Eckentafel', Schaltbar=False, Zusatz_Moeglich=False, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, Lf_5_DV) + if subclass is not None: + return subclass(*args_, **kwargs_) + if Lf_5_DV.subclass: + return Lf_5_DV.subclass(*args_, **kwargs_) + else: + return Lf_5_DV(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Lf_5_DV', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('Lf_5_DV') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'Lf_5_DV': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Lf_5_DV') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Lf_5_DV', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='Lf_5_DV'): + if self.Anmerkungen is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'rechteckige, weiße Tafel mit schwarzen Ecken' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV != 'Lf 5' and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung != 'Eckentafel' and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Lf_5_DV', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class Lf_5_DV + + +class Lf_6(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen=None, Beleuchtbar=True, Beschreibung='schwarz- und weißumrandete dreieckige gelbe Tafel mit Spitze nach oben oder unten zeigt eine schwarze Kennziffer', Geltungsbereich_DS=True, Geltungsbereich_DV=True, Geltungsbereich_SBahn_B=True, Geltungsbereich_SBahn_HH=True, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS='Lf 6', Kurzbezeichnung_DV='Lf 6', Langbezeichnung='Geschwindigkeits-Ankündesignal', Schaltbar=False, Zusatz_Moeglich=False, Symbol=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + self.Symbol = Symbol + self.validate_ENUMSymbol_Lf_6(self.Symbol) + self.Symbol_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, Lf_6) + if subclass is not None: + return subclass(*args_, **kwargs_) + if Lf_6.subclass: + return Lf_6.subclass(*args_, **kwargs_) + else: + return Lf_6(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Symbol(self): + return self.Symbol + def set_Symbol(self, Symbol): + self.Symbol = Symbol + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def validate_ENUMSymbol_Lf_6(self, value): + result = True + # Validate type ENUMSymbol_Lf_6, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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', '10', '11', '12', '13', '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 ENUMSymbol_Lf_6' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Symbol is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Lf_6', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('Lf_6') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'Lf_6': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Lf_6') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Lf_6', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='Lf_6'): + if self.Anmerkungen is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if not self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'schwarz- und weißumrandete dreieckige gelbe Tafel mit Spitze nach oben oder unten zeigt eine schwarze Kennziffer' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if not self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if not self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if not self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if not self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS != 'Lf 6' and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV != 'Lf 6' and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung != 'Geschwindigkeits-Ankündesignal' and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Lf_6', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Symbol is not None: + namespaceprefix_ = self.Symbol_nsprefix_ + ':' if (UseCapturedNS_ and self.Symbol_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sSymbol>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Symbol), input_name='Symbol')), 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_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Symbol': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Symbol') + value_ = self.gds_validate_string(value_, node, 'Symbol') + self.Symbol = value_ + self.Symbol_nsprefix_ = child_.prefix + # validate type ENUMSymbol_Lf_6 + self.validate_ENUMSymbol_Lf_6(self.Symbol) +# end class Lf_6 + + +class Lf_7(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen='Mit Zusatzschild "BÜ" darf die Geschwindigkeit erhöht werden, wenn das führende Fahrzeug die Mitte des Bahnübergangs erreicht hat', Beleuchtbar=True, Beschreibung='rechteckige, auf der Schmalseite stehende oder quadratische weiße Tafel mit schwarzem Rand zeigt eine schwarze Kennziffer (ggf. mit Zusatzschild mit der Aufschrift "BÜ")', Geltungsbereich_DS=True, Geltungsbereich_DV=True, Geltungsbereich_SBahn_B=True, Geltungsbereich_SBahn_HH=True, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS='Lf 7', Kurzbezeichnung_DV='Lf 7', Langbezeichnung='Geschwindigkeitssignal', Schaltbar=False, Zusatz_Moeglich=True, Symbol=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + self.Symbol = Symbol + self.validate_ENUMSymbol_Lf_7(self.Symbol) + self.Symbol_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, Lf_7) + if subclass is not None: + return subclass(*args_, **kwargs_) + if Lf_7.subclass: + return Lf_7.subclass(*args_, **kwargs_) + else: + return Lf_7(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Symbol(self): + return self.Symbol + def set_Symbol(self, Symbol): + self.Symbol = Symbol + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def validate_ENUMSymbol_Lf_7(self, value): + result = True + # Validate type ENUMSymbol_Lf_7, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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', '10', '11', '12', '13', '14', '15', '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 ENUMSymbol_Lf_7' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Symbol is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Lf_7', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('Lf_7') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'Lf_7': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Lf_7') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Lf_7', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='Lf_7'): + if self.Anmerkungen != 'Mit Zusatzschild "BÜ" darf die Geschwindigkeit erhöht werden, wenn das führende Fahrzeug die Mitte des Bahnübergangs erreicht hat' and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if not self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'rechteckige, auf der Schmalseite stehende oder quadratische weiße Tafel mit schwarzem Rand zeigt eine schwarze Kennziffer (ggf. mit Zusatzschild mit der Aufschrift "BÜ")' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if not self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if not self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if not self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if not self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS != 'Lf 7' and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV != 'Lf 7' and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung != 'Geschwindigkeitssignal' and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if not self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Lf_7', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Symbol is not None: + namespaceprefix_ = self.Symbol_nsprefix_ + ':' if (UseCapturedNS_ and self.Symbol_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sSymbol>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Symbol), input_name='Symbol')), 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_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Symbol': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Symbol') + value_ = self.gds_validate_string(value_, node, 'Symbol') + self.Symbol = value_ + self.Symbol_nsprefix_ = child_.prefix + # validate type ENUMSymbol_Lf_7 + self.validate_ENUMSymbol_Lf_7(self.Symbol) +# end class Lf_7 + + +class Sh_0(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen=None, Beleuchtbar=True, Beschreibung='waagerechter schwarzer Streifen in runder weißer Scheibe auf schwarzem Grund', Geltungsbereich_DS=True, Geltungsbereich_DV=True, Geltungsbereich_SBahn_B=True, Geltungsbereich_SBahn_HH=True, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS='Sh 0', Kurzbezeichnung_DV='Sh 0', Langbezeichnung=None, Schaltbar=False, Zusatz_Moeglich=False, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, Sh_0) + if subclass is not None: + return subclass(*args_, **kwargs_) + if Sh_0.subclass: + return Sh_0.subclass(*args_, **kwargs_) + else: + return Sh_0(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Sh_0', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('Sh_0') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'Sh_0': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Sh_0') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Sh_0', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='Sh_0'): + if self.Anmerkungen is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if not self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'waagerechter schwarzer Streifen in runder weißer Scheibe auf schwarzem Grund' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if not self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if not self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if not self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if not self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS != 'Sh 0' and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV != 'Sh 0' and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Sh_0', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class Sh_0 + + +class Sh_1(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen='beleuchtete Formsignale Sh 1 werden aufgrund der geringen Auftrittswahrscheinlichkeit im Vergleich zum Lichtsignal nicht berücksichtigt, Planung ggf. über Kommentar', Beleuchtbar=False, Beschreibung='nach rechts steigender schwarzer Streifen auf runder weißer Scheibe bzw. zwei weiße Lichter nach rechts steigend', Geltungsbereich_DS=True, Geltungsbereich_DV=True, Geltungsbereich_SBahn_B=True, Geltungsbereich_SBahn_HH=True, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS='Sh 1', Kurzbezeichnung_DV='Ra 12', Langbezeichnung='Rangierfahrtsignal', Schaltbar=True, Zusatz_Moeglich=False, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, Sh_1) + if subclass is not None: + return subclass(*args_, **kwargs_) + if Sh_1.subclass: + return Sh_1.subclass(*args_, **kwargs_) + else: + return Sh_1(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Sh_1', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('Sh_1') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'Sh_1': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Sh_1') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Sh_1', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='Sh_1'): + if self.Anmerkungen != 'beleuchtete Formsignale Sh 1 werden aufgrund der geringen Auftrittswahrscheinlichkeit im Vergleich zum Lichtsignal nicht berücksichtigt, Planung ggf. über Kommentar' and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'nach rechts steigender schwarzer Streifen auf runder weißer Scheibe bzw. zwei weiße Lichter nach rechts steigend' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if not self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if not self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if not self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if not self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS != 'Sh 1' and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV != 'Ra 12' and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung != 'Rangierfahrtsignal' and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if not self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Sh_1', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class Sh_1 + + +class Sh_2(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen='Beleuchtung im Sinne der Anstrahlung wird bei Neuplanungen nicht mehr angewendet, Verwendung "Innenbeleuchtet" für Nachtzeichen ', Beleuchtbar=True, Beschreibung='rechteckige rote Scheibe mit weißem Rand und ggf. rotem Lichtpunkt', Geltungsbereich_DS=True, Geltungsbereich_DV=True, Geltungsbereich_SBahn_B=True, Geltungsbereich_SBahn_HH=True, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS='Sh 2', Kurzbezeichnung_DV='Sh 2', Langbezeichnung=None, Schaltbar=False, Zusatz_Moeglich=False, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, Sh_2) + if subclass is not None: + return subclass(*args_, **kwargs_) + if Sh_2.subclass: + return Sh_2.subclass(*args_, **kwargs_) + else: + return Sh_2(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Sh_2', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('Sh_2') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'Sh_2': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Sh_2') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Sh_2', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='Sh_2'): + if self.Anmerkungen != 'Beleuchtung im Sinne der Anstrahlung wird bei Neuplanungen nicht mehr angewendet, Verwendung "Innenbeleuchtet" für Nachtzeichen ' and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if not self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'rechteckige rote Scheibe mit weißem Rand und ggf. rotem Lichtpunkt' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if not self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if not self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if not self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if not self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS != 'Sh 2' and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV != 'Sh 2' and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Sh_2', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class Sh_2 + + +class Ra_10(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen=None, Beleuchtbar=False, Beschreibung='oben halbkreisförmig abgerundete weiße Tafel, ggf. mit schwarzer Aufschrift ”Halt für Rangierfahrten”', Geltungsbereich_DS=True, Geltungsbereich_DV=True, Geltungsbereich_SBahn_B=True, Geltungsbereich_SBahn_HH=True, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS='Ra 10', Kurzbezeichnung_DV='Ra 10', Langbezeichnung='Rangierhalttafel', Schaltbar=False, Zusatz_Moeglich=False, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, Ra_10) + if subclass is not None: + return subclass(*args_, **kwargs_) + if Ra_10.subclass: + return Ra_10.subclass(*args_, **kwargs_) + else: + return Ra_10(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Ra_10', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('Ra_10') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'Ra_10': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Ra_10') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Ra_10', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='Ra_10'): + if self.Anmerkungen is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'oben halbkreisförmig abgerundete weiße Tafel, ggf. mit schwarzer Aufschrift ”Halt für Rangierfahrten”' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if not self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if not self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if not self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if not self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS != 'Ra 10' and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV != 'Ra 10' and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung != 'Rangierhalttafel' and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Ra_10', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class Ra_10 + + +class Ra_11(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen=None, Beleuchtbar=True, Beschreibung='gelbes W mit schwarzem Rand', Geltungsbereich_DS=True, Geltungsbereich_DV=True, Geltungsbereich_SBahn_B=True, Geltungsbereich_SBahn_HH=True, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS='Ra 11', Kurzbezeichnung_DV='Ra 11a', Langbezeichnung='Wartezeichen', Schaltbar=False, Zusatz_Moeglich=False, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, Ra_11) + if subclass is not None: + return subclass(*args_, **kwargs_) + if Ra_11.subclass: + return Ra_11.subclass(*args_, **kwargs_) + else: + return Ra_11(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Ra_11', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('Ra_11') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'Ra_11': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Ra_11') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Ra_11', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='Ra_11'): + if self.Anmerkungen is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if not self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'gelbes W mit schwarzem Rand' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if not self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if not self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if not self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if not self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS != 'Ra 11' and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV != 'Ra 11a' and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung != 'Wartezeichen' and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Ra_11', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class Ra_11 + + +class Ra_11b(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen=None, Beleuchtbar=True, Beschreibung='weißes W mit schwarzem Rand', Geltungsbereich_DS=False, Geltungsbereich_DV=True, Geltungsbereich_SBahn_B=True, Geltungsbereich_SBahn_HH=False, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS=None, Kurzbezeichnung_DV='Ra 11b', Langbezeichnung='Wartezeichen', Schaltbar=False, Zusatz_Moeglich=False, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, Ra_11b) + if subclass is not None: + return subclass(*args_, **kwargs_) + if Ra_11b.subclass: + return Ra_11b.subclass(*args_, **kwargs_) + else: + return Ra_11b(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Ra_11b', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('Ra_11b') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'Ra_11b': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Ra_11b') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Ra_11b', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='Ra_11b'): + if self.Anmerkungen is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if not self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'weißes W mit schwarzem Rand' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if not self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if not self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV != 'Ra 11b' and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung != 'Wartezeichen' and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Ra_11b', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class Ra_11b + + +class Ra_12(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen=None, Beleuchtbar=False, Beschreibung='rot-weißes Zeichen', Geltungsbereich_DS=True, Geltungsbereich_DV=True, Geltungsbereich_SBahn_B=True, Geltungsbereich_SBahn_HH=True, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS='Ra 12', Kurzbezeichnung_DV='So 12', Langbezeichnung='Grenzzeichen', Schaltbar=False, Zusatz_Moeglich=False, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, Ra_12) + if subclass is not None: + return subclass(*args_, **kwargs_) + if Ra_12.subclass: + return Ra_12.subclass(*args_, **kwargs_) + else: + return Ra_12(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Ra_12', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('Ra_12') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'Ra_12': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Ra_12') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Ra_12', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='Ra_12'): + if self.Anmerkungen is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'rot-weißes Zeichen' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if not self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if not self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if not self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if not self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS != 'Ra 12' and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV != 'So 12' and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung != 'Grenzzeichen' and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Ra_12', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class Ra_12 + + +class Ra_13(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen=None, Beleuchtbar=False, Beschreibung='auf weißem Grund ein blauer Pfeil', Geltungsbereich_DS=True, Geltungsbereich_DV=True, Geltungsbereich_SBahn_B=True, Geltungsbereich_SBahn_HH=True, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS='Ra 13', Kurzbezeichnung_DV='Ra 13', Langbezeichnung='Isolierzeichen', Schaltbar=False, Zusatz_Moeglich=False, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, Ra_13) + if subclass is not None: + return subclass(*args_, **kwargs_) + if Ra_13.subclass: + return Ra_13.subclass(*args_, **kwargs_) + else: + return Ra_13(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Ra_13', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('Ra_13') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'Ra_13': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Ra_13') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Ra_13', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='Ra_13'): + if self.Anmerkungen is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'auf weißem Grund ein blauer Pfeil' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if not self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if not self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if not self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if not self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS != 'Ra 13' and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV != 'Ra 13' and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung != 'Isolierzeichen' and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Ra_13', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class Ra_13 + + +class Wn_1(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen=None, Beleuchtbar=True, Beschreibung='auf der Schmalseite stehendes weißes Rechteck auf schwarzem Grund bzw. zwei übereinander stehende weiße Lichter', Geltungsbereich_DS=True, Geltungsbereich_DV=True, Geltungsbereich_SBahn_B=True, Geltungsbereich_SBahn_HH=True, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS='Wn 1', Kurzbezeichnung_DV='Wn 1', Langbezeichnung=None, Schaltbar=True, Zusatz_Moeglich=False, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, Wn_1) + if subclass is not None: + return subclass(*args_, **kwargs_) + if Wn_1.subclass: + return Wn_1.subclass(*args_, **kwargs_) + else: + return Wn_1(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Wn_1', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('Wn_1') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'Wn_1': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Wn_1') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Wn_1', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='Wn_1'): + if self.Anmerkungen is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if not self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'auf der Schmalseite stehendes weißes Rechteck auf schwarzem Grund bzw. zwei übereinander stehende weiße Lichter' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if not self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if not self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if not self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if not self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS != 'Wn 1' and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV != 'Wn 1' and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if not self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Wn_1', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class Wn_1 + + +class Wn_2(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen=None, Beleuchtbar=True, Beschreibung='weißer Pfeil oder Streifen auf schwarzem Grund schräg nach links oder rechts aufwärts zeigend bzw. zwei nebeneinander stehende weiße Lichter', Geltungsbereich_DS=True, Geltungsbereich_DV=True, Geltungsbereich_SBahn_B=True, Geltungsbereich_SBahn_HH=True, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS='Wn 2', Kurzbezeichnung_DV='Wn 2', Langbezeichnung=None, Schaltbar=True, Zusatz_Moeglich=False, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, Wn_2) + if subclass is not None: + return subclass(*args_, **kwargs_) + if Wn_2.subclass: + return Wn_2.subclass(*args_, **kwargs_) + else: + return Wn_2(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Wn_2', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('Wn_2') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'Wn_2': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Wn_2') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Wn_2', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='Wn_2'): + if self.Anmerkungen is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if not self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'weißer Pfeil oder Streifen auf schwarzem Grund schräg nach links oder rechts aufwärts zeigend bzw. zwei nebeneinander stehende weiße Lichter' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if not self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if not self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if not self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if not self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS != 'Wn 2' and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV != 'Wn 2' and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if not self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Wn_2', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class Wn_2 + + +class Wn_3(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen=None, Beleuchtbar=True, Beschreibung='Pfeile, Streifen oder Lichter bilden eine von links nach rechts steigende Linie', Geltungsbereich_DS=True, Geltungsbereich_DV=True, Geltungsbereich_SBahn_B=True, Geltungsbereich_SBahn_HH=True, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS='Wn 3', Kurzbezeichnung_DV='Wn 3', Langbezeichnung=None, Schaltbar=True, Zusatz_Moeglich=False, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, Wn_3) + if subclass is not None: + return subclass(*args_, **kwargs_) + if Wn_3.subclass: + return Wn_3.subclass(*args_, **kwargs_) + else: + return Wn_3(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Wn_3', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('Wn_3') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'Wn_3': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Wn_3') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Wn_3', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='Wn_3'): + if self.Anmerkungen is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if not self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'Pfeile, Streifen oder Lichter bilden eine von links nach rechts steigende Linie' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if not self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if not self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if not self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if not self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS != 'Wn 3' and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV != 'Wn 3' and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if not self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Wn_3', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class Wn_3 + + +class Wn_4(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen=None, Beleuchtbar=True, Beschreibung='Pfeile, Streifen oder Lichter bilden eine von rechts nach links steigende Linie', Geltungsbereich_DS=True, Geltungsbereich_DV=True, Geltungsbereich_SBahn_B=True, Geltungsbereich_SBahn_HH=True, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS='Wn 4', Kurzbezeichnung_DV='Wn 4', Langbezeichnung=None, Schaltbar=True, Zusatz_Moeglich=False, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, Wn_4) + if subclass is not None: + return subclass(*args_, **kwargs_) + if Wn_4.subclass: + return Wn_4.subclass(*args_, **kwargs_) + else: + return Wn_4(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Wn_4', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('Wn_4') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'Wn_4': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Wn_4') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Wn_4', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='Wn_4'): + if self.Anmerkungen is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if not self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'Pfeile, Streifen oder Lichter bilden eine von rechts nach links steigende Linie' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if not self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if not self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if not self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if not self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS != 'Wn 4' and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV != 'Wn 4' and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if not self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Wn_4', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class Wn_4 + + +class Wn_5(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen=None, Beleuchtbar=True, Beschreibung='Pfeile, Streifen oder Lichter bilden einen nach links geöffneten rechten Winkel', Geltungsbereich_DS=True, Geltungsbereich_DV=True, Geltungsbereich_SBahn_B=True, Geltungsbereich_SBahn_HH=True, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS='Wn 5', Kurzbezeichnung_DV='Wn 5', Langbezeichnung=None, Schaltbar=True, Zusatz_Moeglich=False, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, Wn_5) + if subclass is not None: + return subclass(*args_, **kwargs_) + if Wn_5.subclass: + return Wn_5.subclass(*args_, **kwargs_) + else: + return Wn_5(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Wn_5', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('Wn_5') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'Wn_5': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Wn_5') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Wn_5', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='Wn_5'): + if self.Anmerkungen is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if not self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'Pfeile, Streifen oder Lichter bilden einen nach links geöffneten rechten Winkel' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if not self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if not self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if not self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if not self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS != 'Wn 5' and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV != 'Wn 5' and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if not self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Wn_5', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class Wn_5 + + +class Wn_6(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen=None, Beleuchtbar=True, Beschreibung='Pfeile, Streifen oder Lichter bilden einen nach rechts geöffneten rechten Winkel', Geltungsbereich_DS=True, Geltungsbereich_DV=True, Geltungsbereich_SBahn_B=True, Geltungsbereich_SBahn_HH=True, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS='Wn 6', Kurzbezeichnung_DV='Wn 6', Langbezeichnung=None, Schaltbar=True, Zusatz_Moeglich=False, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, Wn_6) + if subclass is not None: + return subclass(*args_, **kwargs_) + if Wn_6.subclass: + return Wn_6.subclass(*args_, **kwargs_) + else: + return Wn_6(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Wn_6', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('Wn_6') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'Wn_6': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Wn_6') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Wn_6', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='Wn_6'): + if self.Anmerkungen is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if not self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'Pfeile, Streifen oder Lichter bilden einen nach rechts geöffneten rechten Winkel' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if not self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if not self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if not self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if not self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS != 'Wn 6' and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV != 'Wn 6' and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if not self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Wn_6', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class Wn_6 + + +class Wn_7(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen=None, Beleuchtbar=True, Beschreibung='senkrechter, schwarzer Streifen in einer runden, weißen Scheibe auf schwarzem Grund', Geltungsbereich_DS=True, Geltungsbereich_DV=True, Geltungsbereich_SBahn_B=True, Geltungsbereich_SBahn_HH=True, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS='Wn 7', Kurzbezeichnung_DV='Wn 7', Langbezeichnung=None, Schaltbar=False, Zusatz_Moeglich=False, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, Wn_7) + if subclass is not None: + return subclass(*args_, **kwargs_) + if Wn_7.subclass: + return Wn_7.subclass(*args_, **kwargs_) + else: + return Wn_7(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Wn_7', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('Wn_7') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'Wn_7': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Wn_7') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Wn_7', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='Wn_7'): + if self.Anmerkungen is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if not self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'senkrechter, schwarzer Streifen in einer runden, weißen Scheibe auf schwarzem Grund' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if not self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if not self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if not self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if not self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS != 'Wn 7' and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV != 'Wn 7' and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Wn_7', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class Wn_7 + + +class Zp_6(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen=None, Beleuchtbar=False, Beschreibung='ein weißes Licht', Geltungsbereich_DS=True, Geltungsbereich_DV=True, Geltungsbereich_SBahn_B=True, Geltungsbereich_SBahn_HH=True, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS='Zp 6', Kurzbezeichnung_DV='Zp 6', Langbezeichnung=None, Schaltbar=True, Zusatz_Moeglich=False, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, Zp_6) + if subclass is not None: + return subclass(*args_, **kwargs_) + if Zp_6.subclass: + return Zp_6.subclass(*args_, **kwargs_) + else: + return Zp_6(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Zp_6', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('Zp_6') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'Zp_6': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Zp_6') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Zp_6', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='Zp_6'): + if self.Anmerkungen is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'ein weißes Licht' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if not self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if not self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if not self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if not self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS != 'Zp 6' and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV != 'Zp 6' and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if not self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Zp_6', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class Zp_6 + + +class Zp_7(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen=None, Beleuchtbar=False, Beschreibung='zwei weiße Lichter senkrecht übereinander', Geltungsbereich_DS=True, Geltungsbereich_DV=True, Geltungsbereich_SBahn_B=True, Geltungsbereich_SBahn_HH=True, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS='Zp 7', Kurzbezeichnung_DV='Zp 7', Langbezeichnung=None, Schaltbar=True, Zusatz_Moeglich=False, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, Zp_7) + if subclass is not None: + return subclass(*args_, **kwargs_) + if Zp_7.subclass: + return Zp_7.subclass(*args_, **kwargs_) + else: + return Zp_7(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Zp_7', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('Zp_7') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'Zp_7': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Zp_7') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Zp_7', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='Zp_7'): + if self.Anmerkungen is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'zwei weiße Lichter senkrecht übereinander' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if not self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if not self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if not self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if not self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS != 'Zp 7' and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV != 'Zp 7' and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if not self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Zp_7', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class Zp_7 + + +class Zp_8(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen=None, Beleuchtbar=False, Beschreibung='drei weiße Lichter senkrecht übereinander', Geltungsbereich_DS=True, Geltungsbereich_DV=True, Geltungsbereich_SBahn_B=True, Geltungsbereich_SBahn_HH=True, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS='Zp 8', Kurzbezeichnung_DV='Zp 8', Langbezeichnung=None, Schaltbar=True, Zusatz_Moeglich=False, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, Zp_8) + if subclass is not None: + return subclass(*args_, **kwargs_) + if Zp_8.subclass: + return Zp_8.subclass(*args_, **kwargs_) + else: + return Zp_8(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Zp_8', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('Zp_8') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'Zp_8': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Zp_8') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Zp_8', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='Zp_8'): + if self.Anmerkungen is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'drei weiße Lichter senkrecht übereinander' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if not self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if not self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if not self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if not self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS != 'Zp 8' and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV != 'Zp 8' and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if not self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Zp_8', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class Zp_8 + + +class Zp_9(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen=None, Beleuchtbar=False, Beschreibung='grünleuchtender Ring', Geltungsbereich_DS=True, Geltungsbereich_DV=True, Geltungsbereich_SBahn_B=True, Geltungsbereich_SBahn_HH=True, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS='Zp 9', Kurzbezeichnung_DV='Zp 9', Langbezeichnung=None, Schaltbar=True, Zusatz_Moeglich=False, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, Zp_9) + if subclass is not None: + return subclass(*args_, **kwargs_) + if Zp_9.subclass: + return Zp_9.subclass(*args_, **kwargs_) + else: + return Zp_9(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Zp_9', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('Zp_9') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'Zp_9': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Zp_9') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Zp_9', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='Zp_9'): + if self.Anmerkungen is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'grünleuchtender Ring' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if not self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if not self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if not self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if not self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS != 'Zp 9' and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV != 'Zp 9' and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if not self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Zp_9', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class Zp_9 + + +class Zp_9_Ls(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen=None, Beleuchtbar=False, Beschreibung='senkrechter grüner Lichtstreifen', Geltungsbereich_DS=True, Geltungsbereich_DV=True, Geltungsbereich_SBahn_B=True, Geltungsbereich_SBahn_HH=True, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS='Zp 9', Kurzbezeichnung_DV='Zp 9', Langbezeichnung=None, Schaltbar=True, Zusatz_Moeglich=False, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, Zp_9_Ls) + if subclass is not None: + return subclass(*args_, **kwargs_) + if Zp_9_Ls.subclass: + return Zp_9_Ls.subclass(*args_, **kwargs_) + else: + return Zp_9_Ls(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Zp_9_Ls', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('Zp_9_Ls') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'Zp_9_Ls': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Zp_9_Ls') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Zp_9_Ls', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='Zp_9_Ls'): + if self.Anmerkungen is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'senkrechter grüner Lichtstreifen' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if not self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if not self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if not self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if not self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS != 'Zp 9' and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV != 'Zp 9' and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if not self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Zp_9_Ls', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class Zp_9_Ls + + +class Zp_10_Ls(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen=None, Beleuchtbar=False, Beschreibung='waagerechter, weißer Lichtstreifen', Geltungsbereich_DS=True, Geltungsbereich_DV=True, Geltungsbereich_SBahn_B=True, Geltungsbereich_SBahn_HH=True, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS='Zp 10', Kurzbezeichnung_DV='Zp 10', Langbezeichnung='Türschliessauftrag', Schaltbar=True, Zusatz_Moeglich=False, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, Zp_10_Ls) + if subclass is not None: + return subclass(*args_, **kwargs_) + if Zp_10_Ls.subclass: + return Zp_10_Ls.subclass(*args_, **kwargs_) + else: + return Zp_10_Ls(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Zp_10_Ls', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('Zp_10_Ls') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'Zp_10_Ls': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Zp_10_Ls') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Zp_10_Ls', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='Zp_10_Ls'): + if self.Anmerkungen is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'waagerechter, weißer Lichtstreifen' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if not self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if not self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if not self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if not self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS != 'Zp 10' and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV != 'Zp 10' and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung != 'Türschliessauftrag' and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if not self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Zp_10_Ls', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class Zp_10_Ls + + +class Zp_10(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen=None, Beleuchtbar=False, Beschreibung='weiß leuchtendes "T" im nicht leuchtenden Ring des Lichtsignals Zp 9', Geltungsbereich_DS=True, Geltungsbereich_DV=False, Geltungsbereich_SBahn_B=False, Geltungsbereich_SBahn_HH=True, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS='Zp 10', Kurzbezeichnung_DV=None, Langbezeichnung='Türschliessauftrag', Schaltbar=True, Zusatz_Moeglich=False, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, Zp_10) + if subclass is not None: + return subclass(*args_, **kwargs_) + if Zp_10.subclass: + return Zp_10.subclass(*args_, **kwargs_) + else: + return Zp_10(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Zp_10', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('Zp_10') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'Zp_10': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Zp_10') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Zp_10', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='Zp_10'): + if self.Anmerkungen is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'weiß leuchtendes "T" im nicht leuchtenden Ring des Lichtsignals Zp 9' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if not self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if not self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS != 'Zp 10' and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung != 'Türschliessauftrag' and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if not self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Zp_10', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class Zp_10 + + +class El_1v(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen=None, Beleuchtbar=True, Beschreibung='zwei weiße Rechtecke waagerecht nebeneinander', Geltungsbereich_DS=True, Geltungsbereich_DV=True, Geltungsbereich_SBahn_B=True, Geltungsbereich_SBahn_HH=True, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS='El 1v', Kurzbezeichnung_DV='El 1v', Langbezeichnung=None, Schaltbar=False, Zusatz_Moeglich=False, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, El_1v) + if subclass is not None: + return subclass(*args_, **kwargs_) + if El_1v.subclass: + return El_1v.subclass(*args_, **kwargs_) + else: + return El_1v(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='El_1v', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('El_1v') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'El_1v': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='El_1v') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='El_1v', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='El_1v'): + if self.Anmerkungen is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if not self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'zwei weiße Rechtecke waagerecht nebeneinander' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if not self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if not self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if not self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if not self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS != 'El 1v' and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV != 'El 1v' and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='El_1v', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class El_1v + + +class El_1(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen=None, Beleuchtbar=True, Beschreibung='zerlegtes weißes U', Geltungsbereich_DS=True, Geltungsbereich_DV=True, Geltungsbereich_SBahn_B=True, Geltungsbereich_SBahn_HH=True, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS='El 1', Kurzbezeichnung_DV='El 1', Langbezeichnung='Ausschaltsignal', Schaltbar=False, Zusatz_Moeglich=False, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, El_1) + if subclass is not None: + return subclass(*args_, **kwargs_) + if El_1.subclass: + return El_1.subclass(*args_, **kwargs_) + else: + return El_1(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='El_1', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('El_1') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'El_1': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='El_1') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='El_1', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='El_1'): + if self.Anmerkungen is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if not self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'zerlegtes weißes U' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if not self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if not self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if not self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if not self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS != 'El 1' and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV != 'El 1' and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung != 'Ausschaltsignal' and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='El_1', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class El_1 + + +class El_2(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen=None, Beleuchtbar=True, Beschreibung='geschlossenes weißes U', Geltungsbereich_DS=True, Geltungsbereich_DV=True, Geltungsbereich_SBahn_B=True, Geltungsbereich_SBahn_HH=True, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS='El 2', Kurzbezeichnung_DV='El 2', Langbezeichnung='Einschaltsignal', Schaltbar=False, Zusatz_Moeglich=False, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, El_2) + if subclass is not None: + return subclass(*args_, **kwargs_) + if El_2.subclass: + return El_2.subclass(*args_, **kwargs_) + else: + return El_2(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='El_2', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('El_2') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'El_2': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='El_2') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='El_2', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='El_2'): + if self.Anmerkungen is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if not self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'geschlossenes weißes U' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if not self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if not self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if not self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if not self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS != 'El 2' and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV != 'El 2' and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung != 'Einschaltsignal' and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='El_2', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class El_2 + + +class El_T_DC(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen=None, Beleuchtbar=True, Beschreibung='auf der Spitze stehende weiß- und schwarzumrandete blaue quadratischen Tafel, auf der sich zwei waagerechte weiße Streifen (Gleichstromsystem-Anfang) befinden', Geltungsbereich_DS=True, Geltungsbereich_DV=True, Geltungsbereich_SBahn_B=False, Geltungsbereich_SBahn_HH=False, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS=None, Kurzbezeichnung_DV=None, Langbezeichnung=None, Schaltbar=False, Zusatz_Moeglich=False, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, El_T_DC) + if subclass is not None: + return subclass(*args_, **kwargs_) + if El_T_DC.subclass: + return El_T_DC.subclass(*args_, **kwargs_) + else: + return El_T_DC(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='El_T_DC', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('El_T_DC') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'El_T_DC': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='El_T_DC') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='El_T_DC', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='El_T_DC'): + if self.Anmerkungen is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if not self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'auf der Spitze stehende weiß- und schwarzumrandete blaue quadratischen Tafel, auf der sich zwei waagerechte weiße Streifen (Gleichstromsystem-Anfang) befinden' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if not self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if not self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='El_T_DC', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class El_T_DC + + +class El_T_AC(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen=None, Beleuchtbar=True, Beschreibung='auf der Spitze stehende weiß- und schwarzumrandete blaue quadratische Tafel, auf der sich eine weiße Sinuskurve (Wechselstromsystem-Anfang) und ggf. darüber eine Zahl (Spannung) befinden ', Geltungsbereich_DS=True, Geltungsbereich_DV=True, Geltungsbereich_SBahn_B=False, Geltungsbereich_SBahn_HH=False, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS=None, Kurzbezeichnung_DV=None, Langbezeichnung=None, Schaltbar=False, Zusatz_Moeglich=False, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, El_T_AC) + if subclass is not None: + return subclass(*args_, **kwargs_) + if El_T_AC.subclass: + return El_T_AC.subclass(*args_, **kwargs_) + else: + return El_T_AC(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='El_T_AC', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('El_T_AC') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'El_T_AC': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='El_T_AC') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='El_T_AC', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='El_T_AC'): + if self.Anmerkungen is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if not self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'auf der Spitze stehende weiß- und schwarzumrandete blaue quadratische Tafel, auf der sich eine weiße Sinuskurve (Wechselstromsystem-Anfang) und ggf. darüber eine Zahl (Spannung) befinden ' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if not self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if not self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='El_T_AC', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class El_T_AC + + +class El_3(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen=None, Beleuchtbar=True, Beschreibung='auf der Spitze stehende weiß- und schwarzumrandete blaue quadratische Tafel mit zwei in der Höhe gegeneinander versetzte weiße Streifen', Geltungsbereich_DS=True, Geltungsbereich_DV=True, Geltungsbereich_SBahn_B=False, Geltungsbereich_SBahn_HH=False, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS='El 3', Kurzbezeichnung_DV='El 3', Langbezeichnung='„Bügel ab“-Ankündesignal', Schaltbar=False, Zusatz_Moeglich=False, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, El_3) + if subclass is not None: + return subclass(*args_, **kwargs_) + if El_3.subclass: + return El_3.subclass(*args_, **kwargs_) + else: + return El_3(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='El_3', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('El_3') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'El_3': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='El_3') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='El_3', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='El_3'): + if self.Anmerkungen is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if not self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'auf der Spitze stehende weiß- und schwarzumrandete blaue quadratische Tafel mit zwei in der Höhe gegeneinander versetzte weiße Streifen' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if not self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if not self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS != 'El 3' and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV != 'El 3' and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung != '„Bügel ab“-Ankündesignal' and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='El_3', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class El_3 + + +class El_4(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen=None, Beleuchtbar=True, Beschreibung='auf der Spitze stehende weiß- und schwarzumrandete blaue quadratische Tafel mit einem waagerechtem weißen Streifen', Geltungsbereich_DS=True, Geltungsbereich_DV=True, Geltungsbereich_SBahn_B=False, Geltungsbereich_SBahn_HH=False, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS='El 4', Kurzbezeichnung_DV='El 4', Langbezeichnung='„Bügel ab“-Signal', Schaltbar=False, Zusatz_Moeglich=False, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, El_4) + if subclass is not None: + return subclass(*args_, **kwargs_) + if El_4.subclass: + return El_4.subclass(*args_, **kwargs_) + else: + return El_4(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='El_4', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('El_4') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'El_4': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='El_4') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='El_4', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='El_4'): + if self.Anmerkungen is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if not self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'auf der Spitze stehende weiß- und schwarzumrandete blaue quadratische Tafel mit einem waagerechtem weißen Streifen' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if not self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if not self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS != 'El 4' and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV != 'El 4' and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung != '„Bügel ab“-Signal' and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='El_4', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class El_4 + + +class El_5(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen=None, Beleuchtbar=True, Beschreibung='auf der Spitze stehende weiß- und schwarzumrandete blaue quadratische Tafel mit einem senkrechten weißen Streifen', Geltungsbereich_DS=True, Geltungsbereich_DV=True, Geltungsbereich_SBahn_B=False, Geltungsbereich_SBahn_HH=False, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS='El 5', Kurzbezeichnung_DV='El 5', Langbezeichnung='„Bügel an“-Signal', Schaltbar=False, Zusatz_Moeglich=False, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, El_5) + if subclass is not None: + return subclass(*args_, **kwargs_) + if El_5.subclass: + return El_5.subclass(*args_, **kwargs_) + else: + return El_5(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='El_5', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('El_5') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'El_5': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='El_5') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='El_5', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='El_5'): + if self.Anmerkungen is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if not self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'auf der Spitze stehende weiß- und schwarzumrandete blaue quadratische Tafel mit einem senkrechten weißen Streifen' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if not self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if not self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS != 'El 5' and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV != 'El 5' and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung != '„Bügel an“-Signal' and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='El_5', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class El_5 + + +class El_6(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen=None, Beleuchtbar=True, Beschreibung='Halt für Fahrzeuge mit gehobenen Stromabnehmern, auf der Spitze stehender quadratischer weißer Rahmen mit innenliegendem weißem Quadrat', Geltungsbereich_DS=True, Geltungsbereich_DV=True, Geltungsbereich_SBahn_B=True, Geltungsbereich_SBahn_HH=True, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS='El 6', Kurzbezeichnung_DV='El 6', Langbezeichnung=None, Schaltbar=False, Zusatz_Moeglich=False, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, El_6) + if subclass is not None: + return subclass(*args_, **kwargs_) + if El_6.subclass: + return El_6.subclass(*args_, **kwargs_) + else: + return El_6(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='El_6', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('El_6') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'El_6': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='El_6') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='El_6', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='El_6'): + if self.Anmerkungen is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if not self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'Halt für Fahrzeuge mit gehobenen Stromabnehmern, auf der Spitze stehender quadratischer weißer Rahmen mit innenliegendem weißem Quadrat' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if not self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if not self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if not self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if not self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS != 'El 6' and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV != 'El 6' and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='El_6', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class El_6 + + +class El_Pf_o(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen=None, Beleuchtbar=True, Beschreibung='El-Richtungspfeil, blauer Pfeil auf weißer pfeilförmiger Tafel senkrecht nach oben', Geltungsbereich_DS=True, Geltungsbereich_DV=True, Geltungsbereich_SBahn_B=True, Geltungsbereich_SBahn_HH=True, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS=None, Kurzbezeichnung_DV=None, Langbezeichnung=None, Schaltbar=False, Zusatz_Moeglich=False, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, El_Pf_o) + if subclass is not None: + return subclass(*args_, **kwargs_) + if El_Pf_o.subclass: + return El_Pf_o.subclass(*args_, **kwargs_) + else: + return El_Pf_o(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='El_Pf_o', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('El_Pf_o') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'El_Pf_o': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='El_Pf_o') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='El_Pf_o', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='El_Pf_o'): + if self.Anmerkungen is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if not self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'El-Richtungspfeil, blauer Pfeil auf weißer pfeilförmiger Tafel senkrecht nach oben' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if not self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if not self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if not self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if not self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='El_Pf_o', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class El_Pf_o + + +class El_Pf_r(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen=None, Beleuchtbar=True, Beschreibung='El-Richtungspfeil, blauer Pfeil auf weißer pfeilförmiger Tafel waagerecht nach rechts', Geltungsbereich_DS=True, Geltungsbereich_DV=True, Geltungsbereich_SBahn_B=True, Geltungsbereich_SBahn_HH=True, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS=None, Kurzbezeichnung_DV=None, Langbezeichnung=None, Schaltbar=False, Zusatz_Moeglich=False, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, El_Pf_r) + if subclass is not None: + return subclass(*args_, **kwargs_) + if El_Pf_r.subclass: + return El_Pf_r.subclass(*args_, **kwargs_) + else: + return El_Pf_r(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='El_Pf_r', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('El_Pf_r') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'El_Pf_r': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='El_Pf_r') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='El_Pf_r', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='El_Pf_r'): + if self.Anmerkungen is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if not self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'El-Richtungspfeil, blauer Pfeil auf weißer pfeilförmiger Tafel waagerecht nach rechts' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if not self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if not self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if not self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if not self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='El_Pf_r', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class El_Pf_r + + +class El_Pf_l(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen=None, Beleuchtbar=True, Beschreibung='El-Richtungspfeil, blauer Pfeil auf weißer pfeilförmiger Tafel waagerecht nach links', Geltungsbereich_DS=True, Geltungsbereich_DV=True, Geltungsbereich_SBahn_B=True, Geltungsbereich_SBahn_HH=True, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS=None, Kurzbezeichnung_DV=None, Langbezeichnung=None, Schaltbar=False, Zusatz_Moeglich=False, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, El_Pf_l) + if subclass is not None: + return subclass(*args_, **kwargs_) + if El_Pf_l.subclass: + return El_Pf_l.subclass(*args_, **kwargs_) + else: + return El_Pf_l(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='El_Pf_l', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('El_Pf_l') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'El_Pf_l': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='El_Pf_l') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='El_Pf_l', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='El_Pf_l'): + if self.Anmerkungen is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if not self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'El-Richtungspfeil, blauer Pfeil auf weißer pfeilförmiger Tafel waagerecht nach links' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if not self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if not self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if not self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if not self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='El_Pf_l', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class El_Pf_l + + +class El_Pf_b(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen=None, Beleuchtbar=True, Beschreibung='El-Richtungspfeil, blauer waagerechter Doppelpfeil auf weißer, beidseitig pfeilförmiger Tafel ', Geltungsbereich_DS=True, Geltungsbereich_DV=True, Geltungsbereich_SBahn_B=True, Geltungsbereich_SBahn_HH=True, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS=None, Kurzbezeichnung_DV=None, Langbezeichnung=None, Schaltbar=False, Zusatz_Moeglich=False, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, El_Pf_b) + if subclass is not None: + return subclass(*args_, **kwargs_) + if El_Pf_b.subclass: + return El_Pf_b.subclass(*args_, **kwargs_) + else: + return El_Pf_b(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='El_Pf_b', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('El_Pf_b') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'El_Pf_b': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='El_Pf_b') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='El_Pf_b', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='El_Pf_b'): + if self.Anmerkungen is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if not self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'El-Richtungspfeil, blauer waagerechter Doppelpfeil auf weißer, beidseitig pfeilförmiger Tafel ' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if not self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if not self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if not self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if not self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='El_Pf_b', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class El_Pf_b + + +class Ne_1(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen='Metergenaue km-Angabe auf Zusatzschild wird nicht abgespeichert (Information aus Signal.Punkt_Objekt_Strecke)', Beleuchtbar=True, Beschreibung='weiße Trapeztafel mit schwarzem Rand (ggf. mit Zusatzschild mit der metergenauen km-Angabe ihres Signalstandortes)', Geltungsbereich_DS=True, Geltungsbereich_DV=True, Geltungsbereich_SBahn_B=False, Geltungsbereich_SBahn_HH=False, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS='Ne 1', Kurzbezeichnung_DV='Ne 1', Langbezeichnung='Trapeztafel', Schaltbar=False, Zusatz_Moeglich=True, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, Ne_1) + if subclass is not None: + return subclass(*args_, **kwargs_) + if Ne_1.subclass: + return Ne_1.subclass(*args_, **kwargs_) + else: + return Ne_1(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Ne_1', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('Ne_1') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'Ne_1': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Ne_1') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Ne_1', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='Ne_1'): + if self.Anmerkungen != 'Metergenaue km-Angabe auf Zusatzschild wird nicht abgespeichert (Information aus Signal.Punkt_Objekt_Strecke)' and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if not self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'weiße Trapeztafel mit schwarzem Rand (ggf. mit Zusatzschild mit der metergenauen km-Angabe ihres Signalstandortes)' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if not self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if not self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS != 'Ne 1' and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV != 'Ne 1' and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung != 'Trapeztafel' and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if not self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Ne_1', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class Ne_1 + + +class Ne_2(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen=None, Beleuchtbar=True, Beschreibung='schwarzgeränderte weiße Tafel mit zwei übereinander stehenden schwarzen Winkeln, die sich mit der Spitze berühren', Geltungsbereich_DS=True, Geltungsbereich_DV=True, Geltungsbereich_SBahn_B=True, Geltungsbereich_SBahn_HH=True, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS='Ne 2', Kurzbezeichnung_DV='Ne 2', Langbezeichnung='Vorsignaltafel', Schaltbar=False, Zusatz_Moeglich=False, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, Ne_2) + if subclass is not None: + return subclass(*args_, **kwargs_) + if Ne_2.subclass: + return Ne_2.subclass(*args_, **kwargs_) + else: + return Ne_2(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Ne_2', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('Ne_2') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'Ne_2': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Ne_2') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Ne_2', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='Ne_2'): + if self.Anmerkungen is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if not self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'schwarzgeränderte weiße Tafel mit zwei übereinander stehenden schwarzen Winkeln, die sich mit der Spitze berühren' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if not self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if not self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if not self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if not self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS != 'Ne 2' and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV != 'Ne 2' and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung != 'Vorsignaltafel' and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Ne_2', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class Ne_2 + + +class Ne_2_vRVA(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen=None, Beleuchtbar=True, Beschreibung='Vorsignaltafel verkürzter Vorsignalabstand, schwarz geränderte, weiße Tafel mit zwei übereinander stehenden schwarzen Winkeln, deren Spitzen durch einen schwarzen Ring verdeckt sind', Geltungsbereich_DS=False, Geltungsbereich_DV=True, Geltungsbereich_SBahn_B=True, Geltungsbereich_SBahn_HH=False, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS=None, Kurzbezeichnung_DV=None, Langbezeichnung=None, Schaltbar=False, Zusatz_Moeglich=False, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, Ne_2_vRVA) + if subclass is not None: + return subclass(*args_, **kwargs_) + if Ne_2_vRVA.subclass: + return Ne_2_vRVA.subclass(*args_, **kwargs_) + else: + return Ne_2_vRVA(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Ne_2_vRVA', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('Ne_2_vRVA') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'Ne_2_vRVA': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Ne_2_vRVA') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Ne_2_vRVA', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='Ne_2_vRVA'): + if self.Anmerkungen is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if not self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'Vorsignaltafel verkürzter Vorsignalabstand, schwarz geränderte, weiße Tafel mit zwei übereinander stehenden schwarzen Winkeln, deren Spitzen durch einen schwarzen Ring verdeckt sind' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if not self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if not self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Ne_2_vRVA', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class Ne_2_vRVA + + +class Ne_3_1str(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen=None, Beleuchtbar=True, Beschreibung='weiße Tafel mit einem nach rechts steigenden schwarzen Streifen', Geltungsbereich_DS=True, Geltungsbereich_DV=True, Geltungsbereich_SBahn_B=True, Geltungsbereich_SBahn_HH=True, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS=None, Kurzbezeichnung_DV=None, Langbezeichnung='Vorsignalbake', Schaltbar=False, Zusatz_Moeglich=False, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, Ne_3_1str) + if subclass is not None: + return subclass(*args_, **kwargs_) + if Ne_3_1str.subclass: + return Ne_3_1str.subclass(*args_, **kwargs_) + else: + return Ne_3_1str(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Ne_3_1str', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('Ne_3_1str') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'Ne_3_1str': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Ne_3_1str') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Ne_3_1str', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='Ne_3_1str'): + if self.Anmerkungen is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if not self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'weiße Tafel mit einem nach rechts steigenden schwarzen Streifen' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if not self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if not self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if not self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if not self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung != 'Vorsignalbake' and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Ne_3_1str', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class Ne_3_1str + + +class Ne_3_2str(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen=None, Beleuchtbar=True, Beschreibung='weiße Tafel mit zwei nach rechts steigenden schwarzen Streifen', Geltungsbereich_DS=True, Geltungsbereich_DV=True, Geltungsbereich_SBahn_B=True, Geltungsbereich_SBahn_HH=True, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS=None, Kurzbezeichnung_DV=None, Langbezeichnung='Vorsignalbake', Schaltbar=False, Zusatz_Moeglich=False, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, Ne_3_2str) + if subclass is not None: + return subclass(*args_, **kwargs_) + if Ne_3_2str.subclass: + return Ne_3_2str.subclass(*args_, **kwargs_) + else: + return Ne_3_2str(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Ne_3_2str', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('Ne_3_2str') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'Ne_3_2str': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Ne_3_2str') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Ne_3_2str', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='Ne_3_2str'): + if self.Anmerkungen is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if not self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'weiße Tafel mit zwei nach rechts steigenden schwarzen Streifen' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if not self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if not self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if not self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if not self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung != 'Vorsignalbake' and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Ne_3_2str', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class Ne_3_2str + + +class Ne_3_3str(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen=None, Beleuchtbar=True, Beschreibung='weiße Tafel mit drei nach rechts steigenden schwarzen Streifen', Geltungsbereich_DS=True, Geltungsbereich_DV=True, Geltungsbereich_SBahn_B=True, Geltungsbereich_SBahn_HH=True, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS=None, Kurzbezeichnung_DV=None, Langbezeichnung='Vorsignalbake', Schaltbar=False, Zusatz_Moeglich=False, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, Ne_3_3str) + if subclass is not None: + return subclass(*args_, **kwargs_) + if Ne_3_3str.subclass: + return Ne_3_3str.subclass(*args_, **kwargs_) + else: + return Ne_3_3str(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Ne_3_3str', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('Ne_3_3str') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'Ne_3_3str': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Ne_3_3str') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Ne_3_3str', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='Ne_3_3str'): + if self.Anmerkungen is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if not self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'weiße Tafel mit drei nach rechts steigenden schwarzen Streifen' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if not self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if not self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if not self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if not self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung != 'Vorsignalbake' and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Ne_3_3str', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class Ne_3_3str + + +class Ne_3_4str(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen=None, Beleuchtbar=True, Beschreibung='weiße Tafel mit vier nach rechts steigenden schwarzen Streifen', Geltungsbereich_DS=True, Geltungsbereich_DV=True, Geltungsbereich_SBahn_B=True, Geltungsbereich_SBahn_HH=True, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS=None, Kurzbezeichnung_DV=None, Langbezeichnung='Vorsignalbake', Schaltbar=False, Zusatz_Moeglich=False, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, Ne_3_4str) + if subclass is not None: + return subclass(*args_, **kwargs_) + if Ne_3_4str.subclass: + return Ne_3_4str.subclass(*args_, **kwargs_) + else: + return Ne_3_4str(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Ne_3_4str', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('Ne_3_4str') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'Ne_3_4str': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Ne_3_4str') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Ne_3_4str', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='Ne_3_4str'): + if self.Anmerkungen is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if not self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'weiße Tafel mit vier nach rechts steigenden schwarzen Streifen' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if not self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if not self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if not self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if not self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung != 'Vorsignalbake' and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Ne_3_4str', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class Ne_3_4str + + +class Ne_3_5str(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen=None, Beleuchtbar=True, Beschreibung='weiße Tafel mit fünf nach rechts steigenden schwarzen Streifen', Geltungsbereich_DS=True, Geltungsbereich_DV=True, Geltungsbereich_SBahn_B=True, Geltungsbereich_SBahn_HH=True, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS=None, Kurzbezeichnung_DV=None, Langbezeichnung='Vorsignalbake', Schaltbar=False, Zusatz_Moeglich=False, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, Ne_3_5str) + if subclass is not None: + return subclass(*args_, **kwargs_) + if Ne_3_5str.subclass: + return Ne_3_5str.subclass(*args_, **kwargs_) + else: + return Ne_3_5str(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Ne_3_5str', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('Ne_3_5str') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'Ne_3_5str': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Ne_3_5str') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Ne_3_5str', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='Ne_3_5str'): + if self.Anmerkungen is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if not self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'weiße Tafel mit fünf nach rechts steigenden schwarzen Streifen' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if not self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if not self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if not self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if not self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung != 'Vorsignalbake' and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Ne_3_5str', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class Ne_3_5str + + +class BS_vRVA(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen=None, Beleuchtbar=False, Beschreibung='verkürzter Regelvorsignalabstand, ein auf der Spitze stehendes weißes Dreieck mit schwarzem Rand', Geltungsbereich_DS=True, Geltungsbereich_DV=True, Geltungsbereich_SBahn_B=True, Geltungsbereich_SBahn_HH=True, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS=None, Kurzbezeichnung_DV=None, Langbezeichnung=None, Schaltbar=False, Zusatz_Moeglich=False, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, BS_vRVA) + if subclass is not None: + return subclass(*args_, **kwargs_) + if BS_vRVA.subclass: + return BS_vRVA.subclass(*args_, **kwargs_) + else: + return BS_vRVA(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='BS_vRVA', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('BS_vRVA') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'BS_vRVA': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='BS_vRVA') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='BS_vRVA', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='BS_vRVA'): + if self.Anmerkungen is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'verkürzter Regelvorsignalabstand, ein auf der Spitze stehendes weißes Dreieck mit schwarzem Rand' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if not self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if not self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if not self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if not self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='BS_vRVA', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class BS_vRVA + + +class Ne_4(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen=None, Beleuchtbar=True, Beschreibung='viereckige, schachbrettartig schwarz und weiß gemusterte Tafel', Geltungsbereich_DS=True, Geltungsbereich_DV=True, Geltungsbereich_SBahn_B=True, Geltungsbereich_SBahn_HH=True, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS='Ne 4', Kurzbezeichnung_DV='Ne 4', Langbezeichnung='Schachbretttafel', Schaltbar=False, Zusatz_Moeglich=False, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, Ne_4) + if subclass is not None: + return subclass(*args_, **kwargs_) + if Ne_4.subclass: + return Ne_4.subclass(*args_, **kwargs_) + else: + return Ne_4(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Ne_4', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('Ne_4') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'Ne_4': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Ne_4') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Ne_4', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='Ne_4'): + if self.Anmerkungen is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if not self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'viereckige, schachbrettartig schwarz und weiß gemusterte Tafel' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if not self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if not self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if not self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if not self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS != 'Ne 4' and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV != 'Ne 4' and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung != 'Schachbretttafel' and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Ne_4', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class Ne_4 + + +class Ne_5(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen='Optionales Zusatzschild mit Aufschrift: "Vollzug", "Ganzzug", "Halbzug", "Viertelzug" (nur bei S-Bahn), "Sperrfahrt", "sonstige". Außerdem die Werte "30_m" bis "400_m" in 10m-Schritten und die Werte "2 x", "3 x" usw. bis "24 x".', Beleuchtbar=True, Beschreibung='hochstehende weiße Rechteckscheibe mit schwarzem Rand und schwarzem "H" oder hochstehende schwarze Rechteckscheibe mit weißem H (ggf. mit Zusazuschild mit Angabe einer Zuglänge)', Geltungsbereich_DS=True, Geltungsbereich_DV=True, Geltungsbereich_SBahn_B=True, Geltungsbereich_SBahn_HH=True, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS='Ne 5', Kurzbezeichnung_DV='Ne 5', Langbezeichnung='Haltetafel', Schaltbar=False, Zusatz_Moeglich=True, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, Ne_5) + if subclass is not None: + return subclass(*args_, **kwargs_) + if Ne_5.subclass: + return Ne_5.subclass(*args_, **kwargs_) + else: + return Ne_5(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Ne_5', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('Ne_5') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'Ne_5': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Ne_5') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Ne_5', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='Ne_5'): + if self.Anmerkungen != 'Optionales Zusatzschild mit Aufschrift: "Vollzug", "Ganzzug", "Halbzug", "Viertelzug" (nur bei S-Bahn), "Sperrfahrt", "sonstige". Außerdem die Werte "30_m" bis "400_m" in 10m-Schritten und die Werte "2 x", "3 x" usw. bis "24 x".' and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if not self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'hochstehende weiße Rechteckscheibe mit schwarzem Rand und schwarzem "H" oder hochstehende schwarze Rechteckscheibe mit weißem H (ggf. mit Zusazuschild mit Angabe einer Zuglänge)' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if not self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if not self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if not self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if not self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS != 'Ne 5' and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV != 'Ne 5' and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung != 'Haltetafel' and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if not self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Ne_5', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class Ne_5 + + +class Ne_6(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen=None, Beleuchtbar=False, Beschreibung='schräg zum Gleis gestellte waagerechte weiße Tafel mit drei schwarzen Schrägstreifen', Geltungsbereich_DS=True, Geltungsbereich_DV=True, Geltungsbereich_SBahn_B=True, Geltungsbereich_SBahn_HH=True, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS='Ne 6', Kurzbezeichnung_DV='Ne 6', Langbezeichnung='Haltepunkttafel', Schaltbar=False, Zusatz_Moeglich=False, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, Ne_6) + if subclass is not None: + return subclass(*args_, **kwargs_) + if Ne_6.subclass: + return Ne_6.subclass(*args_, **kwargs_) + else: + return Ne_6(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Ne_6', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('Ne_6') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'Ne_6': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Ne_6') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Ne_6', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='Ne_6'): + if self.Anmerkungen is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'schräg zum Gleis gestellte waagerechte weiße Tafel mit drei schwarzen Schrägstreifen' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if not self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if not self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if not self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if not self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS != 'Ne 6' and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV != 'Ne 6' and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung != 'Haltepunkttafel' and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Ne_6', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class Ne_6 + + +class Ne_7a(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen=None, Beleuchtbar=False, Beschreibung='gelbe oder weiße Pfeilspitze mit schwarzem Rand zeigt nach oben', Geltungsbereich_DS=True, Geltungsbereich_DV=True, Geltungsbereich_SBahn_B=True, Geltungsbereich_SBahn_HH=True, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS='Ne 7', Kurzbezeichnung_DV='Ne 7', Langbezeichnung='Schneepflugtafel', Schaltbar=False, Zusatz_Moeglich=False, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, Ne_7a) + if subclass is not None: + return subclass(*args_, **kwargs_) + if Ne_7a.subclass: + return Ne_7a.subclass(*args_, **kwargs_) + else: + return Ne_7a(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Ne_7a', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('Ne_7a') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'Ne_7a': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Ne_7a') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Ne_7a', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='Ne_7a'): + if self.Anmerkungen is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'gelbe oder weiße Pfeilspitze mit schwarzem Rand zeigt nach oben' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if not self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if not self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if not self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if not self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS != 'Ne 7' and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV != 'Ne 7' and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung != 'Schneepflugtafel' and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Ne_7a', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class Ne_7a + + +class Ne_7b(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen=None, Beleuchtbar=False, Beschreibung='gelbe oder weiße Pfeilspitze mit schwarzem Rand zeigt nach unten', Geltungsbereich_DS=True, Geltungsbereich_DV=True, Geltungsbereich_SBahn_B=True, Geltungsbereich_SBahn_HH=True, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS='Ne 7', Kurzbezeichnung_DV='Ne 7', Langbezeichnung='Schneepflugtafel', Schaltbar=False, Zusatz_Moeglich=False, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, Ne_7b) + if subclass is not None: + return subclass(*args_, **kwargs_) + if Ne_7b.subclass: + return Ne_7b.subclass(*args_, **kwargs_) + else: + return Ne_7b(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Ne_7b', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('Ne_7b') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'Ne_7b': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Ne_7b') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Ne_7b', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='Ne_7b'): + if self.Anmerkungen is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'gelbe oder weiße Pfeilspitze mit schwarzem Rand zeigt nach unten' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if not self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if not self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if not self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if not self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS != 'Ne 7' and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV != 'Ne 7' and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung != 'Schneepflugtafel' and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Ne_7b', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class Ne_7b + + +class So_1(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen=None, Beleuchtbar=False, Beschreibung='viereckige rote Tafel mit liegendem weißen Kreuz', Geltungsbereich_DS=False, Geltungsbereich_DV=False, Geltungsbereich_SBahn_B=True, Geltungsbereich_SBahn_HH=False, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS=None, Kurzbezeichnung_DV='So 1', Langbezeichnung='Endtafel', Schaltbar=False, Zusatz_Moeglich=False, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, So_1) + if subclass is not None: + return subclass(*args_, **kwargs_) + if So_1.subclass: + return So_1.subclass(*args_, **kwargs_) + else: + return So_1(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='So_1', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('So_1') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'So_1': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='So_1') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='So_1', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='So_1'): + if self.Anmerkungen is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'viereckige rote Tafel mit liegendem weißen Kreuz' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if not self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV != 'So 1' and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung != 'Endtafel' and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='So_1', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class So_1 + + +class Ne_12(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen=None, Beleuchtbar=False, Beschreibung='rechteckige orangefarbene Tafel mit zwei waagerechten weißen Streifen', Geltungsbereich_DS=True, Geltungsbereich_DV=True, Geltungsbereich_SBahn_B=True, Geltungsbereich_SBahn_HH=True, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS='Ne 12', Kurzbezeichnung_DV='Ne 12', Langbezeichnung='Ankündigungsbake', Schaltbar=False, Zusatz_Moeglich=False, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, Ne_12) + if subclass is not None: + return subclass(*args_, **kwargs_) + if Ne_12.subclass: + return Ne_12.subclass(*args_, **kwargs_) + else: + return Ne_12(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Ne_12', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('Ne_12') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'Ne_12': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Ne_12') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Ne_12', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='Ne_12'): + if self.Anmerkungen is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'rechteckige orangefarbene Tafel mit zwei waagerechten weißen Streifen' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if not self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if not self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if not self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if not self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS != 'Ne 12' and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV != 'Ne 12' and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung != 'Ankündigungsbake' and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Ne_12', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class Ne_12 + + +class Ne_13a(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen='Optionales Zusatzschild mit Werten "2", "3", "4", "5", "6", "7", "8", "9"', Beleuchtbar=False, Beschreibung='weißes Licht über einem orangefarbenen waagerechten Streifen und einem orange-weiß schräg gestreiften Mastschild (evtl. mit Ziffer bei Gültigkeit für mehrere Rückfallweichen)', Geltungsbereich_DS=True, Geltungsbereich_DV=True, Geltungsbereich_SBahn_B=True, Geltungsbereich_SBahn_HH=True, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS='Ne 13a', Kurzbezeichnung_DV='Ne 13a', Langbezeichnung=None, Schaltbar=True, Zusatz_Moeglich=True, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, Ne_13a) + if subclass is not None: + return subclass(*args_, **kwargs_) + if Ne_13a.subclass: + return Ne_13a.subclass(*args_, **kwargs_) + else: + return Ne_13a(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Ne_13a', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('Ne_13a') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'Ne_13a': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Ne_13a') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Ne_13a', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='Ne_13a'): + if self.Anmerkungen != 'Optionales Zusatzschild mit Werten "2", "3", "4", "5", "6", "7", "8", "9"' and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'weißes Licht über einem orangefarbenen waagerechten Streifen und einem orange-weiß schräg gestreiften Mastschild (evtl. mit Ziffer bei Gültigkeit für mehrere Rückfallweichen)' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if not self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if not self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if not self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if not self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS != 'Ne 13a' and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV != 'Ne 13a' and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if not self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if not self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Ne_13a', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class Ne_13a + + +class Ne_13b(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen='Optionales Zusatzschild mit Werten "2", "3", "4", "5", "6", "7", "8", "9"', Beleuchtbar=False, Beschreibung='orangefarbener waagerechter Streifen und einem orange-weiß schräg gestreiften Mastschild (evtl. mit Ziffer bei Gültigkeit für mehrere Rückfallweichen)', Geltungsbereich_DS=True, Geltungsbereich_DV=True, Geltungsbereich_SBahn_B=True, Geltungsbereich_SBahn_HH=True, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS='Ne 13b', Kurzbezeichnung_DV='Ne 13b', Langbezeichnung=None, Schaltbar=True, Zusatz_Moeglich=True, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, Ne_13b) + if subclass is not None: + return subclass(*args_, **kwargs_) + if Ne_13b.subclass: + return Ne_13b.subclass(*args_, **kwargs_) + else: + return Ne_13b(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Ne_13b', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('Ne_13b') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'Ne_13b': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Ne_13b') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Ne_13b', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='Ne_13b'): + if self.Anmerkungen != 'Optionales Zusatzschild mit Werten "2", "3", "4", "5", "6", "7", "8", "9"' and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'orangefarbener waagerechter Streifen und einem orange-weiß schräg gestreiften Mastschild (evtl. mit Ziffer bei Gültigkeit für mehrere Rückfallweichen)' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if not self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if not self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if not self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if not self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS != 'Ne 13b' and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV != 'Ne 13b' and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if not self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if not self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Ne_13b', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class Ne_13b + + +class So_19_1P(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen=None, Beleuchtbar=False, Beschreibung='viereckige orangefarbene Tafel mit einer weißen Kreisfläche', Geltungsbereich_DS=False, Geltungsbereich_DV=True, Geltungsbereich_SBahn_B=True, Geltungsbereich_SBahn_HH=False, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS=None, Kurzbezeichnung_DV='So 19', Langbezeichnung='Hauptsignalbake', Schaltbar=False, Zusatz_Moeglich=False, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, So_19_1P) + if subclass is not None: + return subclass(*args_, **kwargs_) + if So_19_1P.subclass: + return So_19_1P.subclass(*args_, **kwargs_) + else: + return So_19_1P(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='So_19_1P', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('So_19_1P') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'So_19_1P': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='So_19_1P') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='So_19_1P', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='So_19_1P'): + if self.Anmerkungen is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'viereckige orangefarbene Tafel mit einer weißen Kreisfläche' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if not self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if not self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV != 'So 19' and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung != 'Hauptsignalbake' and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='So_19_1P', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class So_19_1P + + +class So_19_2P(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen=None, Beleuchtbar=False, Beschreibung='viereckige orangefarbene Tafel mit zwei weißen Kreisflächen', Geltungsbereich_DS=False, Geltungsbereich_DV=True, Geltungsbereich_SBahn_B=True, Geltungsbereich_SBahn_HH=False, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS=None, Kurzbezeichnung_DV='So 19', Langbezeichnung='Hauptsignalbake', Schaltbar=False, Zusatz_Moeglich=False, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, So_19_2P) + if subclass is not None: + return subclass(*args_, **kwargs_) + if So_19_2P.subclass: + return So_19_2P.subclass(*args_, **kwargs_) + else: + return So_19_2P(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='So_19_2P', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('So_19_2P') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'So_19_2P': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='So_19_2P') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='So_19_2P', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='So_19_2P'): + if self.Anmerkungen is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'viereckige orangefarbene Tafel mit zwei weißen Kreisflächen' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if not self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if not self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV != 'So 19' and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung != 'Hauptsignalbake' and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='So_19_2P', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class So_19_2P + + +class So_19_3P(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen=None, Beleuchtbar=False, Beschreibung='viereckige orangefarbene Tafel mit drei weißen Kreisflächen', Geltungsbereich_DS=False, Geltungsbereich_DV=True, Geltungsbereich_SBahn_B=True, Geltungsbereich_SBahn_HH=False, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS=None, Kurzbezeichnung_DV='So 19', Langbezeichnung='Hauptsignalbake', Schaltbar=False, Zusatz_Moeglich=False, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, So_19_3P) + if subclass is not None: + return subclass(*args_, **kwargs_) + if So_19_3P.subclass: + return So_19_3P.subclass(*args_, **kwargs_) + else: + return So_19_3P(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='So_19_3P', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('So_19_3P') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'So_19_3P': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='So_19_3P') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='So_19_3P', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='So_19_3P'): + if self.Anmerkungen is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'viereckige orangefarbene Tafel mit drei weißen Kreisflächen' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if not self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if not self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV != 'So 19' and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung != 'Hauptsignalbake' and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='So_19_3P', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class So_19_3P + + +class So_106(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen=None, Beleuchtbar=False, Beschreibung='weiße Sechseckscheibe mit liegendem schwarzem Kreuz an einem schwarz und weiß schräg gestreiften Pfahl', Geltungsbereich_DS=False, Geltungsbereich_DV=True, Geltungsbereich_SBahn_B=True, Geltungsbereich_SBahn_HH=False, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS=None, Kurzbezeichnung_DV='So 106', Langbezeichnung='Kreuztafel', Schaltbar=False, Zusatz_Moeglich=False, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, So_106) + if subclass is not None: + return subclass(*args_, **kwargs_) + if So_106.subclass: + return So_106.subclass(*args_, **kwargs_) + else: + return So_106(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='So_106', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('So_106') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'So_106': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='So_106') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='So_106', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='So_106'): + if self.Anmerkungen is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'weiße Sechseckscheibe mit liegendem schwarzem Kreuz an einem schwarz und weiß schräg gestreiften Pfahl' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if not self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if not self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV != 'So 106' and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung != 'Kreuztafel' and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='So_106', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class So_106 + + +class Ms_UES_Wdh(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen=None, Beleuchtbar=False, Beschreibung='Mastschild für Überwachungssignalwiederholer, eine oder zwei weiß umrandete schwarze quadratische Tafeln mit runder weißer Scheibe', Geltungsbereich_DS=True, Geltungsbereich_DV=True, Geltungsbereich_SBahn_B=True, Geltungsbereich_SBahn_HH=True, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS=None, Kurzbezeichnung_DV=None, Langbezeichnung=None, Schaltbar=False, Zusatz_Moeglich=False, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, Ms_UES_Wdh) + if subclass is not None: + return subclass(*args_, **kwargs_) + if Ms_UES_Wdh.subclass: + return Ms_UES_Wdh.subclass(*args_, **kwargs_) + else: + return Ms_UES_Wdh(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Ms_UES_Wdh', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('Ms_UES_Wdh') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'Ms_UES_Wdh': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Ms_UES_Wdh') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Ms_UES_Wdh', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='Ms_UES_Wdh'): + if self.Anmerkungen is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'Mastschild für Überwachungssignalwiederholer, eine oder zwei weiß umrandete schwarze quadratische Tafeln mit runder weißer Scheibe' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if not self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if not self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if not self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if not self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Ms_UES_Wdh', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class Ms_UES_Wdh + + +class Bue_0_1S(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen=None, Beleuchtbar=False, Beschreibung='eine runde gelbe Scheibe in einer gelben Umrahmung über einem oder zwei schwarz-weiß schräg gestreiften Mastschildern', Geltungsbereich_DS=True, Geltungsbereich_DV=True, Geltungsbereich_SBahn_B=True, Geltungsbereich_SBahn_HH=True, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS='Bü 0', Kurzbezeichnung_DV='Bü 0', Langbezeichnung=None, Schaltbar=True, Zusatz_Moeglich=False, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, Bue_0_1S) + if subclass is not None: + return subclass(*args_, **kwargs_) + if Bue_0_1S.subclass: + return Bue_0_1S.subclass(*args_, **kwargs_) + else: + return Bue_0_1S(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Bue_0_1S', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('Bue_0_1S') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'Bue_0_1S': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Bue_0_1S') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Bue_0_1S', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='Bue_0_1S'): + if self.Anmerkungen is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'eine runde gelbe Scheibe in einer gelben Umrahmung über einem oder zwei schwarz-weiß schräg gestreiften Mastschildern' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if not self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if not self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if not self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if not self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS != 'Bü 0' and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV != 'Bü 0' and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if not self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Bue_0_1S', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class Bue_0_1S + + +class Bue_0_2S(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen=None, Beleuchtbar=False, Beschreibung='zwei waagerecht angeordnete gelbe rückstrahlende Scheiben über einem oder zwei schwarz-weiß schräg gestreiften Mastschildern', Geltungsbereich_DS=True, Geltungsbereich_DV=True, Geltungsbereich_SBahn_B=True, Geltungsbereich_SBahn_HH=True, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS='Bü 0', Kurzbezeichnung_DV='Bü 0', Langbezeichnung=None, Schaltbar=True, Zusatz_Moeglich=False, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, Bue_0_2S) + if subclass is not None: + return subclass(*args_, **kwargs_) + if Bue_0_2S.subclass: + return Bue_0_2S.subclass(*args_, **kwargs_) + else: + return Bue_0_2S(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Bue_0_2S', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('Bue_0_2S') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'Bue_0_2S': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Bue_0_2S') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Bue_0_2S', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='Bue_0_2S'): + if self.Anmerkungen is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'zwei waagerecht angeordnete gelbe rückstrahlende Scheiben über einem oder zwei schwarz-weiß schräg gestreiften Mastschildern' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if not self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if not self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if not self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if not self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS != 'Bü 0' and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV != 'Bü 0' and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if not self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Bue_0_2S', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class Bue_0_2S + + +class Bue_0_2Lp(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen=None, Beleuchtbar=False, Beschreibung='zwei waagerecht angeordnete gelbe Lichtpunkte über einem oder zwei schwarz-weiß schräg gestreiften Mastschildern', Geltungsbereich_DS=True, Geltungsbereich_DV=True, Geltungsbereich_SBahn_B=True, Geltungsbereich_SBahn_HH=True, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS='Bü 0', Kurzbezeichnung_DV='Bü 0', Langbezeichnung=None, Schaltbar=True, Zusatz_Moeglich=False, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, Bue_0_2Lp) + if subclass is not None: + return subclass(*args_, **kwargs_) + if Bue_0_2Lp.subclass: + return Bue_0_2Lp.subclass(*args_, **kwargs_) + else: + return Bue_0_2Lp(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Bue_0_2Lp', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('Bue_0_2Lp') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'Bue_0_2Lp': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Bue_0_2Lp') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Bue_0_2Lp', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='Bue_0_2Lp'): + if self.Anmerkungen is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'zwei waagerecht angeordnete gelbe Lichtpunkte über einem oder zwei schwarz-weiß schräg gestreiften Mastschildern' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if not self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if not self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if not self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if not self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS != 'Bü 0' and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV != 'Bü 0' and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if not self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Bue_0_2Lp', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class Bue_0_2Lp + + +class Bue_0_1Lp(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen=None, Beleuchtbar=False, Beschreibung='ein gelber Lichtpunkt über einem oder zwei schwarz-weiß schräg gestreiften Mastschildern', Geltungsbereich_DS=True, Geltungsbereich_DV=False, Geltungsbereich_SBahn_B=False, Geltungsbereich_SBahn_HH=False, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS='Bü 0', Kurzbezeichnung_DV=None, Langbezeichnung=None, Schaltbar=True, Zusatz_Moeglich=False, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, Bue_0_1Lp) + if subclass is not None: + return subclass(*args_, **kwargs_) + if Bue_0_1Lp.subclass: + return Bue_0_1Lp.subclass(*args_, **kwargs_) + else: + return Bue_0_1Lp(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Bue_0_1Lp', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('Bue_0_1Lp') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'Bue_0_1Lp': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Bue_0_1Lp') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Bue_0_1Lp', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='Bue_0_1Lp'): + if self.Anmerkungen is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'ein gelber Lichtpunkt über einem oder zwei schwarz-weiß schräg gestreiften Mastschildern' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if not self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS != 'Bü 0' and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if not self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Bue_0_1Lp', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class Bue_0_1Lp + + +class Bue_0_0Lp(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen=None, Beleuchtbar=False, Beschreibung='kein Lichtpunkt über einem oder zwei schwarz-weiß schräg gestreiften Mastschildern', Geltungsbereich_DS=True, Geltungsbereich_DV=False, Geltungsbereich_SBahn_B=False, Geltungsbereich_SBahn_HH=False, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS='Bü 0', Kurzbezeichnung_DV=None, Langbezeichnung=None, Schaltbar=True, Zusatz_Moeglich=False, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, Bue_0_0Lp) + if subclass is not None: + return subclass(*args_, **kwargs_) + if Bue_0_0Lp.subclass: + return Bue_0_0Lp.subclass(*args_, **kwargs_) + else: + return Bue_0_0Lp(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Bue_0_0Lp', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('Bue_0_0Lp') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'Bue_0_0Lp': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Bue_0_0Lp') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Bue_0_0Lp', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='Bue_0_0Lp'): + if self.Anmerkungen is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'kein Lichtpunkt über einem oder zwei schwarz-weiß schräg gestreiften Mastschildern' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if not self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS != 'Bü 0' and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if not self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Bue_0_0Lp', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class Bue_0_0Lp + + +class Bue_1_1S_bli(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen=None, Beleuchtbar=False, Beschreibung='ein blinkendes weißes Licht über einer runden gelben Scheibe in einer gelben Umrahmung über einem oder zwei schwarz-weiß schräg gestreiften Mastschildern', Geltungsbereich_DS=True, Geltungsbereich_DV=True, Geltungsbereich_SBahn_B=True, Geltungsbereich_SBahn_HH=True, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS='Bü 1', Kurzbezeichnung_DV='Bü 1', Langbezeichnung=None, Schaltbar=True, Zusatz_Moeglich=False, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, Bue_1_1S_bli) + if subclass is not None: + return subclass(*args_, **kwargs_) + if Bue_1_1S_bli.subclass: + return Bue_1_1S_bli.subclass(*args_, **kwargs_) + else: + return Bue_1_1S_bli(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Bue_1_1S_bli', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('Bue_1_1S_bli') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'Bue_1_1S_bli': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Bue_1_1S_bli') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Bue_1_1S_bli', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='Bue_1_1S_bli'): + if self.Anmerkungen is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'ein blinkendes weißes Licht über einer runden gelben Scheibe in einer gelben Umrahmung über einem oder zwei schwarz-weiß schräg gestreiften Mastschildern' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if not self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if not self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if not self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if not self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS != 'Bü 1' and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV != 'Bü 1' and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if not self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Bue_1_1S_bli', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class Bue_1_1S_bli + + +class Bue_1_2S_st(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen=None, Beleuchtbar=False, Beschreibung='ein weißes Licht über zwei waagerecht angeordneten gelben Scheiben und einem oder zwei schwarz-weiß schräg gestreiften Mastschildern', Geltungsbereich_DS=True, Geltungsbereich_DV=True, Geltungsbereich_SBahn_B=True, Geltungsbereich_SBahn_HH=True, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS='Bü 1', Kurzbezeichnung_DV='Bü 1', Langbezeichnung=None, Schaltbar=True, Zusatz_Moeglich=False, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, Bue_1_2S_st) + if subclass is not None: + return subclass(*args_, **kwargs_) + if Bue_1_2S_st.subclass: + return Bue_1_2S_st.subclass(*args_, **kwargs_) + else: + return Bue_1_2S_st(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Bue_1_2S_st', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('Bue_1_2S_st') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'Bue_1_2S_st': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Bue_1_2S_st') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Bue_1_2S_st', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='Bue_1_2S_st'): + if self.Anmerkungen is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'ein weißes Licht über zwei waagerecht angeordneten gelben Scheiben und einem oder zwei schwarz-weiß schräg gestreiften Mastschildern' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if not self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if not self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if not self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if not self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS != 'Bü 1' and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV != 'Bü 1' and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if not self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Bue_1_2S_st', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class Bue_1_2S_st + + +class Bue_1_2Lp_st(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen=None, Beleuchtbar=False, Beschreibung='ein weißes Licht über zwei waagerecht angeordneten gelben Lichtpunkten und einem oder zwei schwarz-weiß schräg gestreiften Mastschildern', Geltungsbereich_DS=True, Geltungsbereich_DV=True, Geltungsbereich_SBahn_B=True, Geltungsbereich_SBahn_HH=True, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS='Bü 1', Kurzbezeichnung_DV='Bü 1', Langbezeichnung=None, Schaltbar=True, Zusatz_Moeglich=False, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, Bue_1_2Lp_st) + if subclass is not None: + return subclass(*args_, **kwargs_) + if Bue_1_2Lp_st.subclass: + return Bue_1_2Lp_st.subclass(*args_, **kwargs_) + else: + return Bue_1_2Lp_st(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Bue_1_2Lp_st', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('Bue_1_2Lp_st') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'Bue_1_2Lp_st': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Bue_1_2Lp_st') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Bue_1_2Lp_st', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='Bue_1_2Lp_st'): + if self.Anmerkungen is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'ein weißes Licht über zwei waagerecht angeordneten gelben Lichtpunkten und einem oder zwei schwarz-weiß schräg gestreiften Mastschildern' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if not self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if not self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if not self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if not self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS != 'Bü 1' and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV != 'Bü 1' and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if not self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Bue_1_2Lp_st', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class Bue_1_2Lp_st + + +class Bue_1_1Lp_bli(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen=None, Beleuchtbar=False, Beschreibung='ein blinkendes weißes Licht über einem gelben Lichtpunkt und einem oder zwei schwarz-weiß schräg gestreiften Mastschildern', Geltungsbereich_DS=True, Geltungsbereich_DV=False, Geltungsbereich_SBahn_B=False, Geltungsbereich_SBahn_HH=False, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS='Bü 1', Kurzbezeichnung_DV=None, Langbezeichnung=None, Schaltbar=True, Zusatz_Moeglich=False, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, Bue_1_1Lp_bli) + if subclass is not None: + return subclass(*args_, **kwargs_) + if Bue_1_1Lp_bli.subclass: + return Bue_1_1Lp_bli.subclass(*args_, **kwargs_) + else: + return Bue_1_1Lp_bli(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Bue_1_1Lp_bli', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('Bue_1_1Lp_bli') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'Bue_1_1Lp_bli': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Bue_1_1Lp_bli') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Bue_1_1Lp_bli', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='Bue_1_1Lp_bli'): + if self.Anmerkungen is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'ein blinkendes weißes Licht über einem gelben Lichtpunkt und einem oder zwei schwarz-weiß schräg gestreiften Mastschildern' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if not self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS != 'Bü 1' and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if not self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Bue_1_1Lp_bli', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class Bue_1_1Lp_bli + + +class Bue_AT(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen='Optionales Zusatzschild mit Aufschrift "Bü/Bü" als Signalbegriff "Bue_AT_Zusatz" abgebildet', Beleuchtbar=False, Beschreibung='schwarz umrandete gelbe, rückstrahlende Tafel mit BÜ-Hektometer am Anfang der Einschaltstrecke (ggf. mit weißem Zusatzschild mit schwarzer Aufschrift “Bü/Bü” am Anfang einer gemeinsamen Einschaltstrecke)', Geltungsbereich_DS=True, Geltungsbereich_DV=True, Geltungsbereich_SBahn_B=True, Geltungsbereich_SBahn_HH=True, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS=None, Kurzbezeichnung_DV=None, Langbezeichnung='Bü-Ankündetafel', Schaltbar=False, Zusatz_Moeglich=True, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, Bue_AT) + if subclass is not None: + return subclass(*args_, **kwargs_) + if Bue_AT.subclass: + return Bue_AT.subclass(*args_, **kwargs_) + else: + return Bue_AT(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Bue_AT', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('Bue_AT') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'Bue_AT': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Bue_AT') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Bue_AT', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='Bue_AT'): + if self.Anmerkungen != 'Optionales Zusatzschild mit Aufschrift "Bü/Bü" als Signalbegriff "Bue_AT_Zusatz" abgebildet' and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'schwarz umrandete gelbe, rückstrahlende Tafel mit BÜ-Hektometer am Anfang der Einschaltstrecke (ggf. mit weißem Zusatzschild mit schwarzer Aufschrift “Bü/Bü” am Anfang einer gemeinsamen Einschaltstrecke)' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if not self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if not self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if not self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if not self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung != 'Bü-Ankündetafel' and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if not self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Bue_AT', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class Bue_AT + + +class Bue_KT(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen=None, Beleuchtbar=False, Beschreibung='weiße rückstrahlende Tafel mit BÜ-Hektometer unmittelbar vor dem BÜ', Geltungsbereich_DS=True, Geltungsbereich_DV=True, Geltungsbereich_SBahn_B=True, Geltungsbereich_SBahn_HH=True, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS=None, Kurzbezeichnung_DV=None, Langbezeichnung='Bü-Kennzeichentafel', Schaltbar=False, Zusatz_Moeglich=False, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, Bue_KT) + if subclass is not None: + return subclass(*args_, **kwargs_) + if Bue_KT.subclass: + return Bue_KT.subclass(*args_, **kwargs_) + else: + return Bue_KT(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Bue_KT', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('Bue_KT') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'Bue_KT': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Bue_KT') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Bue_KT', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='Bue_KT'): + if self.Anmerkungen is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'weiße rückstrahlende Tafel mit BÜ-Hektometer unmittelbar vor dem BÜ' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if not self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if not self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if not self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if not self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung != 'Bü-Kennzeichentafel' and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Bue_KT', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class Bue_KT + + +class Bue_4(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen=None, Beleuchtbar=True, Beschreibung='rechteckige weiße Tafel mit schwarzem P oder rechteckige schwarze Tafel mit weißem Rand und weißem P', Geltungsbereich_DS=True, Geltungsbereich_DV=True, Geltungsbereich_SBahn_B=True, Geltungsbereich_SBahn_HH=True, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS='Bü 4', Kurzbezeichnung_DV='Bü 4', Langbezeichnung='Pfeiftafel', Schaltbar=False, Zusatz_Moeglich=False, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, Bue_4) + if subclass is not None: + return subclass(*args_, **kwargs_) + if Bue_4.subclass: + return Bue_4.subclass(*args_, **kwargs_) + else: + return Bue_4(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Bue_4', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('Bue_4') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'Bue_4': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Bue_4') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Bue_4', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='Bue_4'): + if self.Anmerkungen is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if not self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'rechteckige weiße Tafel mit schwarzem P oder rechteckige schwarze Tafel mit weißem Rand und weißem P' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if not self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if not self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if not self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if not self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS != 'Bü 4' and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV != 'Bü 4' and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung != 'Pfeiftafel' and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Bue_4', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class Bue_4 + + +class Pf_2(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen='Optionales Zusatzschild mit Aufschrift: "2", "3", "4", "5", "6", "7", 8", "9"', Beleuchtbar=False, Beschreibung='zwei weiße Tafeln mit schwarzem P senkrecht übereinander (ggf. mit Zusatzschild mit Angabe der Anzahl der Bahnübergänge, für die das Signal Pf 2 gilt)', Geltungsbereich_DS=False, Geltungsbereich_DV=True, Geltungsbereich_SBahn_B=True, Geltungsbereich_SBahn_HH=False, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS=None, Kurzbezeichnung_DV='Pf 2', Langbezeichnung='Pfeiftafel vor Bahnübergängen', Schaltbar=False, Zusatz_Moeglich=True, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, Pf_2) + if subclass is not None: + return subclass(*args_, **kwargs_) + if Pf_2.subclass: + return Pf_2.subclass(*args_, **kwargs_) + else: + return Pf_2(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Pf_2', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('Pf_2') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'Pf_2': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Pf_2') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Pf_2', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='Pf_2'): + if self.Anmerkungen != 'Optionales Zusatzschild mit Aufschrift: "2", "3", "4", "5", "6", "7", 8", "9"' and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'zwei weiße Tafeln mit schwarzem P senkrecht übereinander (ggf. mit Zusatzschild mit Angabe der Anzahl der Bahnübergänge, für die das Signal Pf 2 gilt)' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if not self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if not self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV != 'Pf 2' and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung != 'Pfeiftafel vor Bahnübergängen' and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if not self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Pf_2', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class Pf_2 + + +class Bue_5(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen=None, Beleuchtbar=False, Beschreibung='rechteckige weiße Tafel mit schwarzem L', Geltungsbereich_DS=True, Geltungsbereich_DV=True, Geltungsbereich_SBahn_B=True, Geltungsbereich_SBahn_HH=True, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS='Bü 5', Kurzbezeichnung_DV='Bü 5', Langbezeichnung='Laeutetafel', Schaltbar=False, Zusatz_Moeglich=False, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, Bue_5) + if subclass is not None: + return subclass(*args_, **kwargs_) + if Bue_5.subclass: + return Bue_5.subclass(*args_, **kwargs_) + else: + return Bue_5(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Bue_5', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('Bue_5') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'Bue_5': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Bue_5') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Bue_5', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='Bue_5'): + if self.Anmerkungen is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'rechteckige weiße Tafel mit schwarzem L' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if not self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if not self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if not self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if not self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS != 'Bü 5' and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV != 'Bü 5' and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung != 'Laeutetafel' and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Bue_5', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class Bue_5 + + +class Oz_Zf(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen=None, Beleuchtbar=False, Beschreibung='weiße rechteckige Tafel mit Hörersymbol und Angabe des einzustellenden Zugfunkkanals', Geltungsbereich_DS=True, Geltungsbereich_DV=True, Geltungsbereich_SBahn_B=True, Geltungsbereich_SBahn_HH=True, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS=None, Kurzbezeichnung_DV=None, Langbezeichnung='Zugfunktafel', Schaltbar=False, Zusatz_Moeglich=False, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, Oz_Zf) + if subclass is not None: + return subclass(*args_, **kwargs_) + if Oz_Zf.subclass: + return Oz_Zf.subclass(*args_, **kwargs_) + else: + return Oz_Zf(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Oz_Zf', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('Oz_Zf') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'Oz_Zf': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Oz_Zf') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Oz_Zf', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='Oz_Zf'): + if self.Anmerkungen is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'weiße rechteckige Tafel mit Hörersymbol und Angabe des einzustellenden Zugfunkkanals' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if not self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if not self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if not self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if not self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung != 'Zugfunktafel' and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Oz_Zf', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class Oz_Zf + + +class Oz_ICE(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen=None, Beleuchtbar=False, Beschreibung='auf der Spitze stehende weiße quadratische Tafel mit der Aufschrift "ICE"', Geltungsbereich_DS=True, Geltungsbereich_DV=True, Geltungsbereich_SBahn_B=False, Geltungsbereich_SBahn_HH=False, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS=None, Kurzbezeichnung_DV=None, Langbezeichnung='„ICE“-Zeichen', Schaltbar=False, Zusatz_Moeglich=False, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, Oz_ICE) + if subclass is not None: + return subclass(*args_, **kwargs_) + if Oz_ICE.subclass: + return Oz_ICE.subclass(*args_, **kwargs_) + else: + return Oz_ICE(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Oz_ICE', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('Oz_ICE') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'Oz_ICE': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Oz_ICE') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Oz_ICE', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='Oz_ICE'): + if self.Anmerkungen is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'auf der Spitze stehende weiße quadratische Tafel mit der Aufschrift "ICE"' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if not self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if not self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung != '„ICE“-Zeichen' and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Oz_ICE', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class Oz_ICE + + +class Oz_Auto_HET(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen=None, Beleuchtbar=False, Beschreibung='Schild mit der Aufschrift "Automatik-HET"', Geltungsbereich_DS=True, Geltungsbereich_DV=True, Geltungsbereich_SBahn_B=True, Geltungsbereich_SBahn_HH=True, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS=None, Kurzbezeichnung_DV=None, Langbezeichnung=None, Schaltbar=False, Zusatz_Moeglich=False, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, Oz_Auto_HET) + if subclass is not None: + return subclass(*args_, **kwargs_) + if Oz_Auto_HET.subclass: + return Oz_Auto_HET.subclass(*args_, **kwargs_) + else: + return Oz_Auto_HET(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Oz_Auto_HET', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('Oz_Auto_HET') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'Oz_Auto_HET': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Oz_Auto_HET') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Oz_Auto_HET', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='Oz_Auto_HET'): + if self.Anmerkungen is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'Schild mit der Aufschrift "Automatik-HET"' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if not self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if not self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if not self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if not self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Oz_Auto_HET', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class Oz_Auto_HET + + +class Oz_HET(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen=None, Beleuchtbar=False, Beschreibung='Schild mit der Aufschrift "HET"', Geltungsbereich_DS=True, Geltungsbereich_DV=True, Geltungsbereich_SBahn_B=True, Geltungsbereich_SBahn_HH=True, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS=None, Kurzbezeichnung_DV=None, Langbezeichnung=None, Schaltbar=False, Zusatz_Moeglich=False, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, Oz_HET) + if subclass is not None: + return subclass(*args_, **kwargs_) + if Oz_HET.subclass: + return Oz_HET.subclass(*args_, **kwargs_) + else: + return Oz_HET(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Oz_HET', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('Oz_HET') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'Oz_HET': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Oz_HET') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Oz_HET', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='Oz_HET'): + if self.Anmerkungen is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'Schild mit der Aufschrift "HET"' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if not self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if not self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if not self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if not self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Oz_HET', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class Oz_HET + + +class Oz_Auto_ET(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen=None, Beleuchtbar=False, Beschreibung='Schild mit der Aufschrift "Automatik-ET"', Geltungsbereich_DS=True, Geltungsbereich_DV=True, Geltungsbereich_SBahn_B=True, Geltungsbereich_SBahn_HH=True, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS=None, Kurzbezeichnung_DV=None, Langbezeichnung=None, Schaltbar=False, Zusatz_Moeglich=False, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, Oz_Auto_ET) + if subclass is not None: + return subclass(*args_, **kwargs_) + if Oz_Auto_ET.subclass: + return Oz_Auto_ET.subclass(*args_, **kwargs_) + else: + return Oz_Auto_ET(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Oz_Auto_ET', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('Oz_Auto_ET') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'Oz_Auto_ET': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Oz_Auto_ET') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Oz_Auto_ET', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='Oz_Auto_ET'): + if self.Anmerkungen is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'Schild mit der Aufschrift "Automatik-ET"' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if not self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if not self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if not self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if not self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Oz_Auto_ET', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class Oz_Auto_ET + + +class Oz_ET(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen=None, Beleuchtbar=False, Beschreibung='Schild mit der Aufschrift "ET"', Geltungsbereich_DS=True, Geltungsbereich_DV=True, Geltungsbereich_SBahn_B=True, Geltungsbereich_SBahn_HH=True, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS=None, Kurzbezeichnung_DV=None, Langbezeichnung=None, Schaltbar=False, Zusatz_Moeglich=False, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, Oz_ET) + if subclass is not None: + return subclass(*args_, **kwargs_) + if Oz_ET.subclass: + return Oz_ET.subclass(*args_, **kwargs_) + else: + return Oz_ET(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Oz_ET', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('Oz_ET') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'Oz_ET': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Oz_ET') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Oz_ET', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='Oz_ET'): + if self.Anmerkungen is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'Schild mit der Aufschrift "ET"' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if not self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if not self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if not self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if not self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Oz_ET', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class Oz_ET + + +class Oz_Fa(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen=None, Beleuchtbar=False, Beschreibung='Lichtstreifen von links nach rechts steigend', Geltungsbereich_DS=True, Geltungsbereich_DV=True, Geltungsbereich_SBahn_B=True, Geltungsbereich_SBahn_HH=True, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS=None, Kurzbezeichnung_DV=None, Langbezeichnung='Fahrtanzeiger', Schaltbar=True, Zusatz_Moeglich=False, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, Oz_Fa) + if subclass is not None: + return subclass(*args_, **kwargs_) + if Oz_Fa.subclass: + return Oz_Fa.subclass(*args_, **kwargs_) + else: + return Oz_Fa(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Oz_Fa', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('Oz_Fa') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'Oz_Fa': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Oz_Fa') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Oz_Fa', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='Oz_Fa'): + if self.Anmerkungen is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'Lichtstreifen von links nach rechts steigend' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if not self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if not self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if not self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if not self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung != 'Fahrtanzeiger' and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if not self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Oz_Fa', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class Oz_Fa + + +class Oz_LZB_Ber(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen=None, Beleuchtbar=False, Beschreibung='weiße rechteckige Tafel mit der Aufschrift "LZB"', Geltungsbereich_DS=True, Geltungsbereich_DV=True, Geltungsbereich_SBahn_B=False, Geltungsbereich_SBahn_HH=False, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS=None, Kurzbezeichnung_DV=None, Langbezeichnung='LZB-Bereichskennzeichen', Schaltbar=False, Zusatz_Moeglich=False, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, Oz_LZB_Ber) + if subclass is not None: + return subclass(*args_, **kwargs_) + if Oz_LZB_Ber.subclass: + return Oz_LZB_Ber.subclass(*args_, **kwargs_) + else: + return Oz_LZB_Ber(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Oz_LZB-Ber', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('Oz_LZB-Ber') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'Oz_LZB-Ber': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Oz_LZB-Ber') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Oz_LZB-Ber', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='Oz_LZB-Ber'): + if self.Anmerkungen is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'weiße rechteckige Tafel mit der Aufschrift "LZB"' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if not self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if not self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung != 'LZB-Bereichskennzeichen' and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Oz_LZB-Ber', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class Oz_LZB_Ber + + +class Oz_Bk(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen='Erkennung Variante b über Zusatzschild', Beleuchtbar=False, Beschreibung='a) weiße quadratische Tafel mit schwarzem Kreis und Bezeichner des Blockabschnittes b) weiße quadratische Tafel mit schwarzem Pfeil (gilt für das Gleis, auf das der Pfeil weist)', Geltungsbereich_DS=True, Geltungsbereich_DV=True, Geltungsbereich_SBahn_B=False, Geltungsbereich_SBahn_HH=False, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS=None, Kurzbezeichnung_DV=None, Langbezeichnung='Blockkennzeichen', Schaltbar=False, Zusatz_Moeglich=False, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, Oz_Bk) + if subclass is not None: + return subclass(*args_, **kwargs_) + if Oz_Bk.subclass: + return Oz_Bk.subclass(*args_, **kwargs_) + else: + return Oz_Bk(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Oz_Bk', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('Oz_Bk') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'Oz_Bk': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Oz_Bk') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Oz_Bk', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='Oz_Bk'): + if self.Anmerkungen != 'Erkennung Variante b über Zusatzschild' and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'a) weiße quadratische Tafel mit schwarzem Kreis und Bezeichner des Blockabschnittes b) weiße quadratische Tafel mit schwarzem Pfeil (gilt für das Gleis, auf das der Pfeil weist)' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if not self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if not self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung != 'Blockkennzeichen' and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Oz_Bk', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class Oz_Bk + + +class NISES_HM(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen=None, Beleuchtbar=False, Beschreibung='Der Melder zeigt ein stilisiertes Formhauptsignal in Haltstellung in der Regel in Form eines Zusatzanzeigers', Geltungsbereich_DS=True, Geltungsbereich_DV=True, Geltungsbereich_SBahn_B=False, Geltungsbereich_SBahn_HH=False, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS='HM', Kurzbezeichnung_DV='HM', Langbezeichnung='Signalhaltmelder', Schaltbar=True, Zusatz_Moeglich=False, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, NISES_HM) + if subclass is not None: + return subclass(*args_, **kwargs_) + if NISES_HM.subclass: + return NISES_HM.subclass(*args_, **kwargs_) + else: + return NISES_HM(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='NISES_HM', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('NISES_HM') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'NISES_HM': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='NISES_HM') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='NISES_HM', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='NISES_HM'): + if self.Anmerkungen is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'Der Melder zeigt ein stilisiertes Formhauptsignal in Haltstellung in der Regel in Form eines Zusatzanzeigers' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if not self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if not self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS != 'HM' and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV != 'HM' and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung != 'Signalhaltmelder' and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if not self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='NISES_HM', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class NISES_HM + + +class Ne_14(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen=None, Beleuchtbar=False, Beschreibung='ein gelber Pfeil mit weißem Rand auf einer blauen quadratischen Tafel, der Pfeil kann nach links, unten oder rechts zeigen', Geltungsbereich_DS=True, Geltungsbereich_DV=True, Geltungsbereich_SBahn_B=True, Geltungsbereich_SBahn_HH=True, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS='Ne 14', Kurzbezeichnung_DV='Ne 14', Langbezeichnung='ETCS-Halt-Tafel', Schaltbar=False, Zusatz_Moeglich=False, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, Ne_14) + if subclass is not None: + return subclass(*args_, **kwargs_) + if Ne_14.subclass: + return Ne_14.subclass(*args_, **kwargs_) + else: + return Ne_14(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Ne_14', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('Ne_14') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'Ne_14': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Ne_14') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Ne_14', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='Ne_14'): + if self.Anmerkungen is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'ein gelber Pfeil mit weißem Rand auf einer blauen quadratischen Tafel, der Pfeil kann nach links, unten oder rechts zeigen' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if not self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if not self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if not self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if not self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS != 'Ne 14' and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV != 'Ne 14' and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung != 'ETCS-Halt-Tafel' and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Ne_14', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class Ne_14 + + +class Oz_OB_Grenze(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen=None, Beleuchtbar=False, Beschreibung='weiße rechteckige Tafel mit der Aufschrift „OB“', Geltungsbereich_DS=True, Geltungsbereich_DV=True, Geltungsbereich_SBahn_B=True, Geltungsbereich_SBahn_HH=True, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS=None, Kurzbezeichnung_DV=None, Langbezeichnung='Beginn Ortsstellbereich', Schaltbar=False, Zusatz_Moeglich=False, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, Oz_OB_Grenze) + if subclass is not None: + return subclass(*args_, **kwargs_) + if Oz_OB_Grenze.subclass: + return Oz_OB_Grenze.subclass(*args_, **kwargs_) + else: + return Oz_OB_Grenze(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Oz_OB_Grenze', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('Oz_OB_Grenze') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'Oz_OB_Grenze': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Oz_OB_Grenze') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Oz_OB_Grenze', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='Oz_OB_Grenze'): + if self.Anmerkungen is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'weiße rechteckige Tafel mit der Aufschrift „OB“' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if not self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if not self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if not self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if not self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung != 'Beginn Ortsstellbereich' and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Oz_OB_Grenze', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class Oz_OB_Grenze + + +class BS_vA_UES(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen=None, Beleuchtbar=False, Beschreibung='verkürzter Abstand des Überwachungssignals, ein rückstrahlendes, auf der Spitze stehendes weißes Dreieck mit schwarzem Rand', Geltungsbereich_DS=True, Geltungsbereich_DV=True, Geltungsbereich_SBahn_B=True, Geltungsbereich_SBahn_HH=True, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS=None, Kurzbezeichnung_DV=None, Langbezeichnung=None, Schaltbar=False, Zusatz_Moeglich=False, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, BS_vA_UES) + if subclass is not None: + return subclass(*args_, **kwargs_) + if BS_vA_UES.subclass: + return BS_vA_UES.subclass(*args_, **kwargs_) + else: + return BS_vA_UES(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='BS_vA_UES', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('BS_vA_UES') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'BS_vA_UES': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='BS_vA_UES') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='BS_vA_UES', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='BS_vA_UES'): + if self.Anmerkungen is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'verkürzter Abstand des Überwachungssignals, ein rückstrahlendes, auf der Spitze stehendes weißes Dreieck mit schwarzem Rand' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if not self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if not self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if not self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if not self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='BS_vA_UES', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class BS_vA_UES + + +class BS_Wdh(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen=None, Beleuchtbar=False, Beschreibung='Signal Bü 4 oder Pf 2 gilt nur für die vor dem Bahnübergang nicht haltenden Züge, rechteckige, weiße Tafel mit zwei senkrechten, schwarzen Streifen', Geltungsbereich_DS=True, Geltungsbereich_DV=True, Geltungsbereich_SBahn_B=True, Geltungsbereich_SBahn_HH=True, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS=None, Kurzbezeichnung_DV=None, Langbezeichnung='Wiederholungszeichen', Schaltbar=False, Zusatz_Moeglich=False, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, BS_Wdh) + if subclass is not None: + return subclass(*args_, **kwargs_) + if BS_Wdh.subclass: + return BS_Wdh.subclass(*args_, **kwargs_) + else: + return BS_Wdh(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='BS_Wdh', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('BS_Wdh') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'BS_Wdh': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='BS_Wdh') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='BS_Wdh', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='BS_Wdh'): + if self.Anmerkungen is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'Signal Bü 4 oder Pf 2 gilt nur für die vor dem Bahnübergang nicht haltenden Züge, rechteckige, weiße Tafel mit zwei senkrechten, schwarzen Streifen' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if not self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if not self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if not self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if not self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung != 'Wiederholungszeichen' and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='BS_Wdh', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class BS_Wdh + + +class BS_Zusatz(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen='Bei Verwendung mit Ne_1 gilt: Symbol == "true", wenn Trapeztafel (Ne_1) mit Zuatzschild; Symbol == "false", wenn Trapeztafel (Ne_1) ohne Zusatzschild', Beleuchtbar=False, Beschreibung='Zusatzinformation (teilw. als eigenes Schild) zur Präzisierung eines Signalbegriffs', Geltungsbereich_DS=True, Geltungsbereich_DV=True, Geltungsbereich_SBahn_B=True, Geltungsbereich_SBahn_HH=True, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS=None, Kurzbezeichnung_DV=None, Langbezeichnung=None, Schaltbar=False, Zusatz_Moeglich=False, Symbol=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + self.Symbol = Symbol + self.validate_TBS_Zusatz_Symbol(self.Symbol) + self.Symbol_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, BS_Zusatz) + if subclass is not None: + return subclass(*args_, **kwargs_) + if BS_Zusatz.subclass: + return BS_Zusatz.subclass(*args_, **kwargs_) + else: + return BS_Zusatz(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Symbol(self): + return self.Symbol + def set_Symbol(self, Symbol): + self.Symbol = Symbol + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def validate_TBS_Zusatz_Symbol(self, value): + result = True + # Validate type TBS_Zusatz_Symbol, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TBS_Zusatz_Symbol_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TBS_Zusatz_Symbol_patterns_, )) + result = False + return result + validate_TBS_Zusatz_Symbol_patterns_ = [['^(.{1,30})$']] + def has__content(self): + if ( + self.Symbol is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='BS_Zusatz', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('BS_Zusatz') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'BS_Zusatz': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='BS_Zusatz') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='BS_Zusatz', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='BS_Zusatz'): + if self.Anmerkungen != 'Bei Verwendung mit Ne_1 gilt: Symbol == "true", wenn Trapeztafel (Ne_1) mit Zuatzschild; Symbol == "false", wenn Trapeztafel (Ne_1) ohne Zusatzschild' and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'Zusatzinformation (teilw. als eigenes Schild) zur Präzisierung eines Signalbegriffs' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if not self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if not self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if not self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if not self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='BS_Zusatz', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Symbol is not None: + namespaceprefix_ = self.Symbol_nsprefix_ + ':' if (UseCapturedNS_ and self.Symbol_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sSymbol>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Symbol), input_name='Symbol')), 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_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Symbol': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Symbol') + value_ = self.gds_validate_string(value_, node, 'Symbol') + self.Symbol = value_ + self.Symbol_nsprefix_ = child_.prefix + # validate type TBS_Zusatz_Symbol + self.validate_TBS_Zusatz_Symbol(self.Symbol) +# end class BS_Zusatz + + +class Lf_Pf_r(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen='Ersetzt Signalbegriff Lf_Pf.', Beleuchtbar=False, Beschreibung='Richtungspfeil nach rechts, gelber oder weißer Pfeil nach rechts auf einer schwarzen viereckigen Tafel', Geltungsbereich_DS=True, Geltungsbereich_DV=True, Geltungsbereich_SBahn_B=True, Geltungsbereich_SBahn_HH=True, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS=None, Kurzbezeichnung_DV=None, Langbezeichnung=None, Schaltbar=False, Zusatz_Moeglich=False, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, Lf_Pf_r) + if subclass is not None: + return subclass(*args_, **kwargs_) + if Lf_Pf_r.subclass: + return Lf_Pf_r.subclass(*args_, **kwargs_) + else: + return Lf_Pf_r(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Lf_Pf_r', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('Lf_Pf_r') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'Lf_Pf_r': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Lf_Pf_r') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Lf_Pf_r', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='Lf_Pf_r'): + if self.Anmerkungen != 'Ersetzt Signalbegriff Lf_Pf.' and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'Richtungspfeil nach rechts, gelber oder weißer Pfeil nach rechts auf einer schwarzen viereckigen Tafel' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if not self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if not self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if not self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if not self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Lf_Pf_r', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class Lf_Pf_r + + +class Lf_Pf_l(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen='Ersetzt Signalbegriff Lf_Pf.', Beleuchtbar=False, Beschreibung='Richtungspfeil nach links, gelber oder weißer Pfeil nach links auf einer schwarzen viereckigen Tafel', Geltungsbereich_DS=True, Geltungsbereich_DV=True, Geltungsbereich_SBahn_B=True, Geltungsbereich_SBahn_HH=True, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS=None, Kurzbezeichnung_DV=None, Langbezeichnung=None, Schaltbar=False, Zusatz_Moeglich=False, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, Lf_Pf_l) + if subclass is not None: + return subclass(*args_, **kwargs_) + if Lf_Pf_l.subclass: + return Lf_Pf_l.subclass(*args_, **kwargs_) + else: + return Lf_Pf_l(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Lf_Pf_l', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('Lf_Pf_l') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'Lf_Pf_l': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Lf_Pf_l') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Lf_Pf_l', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='Lf_Pf_l'): + if self.Anmerkungen != 'Ersetzt Signalbegriff Lf_Pf.' and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'Richtungspfeil nach links, gelber oder weißer Pfeil nach links auf einer schwarzen viereckigen Tafel' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if not self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if not self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if not self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if not self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Lf_Pf_l', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class Lf_Pf_l + + +class Oz_PZB_BUE(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen='Kennzeichnet die Lage eines Gleismagneten 2000 Hz vor einem Bahnübergang. Aufnahme in Ril 301 mit Aktualisierung 9 (12/2016).', Beleuchtbar=False, Beschreibung='eine schwarz umrandete Tafel mit einem weißen Feld mit der Aufschrift „PZB“ über einem gelben Feld mit der Aufschrift „Bü“ und der Kilometerangabe für den Bahnübergang', Geltungsbereich_DS=True, Geltungsbereich_DV=True, Geltungsbereich_SBahn_B=True, Geltungsbereich_SBahn_HH=True, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS=None, Kurzbezeichnung_DV=None, Langbezeichnung=None, Schaltbar=False, Zusatz_Moeglich=False, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, Oz_PZB_BUE) + if subclass is not None: + return subclass(*args_, **kwargs_) + if Oz_PZB_BUE.subclass: + return Oz_PZB_BUE.subclass(*args_, **kwargs_) + else: + return Oz_PZB_BUE(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Oz_PZB_BUE', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('Oz_PZB_BUE') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'Oz_PZB_BUE': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Oz_PZB_BUE') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Oz_PZB_BUE', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='Oz_PZB_BUE'): + if self.Anmerkungen != 'Kennzeichnet die Lage eines Gleismagneten 2000 Hz vor einem Bahnübergang. Aufnahme in Ril 301 mit Aktualisierung 9 (12/2016).' and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'eine schwarz umrandete Tafel mit einem weißen Feld mit der Aufschrift „PZB“ über einem gelben Feld mit der Aufschrift „Bü“ und der Kilometerangabe für den Bahnübergang' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if not self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if not self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if not self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if not self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Oz_PZB_BUE', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class Oz_PZB_BUE + + +class Ms_Sk_rt(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen='Mastschild für Sk–Hauptsignale, Anwendung nur auf der Strecke Augsburg – Donauwörth zwischen Bf Gersthofen (einschließlich) und Bf Mertingen (einschließlich)', Beleuchtbar=False, Beschreibung='Mastschild rot', Geltungsbereich_DS=True, Geltungsbereich_DV=False, Geltungsbereich_SBahn_B=False, Geltungsbereich_SBahn_HH=False, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS=None, Kurzbezeichnung_DV=None, Langbezeichnung=None, Schaltbar=False, Zusatz_Moeglich=False, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, Ms_Sk_rt) + if subclass is not None: + return subclass(*args_, **kwargs_) + if Ms_Sk_rt.subclass: + return Ms_Sk_rt.subclass(*args_, **kwargs_) + else: + return Ms_Sk_rt(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Ms_Sk_rt', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('Ms_Sk_rt') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'Ms_Sk_rt': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Ms_Sk_rt') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Ms_Sk_rt', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='Ms_Sk_rt'): + if self.Anmerkungen != 'Mastschild für Sk–Hauptsignale, Anwendung nur auf der Strecke Augsburg – Donauwörth zwischen Bf Gersthofen (einschließlich) und Bf Mertingen (einschließlich)' and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'Mastschild rot' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if not self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Ms_Sk_rt', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class Ms_Sk_rt + + +class Ms_Sk_ge(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen='Mastschild für Sk–Vorsignale und Sk–Vorsignalwiederholer, Anwendung nur auf der Strecke Augsburg – Donauwörth zwischen Bf Gersthofen (einschließlich) und Bf Mertingen (einschließlich)', Beleuchtbar=False, Beschreibung='Mastschild gelb', Geltungsbereich_DS=True, Geltungsbereich_DV=False, Geltungsbereich_SBahn_B=False, Geltungsbereich_SBahn_HH=False, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS=None, Kurzbezeichnung_DV=None, Langbezeichnung=None, Schaltbar=False, Zusatz_Moeglich=False, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, Ms_Sk_ge) + if subclass is not None: + return subclass(*args_, **kwargs_) + if Ms_Sk_ge.subclass: + return Ms_Sk_ge.subclass(*args_, **kwargs_) + else: + return Ms_Sk_ge(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Ms_Sk_ge', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('Ms_Sk_ge') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'Ms_Sk_ge': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Ms_Sk_ge') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Ms_Sk_ge', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='Ms_Sk_ge'): + if self.Anmerkungen != 'Mastschild für Sk–Vorsignale und Sk–Vorsignalwiederholer, Anwendung nur auf der Strecke Augsburg – Donauwörth zwischen Bf Gersthofen (einschließlich) und Bf Mertingen (einschließlich)' and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'Mastschild gelb' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if not self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Ms_Sk_ge', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class Ms_Sk_ge + + +class Sk_1(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen='Anwendung nur auf der Strecke Augsburg – Donauwörth zwischen Bf Gersthofen (einschließlich) und Bf Mertingen (einschließlich)', Beleuchtbar=False, Beschreibung='ein grünes Licht', Geltungsbereich_DS=True, Geltungsbereich_DV=False, Geltungsbereich_SBahn_B=False, Geltungsbereich_SBahn_HH=False, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS='Sk 1', Kurzbezeichnung_DV=None, Langbezeichnung=None, Schaltbar=True, Zusatz_Moeglich=False, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, Sk_1) + if subclass is not None: + return subclass(*args_, **kwargs_) + if Sk_1.subclass: + return Sk_1.subclass(*args_, **kwargs_) + else: + return Sk_1(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Sk_1', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('Sk_1') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'Sk_1': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Sk_1') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Sk_1', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='Sk_1'): + if self.Anmerkungen != 'Anwendung nur auf der Strecke Augsburg – Donauwörth zwischen Bf Gersthofen (einschließlich) und Bf Mertingen (einschließlich)' and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'ein grünes Licht' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if not self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS != 'Sk 1' and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if not self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Sk_1', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class Sk_1 + + +class Sk_2(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen='Anwendung nur auf der Strecke Augsburg – Donauwörth zwischen Bf Gersthofen (einschließlich) und Bf Mertingen (einschließlich)', Beleuchtbar=False, Beschreibung='ein gelbes Licht', Geltungsbereich_DS=True, Geltungsbereich_DV=False, Geltungsbereich_SBahn_B=False, Geltungsbereich_SBahn_HH=False, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS='Sk 2', Kurzbezeichnung_DV=None, Langbezeichnung=None, Schaltbar=True, Zusatz_Moeglich=False, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, Sk_2) + if subclass is not None: + return subclass(*args_, **kwargs_) + if Sk_2.subclass: + return Sk_2.subclass(*args_, **kwargs_) + else: + return Sk_2(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Sk_2', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('Sk_2') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'Sk_2': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Sk_2') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Sk_2', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='Sk_2'): + if self.Anmerkungen != 'Anwendung nur auf der Strecke Augsburg – Donauwörth zwischen Bf Gersthofen (einschließlich) und Bf Mertingen (einschließlich)' and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'ein gelbes Licht' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if not self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS != 'Sk 2' and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if not self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Sk_2', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class Sk_2 + + +class Oz_Fak(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen='Aufnahme in Ril 301 vorgesehen', Beleuchtbar=False, Beschreibung='ein weißes in Richtung des Gleises zeigendes Dreieck', Geltungsbereich_DS=True, Geltungsbereich_DV=True, Geltungsbereich_SBahn_B=False, Geltungsbereich_SBahn_HH=False, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS=None, Kurzbezeichnung_DV=None, Langbezeichnung='Fahrtankünder', Schaltbar=True, Zusatz_Moeglich=False, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, Oz_Fak) + if subclass is not None: + return subclass(*args_, **kwargs_) + if Oz_Fak.subclass: + return Oz_Fak.subclass(*args_, **kwargs_) + else: + return Oz_Fak(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Oz_Fak', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('Oz_Fak') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'Oz_Fak': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Oz_Fak') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Oz_Fak', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='Oz_Fak'): + if self.Anmerkungen != 'Aufnahme in Ril 301 vorgesehen' and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'ein weißes in Richtung des Gleises zeigendes Dreieck' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if not self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if not self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung != 'Fahrtankünder' and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if not self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Oz_Fak', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class Oz_Fak + + +class Oz_Zugl(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen='An Bahnsteigen ohne Haltetafel (Ne 5) Kennzeichnung des verkehrlich günstigsten Halteplatzes. Aufnahme in Ril 301 mit Aktualisierung 10 (12/2017).', Beleuchtbar=False, Beschreibung='"Ein weißes rechteckiges Schild mit schwarzem Rand und einer Längenangabe in Metern."', Geltungsbereich_DS=True, Geltungsbereich_DV=True, Geltungsbereich_SBahn_B=True, Geltungsbereich_SBahn_HH=True, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS=None, Kurzbezeichnung_DV=None, Langbezeichnung='Zuglänge', Schaltbar=False, Zusatz_Moeglich=False, Symbol=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + self.Symbol = Symbol + self.validate_TOz_Zugl_Symbol(self.Symbol) + self.Symbol_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, Oz_Zugl) + if subclass is not None: + return subclass(*args_, **kwargs_) + if Oz_Zugl.subclass: + return Oz_Zugl.subclass(*args_, **kwargs_) + else: + return Oz_Zugl(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Symbol(self): + return self.Symbol + def set_Symbol(self, Symbol): + self.Symbol = Symbol + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def validate_TOz_Zugl_Symbol(self, value): + result = True + # Validate type TOz_Zugl_Symbol, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TOz_Zugl_Symbol_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TOz_Zugl_Symbol_patterns_, )) + result = False + return result + validate_TOz_Zugl_Symbol_patterns_ = [['^(.{1,30})$']] + def has__content(self): + if ( + self.Symbol is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Oz_Zugl', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('Oz_Zugl') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'Oz_Zugl': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Oz_Zugl') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Oz_Zugl', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='Oz_Zugl'): + if self.Anmerkungen != 'An Bahnsteigen ohne Haltetafel (Ne 5) Kennzeichnung des verkehrlich günstigsten Halteplatzes. Aufnahme in Ril 301 mit Aktualisierung 10 (12/2017).' and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != '"Ein weißes rechteckiges Schild mit schwarzem Rand und einer Längenangabe in Metern."' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if not self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if not self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if not self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if not self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung != 'Zuglänge' and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Oz_Zugl', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Symbol is not None: + namespaceprefix_ = self.Symbol_nsprefix_ + ':' if (UseCapturedNS_ and self.Symbol_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sSymbol>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Symbol), input_name='Symbol')), 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_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Symbol': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Symbol') + value_ = self.gds_validate_string(value_, node, 'Symbol') + self.Symbol = value_ + self.Symbol_nsprefix_ = child_.prefix + # validate type TOz_Zugl_Symbol + self.validate_TOz_Zugl_Symbol(self.Symbol) +# end class Oz_Zugl + + +class Bue_AT_Zusatz(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen='Kennzeichnung des Anfangs einer gemeinsamen Einschaltstrecke', Beleuchtbar=False, Beschreibung='weißes Zusatzschild zur BÜ-Ankündetafel mit schwarzer Aufschrift “Bü/Bü”', Geltungsbereich_DS=True, Geltungsbereich_DV=True, Geltungsbereich_SBahn_B=True, Geltungsbereich_SBahn_HH=True, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS=None, Kurzbezeichnung_DV=None, Langbezeichnung='Zusatzschild "Bü/Bü"', Schaltbar=False, Zusatz_Moeglich=False, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, Bue_AT_Zusatz) + if subclass is not None: + return subclass(*args_, **kwargs_) + if Bue_AT_Zusatz.subclass: + return Bue_AT_Zusatz.subclass(*args_, **kwargs_) + else: + return Bue_AT_Zusatz(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Bue_AT_Zusatz', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('Bue_AT_Zusatz') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'Bue_AT_Zusatz': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Bue_AT_Zusatz') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Bue_AT_Zusatz', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='Bue_AT_Zusatz'): + if self.Anmerkungen != 'Kennzeichnung des Anfangs einer gemeinsamen Einschaltstrecke' and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'weißes Zusatzschild zur BÜ-Ankündetafel mit schwarzer Aufschrift “Bü/Bü”' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if not self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if not self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if not self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if not self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung != 'Zusatzschild "Bü/Bü"' and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Bue_AT_Zusatz', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class Bue_AT_Zusatz + + +class Bue_1_0Lp_bli(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen=None, Beleuchtbar=False, Beschreibung='ein blinkendes weißes Licht über einem oder zwei schwarz-weiß schräg gestreiften Mastschildern', Geltungsbereich_DS=True, Geltungsbereich_DV=False, Geltungsbereich_SBahn_B=False, Geltungsbereich_SBahn_HH=False, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS='Bü 1', Kurzbezeichnung_DV=None, Langbezeichnung=None, Schaltbar=True, Zusatz_Moeglich=False, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, Bue_1_0Lp_bli) + if subclass is not None: + return subclass(*args_, **kwargs_) + if Bue_1_0Lp_bli.subclass: + return Bue_1_0Lp_bli.subclass(*args_, **kwargs_) + else: + return Bue_1_0Lp_bli(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Bue_1_0Lp_bli', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('Bue_1_0Lp_bli') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'Bue_1_0Lp_bli': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Bue_1_0Lp_bli') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Bue_1_0Lp_bli', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='Bue_1_0Lp_bli'): + if self.Anmerkungen is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'ein blinkendes weißes Licht über einem oder zwei schwarz-weiß schräg gestreiften Mastschildern' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if not self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS != 'Bü 1' and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if not self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Bue_1_0Lp_bli', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class Bue_1_0Lp_bli + + +class Bue_2(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen=None, Beleuchtbar=False, Beschreibung='rechteckige schwarze Tafel mit vier auf den Spitzen übereinander stehenden rückstrahlenden weißen Rauten', Geltungsbereich_DS=True, Geltungsbereich_DV=False, Geltungsbereich_SBahn_B=False, Geltungsbereich_SBahn_HH=True, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS='Bü 2', Kurzbezeichnung_DV=None, Langbezeichnung='Rautentafel', Schaltbar=False, Zusatz_Moeglich=False, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, Bue_2) + if subclass is not None: + return subclass(*args_, **kwargs_) + if Bue_2.subclass: + return Bue_2.subclass(*args_, **kwargs_) + else: + return Bue_2(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Bue_2', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('Bue_2') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'Bue_2': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Bue_2') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Bue_2', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='Bue_2'): + if self.Anmerkungen is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'rechteckige schwarze Tafel mit vier auf den Spitzen übereinander stehenden rückstrahlenden weißen Rauten' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if not self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if not self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS != 'Bü 2' and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung != 'Rautentafel' and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Bue_2', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class Bue_2 + + +class Bue_2_3R(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen=None, Beleuchtbar=False, Beschreibung='rechteckige schwarze Tafel mit drei auf den Spitzen übereinander stehenden rückstrahlenden weißen Rauten', Geltungsbereich_DS=True, Geltungsbereich_DV=False, Geltungsbereich_SBahn_B=False, Geltungsbereich_SBahn_HH=True, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS='Bü 2', Kurzbezeichnung_DV=None, Langbezeichnung='Rautentafel', Schaltbar=False, Zusatz_Moeglich=False, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, Bue_2_3R) + if subclass is not None: + return subclass(*args_, **kwargs_) + if Bue_2_3R.subclass: + return Bue_2_3R.subclass(*args_, **kwargs_) + else: + return Bue_2_3R(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Bue_2_3R', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('Bue_2_3R') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'Bue_2_3R': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Bue_2_3R') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Bue_2_3R', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='Bue_2_3R'): + if self.Anmerkungen is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'rechteckige schwarze Tafel mit drei auf den Spitzen übereinander stehenden rückstrahlenden weißen Rauten' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if not self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if not self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS != 'Bü 2' and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung != 'Rautentafel' and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Bue_2_3R', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class Bue_2_3R + + +class Bue_2_2R(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen=None, Beleuchtbar=False, Beschreibung='rechteckige schwarze Tafel mit zwei auf den Spitzen übereinander stehenden rückstrahlenden weißen Rauten', Geltungsbereich_DS=True, Geltungsbereich_DV=False, Geltungsbereich_SBahn_B=False, Geltungsbereich_SBahn_HH=True, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS='Bü 2', Kurzbezeichnung_DV=None, Langbezeichnung='Rautentafel', Schaltbar=False, Zusatz_Moeglich=False, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, Bue_2_2R) + if subclass is not None: + return subclass(*args_, **kwargs_) + if Bue_2_2R.subclass: + return Bue_2_2R.subclass(*args_, **kwargs_) + else: + return Bue_2_2R(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Bue_2_2R', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('Bue_2_2R') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'Bue_2_2R': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Bue_2_2R') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Bue_2_2R', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='Bue_2_2R'): + if self.Anmerkungen is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'rechteckige schwarze Tafel mit zwei auf den Spitzen übereinander stehenden rückstrahlenden weißen Rauten' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if not self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if not self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS != 'Bü 2' and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung != 'Rautentafel' and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Bue_2_2R', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class Bue_2_2R + + +class Bue_2_1R(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen=None, Beleuchtbar=False, Beschreibung='rechteckige schwarze Tafel mit einer auf der Spitze stehenden rückstrahlenden weißen Raute', Geltungsbereich_DS=True, Geltungsbereich_DV=False, Geltungsbereich_SBahn_B=False, Geltungsbereich_SBahn_HH=True, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS='Bü 2', Kurzbezeichnung_DV=None, Langbezeichnung='Rautentafel', Schaltbar=False, Zusatz_Moeglich=False, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, Bue_2_1R) + if subclass is not None: + return subclass(*args_, **kwargs_) + if Bue_2_1R.subclass: + return Bue_2_1R.subclass(*args_, **kwargs_) + else: + return Bue_2_1R(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Bue_2_1R', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('Bue_2_1R') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'Bue_2_1R': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Bue_2_1R') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Bue_2_1R', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='Bue_2_1R'): + if self.Anmerkungen is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'rechteckige schwarze Tafel mit einer auf der Spitze stehenden rückstrahlenden weißen Raute' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if not self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if not self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS != 'Bü 2' and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung != 'Rautentafel' and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Bue_2_1R', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class Bue_2_1R + + +class So_15(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen='Optionales Zusatzschild mit Werten "2", "3", "4", "5", "6", "7", "8", "9"', Beleuchtbar=False, Beschreibung='rechteckige, weiße rückstrahlende Tafel mit drei waagerechten, schwarzen Streifen; anstelle des oberen Streifens auch Angabe einer Zahl > 1 möglich, falls Überwachungssignal für mehrere Bahnübergänge gültig', Geltungsbereich_DS=False, Geltungsbereich_DV=True, Geltungsbereich_SBahn_B=True, Geltungsbereich_SBahn_HH=False, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS=None, Kurzbezeichnung_DV='So 15', Langbezeichnung='Warntafel', Schaltbar=False, Zusatz_Moeglich=True, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, So_15) + if subclass is not None: + return subclass(*args_, **kwargs_) + if So_15.subclass: + return So_15.subclass(*args_, **kwargs_) + else: + return So_15(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='So_15', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('So_15') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'So_15': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='So_15') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='So_15', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='So_15'): + if self.Anmerkungen != 'Optionales Zusatzschild mit Werten "2", "3", "4", "5", "6", "7", "8", "9"' and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'rechteckige, weiße rückstrahlende Tafel mit drei waagerechten, schwarzen Streifen; anstelle des oberen Streifens auch Angabe einer Zahl > 1 möglich, falls Überwachungssignal für mehrere Bahnübergänge gültig' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if not self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if not self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV != 'So 15' and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung != 'Warntafel' and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if not self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='So_15', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class So_15 + + +class Bue_3(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen=None, Beleuchtbar=False, Beschreibung='schwarz-weiß waagerecht gestreifte rückstrahlende Tafel', Geltungsbereich_DS=True, Geltungsbereich_DV=False, Geltungsbereich_SBahn_B=False, Geltungsbereich_SBahn_HH=True, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS='Bü 3', Kurzbezeichnung_DV=None, Langbezeichnung='Merktafel', Schaltbar=False, Zusatz_Moeglich=False, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, Bue_3) + if subclass is not None: + return subclass(*args_, **kwargs_) + if Bue_3.subclass: + return Bue_3.subclass(*args_, **kwargs_) + else: + return Bue_3(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Bue_3', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('Bue_3') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'Bue_3': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Bue_3') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Bue_3', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='Bue_3'): + if self.Anmerkungen is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'schwarz-weiß waagerecht gestreifte rückstrahlende Tafel' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if not self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if not self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS != 'Bü 3' and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung != 'Merktafel' and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Bue_3', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class Bue_3 + + +class So_14(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen=None, Beleuchtbar=False, Beschreibung='schwarz-weiß waagerecht gestreifter Pfahl', Geltungsbereich_DS=False, Geltungsbereich_DV=True, Geltungsbereich_SBahn_B=True, Geltungsbereich_SBahn_HH=False, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS=None, Kurzbezeichnung_DV='So 14', Langbezeichnung='Merkpfahl', Schaltbar=False, Zusatz_Moeglich=False, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, So_14) + if subclass is not None: + return subclass(*args_, **kwargs_) + if So_14.subclass: + return So_14.subclass(*args_, **kwargs_) + else: + return So_14(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='So_14', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('So_14') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'So_14': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='So_14') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='So_14', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='So_14'): + if self.Anmerkungen is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'schwarz-weiß waagerecht gestreifter Pfahl' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if not self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if not self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV != 'So 14' and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung != 'Merkpfahl' and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='So_14', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class So_14 + + +class BS_ZBS_Ber(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen='Kennzeichnung der Grenze des ZBS-Ausrüstungsbereichs', Beleuchtbar=False, Beschreibung='weiße rechteckige Tafel mit der Aufschrift “ZBS”', Geltungsbereich_DS=False, Geltungsbereich_DV=False, Geltungsbereich_SBahn_B=True, Geltungsbereich_SBahn_HH=False, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS=None, Kurzbezeichnung_DV=None, Langbezeichnung='ZBS-Bereichskennzeichen', Schaltbar=False, Zusatz_Moeglich=False, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, BS_ZBS_Ber) + if subclass is not None: + return subclass(*args_, **kwargs_) + if BS_ZBS_Ber.subclass: + return BS_ZBS_Ber.subclass(*args_, **kwargs_) + else: + return BS_ZBS_Ber(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='BS_ZBS-Ber', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('BS_ZBS-Ber') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'BS_ZBS-Ber': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='BS_ZBS-Ber') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='BS_ZBS-Ber', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='BS_ZBS-Ber'): + if self.Anmerkungen != 'Kennzeichnung der Grenze des ZBS-Ausrüstungsbereichs' and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'weiße rechteckige Tafel mit der Aufschrift “ZBS”' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if not self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung != 'ZBS-Bereichskennzeichen' and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='BS_ZBS-Ber', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class BS_ZBS_Ber + + +class Oz_GSM_R(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen='Kennzeichnung der Stelle, an der das nationale GSM-R-Funknetz beginnt.', Beleuchtbar=False, Beschreibung='weiße rechteckige Tafel mit schwarzem Rand, Telefonhörersymbol, Aufschrift “GSM-R” und Landeskennzeichen “D”', Geltungsbereich_DS=True, Geltungsbereich_DV=True, Geltungsbereich_SBahn_B=False, Geltungsbereich_SBahn_HH=False, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS=None, Kurzbezeichnung_DV=None, Langbezeichnung='GSM-R-Funknetztafel', Schaltbar=False, Zusatz_Moeglich=False, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, Oz_GSM_R) + if subclass is not None: + return subclass(*args_, **kwargs_) + if Oz_GSM_R.subclass: + return Oz_GSM_R.subclass(*args_, **kwargs_) + else: + return Oz_GSM_R(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Oz_GSM-R', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('Oz_GSM-R') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'Oz_GSM-R': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Oz_GSM-R') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Oz_GSM-R', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='Oz_GSM-R'): + if self.Anmerkungen != 'Kennzeichnung der Stelle, an der das nationale GSM-R-Funknetz beginnt.' and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'weiße rechteckige Tafel mit schwarzem Rand, Telefonhörersymbol, Aufschrift “GSM-R” und Landeskennzeichen “D”' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if not self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if not self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung != 'GSM-R-Funknetztafel' and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Oz_GSM-R', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + pass +# end class Oz_GSM_R + + +class Lf_1_Wdh(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen=None, Beleuchtbar=True, Beschreibung='zweites Signal Lf 1 (Wiederholer)', Geltungsbereich_DS=True, Geltungsbereich_DV=True, Geltungsbereich_SBahn_B=True, Geltungsbereich_SBahn_HH=True, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS=None, Kurzbezeichnung_DV=None, Langbezeichnung=None, Schaltbar=False, Zusatz_Moeglich=False, Symbol=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + self.Symbol = Symbol + self.validate_ENUMSymbol_Lf_1_Wdh(self.Symbol) + self.Symbol_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, Lf_1_Wdh) + if subclass is not None: + return subclass(*args_, **kwargs_) + if Lf_1_Wdh.subclass: + return Lf_1_Wdh.subclass(*args_, **kwargs_) + else: + return Lf_1_Wdh(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Symbol(self): + return self.Symbol + def set_Symbol(self, Symbol): + self.Symbol = Symbol + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def validate_ENUMSymbol_Lf_1_Wdh(self, value): + result = True + # Validate type ENUMSymbol_Lf_1_Wdh, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['0,5', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12', '13', '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 ENUMSymbol_Lf_1_Wdh' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Symbol is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Lf_1_Wdh', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('Lf_1_Wdh') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'Lf_1_Wdh': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='Lf_1_Wdh') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='Lf_1_Wdh', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Ril_301:', name_='Lf_1_Wdh'): + if self.Anmerkungen is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if not self.Beleuchtbar and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung != 'zweites Signal Lf 1 (Wiederholer)' and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if not self.Geltungsbereich_DS and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if not self.Geltungsbereich_DV and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if not self.Geltungsbereich_SBahn_B and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if not self.Geltungsbereich_SBahn_HH and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if self.Schaltbar and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Ril_301:', namespacedef_='xmlns:nsSignalbegriffe_Ril_301="http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0"', name_='Lf_1_Wdh', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Symbol is not None: + namespaceprefix_ = self.Symbol_nsprefix_ + ':' if (UseCapturedNS_ and self.Symbol_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sSymbol>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Symbol), input_name='Symbol')), 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_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Symbol': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Symbol') + value_ = self.gds_validate_string(value_, node, 'Symbol') + self.Symbol = value_ + self.Symbol_nsprefix_ = child_.prefix + # validate type ENUMSymbol_Lf_1_Wdh + self.validate_ENUMSymbol_Lf_1_Wdh(self.Symbol) +# end class Lf_1_Wdh + + +class TCSignalbegriff_ID(GeneratedsSuper): + """TCSignalbegriff_ID -- Signalbegriff gem + ä + ß + Ril 301 (Signalbuch). + F + ü + r jeden Signalbegriff wird eine eigene Instanz des Objektes angelegt. Die Attribute \"Kurzbezeichnung_DS\", \"Kurzbezeichnung_DV\", \"Langbezeichnung\", \"Beschreibung\", \"Geltungsbereich_DS\", \"Geltungsbereich_DV\",\"Geltungsbereich_SBahn_Berlin\", \"Geltungsbereich_SBahn_Hamburg\" sowie \"Gueltig_Ab\", \"Gueltig_Bis\", \"Beleuchtbar\", \"Schaltbar\", \"Zusatz_Moeglich\" und \"Anmerkungen\" sind dabei modellseitig fixierte Eigenschaften. Mittels des Attributs \"Symbol\" k + ö + nnen planungsseitig in einigen F + ä + llen Wertangaben erfolgen. + Sonstige w + ä + hlbare Eigenschaften des Signals sind im Objekt Signal Signalbegriff enthalten. + Die Struktur der Signalbegriffsmodellierung (Anzahl und Auspr + ä + gung der Attribute) und die Inhalte (konkrete Signalbegriffe) sind in zwei getrennten XSD-Dateien enthalten, um sp + ä + ter eine separate Bearbeitung zu erm + ö + glichen: + • + Signalbegriffe_Struktur.xsd, + • + Signalbegriffe_Ril_301.xsd. + Weitere Erl + ä + uterungen hierzu siehe Media:2013-10-08 Einfuehrung Komponenten XSD.pdf. + Das nachfolgende Beispiel zeigt auszugsweise die Abbildung des Signalbegriffs \"Zs 3\" mit Symbol \"6\". Der Bezug zur Signalbegriffsinhalts-XSD wird durch die erweiterte Angabe der Signalbegriff ID hergestellt. + < + Signal_Signalbegriff + > + < + Signalbegriff_ID xsi:type=\"ril301:Zs_3\" + > + < + Symbol + > + 6 + < + /Symbol + > + < + /Signalbegriff_ID + > + < + /Signal_Signalbegriff + > + Ein vollst + ä + ndige XML-Datei mit drei verschiedenen Signalbegriffen finden Sie hier: Media:adorf.xml. + Innerhalb einer ESTW Zentraleinheit gilt immer nur eine Version des Signalbuchs und somit der Signalbegriffsinhalts-XSD. + DB-Regelwerk + • + Ril 301 (Signalbuch) + DB-Regelwerk + • + Ril 301 (Signalbuch) + + * Anmerkungen -- Beschreibung von Besonderheiten des Signalbegriffs gem + ä + ß + Ril 301 (Signalbuch). Das Attribut ist nicht durch den Planer ver + ä + nderbar. + + * Beleuchtbar -- Angabe, ob der Signalbegriff gem + ä + ß + Ril 301 (Signalbuch) prinzipiell beleuchtbar ist. + Ein positiver Eintrag erfolgt auch dann, wenn ein Signalbegriff nur in einer Ausf + ü + hrungsform (Lichtsignal, Formsignal etc.) die entsprechende Eigenschaft besitzt. Ob der Signalbegriff tats + ä + chlich beleuchtet werden soll, ist im Objekt Signal Signalbegriff im Attribut Beleuchtet hinterlegt. + Wertzuordnung: + • + true - Signalbegriff ist beleuchtbar, + • + false - Signalbegriff ist nicht beleuchtbar. + Das Attribut ist nicht durch den Planer ver + ä + nderbar. + Besonderheiten: + Lf 1: Das Nachtzeichen wird im LST-Datenmodell nicht ber + ü + cksichtigt, da es kein Bestandteil der AP PT 1 ist. + Sh 1: Beleuchtete Formsignale Sh 1 werden aufgrund der geringen Auftrittswahrscheinlichkeit im Vergleich zum Lichtsignal nicht ber + ü + cksichtigt. Die Planung muss ggf. + ü + ber einen Bearbeitungsvermerk erfolgen. + Sh 2 (Sh_2): Beleuchtbar == + * Beschreibung -- Erscheinungsbild des Signalbegriffs gem + ä + ß + Ril 301 (Signalbuch). Das Attribut ist nicht durch den Planer ver + ä + nderbar. + * Geltungsbereich_DS -- Angabe, ob der Signalbegriff gem + ä + ß + Ril 301 (Signalbuch) im Geltungsbereich DS g + ü + ltig ist (true) oder nicht (false). Das Attribut ist nicht durch den Planer ver + ä + nderbar. + * Geltungsbereich_DV -- Angabe, ob der Signalbegriff gem + ä + ß + Ril 301 (Signalbuch) im Geltungsbereich DV g + ü + ltig ist (true) oder nicht (false). Das Attribut ist nicht durch den Planer ver + ä + nderbar. + * Geltungsbereich_SBahn_B -- Angabe, ob der Signalbegriff gem + ä + ß + Ril 301 (Signalbuch) im Geltungsbereich der S-Bahn Berlin g + ü + ltig ist (true) oder nicht (false). Das Attribut ist nicht durch den Planer ver + ä + nderbar. + * Geltungsbereich_SBahn_HH -- Angabe, ob der Signalbegriff gem + ä + ß + Ril 301 (Signalbuch) im Geltungsbereich der S-Bahn Hamburg g + ü + ltig ist (true) oder nicht (false). Das Attribut ist nicht durch den Planer ver + ä + nderbar. + * Gueltig_Ab -- Zeitlicher Beginn der G + ü + ltigkeit eines Signalbegriffs gem + ä + ß + Ril 301 (Signalbuch). Das Attribut ist nicht durch den Planer ver + ä + nderbar. + * Gueltig_Bis -- Zeitliches Ende der G + ü + ltigkeit eines Signalbegriffs gem + ä + ß + Ril 301 (Signalbuch). Das Attribut ist nicht durch den Planer ver + ä + nderbar. + * Kurzbezeichnung_DS -- Kurzbezeichnung des Signalbegriffs gem + ä + ß + Ril 301 (Signalbuch) im Geltungsbereich DS. Das Attribut ist nicht durch den Planer ver + ä + nderbar. + * Kurzbezeichnung_DV -- Kurzbezeichnung des Signalbegriffs gem + ä + ß + Ril 301 (Signalbuch) im Geltungsbereich DV. Das Attribut ist nicht durch den Planer ver + ä + nderbar. + * Langbezeichnung -- Langbezeichnung des Signalbegriffs gem + ä + ß + Ril 301 (Signalbuch). Das Attribut ist nicht durch den Planer ver + ä + nderbar. + * Schaltbar -- Angabe, ob der Signalbegriff gem + ä + ß + Ril 301 (Signalbuch) prinzipiell schaltbar ist. + Ein positiver Eintrag erfolgt auch dann, wenn ein Signalbegriff nur in einer Ausf + ü + hrungsform (Lichtsignal, Formsignal etc.) die entsprechende Eigenschaft besitzt. + Nicht schaltbar sind demnach z. B. + • + Mastschilder oder + • + Zs 3-Formsignale (auch wenn sie in bestimmten Kombinationen nicht gelten - hier fehlt die aktive Handlung). + Ob der Signalbegriff tats + ä + chlich geschaltet werden soll, ist im Objekt Signal Signalbegriff im Attribut Geschaltet hinterlegt. + Wertzuordnung: + • + true - Signalbegriff ist schaltbar, + • + false - Signalbegriff ist nicht schaltbar. + Das Attribut ist nicht durch den Planer ver + ä + nderbar. + + * Zusatz_Moeglich -- Angabe, ob f + ü + r den Signalbegriff gem + ä + ß + Ril 301 (Signalbuch) eine Zusatzinformation bzw. ein Zusatzschild m + ö + glich ist (true) oder nicht (false). Das Attribut ist nicht durch den Planer ver + ä + nderbar. + * Symbol -- Bedeutung 1: Anzuzeigendes Symbol des Signalbegriffs. + Das Signalbuch (Ril 301) schr + ä + nkt nicht in allen F + ä + llen den Wertevorrat ausreichend ein, sodass direkt ENUM-Werte abgeleitet werden k + ö + nnen. Eine Angabe als Text ist jedoch ebenfalls nicht zielf + ü + hrend. Die ENUM-Werte wurden daher unter Ber + ü + cksichtigung der Vorgaben der Ril 301 nach ingenieurm + ä + ß + igem Ermessen festgelegt, sodass alle denkbaren Konstellationen abbildbar sind. + Bedeutung 2: Zusatzangabe bzw. Aufschrift eines Zusatzschildes. + Im Fall des Signalbegriffs + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anmerkungen=None, Beleuchtbar=None, Beschreibung=None, Geltungsbereich_DS=None, Geltungsbereich_DV=None, Geltungsbereich_SBahn_B=None, Geltungsbereich_SBahn_HH=None, Gueltig_Ab=None, Gueltig_Bis=None, Kurzbezeichnung_DS=None, Kurzbezeichnung_DV=None, Langbezeichnung=None, Schaltbar=None, Zusatz_Moeglich=None, Symbol=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anmerkungen = _cast(None, Anmerkungen) + self.Anmerkungen_nsprefix_ = None + self.Beleuchtbar = _cast(bool, Beleuchtbar) + self.Beleuchtbar_nsprefix_ = None + self.Beschreibung = _cast(None, Beschreibung) + self.Beschreibung_nsprefix_ = None + self.Geltungsbereich_DS = _cast(bool, Geltungsbereich_DS) + self.Geltungsbereich_DS_nsprefix_ = None + self.Geltungsbereich_DV = _cast(bool, Geltungsbereich_DV) + self.Geltungsbereich_DV_nsprefix_ = None + self.Geltungsbereich_SBahn_B = _cast(bool, Geltungsbereich_SBahn_B) + self.Geltungsbereich_SBahn_B_nsprefix_ = None + self.Geltungsbereich_SBahn_HH = _cast(bool, Geltungsbereich_SBahn_HH) + self.Geltungsbereich_SBahn_HH_nsprefix_ = None + if isinstance(Gueltig_Ab, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Ab, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Ab + self.Gueltig_Ab = initvalue_ + if isinstance(Gueltig_Bis, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Gueltig_Bis, '%Y-%m-%d').date() + else: + initvalue_ = Gueltig_Bis + self.Gueltig_Bis = initvalue_ + self.Kurzbezeichnung_DS = _cast(None, Kurzbezeichnung_DS) + self.Kurzbezeichnung_DS_nsprefix_ = None + self.Kurzbezeichnung_DV = _cast(None, Kurzbezeichnung_DV) + self.Kurzbezeichnung_DV_nsprefix_ = None + self.Langbezeichnung = _cast(None, Langbezeichnung) + self.Langbezeichnung_nsprefix_ = None + self.Schaltbar = _cast(bool, Schaltbar) + self.Schaltbar_nsprefix_ = None + self.Zusatz_Moeglich = _cast(bool, Zusatz_Moeglich) + self.Zusatz_Moeglich_nsprefix_ = None + self.Symbol = Symbol + self.Symbol_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCSignalbegriff_ID) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCSignalbegriff_ID.subclass: + return TCSignalbegriff_ID.subclass(*args_, **kwargs_) + else: + return TCSignalbegriff_ID(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Symbol(self): + return self.Symbol + def set_Symbol(self, Symbol): + self.Symbol = Symbol + def get_Anmerkungen(self): + return self.Anmerkungen + def set_Anmerkungen(self, Anmerkungen): + self.Anmerkungen = Anmerkungen + def get_Beleuchtbar(self): + return self.Beleuchtbar + def set_Beleuchtbar(self, Beleuchtbar): + self.Beleuchtbar = Beleuchtbar + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_Geltungsbereich_DS(self): + return self.Geltungsbereich_DS + def set_Geltungsbereich_DS(self, Geltungsbereich_DS): + self.Geltungsbereich_DS = Geltungsbereich_DS + def get_Geltungsbereich_DV(self): + return self.Geltungsbereich_DV + def set_Geltungsbereich_DV(self, Geltungsbereich_DV): + self.Geltungsbereich_DV = Geltungsbereich_DV + def get_Geltungsbereich_SBahn_B(self): + return self.Geltungsbereich_SBahn_B + def set_Geltungsbereich_SBahn_B(self, Geltungsbereich_SBahn_B): + self.Geltungsbereich_SBahn_B = Geltungsbereich_SBahn_B + def get_Geltungsbereich_SBahn_HH(self): + return self.Geltungsbereich_SBahn_HH + def set_Geltungsbereich_SBahn_HH(self, Geltungsbereich_SBahn_HH): + self.Geltungsbereich_SBahn_HH = Geltungsbereich_SBahn_HH + def get_Gueltig_Ab(self): + return self.Gueltig_Ab + def set_Gueltig_Ab(self, Gueltig_Ab): + self.Gueltig_Ab = Gueltig_Ab + def get_Gueltig_Bis(self): + return self.Gueltig_Bis + def set_Gueltig_Bis(self, Gueltig_Bis): + self.Gueltig_Bis = Gueltig_Bis + def get_Kurzbezeichnung_DS(self): + return self.Kurzbezeichnung_DS + def set_Kurzbezeichnung_DS(self, Kurzbezeichnung_DS): + self.Kurzbezeichnung_DS = Kurzbezeichnung_DS + def get_Kurzbezeichnung_DV(self): + return self.Kurzbezeichnung_DV + def set_Kurzbezeichnung_DV(self, Kurzbezeichnung_DV): + self.Kurzbezeichnung_DV = Kurzbezeichnung_DV + def get_Langbezeichnung(self): + return self.Langbezeichnung + def set_Langbezeichnung(self, Langbezeichnung): + self.Langbezeichnung = Langbezeichnung + def get_Schaltbar(self): + return self.Schaltbar + def set_Schaltbar(self, Schaltbar): + self.Schaltbar = Schaltbar + def get_Zusatz_Moeglich(self): + return self.Zusatz_Moeglich + def set_Zusatz_Moeglich(self, Zusatz_Moeglich): + self.Zusatz_Moeglich = Zusatz_Moeglich + def has__content(self): + if ( + self.Symbol is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Struktur:', namespacedef_='xmlns:nsPlanPro="http://www.plan-pro.org/modell/PlanPro/1.10.0" xmlns:nsSignalbegriffe_Struktur="http://www.plan-pro.org/modell/Signalbegriffe_Struktur/1.6.0.1"', name_='TCSignalbegriff_ID', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCSignalbegriff_ID') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCSignalbegriff_ID': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCSignalbegriff_ID') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCSignalbegriff_ID', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignalbegriffe_Struktur:', name_='TCSignalbegriff_ID'): + if self.Anmerkungen is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + outfile.write(' Anmerkungen=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Anmerkungen), input_name='Anmerkungen')), )) + if self.Beleuchtbar is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + outfile.write(' Beleuchtbar="%s"' % self.gds_format_boolean(self.Beleuchtbar, input_name='Beleuchtbar')) + if self.Beschreibung is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + outfile.write(' Beschreibung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Beschreibung), input_name='Beschreibung')), )) + if self.Geltungsbereich_DS is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + outfile.write(' Geltungsbereich_DS="%s"' % self.gds_format_boolean(self.Geltungsbereich_DS, input_name='Geltungsbereich_DS')) + if self.Geltungsbereich_DV is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + outfile.write(' Geltungsbereich_DV="%s"' % self.gds_format_boolean(self.Geltungsbereich_DV, input_name='Geltungsbereich_DV')) + if self.Geltungsbereich_SBahn_B is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + outfile.write(' Geltungsbereich_SBahn_B="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_B, input_name='Geltungsbereich_SBahn_B')) + if self.Geltungsbereich_SBahn_HH is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + outfile.write(' Geltungsbereich_SBahn_HH="%s"' % self.gds_format_boolean(self.Geltungsbereich_SBahn_HH, input_name='Geltungsbereich_SBahn_HH')) + if self.Gueltig_Ab is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + outfile.write(' Gueltig_Ab="%s"' % self.gds_format_date(self.Gueltig_Ab, input_name='Gueltig_Ab')) + if self.Gueltig_Bis is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + outfile.write(' Gueltig_Bis="%s"' % self.gds_format_date(self.Gueltig_Bis, input_name='Gueltig_Bis')) + if self.Kurzbezeichnung_DS is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + outfile.write(' Kurzbezeichnung_DS=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DS), input_name='Kurzbezeichnung_DS')), )) + if self.Kurzbezeichnung_DV is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + outfile.write(' Kurzbezeichnung_DV=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Kurzbezeichnung_DV), input_name='Kurzbezeichnung_DV')), )) + if self.Langbezeichnung is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + outfile.write(' Langbezeichnung=%s' % (self.gds_encode(self.gds_format_string(quote_attrib(self.Langbezeichnung), input_name='Langbezeichnung')), )) + if self.Schaltbar is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + outfile.write(' Schaltbar="%s"' % self.gds_format_boolean(self.Schaltbar, input_name='Schaltbar')) + if self.Zusatz_Moeglich is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + outfile.write(' Zusatz_Moeglich="%s"' % self.gds_format_boolean(self.Zusatz_Moeglich, input_name='Zusatz_Moeglich')) + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignalbegriffe_Struktur:', namespacedef_='xmlns:nsPlanPro="http://www.plan-pro.org/modell/PlanPro/1.10.0" xmlns:nsSignalbegriffe_Struktur="http://www.plan-pro.org/modell/Signalbegriffe_Struktur/1.6.0.1"', name_='TCSignalbegriff_ID', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Symbol is not None: + namespaceprefix_ = self.Symbol_nsprefix_ + ':' if (UseCapturedNS_ and self.Symbol_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sSymbol>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Symbol), input_name='Symbol')), 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_('Anmerkungen', node) + if value is not None and 'Anmerkungen' not in already_processed: + already_processed.add('Anmerkungen') + self.Anmerkungen = value + value = find_attr_value_('Beleuchtbar', node) + if value is not None and 'Beleuchtbar' not in already_processed: + already_processed.add('Beleuchtbar') + if value in ('true', '1'): + self.Beleuchtbar = True + elif value in ('false', '0'): + self.Beleuchtbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Beschreibung', node) + if value is not None and 'Beschreibung' not in already_processed: + already_processed.add('Beschreibung') + self.Beschreibung = value + value = find_attr_value_('Geltungsbereich_DS', node) + if value is not None and 'Geltungsbereich_DS' not in already_processed: + already_processed.add('Geltungsbereich_DS') + if value in ('true', '1'): + self.Geltungsbereich_DS = True + elif value in ('false', '0'): + self.Geltungsbereich_DS = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_DV', node) + if value is not None and 'Geltungsbereich_DV' not in already_processed: + already_processed.add('Geltungsbereich_DV') + if value in ('true', '1'): + self.Geltungsbereich_DV = True + elif value in ('false', '0'): + self.Geltungsbereich_DV = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_B', node) + if value is not None and 'Geltungsbereich_SBahn_B' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_B') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_B = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_B = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Geltungsbereich_SBahn_HH', node) + if value is not None and 'Geltungsbereich_SBahn_HH' not in already_processed: + already_processed.add('Geltungsbereich_SBahn_HH') + if value in ('true', '1'): + self.Geltungsbereich_SBahn_HH = True + elif value in ('false', '0'): + self.Geltungsbereich_SBahn_HH = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Gueltig_Ab', node) + if value is not None and 'Gueltig_Ab' not in already_processed: + already_processed.add('Gueltig_Ab') + try: + self.Gueltig_Ab = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Ab): %s' % exp) + value = find_attr_value_('Gueltig_Bis', node) + if value is not None and 'Gueltig_Bis' not in already_processed: + already_processed.add('Gueltig_Bis') + try: + self.Gueltig_Bis = self.gds_parse_date(value) + except ValueError as exp: + raise ValueError('Bad date attribute (Gueltig_Bis): %s' % exp) + value = find_attr_value_('Kurzbezeichnung_DS', node) + if value is not None and 'Kurzbezeichnung_DS' not in already_processed: + already_processed.add('Kurzbezeichnung_DS') + self.Kurzbezeichnung_DS = value + value = find_attr_value_('Kurzbezeichnung_DV', node) + if value is not None and 'Kurzbezeichnung_DV' not in already_processed: + already_processed.add('Kurzbezeichnung_DV') + self.Kurzbezeichnung_DV = value + value = find_attr_value_('Langbezeichnung', node) + if value is not None and 'Langbezeichnung' not in already_processed: + already_processed.add('Langbezeichnung') + self.Langbezeichnung = value + value = find_attr_value_('Schaltbar', node) + if value is not None and 'Schaltbar' not in already_processed: + already_processed.add('Schaltbar') + if value in ('true', '1'): + self.Schaltbar = True + elif value in ('false', '0'): + self.Schaltbar = False + else: + raise_parse_error(node, 'Bad boolean attribute') + value = find_attr_value_('Zusatz_Moeglich', node) + if value is not None and 'Zusatz_Moeglich' not in already_processed: + already_processed.add('Zusatz_Moeglich') + if value in ('true', '1'): + self.Zusatz_Moeglich = True + elif value in ('false', '0'): + self.Zusatz_Moeglich = False + else: + raise_parse_error(node, 'Bad boolean attribute') + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Symbol': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Symbol') + value_ = self.gds_validate_string(value_, node, 'Symbol') + self.Symbol = value_ + self.Symbol_nsprefix_ = child_.prefix +# end class TCSignalbegriff_ID + + +class CSignal_Signalbegriff(CBasis_Objekt): + """CSignal_Signalbegriff -- Stellt eine Information optisch dar, die das Signal dem Triebfahrzeugf + ü + hrer + ü + bermitteln soll. Signalbegriffe werden im Signalbuch (Ril 301) durch eine Kurzbezeichnung (z. B. \"Zs 1\") und / oder durch eine Langbezeichnung (z. B. \"Ersatzsignal\") beschrieben. Diese und weitere feste Eigenschaften wie der Wertevorrat der anzeigbaren Symbole eines Signalbegriffs sind im Objekt Signalbegriff definiert, das mittels des Attributes Signalbegriff ID eingebunden wird. Anschaltdauer, Beleuchtung und Schaltbarkeit sind nicht fest, sondern w + ä + hlbar an den Signalbegriff nach Signalbuch gekoppelt und so Eigenschaft des Objekts Signal_Signalbegriff. Ein Signal_Signalbegriff befindet sich immer in einem Signal Rahmen. Ausf + ü + hrliche Beschreibung s. Modellierung Signal DB-Regelwerk Ril 301, Planungsdaten: Sicherungstechnischer Lageplan, statische Eigenschaften: Signaltabelle 1, dynamische Eigenschaften: Signaltabelle 2. + ID_Signal_Rahmen -- Verweis auf den den Signalbegriff beinhaltenden Signal Rahmen. + Signalbegriff_ID -- Identifikator des einzubindenden Signalbegriffs. Der Wert f + ü + r dieses Attribut ist aus einer vorgegebenen Liste (Objektnamen aus TCSignalbegriff) ausw + ä + hlbar. Die Verkn + ü + pfung unterscheidet sich von den sonst im Modell + ü + blichen GUID-Verweisen, daher wurde bei der Bildung des Attributnamens auch von der Form \"ID_...\" abgewichen. DB-Regelwerk Signaltabelle 1, ist aus den Eintr + ä + gen in Zeilen 14-27 zu erkennen. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasis_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, ID_Signal_Rahmen=None, Signal_Signalbegriff_Allg=None, Signalbegriff_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 + super(globals().get("CSignal_Signalbegriff"), self).__init__(Identitaet, Basis_Objekt_Allg, ID_Bearbeitungsvermerk, ID_Oertlichkeit_Ausgabe, Objektreferenzen, **kwargs_) + self.ID_Signal_Rahmen = ID_Signal_Rahmen + self.ID_Signal_Rahmen_nsprefix_ = None + self.Signal_Signalbegriff_Allg = Signal_Signalbegriff_Allg + self.Signal_Signalbegriff_Allg_nsprefix_ = None + self.Signalbegriff_ID = Signalbegriff_ID + self.Signalbegriff_ID_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CSignal_Signalbegriff) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CSignal_Signalbegriff.subclass: + return CSignal_Signalbegriff.subclass(*args_, **kwargs_) + else: + return CSignal_Signalbegriff(*args_, **kwargs_) + factory = staticmethod(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_Signal_Rahmen(self): + return self.ID_Signal_Rahmen + def set_ID_Signal_Rahmen(self, ID_Signal_Rahmen): + self.ID_Signal_Rahmen = ID_Signal_Rahmen + def get_Signal_Signalbegriff_Allg(self): + return self.Signal_Signalbegriff_Allg + def set_Signal_Signalbegriff_Allg(self, Signal_Signalbegriff_Allg): + self.Signal_Signalbegriff_Allg = Signal_Signalbegriff_Allg + def get_Signalbegriff_ID(self): + return self.Signalbegriff_ID + def set_Signalbegriff_ID(self, Signalbegriff_ID): + self.Signalbegriff_ID = Signalbegriff_ID + def has__content(self): + if ( + self.ID_Signal_Rahmen is not None or + self.Signal_Signalbegriff_Allg is not None or + self.Signalbegriff_ID is not None or + super(CSignal_Signalbegriff, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignale:', namespacedef_='xmlns:nsSignale="http://www.plan-pro.org/modell/Signale/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsSignalbegriffe_Struktur="http://www.plan-pro.org/modell/Signalbegriffe_Struktur/1.6.0.1" ', name_='CSignal_Signalbegriff', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CSignal_Signalbegriff') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CSignal_Signalbegriff': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CSignal_Signalbegriff') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CSignal_Signalbegriff', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignale:', name_='CSignal_Signalbegriff'): + super(CSignal_Signalbegriff, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CSignal_Signalbegriff') + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignale:', namespacedef_='xmlns:nsSignale="http://www.plan-pro.org/modell/Signale/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsSignalbegriffe_Struktur="http://www.plan-pro.org/modell/Signalbegriffe_Struktur/1.6.0.1" ', name_='CSignal_Signalbegriff', fromsubclass_=False, pretty_print=True): + super(CSignal_Signalbegriff, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.ID_Signal_Rahmen is not None: + namespaceprefix_ = self.ID_Signal_Rahmen_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Signal_Rahmen_nsprefix_) else '' + self.ID_Signal_Rahmen.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Signal_Rahmen', pretty_print=pretty_print) + if self.Signal_Signalbegriff_Allg is not None: + namespaceprefix_ = self.Signal_Signalbegriff_Allg_nsprefix_ + ':' if (UseCapturedNS_ and self.Signal_Signalbegriff_Allg_nsprefix_) else '' + self.Signal_Signalbegriff_Allg.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Signal_Signalbegriff_Allg', pretty_print=pretty_print) + if self.Signalbegriff_ID is not None: + self.Signalbegriff_ID.export(outfile, level, namespaceprefix_, name_='Signalbegriff_ID', namespacedef_='', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CSignal_Signalbegriff, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Signal_Rahmen': + obj_ = TCID_Signal_Rahmen.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Signal_Rahmen = obj_ + obj_.original_tagname_ = 'ID_Signal_Rahmen' + elif nodeName_ == 'Signal_Signalbegriff_Allg': + obj_ = CSignal_Signalbegriff_Allg.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Signal_Signalbegriff_Allg = obj_ + obj_.original_tagname_ = 'Signal_Signalbegriff_Allg' + elif nodeName_ == 'Signalbegriff_ID': + type_name_ = child_.attrib.get( + '{http://www.w3.org/2001/XMLSchema-instance}type') + if type_name_ is None: + type_name_ = child_.attrib.get('type') + if type_name_ is not None: + type_names_ = type_name_.split(':') + if len(type_names_) == 1: + type_name_ = type_names_[0] + else: + type_name_ = type_names_[1] + class_ = globals()["" + type_name_] + obj_ = class_.factory() + obj_.build(child_, gds_collector_=gds_collector_) + else: + raise NotImplementedError( + 'Class not implemented for element') + self.Signalbegriff_ID = obj_ + obj_.original_tagname_ = 'Signalbegriff_ID' + super(CSignal_Signalbegriff, self)._buildChildren(child_, node, nodeName_, True) +# end class CSignal_Signalbegriff + + +class TCObere_Lichtpunkthoehe(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCObere_Lichtpunkthoehe"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TObere_Lichtpunkthoehe(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCObere_Lichtpunkthoehe) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCObere_Lichtpunkthoehe.subclass: + return TCObere_Lichtpunkthoehe.subclass(*args_, **kwargs_) + else: + return TCObere_Lichtpunkthoehe(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TObere_Lichtpunkthoehe(self, value): + result = True + # Validate type TObere_Lichtpunkthoehe, a restriction on nsBasisTypen:TMeter. + 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 not self.gds_validate_simple_patterns( + self.validate_TObere_Lichtpunkthoehe_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TObere_Lichtpunkthoehe_patterns_, )) + result = False + return result + validate_TObere_Lichtpunkthoehe_patterns_ = [['^(0\\.(22[5-9]|2[3-9][0-9]|[3-9][0-9]{2})|([1-9]|1[0-4])\\.[0-9]{3}|15.000)$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCObere_Lichtpunkthoehe, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignale:', namespacedef_='xmlns:nsSignale="http://www.plan-pro.org/modell/Signale/1.10.0"', name_='TCObere_Lichtpunkthoehe', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCObere_Lichtpunkthoehe') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCObere_Lichtpunkthoehe': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCObere_Lichtpunkthoehe') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCObere_Lichtpunkthoehe', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignale:', name_='TCObere_Lichtpunkthoehe'): + super(TCObere_Lichtpunkthoehe, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCObere_Lichtpunkthoehe') + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignale:', namespacedef_='xmlns:nsSignale="http://www.plan-pro.org/modell/Signale/1.10.0"', name_='TCObere_Lichtpunkthoehe', fromsubclass_=False, pretty_print=True): + super(TCObere_Lichtpunkthoehe, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_decimal(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCObere_Lichtpunkthoehe, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + fval_ = self.gds_parse_decimal(sval_, node, 'Wert') + fval_ = self.gds_validate_decimal(fval_, node, 'Wert') + self.Wert = fval_ + self.Wert_nsprefix_ = child_.prefix + # validate type TObere_Lichtpunkthoehe + self.validate_TObere_Lichtpunkthoehe(self.Wert) + super(TCObere_Lichtpunkthoehe, self)._buildChildren(child_, node, nodeName_, True) +# end class TCObere_Lichtpunkthoehe + + +class CSignal_Fstr_Aus_Inselgleis(GeneratedsSuper): + """ID_RaFahrt_Gleichzeitig_Verbot -- Verweis auf die Gleis_Bezeichnung des Inselgleises, von dem aus eine gleichzeitige Rangierfahrt aus dem Inselgleis untersagt ist. Das Attribut ist f + ü + r beide Signale erforderlich, die das Inselgleis begrenzen. Bei Inselgleisen mit mehreren Signalen (z. B. bei Kurz-Lang-Einfahrten) sind alle relevanten Gleisbezeichnungen anzugeben. DB-Regelwerk Im bisherigen PT1 ohne eindeutige Darstellung. + ID_ZgFahrt_Gleichzeitig_Verbot -- Verweis auf die Gleis_Bezeichnung des Inselgleises, von dem aus eine gleichzeitige Zugfahrt aus dem Inselgleis untersagt ist. Das Attribut ist f + ü + r beide Signale erforderlich, die das Inselgleis begrenzen. Bei Inselgleisen mit mehreren Signalen (z. B. bei Kurz-Lang-Einfahrten) sind alle relevanten Gleisbezeichnungen anzugeben. DB-Regelwerk Im bisherigen PT1 ohne eindeutige Darstellung. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, ID_RaFahrt_Gleichzeitig_Verbot=None, ID_ZgFahrt_Gleichzeitig_Verbot=None, gds_collector_=None, **kwargs_): + self.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 ID_RaFahrt_Gleichzeitig_Verbot is None: + self.ID_RaFahrt_Gleichzeitig_Verbot = [] + else: + self.ID_RaFahrt_Gleichzeitig_Verbot = ID_RaFahrt_Gleichzeitig_Verbot + self.ID_RaFahrt_Gleichzeitig_Verbot_nsprefix_ = None + if ID_ZgFahrt_Gleichzeitig_Verbot is None: + self.ID_ZgFahrt_Gleichzeitig_Verbot = [] + else: + self.ID_ZgFahrt_Gleichzeitig_Verbot = ID_ZgFahrt_Gleichzeitig_Verbot + self.ID_ZgFahrt_Gleichzeitig_Verbot_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CSignal_Fstr_Aus_Inselgleis) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CSignal_Fstr_Aus_Inselgleis.subclass: + return CSignal_Fstr_Aus_Inselgleis.subclass(*args_, **kwargs_) + else: + return CSignal_Fstr_Aus_Inselgleis(*args_, **kwargs_) + factory = staticmethod(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_RaFahrt_Gleichzeitig_Verbot(self): + return self.ID_RaFahrt_Gleichzeitig_Verbot + def set_ID_RaFahrt_Gleichzeitig_Verbot(self, ID_RaFahrt_Gleichzeitig_Verbot): + self.ID_RaFahrt_Gleichzeitig_Verbot = ID_RaFahrt_Gleichzeitig_Verbot + def add_ID_RaFahrt_Gleichzeitig_Verbot(self, value): + self.ID_RaFahrt_Gleichzeitig_Verbot.append(value) + def insert_ID_RaFahrt_Gleichzeitig_Verbot_at(self, index, value): + self.ID_RaFahrt_Gleichzeitig_Verbot.insert(index, value) + def replace_ID_RaFahrt_Gleichzeitig_Verbot_at(self, index, value): + self.ID_RaFahrt_Gleichzeitig_Verbot[index] = value + def get_ID_ZgFahrt_Gleichzeitig_Verbot(self): + return self.ID_ZgFahrt_Gleichzeitig_Verbot + def set_ID_ZgFahrt_Gleichzeitig_Verbot(self, ID_ZgFahrt_Gleichzeitig_Verbot): + self.ID_ZgFahrt_Gleichzeitig_Verbot = ID_ZgFahrt_Gleichzeitig_Verbot + def add_ID_ZgFahrt_Gleichzeitig_Verbot(self, value): + self.ID_ZgFahrt_Gleichzeitig_Verbot.append(value) + def insert_ID_ZgFahrt_Gleichzeitig_Verbot_at(self, index, value): + self.ID_ZgFahrt_Gleichzeitig_Verbot.insert(index, value) + def replace_ID_ZgFahrt_Gleichzeitig_Verbot_at(self, index, value): + self.ID_ZgFahrt_Gleichzeitig_Verbot[index] = value + def has__content(self): + if ( + self.ID_RaFahrt_Gleichzeitig_Verbot or + self.ID_ZgFahrt_Gleichzeitig_Verbot + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignale:', namespacedef_='xmlns:nsSignale="http://www.plan-pro.org/modell/Signale/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CSignal_Fstr_Aus_Inselgleis', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CSignal_Fstr_Aus_Inselgleis') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CSignal_Fstr_Aus_Inselgleis': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CSignal_Fstr_Aus_Inselgleis') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CSignal_Fstr_Aus_Inselgleis', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignale:', name_='CSignal_Fstr_Aus_Inselgleis'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignale:', namespacedef_='xmlns:nsSignale="http://www.plan-pro.org/modell/Signale/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CSignal_Fstr_Aus_Inselgleis', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_RaFahrt_Gleichzeitig_Verbot_ in self.ID_RaFahrt_Gleichzeitig_Verbot: + namespaceprefix_ = self.ID_RaFahrt_Gleichzeitig_Verbot_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_RaFahrt_Gleichzeitig_Verbot_nsprefix_) else '' + ID_RaFahrt_Gleichzeitig_Verbot_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_RaFahrt_Gleichzeitig_Verbot', pretty_print=pretty_print) + for ID_ZgFahrt_Gleichzeitig_Verbot_ in self.ID_ZgFahrt_Gleichzeitig_Verbot: + namespaceprefix_ = self.ID_ZgFahrt_Gleichzeitig_Verbot_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_ZgFahrt_Gleichzeitig_Verbot_nsprefix_) else '' + ID_ZgFahrt_Gleichzeitig_Verbot_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_ZgFahrt_Gleichzeitig_Verbot', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_RaFahrt_Gleichzeitig_Verbot': + obj_ = TCID_Signal_Gleisbezechnung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_RaFahrt_Gleichzeitig_Verbot.append(obj_) + obj_.original_tagname_ = 'ID_RaFahrt_Gleichzeitig_Verbot' + elif nodeName_ == 'ID_ZgFahrt_Gleichzeitig_Verbot': + obj_ = TCID_Signal_Gleisbezechnung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_ZgFahrt_Gleichzeitig_Verbot.append(obj_) + obj_.original_tagname_ = 'ID_ZgFahrt_Gleichzeitig_Verbot' +# end class CSignal_Fstr_Aus_Inselgleis + + +class TCDunkelschaltung(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCDunkelschaltung"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCDunkelschaltung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCDunkelschaltung.subclass: + return TCDunkelschaltung.subclass(*args_, **kwargs_) + else: + return TCDunkelschaltung(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def has__content(self): + if ( + self.Wert is not None or + super(TCDunkelschaltung, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignale:', namespacedef_='xmlns:nsSignale="http://www.plan-pro.org/modell/Signale/1.10.0"', name_='TCDunkelschaltung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCDunkelschaltung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCDunkelschaltung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCDunkelschaltung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCDunkelschaltung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignale:', name_='TCDunkelschaltung'): + super(TCDunkelschaltung, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCDunkelschaltung') + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignale:', namespacedef_='xmlns:nsSignale="http://www.plan-pro.org/modell/Signale/1.10.0"', name_='TCDunkelschaltung', fromsubclass_=False, pretty_print=True): + super(TCDunkelschaltung, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_boolean(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCDunkelschaltung, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + sval_ = child_.text + ival_ = self.gds_parse_boolean(sval_, node, 'Wert') + ival_ = self.gds_validate_boolean(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + super(TCDunkelschaltung, self)._buildChildren(child_, node, nodeName_, True) +# end class TCDunkelschaltung + + +class TCGeschaltet(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCGeschaltet"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCGeschaltet) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCGeschaltet.subclass: + return TCGeschaltet.subclass(*args_, **kwargs_) + else: + return TCGeschaltet(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def has__content(self): + if ( + self.Wert is not None or + super(TCGeschaltet, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignale:', namespacedef_='xmlns:nsSignale="http://www.plan-pro.org/modell/Signale/1.10.0"', name_='TCGeschaltet', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCGeschaltet') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCGeschaltet': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCGeschaltet') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCGeschaltet', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignale:', name_='TCGeschaltet'): + super(TCGeschaltet, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCGeschaltet') + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignale:', namespacedef_='xmlns:nsSignale="http://www.plan-pro.org/modell/Signale/1.10.0"', name_='TCGeschaltet', fromsubclass_=False, pretty_print=True): + super(TCGeschaltet, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_boolean(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCGeschaltet, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + sval_ = child_.text + ival_ = self.gds_parse_boolean(sval_, node, 'Wert') + ival_ = self.gds_validate_boolean(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + super(TCGeschaltet, self)._buildChildren(child_, node, nodeName_, True) +# end class TCGeschaltet + + +class TCHoehe_Fundamentoberkante(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCHoehe_Fundamentoberkante"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_THoehe_Fundamentoberkante(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCHoehe_Fundamentoberkante) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCHoehe_Fundamentoberkante.subclass: + return TCHoehe_Fundamentoberkante.subclass(*args_, **kwargs_) + else: + return TCHoehe_Fundamentoberkante(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_THoehe_Fundamentoberkante(self, value): + result = True + # Validate type THoehe_Fundamentoberkante, a restriction on nsBasisTypen:TMeter. + 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 not self.gds_validate_simple_patterns( + self.validate_THoehe_Fundamentoberkante_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_THoehe_Fundamentoberkante_patterns_, )) + result = False + return result + validate_THoehe_Fundamentoberkante_patterns_ = [['^((-?((1\\.(250|2[0-4][0-9]|[01][0-9]{2}))|(0\\.([1-9][0-9]{2}|0[0-9][1-9]|0[1-9]0))))|0\\.000)$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCHoehe_Fundamentoberkante, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignale:', namespacedef_='xmlns:nsSignale="http://www.plan-pro.org/modell/Signale/1.10.0"', name_='TCHoehe_Fundamentoberkante', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCHoehe_Fundamentoberkante') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCHoehe_Fundamentoberkante': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCHoehe_Fundamentoberkante') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCHoehe_Fundamentoberkante', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignale:', name_='TCHoehe_Fundamentoberkante'): + super(TCHoehe_Fundamentoberkante, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCHoehe_Fundamentoberkante') + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignale:', namespacedef_='xmlns:nsSignale="http://www.plan-pro.org/modell/Signale/1.10.0"', name_='TCHoehe_Fundamentoberkante', fromsubclass_=False, pretty_print=True): + super(TCHoehe_Fundamentoberkante, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_decimal(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCHoehe_Fundamentoberkante, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + fval_ = self.gds_parse_decimal(sval_, node, 'Wert') + fval_ = self.gds_validate_decimal(fval_, node, 'Wert') + self.Wert = fval_ + self.Wert_nsprefix_ = child_.prefix + # validate type THoehe_Fundamentoberkante + self.validate_THoehe_Fundamentoberkante(self.Wert) + super(TCHoehe_Fundamentoberkante, self)._buildChildren(child_, node, nodeName_, True) +# end class TCHoehe_Fundamentoberkante + + +class TCStreuscheibe_Art(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCStreuscheibe_Art"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMStreuscheibe_Art(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCStreuscheibe_Art) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCStreuscheibe_Art.subclass: + return TCStreuscheibe_Art.subclass(*args_, **kwargs_) + else: + return TCStreuscheibe_Art(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMStreuscheibe_Art(self, value): + result = True + # Validate type ENUMStreuscheibe_Art, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['HG', 'HN', 'HRL', 'LED', 'ORL', 'sonstige', 'VRL'] + 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 ENUMStreuscheibe_Art' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCStreuscheibe_Art, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignale:', namespacedef_='xmlns:nsSignale="http://www.plan-pro.org/modell/Signale/1.10.0"', name_='TCStreuscheibe_Art', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCStreuscheibe_Art') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCStreuscheibe_Art': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCStreuscheibe_Art') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCStreuscheibe_Art', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignale:', name_='TCStreuscheibe_Art'): + super(TCStreuscheibe_Art, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCStreuscheibe_Art') + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignale:', namespacedef_='xmlns:nsSignale="http://www.plan-pro.org/modell/Signale/1.10.0"', name_='TCStreuscheibe_Art', fromsubclass_=False, pretty_print=True): + super(TCStreuscheibe_Art, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCStreuscheibe_Art, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMStreuscheibe_Art + self.validate_ENUMStreuscheibe_Art(self.Wert) + super(TCStreuscheibe_Art, self)._buildChildren(child_, node, nodeName_, True) +# end class TCStreuscheibe_Art + + +class TCSignalsicht_Soll(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCSignalsicht_Soll"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TSignalsicht_Soll(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCSignalsicht_Soll) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCSignalsicht_Soll.subclass: + return TCSignalsicht_Soll.subclass(*args_, **kwargs_) + else: + return TCSignalsicht_Soll(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TSignalsicht_Soll(self, value): + result = True + # Validate type TSignalsicht_Soll, a restriction on nsBasisTypen:TMeter. + 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 not self.gds_validate_simple_patterns( + self.validate_TSignalsicht_Soll_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TSignalsicht_Soll_patterns_, )) + result = False + return result + validate_TSignalsicht_Soll_patterns_ = [['^([1-9][0-9]{0,1}|[1-4][0-9]{2}|500)$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCSignalsicht_Soll, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignale:', namespacedef_='xmlns:nsSignale="http://www.plan-pro.org/modell/Signale/1.10.0"', name_='TCSignalsicht_Soll', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCSignalsicht_Soll') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCSignalsicht_Soll': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCSignalsicht_Soll') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCSignalsicht_Soll', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignale:', name_='TCSignalsicht_Soll'): + super(TCSignalsicht_Soll, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCSignalsicht_Soll') + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignale:', namespacedef_='xmlns:nsSignale="http://www.plan-pro.org/modell/Signale/1.10.0"', name_='TCSignalsicht_Soll', fromsubclass_=False, pretty_print=True): + super(TCSignalsicht_Soll, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_decimal(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCSignalsicht_Soll, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + fval_ = self.gds_parse_decimal(sval_, node, 'Wert') + fval_ = self.gds_validate_decimal(fval_, node, 'Wert') + self.Wert = fval_ + self.Wert_nsprefix_ = child_.prefix + # validate type TSignalsicht_Soll + self.validate_TSignalsicht_Soll(self.Wert) + super(TCSignalsicht_Soll, self)._buildChildren(child_, node, nodeName_, True) +# end class TCSignalsicht_Soll + + +class TCTunnelsignal(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCTunnelsignal"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMTunnelsignal(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCTunnelsignal) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCTunnelsignal.subclass: + return TCTunnelsignal.subclass(*args_, **kwargs_) + else: + return TCTunnelsignal(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMTunnelsignal(self, value): + result = True + # Validate type ENUMTunnelsignal, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['mit_Dauernachtschaltung', 'nein', 'ohne_Dauernachtschaltung'] + 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 ENUMTunnelsignal' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCTunnelsignal, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignale:', namespacedef_='xmlns:nsSignale="http://www.plan-pro.org/modell/Signale/1.10.0"', name_='TCTunnelsignal', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCTunnelsignal') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCTunnelsignal': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCTunnelsignal') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCTunnelsignal', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignale:', name_='TCTunnelsignal'): + super(TCTunnelsignal, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCTunnelsignal') + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignale:', namespacedef_='xmlns:nsSignale="http://www.plan-pro.org/modell/Signale/1.10.0"', name_='TCTunnelsignal', fromsubclass_=False, pretty_print=True): + super(TCTunnelsignal, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCTunnelsignal, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMTunnelsignal + self.validate_ENUMTunnelsignal(self.Wert) + super(TCTunnelsignal, self)._buildChildren(child_, node, nodeName_, True) +# end class TCTunnelsignal + + +class CSignal_Befestigung_Allg(GeneratedsSuper): + """Befestigung_Art -- Beschreibung der Signalbefestigung, um auch ohne Regelzeichnung die grunds + ä + tzliche Art erkennen zu k + ö + nnen. + Der Wert \"Signal_Anordnung_Mast\" bildet eine Regel-Signalanordnung am Mast ab. Mit dem Wert \"Signalanordnung_Sonstige\" wird eine Regel-Anordnung am Pfosten (Lf) beschrieben. Sofern eine Sonderkonstruktion notwendig ist, werden die Werte \"Mast\" und \"Pfosten\" verwendet. Bei Auswahl von \"sonstige\" ist ein Bearbeitungsvermerk mit entsprechenden Erl + ä + uterungen anzuf + ü + gen. DB-Regelwerk Im bisherigen PT1 keine eindeutige Darstellung, in der Regel aus den Eintr + ä + gen in der Signaltabelle 1 zu erkennen. + Fundament_Art -- Bei Fundament: Angabe der Fundamentart, da bei herstellerneutraler Planung noch keine Regelzeichnungsnummer bzw. kein Bild gew + ä + hlt werden kann. + Hoehe_Fundamentoberkante -- Tats + ä + chliche H + ö + he der Fundamentoberkante in Bezug zur Schienenoberkante (SO). Die H + ö + he der Fundamentoberkante ist die Differenz der absoluten H + ö + hen von der Schienenoberkante der nicht + ü + berh + ö + hten Schiene an dem Punkt, der von der Senkrechten auf die Gleisachse durch den Fundamentmittelpunkt bestimmt wird und der Fundamentoberkante (ohne Signalaufbau). Bei positiven Werten befindet sich die Fundamentoberkante unterhalb der Schienenoberkante (Standardanordnung). + Ü + bliche Werte sind 100 mm und 700 mm. Das Attribut ist f + ü + r Fundamente immer anzugeben, f + ü + r andere Befestigungstypen ist es gegenstandslos. Die hier angegebene H + ö + he kann von der der Regelzeichnung abweichen, in diesem Fall gilt die Regelzeichnung nur f + ü + r die anderen konstruktiven Merkmale. Die Angabe erfolgt im Modell in Meter mit drei Nachkommastellen. DB-Regelwerk Im bisherigen PT1 keine eindeutige Darstellung, in der Regel aus den Eintr + ä + gen in der Signaltabelle1, Zeilen 4-6 zu erkennen. + Obere_Lichtpunkthoehe -- Bezugsh + ö + he des ma + ß + gebenden Lichtpunktes + ü + ber Schienenoberkante (SO). DB-Regelwerk Planungsdaten: Signaltabelle 1, Zeile 3; wird jedoch im Modell in Meter (mit drei Nachkommastellen) angegeben. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Befestigung_Art=None, Fundament_Art=None, Hoehe_Fundamentoberkante=None, Obere_Lichtpunkthoehe=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Befestigung_Art = Befestigung_Art + self.Befestigung_Art_nsprefix_ = None + self.Fundament_Art = Fundament_Art + self.Fundament_Art_nsprefix_ = None + self.Hoehe_Fundamentoberkante = Hoehe_Fundamentoberkante + self.Hoehe_Fundamentoberkante_nsprefix_ = None + self.Obere_Lichtpunkthoehe = Obere_Lichtpunkthoehe + self.Obere_Lichtpunkthoehe_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CSignal_Befestigung_Allg) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CSignal_Befestigung_Allg.subclass: + return CSignal_Befestigung_Allg.subclass(*args_, **kwargs_) + else: + return CSignal_Befestigung_Allg(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Befestigung_Art(self): + return self.Befestigung_Art + def set_Befestigung_Art(self, Befestigung_Art): + self.Befestigung_Art = Befestigung_Art + def get_Fundament_Art(self): + return self.Fundament_Art + def set_Fundament_Art(self, Fundament_Art): + self.Fundament_Art = Fundament_Art + def get_Hoehe_Fundamentoberkante(self): + return self.Hoehe_Fundamentoberkante + def set_Hoehe_Fundamentoberkante(self, Hoehe_Fundamentoberkante): + self.Hoehe_Fundamentoberkante = Hoehe_Fundamentoberkante + def get_Obere_Lichtpunkthoehe(self): + return self.Obere_Lichtpunkthoehe + def set_Obere_Lichtpunkthoehe(self, Obere_Lichtpunkthoehe): + self.Obere_Lichtpunkthoehe = Obere_Lichtpunkthoehe + def has__content(self): + if ( + self.Befestigung_Art is not None or + self.Fundament_Art is not None or + self.Hoehe_Fundamentoberkante is not None or + self.Obere_Lichtpunkthoehe is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignale:', namespacedef_='xmlns:nsSignale="http://www.plan-pro.org/modell/Signale/1.10.0"', name_='CSignal_Befestigung_Allg', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CSignal_Befestigung_Allg') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CSignal_Befestigung_Allg': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CSignal_Befestigung_Allg') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CSignal_Befestigung_Allg', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignale:', name_='CSignal_Befestigung_Allg'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignale:', namespacedef_='xmlns:nsSignale="http://www.plan-pro.org/modell/Signale/1.10.0"', name_='CSignal_Befestigung_Allg', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Befestigung_Art is not None: + namespaceprefix_ = self.Befestigung_Art_nsprefix_ + ':' if (UseCapturedNS_ and self.Befestigung_Art_nsprefix_) else '' + self.Befestigung_Art.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Befestigung_Art', pretty_print=pretty_print) + if self.Fundament_Art is not None: + namespaceprefix_ = self.Fundament_Art_nsprefix_ + ':' if (UseCapturedNS_ and self.Fundament_Art_nsprefix_) else '' + self.Fundament_Art.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Fundament_Art', pretty_print=pretty_print) + if self.Hoehe_Fundamentoberkante is not None: + namespaceprefix_ = self.Hoehe_Fundamentoberkante_nsprefix_ + ':' if (UseCapturedNS_ and self.Hoehe_Fundamentoberkante_nsprefix_) else '' + self.Hoehe_Fundamentoberkante.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Hoehe_Fundamentoberkante', pretty_print=pretty_print) + if self.Obere_Lichtpunkthoehe is not None: + namespaceprefix_ = self.Obere_Lichtpunkthoehe_nsprefix_ + ':' if (UseCapturedNS_ and self.Obere_Lichtpunkthoehe_nsprefix_) else '' + self.Obere_Lichtpunkthoehe.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Obere_Lichtpunkthoehe', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Befestigung_Art': + obj_ = TCBefestigung_Art.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Befestigung_Art = obj_ + obj_.original_tagname_ = 'Befestigung_Art' + elif nodeName_ == 'Fundament_Art': + obj_ = TCFundament_Art.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Fundament_Art = obj_ + obj_.original_tagname_ = 'Fundament_Art' + elif nodeName_ == 'Hoehe_Fundamentoberkante': + obj_ = TCHoehe_Fundamentoberkante.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Hoehe_Fundamentoberkante = obj_ + obj_.original_tagname_ = 'Hoehe_Fundamentoberkante' + elif nodeName_ == 'Obere_Lichtpunkthoehe': + obj_ = TCObere_Lichtpunkthoehe.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Obere_Lichtpunkthoehe = obj_ + obj_.original_tagname_ = 'Obere_Lichtpunkthoehe' +# end class CSignal_Befestigung_Allg + + +class TCGegengleis(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCGegengleis"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCGegengleis) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCGegengleis.subclass: + return TCGegengleis.subclass(*args_, **kwargs_) + else: + return TCGegengleis(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def has__content(self): + if ( + self.Wert is not None or + super(TCGegengleis, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignale:', namespacedef_='xmlns:nsSignale="http://www.plan-pro.org/modell/Signale/1.10.0"', name_='TCGegengleis', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCGegengleis') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCGegengleis': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCGegengleis') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCGegengleis', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignale:', name_='TCGegengleis'): + super(TCGegengleis, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCGegengleis') + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignale:', namespacedef_='xmlns:nsSignale="http://www.plan-pro.org/modell/Signale/1.10.0"', name_='TCGegengleis', fromsubclass_=False, pretty_print=True): + super(TCGegengleis, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_boolean(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCGegengleis, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + sval_ = child_.text + ival_ = self.gds_parse_boolean(sval_, node, 'Wert') + ival_ = self.gds_validate_boolean(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + super(TCGegengleis, self)._buildChildren(child_, node, nodeName_, True) +# end class TCGegengleis + + +class CSignal_Real(GeneratedsSuper): + """Dunkelschaltung -- Zusatzangabe, ob ein Schirm-Signal dunkel geschaltet werden kann. Die Dunkelschaltung ist z. B. bei Strecken mit LZB-gef + ü + hrten Zugfahrten und bei Schnittstellen zu SIL 2 - ESTW relevant. Die Angabe ist bei Haupt- und Vorsignalen erforderlich, nicht jedoch f + ü + r Sperrsignale. Wertzuordnung: true - Signal muss dunkel geschaltet werden k + ö + nnen, false - Signal muss nicht dunkel geschaltet werden k + ö + nnen. DB-Regelwerk Planungsdaten: Signaltabelle 1, Zeile 40 + Geltungsbereich -- Geltungsbereich, dem das Signal zugeordnet wird (DS/DV). Die Angabe wird zun + ä + chst nur zur Unterscheidung Sh 1/Ra 12 vorgesehen. + Signal_Befestigungsart -- Grunds + ä + tzliche Art der Befestigung eines Signals. Einzelne Elemente des Signals (z. B. ein zum Hauptsignal geh + ö + rendes, nicht am Hauptsignalmast angebrachtes Zusatzsignal) k + ö + nnen von der grunds + ä + tzlichen Befestigungsart abweichen, die exakte Konstruktion des Gesamtsignals ist im Modell in den Instanzen des Objekts Signal Befestigung dargestellt. DB-Regelwerk Signaltabelle 1, Zeile 12 + Signal_Funktion -- Angabe der betrieblichen Funktion eines Aktiven Signals f + ü + r Zugfahrten. Aktive Signale sind Signale, an denen mindestens ein Signalbegriff schaltbar ist. Hauptsignale und Mehrabschnittssignale werden dabei detailliert in Einfahr-, Ausfahr-, Zwischen-, Nachr + ü + ck-, Block-, Deckungs-, Zugdeckungs- oder Gruppensignale bzw. Kombinationen aus diesen betrieblichen Funktionen unterteilt. Von den anderen aktiven Signalen wird nur noch das Zugzielsignal (z.B. hohes Sperrsignal als Zielsignal bei Zugfahrten) mit einem eigenen Attribut hervorgehoben, alle weiteren Aktiven Signale werden unter \"andere\" zusammengefasst. DB-Regelwerk 301, 819.20, Planungsdaten: im bisherigen PT 1 nur bei Signalen im Geltungsbereich der Ril 819.20, Tabelle f + ü + r Signalabst + ä + nde und Schutzstrecken, sonst ohne eindeutige Darstellung. + Signalsicht_Erreichbar -- Tats + ä + chlich erreichbare Signalsicht innerhalb der Sollsignalsicht. Die Signalsicht beschreibt die Entfernung, ab der ein Aktives Signal eindeutig erkennbar sein soll (Sollsignalsicht) bzw. muss (Mindestsignalsicht), so dass vom Triebfahrzeugf + ü + hrer grunds + ä + tzliche Handlungsweisen daraus ableitbar sind. Die erreichbare Signalsicht darf unter bestimmten Voraussetzungen kleiner als die Sollsignalsicht, jedoch nur mit besonderen Ma + ß + nahmen kleiner als die Mindestsignalsicht sein. Die Signalsicht ist an das gesamte Signal gekoppelt, das bedeutet jedoch nicht, dass jeder Signalbegriff von Beginn der Signalsicht an vollst + ä + ndig gelesen werden muss - die Festlegungen daf + ü + r finden sich in den zugeh + ö + rigen detaillierten Regelzeichnungen oder anderen Zulassungsdokumenten. DB-Regelwerk 819.02, 819.03, Planungsdaten: im bisherigen PT1 ohne eindeutige Darstellung, erg + ä + nzt die Eintr + ä + ge in Zeile 7 der Signaltabelle 1 um den Wert der am konkreten Ort erreichbaren Signalsicht + Signalsicht_Mindest -- Mindestsignalsicht gem + ä + ß + ö + rtlich zugelassener Geschwindigkeit vor dem Signal nach 6,75 s-Regel. Die Signalsicht beschreibt die Entfernung, ab der ein Aktives Signal eindeutig erkennbar sein soll (Sollsignalsicht) bzw. muss (Mindestsignalsicht), so dass vom Triebfahrzeugf + ü + hrer grunds + ä + tzliche Handlungsweisen daraus ableitbar sind. Die erreichbare Signalsicht darf nur mit zus + ä + tzlichen Ma + ß + nahmen kleiner als die Mindestsignalsicht sein. Die Signalsicht ist an das gesamte Signal gekoppelt, das bedeutet jedoch nicht, dass jeder Signalbegriff von Beginn der Signalsicht an vollst + ä + ndig gelesen werden muss - die Festlegungen daf + ü + r finden sich in den zugeh + ö + rigen detaillierten Regelzeichnungen oder anderen Zulassungsdokumenten. DB-Regelwerk 819.02, 819.03, Planungsdaten: entspricht dem zweiten (eingeklammerten) Eintrag in Zeile 7 der Signaltabelle 1. + Signalsicht_Soll -- Sollsignalsicht gem + ä + ß + ö + rtlich zugelassener Geschwindigkeit vor dem Signal. Die Signalsicht beschreibt die Entfernung, ab der ein Aktives Signal eindeutig erkennbar sein soll (Sollsignalsicht) bzw. muss (Mindestsignalsicht), so dass vom Triebfahrzeugf + ü + hrer grunds + ä + tzliche Handlungsweisen daraus ableitbar sind. Die erreichbare Signalsicht darf unter bestimmten Voraussetzungen kleiner als die Sollsignalsicht sein. Die Signalsicht ist an das gesamte Signal gekoppelt, das bedeutet jedoch nicht, dass jeder Signalbegriff von Beginn der Signalsicht an vollst + ä + ndig gelesen werden muss - die Festlegungen daf + ü + r finden sich in den zugeh + ö + rigen detaillierten Regelzeichnungen oder anderen Zulassungsdokumenten. DB-Regelwerk 819.02, 819.03, Planungsdaten: entspricht dem ersten Eintrag in Zeile 7 der Signaltabelle 1. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Dunkelschaltung=None, Funktion_Ohne_Signal=None, Geltungsbereich=None, Signal_Befestigungsart=None, Signal_Funktion=None, Signal_Real_Aktiv=None, Signal_Real_Aktiv_Schirm=None, Signalsicht_Erreichbar=None, Signalsicht_Mindest=None, Signalsicht_Soll=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Dunkelschaltung = Dunkelschaltung + self.Dunkelschaltung_nsprefix_ = None + self.Funktion_Ohne_Signal = Funktion_Ohne_Signal + self.Funktion_Ohne_Signal_nsprefix_ = None + self.Geltungsbereich = Geltungsbereich + self.Geltungsbereich_nsprefix_ = None + self.Signal_Befestigungsart = Signal_Befestigungsart + self.Signal_Befestigungsart_nsprefix_ = None + self.Signal_Funktion = Signal_Funktion + self.Signal_Funktion_nsprefix_ = None + self.Signal_Real_Aktiv = Signal_Real_Aktiv + self.Signal_Real_Aktiv_nsprefix_ = None + self.Signal_Real_Aktiv_Schirm = Signal_Real_Aktiv_Schirm + self.Signal_Real_Aktiv_Schirm_nsprefix_ = None + self.Signalsicht_Erreichbar = Signalsicht_Erreichbar + self.Signalsicht_Erreichbar_nsprefix_ = None + self.Signalsicht_Mindest = Signalsicht_Mindest + self.Signalsicht_Mindest_nsprefix_ = None + self.Signalsicht_Soll = Signalsicht_Soll + self.Signalsicht_Soll_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CSignal_Real) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CSignal_Real.subclass: + return CSignal_Real.subclass(*args_, **kwargs_) + else: + return CSignal_Real(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Dunkelschaltung(self): + return self.Dunkelschaltung + def set_Dunkelschaltung(self, Dunkelschaltung): + self.Dunkelschaltung = Dunkelschaltung + def get_Funktion_Ohne_Signal(self): + return self.Funktion_Ohne_Signal + def set_Funktion_Ohne_Signal(self, Funktion_Ohne_Signal): + self.Funktion_Ohne_Signal = Funktion_Ohne_Signal + def get_Geltungsbereich(self): + return self.Geltungsbereich + def set_Geltungsbereich(self, Geltungsbereich): + self.Geltungsbereich = Geltungsbereich + def get_Signal_Befestigungsart(self): + return self.Signal_Befestigungsart + def set_Signal_Befestigungsart(self, Signal_Befestigungsart): + self.Signal_Befestigungsart = Signal_Befestigungsart + def get_Signal_Funktion(self): + return self.Signal_Funktion + def set_Signal_Funktion(self, Signal_Funktion): + self.Signal_Funktion = Signal_Funktion + def get_Signal_Real_Aktiv(self): + return self.Signal_Real_Aktiv + def set_Signal_Real_Aktiv(self, Signal_Real_Aktiv): + self.Signal_Real_Aktiv = Signal_Real_Aktiv + def get_Signal_Real_Aktiv_Schirm(self): + return self.Signal_Real_Aktiv_Schirm + def set_Signal_Real_Aktiv_Schirm(self, Signal_Real_Aktiv_Schirm): + self.Signal_Real_Aktiv_Schirm = Signal_Real_Aktiv_Schirm + def get_Signalsicht_Erreichbar(self): + return self.Signalsicht_Erreichbar + def set_Signalsicht_Erreichbar(self, Signalsicht_Erreichbar): + self.Signalsicht_Erreichbar = Signalsicht_Erreichbar + def get_Signalsicht_Mindest(self): + return self.Signalsicht_Mindest + def set_Signalsicht_Mindest(self, Signalsicht_Mindest): + self.Signalsicht_Mindest = Signalsicht_Mindest + def get_Signalsicht_Soll(self): + return self.Signalsicht_Soll + def set_Signalsicht_Soll(self, Signalsicht_Soll): + self.Signalsicht_Soll = Signalsicht_Soll + def has__content(self): + if ( + self.Dunkelschaltung is not None or + self.Funktion_Ohne_Signal is not None or + self.Geltungsbereich is not None or + self.Signal_Befestigungsart is not None or + self.Signal_Funktion is not None or + self.Signal_Real_Aktiv is not None or + self.Signal_Real_Aktiv_Schirm is not None or + self.Signalsicht_Erreichbar is not None or + self.Signalsicht_Mindest is not None or + self.Signalsicht_Soll is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignale:', namespacedef_='xmlns:nsSignale="http://www.plan-pro.org/modell/Signale/1.10.0"', name_='CSignal_Real', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CSignal_Real') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CSignal_Real': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CSignal_Real') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CSignal_Real', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignale:', name_='CSignal_Real'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignale:', namespacedef_='xmlns:nsSignale="http://www.plan-pro.org/modell/Signale/1.10.0"', name_='CSignal_Real', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Dunkelschaltung is not None: + namespaceprefix_ = self.Dunkelschaltung_nsprefix_ + ':' if (UseCapturedNS_ and self.Dunkelschaltung_nsprefix_) else '' + self.Dunkelschaltung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Dunkelschaltung', pretty_print=pretty_print) + if self.Funktion_Ohne_Signal is not None: + namespaceprefix_ = self.Funktion_Ohne_Signal_nsprefix_ + ':' if (UseCapturedNS_ and self.Funktion_Ohne_Signal_nsprefix_) else '' + self.Funktion_Ohne_Signal.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Funktion_Ohne_Signal', pretty_print=pretty_print) + if self.Geltungsbereich is not None: + namespaceprefix_ = self.Geltungsbereich_nsprefix_ + ':' if (UseCapturedNS_ and self.Geltungsbereich_nsprefix_) else '' + self.Geltungsbereich.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Geltungsbereich', pretty_print=pretty_print) + if self.Signal_Befestigungsart is not None: + namespaceprefix_ = self.Signal_Befestigungsart_nsprefix_ + ':' if (UseCapturedNS_ and self.Signal_Befestigungsart_nsprefix_) else '' + self.Signal_Befestigungsart.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Signal_Befestigungsart', pretty_print=pretty_print) + if self.Signal_Funktion is not None: + namespaceprefix_ = self.Signal_Funktion_nsprefix_ + ':' if (UseCapturedNS_ and self.Signal_Funktion_nsprefix_) else '' + self.Signal_Funktion.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Signal_Funktion', pretty_print=pretty_print) + if self.Signal_Real_Aktiv is not None: + namespaceprefix_ = self.Signal_Real_Aktiv_nsprefix_ + ':' if (UseCapturedNS_ and self.Signal_Real_Aktiv_nsprefix_) else '' + self.Signal_Real_Aktiv.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Signal_Real_Aktiv', pretty_print=pretty_print) + if self.Signal_Real_Aktiv_Schirm is not None: + namespaceprefix_ = self.Signal_Real_Aktiv_Schirm_nsprefix_ + ':' if (UseCapturedNS_ and self.Signal_Real_Aktiv_Schirm_nsprefix_) else '' + self.Signal_Real_Aktiv_Schirm.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Signal_Real_Aktiv_Schirm', pretty_print=pretty_print) + if self.Signalsicht_Erreichbar is not None: + namespaceprefix_ = self.Signalsicht_Erreichbar_nsprefix_ + ':' if (UseCapturedNS_ and self.Signalsicht_Erreichbar_nsprefix_) else '' + self.Signalsicht_Erreichbar.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Signalsicht_Erreichbar', pretty_print=pretty_print) + if self.Signalsicht_Mindest is not None: + namespaceprefix_ = self.Signalsicht_Mindest_nsprefix_ + ':' if (UseCapturedNS_ and self.Signalsicht_Mindest_nsprefix_) else '' + self.Signalsicht_Mindest.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Signalsicht_Mindest', pretty_print=pretty_print) + if self.Signalsicht_Soll is not None: + namespaceprefix_ = self.Signalsicht_Soll_nsprefix_ + ':' if (UseCapturedNS_ and self.Signalsicht_Soll_nsprefix_) else '' + self.Signalsicht_Soll.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Signalsicht_Soll', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Dunkelschaltung': + obj_ = TCDunkelschaltung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Dunkelschaltung = obj_ + obj_.original_tagname_ = 'Dunkelschaltung' + elif nodeName_ == 'Funktion_Ohne_Signal': + obj_ = TCFunktion_Ohne_Signal.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Funktion_Ohne_Signal = obj_ + obj_.original_tagname_ = 'Funktion_Ohne_Signal' + elif nodeName_ == 'Geltungsbereich': + obj_ = TCGeltungsbereich.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Geltungsbereich = obj_ + obj_.original_tagname_ = 'Geltungsbereich' + elif nodeName_ == 'Signal_Befestigungsart': + obj_ = TCSignal_Befestigungsart.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Signal_Befestigungsart = obj_ + obj_.original_tagname_ = 'Signal_Befestigungsart' + elif nodeName_ == 'Signal_Funktion': + obj_ = TCSignal_Funktion.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Signal_Funktion = obj_ + obj_.original_tagname_ = 'Signal_Funktion' + elif nodeName_ == 'Signal_Real_Aktiv': + obj_ = CSignal_Real_Aktiv.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Signal_Real_Aktiv = obj_ + obj_.original_tagname_ = 'Signal_Real_Aktiv' + elif nodeName_ == 'Signal_Real_Aktiv_Schirm': + obj_ = CSignal_Real_Aktiv_Schirm.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Signal_Real_Aktiv_Schirm = obj_ + obj_.original_tagname_ = 'Signal_Real_Aktiv_Schirm' + elif nodeName_ == 'Signalsicht_Erreichbar': + obj_ = TCSignalsicht_Erreichbar.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Signalsicht_Erreichbar = obj_ + obj_.original_tagname_ = 'Signalsicht_Erreichbar' + elif nodeName_ == 'Signalsicht_Mindest': + obj_ = TCSignalsicht_Mindest.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Signalsicht_Mindest = obj_ + obj_.original_tagname_ = 'Signalsicht_Mindest' + elif nodeName_ == 'Signalsicht_Soll': + obj_ = TCSignalsicht_Soll.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Signalsicht_Soll = obj_ + obj_.original_tagname_ = 'Signalsicht_Soll' +# end class CSignal_Real + + +class TCDurchfahrt(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCDurchfahrt"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMDurchfahrt(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCDurchfahrt) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCDurchfahrt.subclass: + return TCDurchfahrt.subclass(*args_, **kwargs_) + else: + return TCDurchfahrt(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMDurchfahrt(self, value): + result = True + # Validate type ENUMDurchfahrt, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['erlaubt', 'nur_mit_Sh1', 'verboten'] + 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 ENUMDurchfahrt' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCDurchfahrt, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignale:', namespacedef_='xmlns:nsSignale="http://www.plan-pro.org/modell/Signale/1.10.0"', name_='TCDurchfahrt', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCDurchfahrt') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCDurchfahrt': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCDurchfahrt') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCDurchfahrt', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignale:', name_='TCDurchfahrt'): + super(TCDurchfahrt, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCDurchfahrt') + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignale:', namespacedef_='xmlns:nsSignale="http://www.plan-pro.org/modell/Signale/1.10.0"', name_='TCDurchfahrt', fromsubclass_=False, pretty_print=True): + super(TCDurchfahrt, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCDurchfahrt, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMDurchfahrt + self.validate_ENUMDurchfahrt(self.Wert) + super(TCDurchfahrt, self)._buildChildren(child_, node, nodeName_, True) +# end class TCDurchfahrt + + +class TCSignalsystem(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCSignalsystem"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMSignalsystem(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCSignalsystem) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCSignalsystem.subclass: + return TCSignalsystem.subclass(*args_, **kwargs_) + else: + return TCSignalsystem(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMSignalsystem(self, value): + result = True + # Validate type ENUMSignalsystem, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['Hl', 'HV', 'Ks', 'sonstige', 'SV'] + 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 ENUMSignalsystem' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCSignalsystem, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignale:', namespacedef_='xmlns:nsSignale="http://www.plan-pro.org/modell/Signale/1.10.0"', name_='TCSignalsystem', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCSignalsystem') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCSignalsystem': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCSignalsystem') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCSignalsystem', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignale:', name_='TCSignalsystem'): + super(TCSignalsystem, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCSignalsystem') + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignale:', namespacedef_='xmlns:nsSignale="http://www.plan-pro.org/modell/Signale/1.10.0"', name_='TCSignalsystem', fromsubclass_=False, pretty_print=True): + super(TCSignalsystem, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCSignalsystem, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMSignalsystem + self.validate_ENUMSignalsystem(self.Wert) + super(TCSignalsystem, self)._buildChildren(child_, node, nodeName_, True) +# end class TCSignalsystem + + +class TCZs2_Ueberwacht(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCZs2_Ueberwacht"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCZs2_Ueberwacht) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCZs2_Ueberwacht.subclass: + return TCZs2_Ueberwacht.subclass(*args_, **kwargs_) + else: + return TCZs2_Ueberwacht(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def has__content(self): + if ( + self.Wert is not None or + super(TCZs2_Ueberwacht, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignale:', namespacedef_='xmlns:nsSignale="http://www.plan-pro.org/modell/Signale/1.10.0"', name_='TCZs2_Ueberwacht', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCZs2_Ueberwacht') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCZs2_Ueberwacht': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCZs2_Ueberwacht') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCZs2_Ueberwacht', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignale:', name_='TCZs2_Ueberwacht'): + super(TCZs2_Ueberwacht, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCZs2_Ueberwacht') + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignale:', namespacedef_='xmlns:nsSignale="http://www.plan-pro.org/modell/Signale/1.10.0"', name_='TCZs2_Ueberwacht', fromsubclass_=False, pretty_print=True): + super(TCZs2_Ueberwacht, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_boolean(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCZs2_Ueberwacht, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + sval_ = child_.text + ival_ = self.gds_parse_boolean(sval_, node, 'Wert') + ival_ = self.gds_validate_boolean(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + super(TCZs2_Ueberwacht, self)._buildChildren(child_, node, nodeName_, True) +# end class TCZs2_Ueberwacht + + +class TCSignal_Befestigungsart(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCSignal_Befestigungsart"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMSignal_Befestigungsart(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCSignal_Befestigungsart) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCSignal_Befestigungsart.subclass: + return TCSignal_Befestigungsart.subclass(*args_, **kwargs_) + else: + return TCSignal_Befestigungsart(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMSignal_Befestigungsart(self, value): + result = True + # Validate type ENUMSignal_Befestigungsart, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['andere', 'Fundament', 'Mast', 'Signalausleger', 'Signalbruecke', 'Sonderkonstruktion'] + 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 ENUMSignal_Befestigungsart' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCSignal_Befestigungsart, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignale:', namespacedef_='xmlns:nsSignale="http://www.plan-pro.org/modell/Signale/1.10.0"', name_='TCSignal_Befestigungsart', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCSignal_Befestigungsart') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCSignal_Befestigungsart': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCSignal_Befestigungsart') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCSignal_Befestigungsart', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignale:', name_='TCSignal_Befestigungsart'): + super(TCSignal_Befestigungsart, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCSignal_Befestigungsart') + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignale:', namespacedef_='xmlns:nsSignale="http://www.plan-pro.org/modell/Signale/1.10.0"', name_='TCSignal_Befestigungsart', fromsubclass_=False, pretty_print=True): + super(TCSignal_Befestigungsart, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCSignal_Befestigungsart, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMSignal_Befestigungsart + self.validate_ENUMSignal_Befestigungsart(self.Wert) + super(TCSignal_Befestigungsart, self)._buildChildren(child_, node, nodeName_, True) +# end class TCSignal_Befestigungsart + + +class TCFiktives_Signal_Funktion(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCFiktives_Signal_Funktion"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMFiktives_Signal_Funktion(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCFiktives_Signal_Funktion) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCFiktives_Signal_Funktion.subclass: + return TCFiktives_Signal_Funktion.subclass(*args_, **kwargs_) + else: + return TCFiktives_Signal_Funktion(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMFiktives_Signal_Funktion(self, value): + result = True + # Validate type ENUMFiktives_Signal_Funktion, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['FAP_Start', 'FAP_Ziel', 'Rangier_Start_Ziel_ohne_Signal', 'sonstige', 'Zug_Start_Awanst', 'Zug_Start_Mittelweiche', 'Zug_Start_ohne_Signal', 'Zug_Ziel_Awanst', 'Zug_Ziel_ohne_Signal', 'Zug_Ziel_Strecke'] + 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 ENUMFiktives_Signal_Funktion' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCFiktives_Signal_Funktion, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignale:', namespacedef_='xmlns:nsSignale="http://www.plan-pro.org/modell/Signale/1.10.0"', name_='TCFiktives_Signal_Funktion', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCFiktives_Signal_Funktion') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCFiktives_Signal_Funktion': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCFiktives_Signal_Funktion') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCFiktives_Signal_Funktion', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignale:', name_='TCFiktives_Signal_Funktion'): + super(TCFiktives_Signal_Funktion, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCFiktives_Signal_Funktion') + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignale:', namespacedef_='xmlns:nsSignale="http://www.plan-pro.org/modell/Signale/1.10.0"', name_='TCFiktives_Signal_Funktion', fromsubclass_=False, pretty_print=True): + super(TCFiktives_Signal_Funktion, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCFiktives_Signal_Funktion, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMFiktives_Signal_Funktion + self.validate_ENUMFiktives_Signal_Funktion(self.Wert) + super(TCFiktives_Signal_Funktion, self)._buildChildren(child_, node, nodeName_, True) +# end class TCFiktives_Signal_Funktion + + +class TCAnschaltdauer(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCAnschaltdauer"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMAnschaltdauer(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCAnschaltdauer) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCAnschaltdauer.subclass: + return TCAnschaltdauer.subclass(*args_, **kwargs_) + else: + return TCAnschaltdauer(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMAnschaltdauer(self, value): + result = True + # Validate type ENUMAnschaltdauer, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['G', 'T', 'Z'] + 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 ENUMAnschaltdauer' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCAnschaltdauer, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignale:', namespacedef_='xmlns:nsSignale="http://www.plan-pro.org/modell/Signale/1.10.0"', name_='TCAnschaltdauer', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCAnschaltdauer') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCAnschaltdauer': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCAnschaltdauer') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCAnschaltdauer', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignale:', name_='TCAnschaltdauer'): + super(TCAnschaltdauer, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCAnschaltdauer') + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignale:', namespacedef_='xmlns:nsSignale="http://www.plan-pro.org/modell/Signale/1.10.0"', name_='TCAnschaltdauer', fromsubclass_=False, pretty_print=True): + super(TCAnschaltdauer, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCAnschaltdauer, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMAnschaltdauer + self.validate_ENUMAnschaltdauer(self.Wert) + super(TCAnschaltdauer, self)._buildChildren(child_, node, nodeName_, True) +# end class TCAnschaltdauer + + +class CSignal_Real_Aktiv_Schirm(GeneratedsSuper): + """Richtpunkt -- Punkt, auf den das Signal in besonderen F + ä + llen ausgerichtet werden soll. Im Allgemeinen werden Signale auf einen Punkt ausgerichtet, der sich in der Richtpunktentfernung vor dem Signal in dem Gleis befindet, dem das Signal zugeordnet ist. In diesem Fall wird das Attribut nicht bef + ü + llt. In besonderen F + ä + llen (z.B. Gleisverzeigungen oder extreme Kurvenlagen im Ann + ä + herungsbereich zum Signal) kann es jedoch erforderlich sein, explizit einen Richtpunkt au + ß + erhalb dieses Gleises festzulegen. + Richtpunktentfernung -- Entfernung des Ausrichtpunktes eines Schirm-Signals. Beschreibt den Schnittpunkt der Sichtachse der Signaloptiken mit dem Gleis, dem das Signal zugeordnet ist, die Angabe erfolgt in Meter. In der Regel werden daf + ü + r 500 m f + ü + r Haupt- und Mehrabschnittssignale und 300 m f + ü + r Vorsignale und Vorsignalwiederholer verwendet. Entsprechend der Funktion des Signals und den + ö + rtlichen Bedingungen k + ö + nnen jedoch auch andere Werte verwendet werden. DB-Regelwerk Planungsdaten: Signaltabelle 1, Zeile 8 + Signal_Art -- Ausbildung des Signalschirms eines Schirm-Signals im Sicherungstechnischen Lageplan und in der Au + ß + enanlage. Dieses Attribut erm + ö + glicht bei allen Schirmsignalen (s. Modellierung Signal), die grunds + ä + tzliche Art des Signals zu erkennen, ohne die zugeh + ö + rige Regelzeichnung zu lesen. Eine Ausnahme bildet der ENUM-Wert \"andere\", hier muss die Art des Signals aus der Regelzeichnung entnommen werden. Dieser Wert wird bei allen realen Signalen verwendet, die keine Schirmsignale sind. Unter Mehrabschnittssignal wird dabei jegliche Kombination eines Hauptsignal- mit einem Vorsignalbegriff verstanden, unabh + ä + ngig von der konkreten technischen Ausf + ü + hrung. So werden auch Signale des H/V-Signalsystems, die am Mast des Hauptsignals ein Vorsignal tragen, als Mehrabschnittssignale bezeichnet. Die Einf + ü + gung der Silbe -sperr- bei Haupt- und Mehrabschnittssignalen bedeutet, dass an diesen Signalen zus + ä + tzlich ein Rangierfahrtsignal angebracht ist. Dabei ist es irrelevant, ob dies in einem eigenen Bauteil am Signal erfolgt oder ob die Optiken im Signalschirm des Haupt- oder Mehrabschnittssignalen untergebracht sind. DB-Regelwerk Planungsdaten: Sicherungstechnischer Lageplan + Signalsystem -- Zugeh + ö + rigkeit eines Schirm-Signals zu einem der Signalsysteme. Dieses Attribut wird nur bei Haupt-, Vor- und Mehrabschnittssignalen sowie B + Ü + -Signalen belegt. DB-Regelwerk 301.0101-04, 301.0201, Planungsdaten: Sicherungstechnischer Lageplan, mittelbar aus den Angaben in den Signaltabellen 1 und 2 zu erkennen. + Streuscheibe_Art -- Art und Bezeichnung der Streuscheibe eines Schirm-Signals, die der Signalsichtbestimmung zugrunde liegt. DB-Regelwerk Planungsdaten: Signaltabelle 1, Zeile 9 (erster Eintrag) + Streuscheibe_Betriebsstellung -- Bezeichnung der Stellung der Streuscheibe eines Schirm-Signals, die der Signalsichtbestimmung zugrunde liegt. Bei der Betriebsstellung \"...gw\" ist die jeweilige Streuscheibe gewendet. DB-Regelwerk Planungsdaten: Signaltabelle 1, Zeile 9 (zweiter Eintrag) + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Richtpunkt=None, Richtpunktentfernung=None, Signal_Art=None, Signalsystem=None, Streuscheibe_Art=None, Streuscheibe_Betriebsstellung=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Richtpunkt = Richtpunkt + self.Richtpunkt_nsprefix_ = None + self.Richtpunktentfernung = Richtpunktentfernung + self.Richtpunktentfernung_nsprefix_ = None + self.Signal_Art = Signal_Art + self.Signal_Art_nsprefix_ = None + self.Signalsystem = Signalsystem + self.Signalsystem_nsprefix_ = None + self.Streuscheibe_Art = Streuscheibe_Art + self.Streuscheibe_Art_nsprefix_ = None + self.Streuscheibe_Betriebsstellung = Streuscheibe_Betriebsstellung + self.Streuscheibe_Betriebsstellung_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CSignal_Real_Aktiv_Schirm) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CSignal_Real_Aktiv_Schirm.subclass: + return CSignal_Real_Aktiv_Schirm.subclass(*args_, **kwargs_) + else: + return CSignal_Real_Aktiv_Schirm(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Richtpunkt(self): + return self.Richtpunkt + def set_Richtpunkt(self, Richtpunkt): + self.Richtpunkt = Richtpunkt + def get_Richtpunktentfernung(self): + return self.Richtpunktentfernung + def set_Richtpunktentfernung(self, Richtpunktentfernung): + self.Richtpunktentfernung = Richtpunktentfernung + def get_Signal_Art(self): + return self.Signal_Art + def set_Signal_Art(self, Signal_Art): + self.Signal_Art = Signal_Art + def get_Signalsystem(self): + return self.Signalsystem + def set_Signalsystem(self, Signalsystem): + self.Signalsystem = Signalsystem + def get_Streuscheibe_Art(self): + return self.Streuscheibe_Art + def set_Streuscheibe_Art(self, Streuscheibe_Art): + self.Streuscheibe_Art = Streuscheibe_Art + def get_Streuscheibe_Betriebsstellung(self): + return self.Streuscheibe_Betriebsstellung + def set_Streuscheibe_Betriebsstellung(self, Streuscheibe_Betriebsstellung): + self.Streuscheibe_Betriebsstellung = Streuscheibe_Betriebsstellung + def has__content(self): + if ( + self.Richtpunkt is not None or + self.Richtpunktentfernung is not None or + self.Signal_Art is not None or + self.Signalsystem is not None or + self.Streuscheibe_Art is not None or + self.Streuscheibe_Betriebsstellung is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignale:', namespacedef_='xmlns:nsSignale="http://www.plan-pro.org/modell/Signale/1.10.0"', name_='CSignal_Real_Aktiv_Schirm', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CSignal_Real_Aktiv_Schirm') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CSignal_Real_Aktiv_Schirm': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CSignal_Real_Aktiv_Schirm') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CSignal_Real_Aktiv_Schirm', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignale:', name_='CSignal_Real_Aktiv_Schirm'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignale:', namespacedef_='xmlns:nsSignale="http://www.plan-pro.org/modell/Signale/1.10.0"', name_='CSignal_Real_Aktiv_Schirm', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Richtpunkt is not None: + namespaceprefix_ = self.Richtpunkt_nsprefix_ + ':' if (UseCapturedNS_ and self.Richtpunkt_nsprefix_) else '' + self.Richtpunkt.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Richtpunkt', pretty_print=pretty_print) + if self.Richtpunktentfernung is not None: + namespaceprefix_ = self.Richtpunktentfernung_nsprefix_ + ':' if (UseCapturedNS_ and self.Richtpunktentfernung_nsprefix_) else '' + self.Richtpunktentfernung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Richtpunktentfernung', pretty_print=pretty_print) + if self.Signal_Art is not None: + namespaceprefix_ = self.Signal_Art_nsprefix_ + ':' if (UseCapturedNS_ and self.Signal_Art_nsprefix_) else '' + self.Signal_Art.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Signal_Art', pretty_print=pretty_print) + if self.Signalsystem is not None: + namespaceprefix_ = self.Signalsystem_nsprefix_ + ':' if (UseCapturedNS_ and self.Signalsystem_nsprefix_) else '' + self.Signalsystem.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Signalsystem', pretty_print=pretty_print) + if self.Streuscheibe_Art is not None: + namespaceprefix_ = self.Streuscheibe_Art_nsprefix_ + ':' if (UseCapturedNS_ and self.Streuscheibe_Art_nsprefix_) else '' + self.Streuscheibe_Art.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Streuscheibe_Art', pretty_print=pretty_print) + if self.Streuscheibe_Betriebsstellung is not None: + namespaceprefix_ = self.Streuscheibe_Betriebsstellung_nsprefix_ + ':' if (UseCapturedNS_ and self.Streuscheibe_Betriebsstellung_nsprefix_) else '' + self.Streuscheibe_Betriebsstellung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Streuscheibe_Betriebsstellung', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Richtpunkt': + obj_ = TCRichtpunkt.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Richtpunkt = obj_ + obj_.original_tagname_ = 'Richtpunkt' + elif nodeName_ == 'Richtpunktentfernung': + obj_ = TCRichtpunktentfernung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Richtpunktentfernung = obj_ + obj_.original_tagname_ = 'Richtpunktentfernung' + elif nodeName_ == 'Signal_Art': + obj_ = TCSignal_Art.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Signal_Art = obj_ + obj_.original_tagname_ = 'Signal_Art' + elif nodeName_ == 'Signalsystem': + obj_ = TCSignalsystem.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Signalsystem = obj_ + obj_.original_tagname_ = 'Signalsystem' + elif nodeName_ == 'Streuscheibe_Art': + obj_ = TCStreuscheibe_Art.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Streuscheibe_Art = obj_ + obj_.original_tagname_ = 'Streuscheibe_Art' + elif nodeName_ == 'Streuscheibe_Betriebsstellung': + obj_ = TCStreuscheibe_Betriebsstellung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Streuscheibe_Betriebsstellung = obj_ + obj_.original_tagname_ = 'Streuscheibe_Betriebsstellung' +# end class CSignal_Real_Aktiv_Schirm + + +class TCGeltungsbereich(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCGeltungsbereich"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMGeltungsbereich(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCGeltungsbereich) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCGeltungsbereich.subclass: + return TCGeltungsbereich.subclass(*args_, **kwargs_) + else: + return TCGeltungsbereich(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMGeltungsbereich(self, value): + result = True + # Validate type ENUMGeltungsbereich, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['DS', 'DV', 'S-Bahn B', 'S-Bahn HH'] + 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 ENUMGeltungsbereich' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCGeltungsbereich, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignale:', namespacedef_='xmlns:nsSignale="http://www.plan-pro.org/modell/Signale/1.10.0"', name_='TCGeltungsbereich', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCGeltungsbereich') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCGeltungsbereich': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCGeltungsbereich') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCGeltungsbereich', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignale:', name_='TCGeltungsbereich'): + super(TCGeltungsbereich, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCGeltungsbereich') + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignale:', namespacedef_='xmlns:nsSignale="http://www.plan-pro.org/modell/Signale/1.10.0"', name_='TCGeltungsbereich', fromsubclass_=False, pretty_print=True): + super(TCGeltungsbereich, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCGeltungsbereich, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMGeltungsbereich + self.validate_ENUMGeltungsbereich(self.Wert) + super(TCGeltungsbereich, self)._buildChildren(child_, node, nodeName_, True) +# end class TCGeltungsbereich + + +class TCSignal_Charakter(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCSignal_Charakter"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMSignal_Charakter(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCSignal_Charakter) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCSignal_Charakter.subclass: + return TCSignal_Charakter.subclass(*args_, **kwargs_) + else: + return TCSignal_Charakter(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMSignal_Charakter(self, value): + result = True + # Validate type ENUMSignal_Charakter, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['Ausfahr_Signal', 'Ausfahr_Signal_nachgelagert', 'Block_Signal', 'Einfahr_Signal', 'Nachrueck_Signal'] + 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 ENUMSignal_Charakter' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCSignal_Charakter, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignale:', namespacedef_='xmlns:nsSignale="http://www.plan-pro.org/modell/Signale/1.10.0"', name_='TCSignal_Charakter', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCSignal_Charakter') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCSignal_Charakter': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCSignal_Charakter') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCSignal_Charakter', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignale:', name_='TCSignal_Charakter'): + super(TCSignal_Charakter, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCSignal_Charakter') + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignale:', namespacedef_='xmlns:nsSignale="http://www.plan-pro.org/modell/Signale/1.10.0"', name_='TCSignal_Charakter', fromsubclass_=False, pretty_print=True): + super(TCSignal_Charakter, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCSignal_Charakter, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMSignal_Charakter + self.validate_ENUMSignal_Charakter(self.Wert) + super(TCSignal_Charakter, self)._buildChildren(child_, node, nodeName_, True) +# end class TCSignal_Charakter + + +class TCRangierstrasse_Restaufloesung(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCRangierstrasse_Restaufloesung"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCRangierstrasse_Restaufloesung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCRangierstrasse_Restaufloesung.subclass: + return TCRangierstrasse_Restaufloesung.subclass(*args_, **kwargs_) + else: + return TCRangierstrasse_Restaufloesung(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def has__content(self): + if ( + self.Wert is not None or + super(TCRangierstrasse_Restaufloesung, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignale:', namespacedef_='xmlns:nsSignale="http://www.plan-pro.org/modell/Signale/1.10.0"', name_='TCRangierstrasse_Restaufloesung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCRangierstrasse_Restaufloesung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCRangierstrasse_Restaufloesung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCRangierstrasse_Restaufloesung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCRangierstrasse_Restaufloesung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignale:', name_='TCRangierstrasse_Restaufloesung'): + super(TCRangierstrasse_Restaufloesung, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCRangierstrasse_Restaufloesung') + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignale:', namespacedef_='xmlns:nsSignale="http://www.plan-pro.org/modell/Signale/1.10.0"', name_='TCRangierstrasse_Restaufloesung', fromsubclass_=False, pretty_print=True): + super(TCRangierstrasse_Restaufloesung, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_boolean(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCRangierstrasse_Restaufloesung, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + sval_ = child_.text + ival_ = self.gds_parse_boolean(sval_, node, 'Wert') + ival_ = self.gds_validate_boolean(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + super(TCRangierstrasse_Restaufloesung, self)._buildChildren(child_, node, nodeName_, True) +# end class TCRangierstrasse_Restaufloesung + + +class TCSignal_Funktion(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCSignal_Funktion"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMSignal_Funktion(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCSignal_Funktion) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCSignal_Funktion.subclass: + return TCSignal_Funktion.subclass(*args_, **kwargs_) + else: + return TCSignal_Funktion(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMSignal_Funktion(self, value): + result = True + # Validate type ENUMSignal_Funktion, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['Alleinstehendes_Zusatzsignal', 'andere', 'Ausfahr_Signal', 'Ausfahr_Zwischen_Signal', 'Block_Signal', 'BUE_Ueberwachungssignal', 'Deckungs_Signal', 'Einfahr_Ausfahr_Signal', 'Einfahr_Block_Signal', 'Einfahr_Signal', 'Gruppenausfahr_Gruppenzwischen_Signal', 'Gruppenausfahr_Signal', 'Gruppenzwischen_Signal', 'Nachrueck_Signal', 'Vorsignal_Vorsignalwiederholer', 'Zugdeckungs_Signal', 'Zug_Ziel_Signal', 'Zwischen_Signal'] + 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 ENUMSignal_Funktion' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCSignal_Funktion, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignale:', namespacedef_='xmlns:nsSignale="http://www.plan-pro.org/modell/Signale/1.10.0"', name_='TCSignal_Funktion', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCSignal_Funktion') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCSignal_Funktion': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCSignal_Funktion') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCSignal_Funktion', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignale:', name_='TCSignal_Funktion'): + super(TCSignal_Funktion, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCSignal_Funktion') + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignale:', namespacedef_='xmlns:nsSignale="http://www.plan-pro.org/modell/Signale/1.10.0"', name_='TCSignal_Funktion', fromsubclass_=False, pretty_print=True): + super(TCSignal_Funktion, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCSignal_Funktion, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMSignal_Funktion + self.validate_ENUMSignal_Funktion(self.Wert) + super(TCSignal_Funktion, self)._buildChildren(child_, node, nodeName_, True) +# end class TCSignal_Funktion + + +class TCSignal_Art(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCSignal_Art"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMSignal_Art(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCSignal_Art) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCSignal_Art.subclass: + return TCSignal_Art.subclass(*args_, **kwargs_) + else: + return TCSignal_Art(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMSignal_Art(self, value): + result = True + # Validate type ENUMSignal_Art, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['andere', 'Hauptsignal', 'Hauptsperrsignal', 'Hauptsperrsignal Ne 14 Ls', 'Mehrabschnittssignal', 'Mehrabschnittssperrsignal', 'Sperrsignal', 'Vorsignal', 'Vorsignalwiederholer', 'Zugdeckungssignal'] + 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 ENUMSignal_Art' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCSignal_Art, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignale:', namespacedef_='xmlns:nsSignale="http://www.plan-pro.org/modell/Signale/1.10.0"', name_='TCSignal_Art', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCSignal_Art') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCSignal_Art': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCSignal_Art') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCSignal_Art', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignale:', name_='TCSignal_Art'): + super(TCSignal_Art, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCSignal_Art') + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignale:', namespacedef_='xmlns:nsSignale="http://www.plan-pro.org/modell/Signale/1.10.0"', name_='TCSignal_Art', fromsubclass_=False, pretty_print=True): + super(TCSignal_Art, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCSignal_Art, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMSignal_Art + self.validate_ENUMSignal_Art(self.Wert) + super(TCSignal_Art, self)._buildChildren(child_, node, nodeName_, True) +# end class TCSignal_Art + + +class TCAuto_Einstellung(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCAuto_Einstellung"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMAuto_Einstellung(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCAuto_Einstellung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCAuto_Einstellung.subclass: + return TCAuto_Einstellung.subclass(*args_, **kwargs_) + else: + return TCAuto_Einstellung(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMAuto_Einstellung(self, value): + result = True + # Validate type ENUMAuto_Einstellung, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['SB', 'sonstige', 'ZL'] + 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 ENUMAuto_Einstellung' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCAuto_Einstellung, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignale:', namespacedef_='xmlns:nsSignale="http://www.plan-pro.org/modell/Signale/1.10.0"', name_='TCAuto_Einstellung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCAuto_Einstellung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCAuto_Einstellung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCAuto_Einstellung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCAuto_Einstellung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignale:', name_='TCAuto_Einstellung'): + super(TCAuto_Einstellung, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCAuto_Einstellung') + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignale:', namespacedef_='xmlns:nsSignale="http://www.plan-pro.org/modell/Signale/1.10.0"', name_='TCAuto_Einstellung', fromsubclass_=False, pretty_print=True): + super(TCAuto_Einstellung, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCAuto_Einstellung, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMAuto_Einstellung + self.validate_ENUMAuto_Einstellung(self.Wert) + super(TCAuto_Einstellung, self)._buildChildren(child_, node, nodeName_, True) +# end class TCAuto_Einstellung + + +class CSignal_Fstr_S(GeneratedsSuper): + """Gegengleis -- Signal steht am Gegengleis. Das Gleis, das auf zweigleisiger, freier Strecke entgegen der gew + ö + hnlichen Fahrtrichtung befahren wird (bei den EdB das linke Gleis), wird als Gegengleis bezeichnet. Das Attribut wird nur f + ü + r (reale und fiktive) Signale an den Streckengleisen mit der Betriebsform \"zweigleisiger Betrieb\" ausgef + ü + llt. Erf + ü + llt ein Ausfahrziel die Bedingung Gegengleis = true, ist f + ü + r die Zulassung einer Zugfahrt auf dieses Gleis ein Gegengleisanzeiger erforderlich. Im Beispiel sind die (realen) Signale 13 und AA sowie die fiktiven Signale HIDOG und DOHIG Signale, die am Gegengleis stehen. Media:Signale am Gegengleis.svg Wertzuordnung: true - Signal steht an einem Gegengleis, false - Signal steht nicht an einem Gegengleis. Hinweis: Dieses Attribut darf nicht verwechselt werden mit dem Attribut Wirkrichtung, das sich auf die topologische Richtung des Gleises bezieht. DB-Regelwerk Planungsdaten: Sicherungstechnischer Lageplan / B + Ü + -Lageplan + ID_Anrueckverschluss -- Verweis auf alle Gleisschaltmittel, bei dessen Befahrung der Anr + ü + ckverschluss wirkt. Der Anr + ü + ckverschluss eines Signals wird ben + ö + tigt zur Stellbarkeit und L + ö + schung eines Ersatzsignals, zur Verhinderung der Fahrstra + ß + enhilfsaufl + ö + sung, wenn sich ein Zug diesem Signal n + ä + hert. Das Gleisschaltmittel ist in der Regel ein Freimeldeabschnitt. Das Signal ist in der Regel ein Einfahrsignal. DB-Regelwerk Im bisherigen PT1 ohne eindeutige Darstellung. + ID_Zweites_Haltfallkriterium -- Verweis auf ein Gleisschaltmittel, dessen Befahrung als zweites Haltfallkriterium dient. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Gegengleis=None, ID_Anrueckverschluss=None, ID_Zweites_Haltfallkriterium=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Gegengleis = Gegengleis + self.Gegengleis_nsprefix_ = None + if ID_Anrueckverschluss is None: + self.ID_Anrueckverschluss = [] + else: + self.ID_Anrueckverschluss = ID_Anrueckverschluss + self.ID_Anrueckverschluss_nsprefix_ = None + self.ID_Zweites_Haltfallkriterium = ID_Zweites_Haltfallkriterium + self.ID_Zweites_Haltfallkriterium_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CSignal_Fstr_S) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CSignal_Fstr_S.subclass: + return CSignal_Fstr_S.subclass(*args_, **kwargs_) + else: + return CSignal_Fstr_S(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Gegengleis(self): + return self.Gegengleis + def set_Gegengleis(self, Gegengleis): + self.Gegengleis = Gegengleis + def get_ID_Anrueckverschluss(self): + return self.ID_Anrueckverschluss + def set_ID_Anrueckverschluss(self, ID_Anrueckverschluss): + self.ID_Anrueckverschluss = ID_Anrueckverschluss + def add_ID_Anrueckverschluss(self, value): + self.ID_Anrueckverschluss.append(value) + def insert_ID_Anrueckverschluss_at(self, index, value): + self.ID_Anrueckverschluss.insert(index, value) + def replace_ID_Anrueckverschluss_at(self, index, value): + self.ID_Anrueckverschluss[index] = value + def get_ID_Zweites_Haltfallkriterium(self): + return self.ID_Zweites_Haltfallkriterium + def set_ID_Zweites_Haltfallkriterium(self, ID_Zweites_Haltfallkriterium): + self.ID_Zweites_Haltfallkriterium = ID_Zweites_Haltfallkriterium + def has__content(self): + if ( + self.Gegengleis is not None or + self.ID_Anrueckverschluss or + self.ID_Zweites_Haltfallkriterium is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignale:', namespacedef_='xmlns:nsSignale="http://www.plan-pro.org/modell/Signale/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CSignal_Fstr_S', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CSignal_Fstr_S') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CSignal_Fstr_S': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CSignal_Fstr_S') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CSignal_Fstr_S', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignale:', name_='CSignal_Fstr_S'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignale:', namespacedef_='xmlns:nsSignale="http://www.plan-pro.org/modell/Signale/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CSignal_Fstr_S', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Gegengleis is not None: + namespaceprefix_ = self.Gegengleis_nsprefix_ + ':' if (UseCapturedNS_ and self.Gegengleis_nsprefix_) else '' + self.Gegengleis.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Gegengleis', pretty_print=pretty_print) + for ID_Anrueckverschluss_ in self.ID_Anrueckverschluss: + namespaceprefix_ = self.ID_Anrueckverschluss_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Anrueckverschluss_nsprefix_) else '' + ID_Anrueckverschluss_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Anrueckverschluss', pretty_print=pretty_print) + if self.ID_Zweites_Haltfallkriterium is not None: + namespaceprefix_ = self.ID_Zweites_Haltfallkriterium_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Zweites_Haltfallkriterium_nsprefix_) else '' + self.ID_Zweites_Haltfallkriterium.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Zweites_Haltfallkriterium', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Gegengleis': + obj_ = TCGegengleis.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Gegengleis = obj_ + obj_.original_tagname_ = 'Gegengleis' + elif nodeName_ == 'ID_Anrueckverschluss': + obj_ = TCID_Schaltmittel_Zuordnung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Anrueckverschluss.append(obj_) + obj_.original_tagname_ = 'ID_Anrueckverschluss' + elif nodeName_ == 'ID_Zweites_Haltfallkriterium': + obj_ = TCID_Zweites_Haltfallkriterium.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Zweites_Haltfallkriterium = obj_ + obj_.original_tagname_ = 'ID_Zweites_Haltfallkriterium' +# end class CSignal_Fstr_S + + +class TCFundament_Art(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCFundament_Art"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMFundament_Art(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCFundament_Art) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCFundament_Art.subclass: + return TCFundament_Art.subclass(*args_, **kwargs_) + else: + return TCFundament_Art(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMFundament_Art(self, value): + result = True + # Validate type ENUMFundament_Art, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['groß', 'klein', 'sonstige'] + 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 ENUMFundament_Art' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCFundament_Art, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignale:', namespacedef_='xmlns:nsSignale="http://www.plan-pro.org/modell/Signale/1.10.0"', name_='TCFundament_Art', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCFundament_Art') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCFundament_Art': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCFundament_Art') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCFundament_Art', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignale:', name_='TCFundament_Art'): + super(TCFundament_Art, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCFundament_Art') + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignale:', namespacedef_='xmlns:nsSignale="http://www.plan-pro.org/modell/Signale/1.10.0"', name_='TCFundament_Art', fromsubclass_=False, pretty_print=True): + super(TCFundament_Art, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCFundament_Art, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMFundament_Art + self.validate_ENUMFundament_Art(self.Wert) + super(TCFundament_Art, self)._buildChildren(child_, node, nodeName_, True) +# end class TCFundament_Art + + +class TCPZB_Schutzstrecke_Soll(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCPZB_Schutzstrecke_Soll"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TPZB_Schutzstrecke_Soll(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCPZB_Schutzstrecke_Soll) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCPZB_Schutzstrecke_Soll.subclass: + return TCPZB_Schutzstrecke_Soll.subclass(*args_, **kwargs_) + else: + return TCPZB_Schutzstrecke_Soll(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TPZB_Schutzstrecke_Soll(self, value): + result = True + # Validate type TPZB_Schutzstrecke_Soll, a restriction on nsBasisTypen:TMeter. + 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 not self.gds_validate_simple_patterns( + self.validate_TPZB_Schutzstrecke_Soll_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TPZB_Schutzstrecke_Soll_patterns_, )) + result = False + return result + validate_TPZB_Schutzstrecke_Soll_patterns_ = [['^(2[1-9][0-9]|[34][0-9]{2}|5[0-4][0-9]|550)$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCPZB_Schutzstrecke_Soll, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignale:', namespacedef_='xmlns:nsSignale="http://www.plan-pro.org/modell/Signale/1.10.0"', name_='TCPZB_Schutzstrecke_Soll', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCPZB_Schutzstrecke_Soll') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCPZB_Schutzstrecke_Soll': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCPZB_Schutzstrecke_Soll') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCPZB_Schutzstrecke_Soll', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignale:', name_='TCPZB_Schutzstrecke_Soll'): + super(TCPZB_Schutzstrecke_Soll, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCPZB_Schutzstrecke_Soll') + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignale:', namespacedef_='xmlns:nsSignale="http://www.plan-pro.org/modell/Signale/1.10.0"', name_='TCPZB_Schutzstrecke_Soll', fromsubclass_=False, pretty_print=True): + super(TCPZB_Schutzstrecke_Soll, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_decimal(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCPZB_Schutzstrecke_Soll, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + fval_ = self.gds_parse_decimal(sval_, node, 'Wert') + fval_ = self.gds_validate_decimal(fval_, node, 'Wert') + self.Wert = fval_ + self.Wert_nsprefix_ = child_.prefix + # validate type TPZB_Schutzstrecke_Soll + self.validate_TPZB_Schutzstrecke_Soll(self.Wert) + super(TCPZB_Schutzstrecke_Soll, self)._buildChildren(child_, node, nodeName_, True) +# end class TCPZB_Schutzstrecke_Soll + + +class TCBeleuchtet(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCBeleuchtet"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMBeleuchtet(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCBeleuchtet) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCBeleuchtet.subclass: + return TCBeleuchtet.subclass(*args_, **kwargs_) + else: + return TCBeleuchtet(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMBeleuchtet(self, value): + result = True + # Validate type ENUMBeleuchtet, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['angestrahlt', 'innenbeleuchtet', 'nein'] + 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 ENUMBeleuchtet' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCBeleuchtet, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignale:', namespacedef_='xmlns:nsSignale="http://www.plan-pro.org/modell/Signale/1.10.0"', name_='TCBeleuchtet', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCBeleuchtet') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCBeleuchtet': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBeleuchtet') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCBeleuchtet', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignale:', name_='TCBeleuchtet'): + super(TCBeleuchtet, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBeleuchtet') + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignale:', namespacedef_='xmlns:nsSignale="http://www.plan-pro.org/modell/Signale/1.10.0"', name_='TCBeleuchtet', fromsubclass_=False, pretty_print=True): + super(TCBeleuchtet, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCBeleuchtet, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMBeleuchtet + self.validate_ENUMBeleuchtet(self.Wert) + super(TCBeleuchtet, self)._buildChildren(child_, node, nodeName_, True) +# end class TCBeleuchtet + + +class CSignal_Fstr(GeneratedsSuper): + """Besetzte_Ausfahrt -- Angabe, ob f + ü + r das Startsignal im Stumpfgleis eine Besetzte Ausfahrt geplant ist (true) oder nicht (false). Im Planungs- bzw. Projektierungsfall \"Besetzte Ausfahrt\" m + ü + ssen die an das Stumpfgleis anschlie + ß + enden Weichen oder Kreuzungen nicht freigemeldet sein, wenn sie durch die zuletzt in das Stumpfgleis eingestellte Fahrstra + ß + e kontinuierlich besetzt wurden und besetzt geblieben sind. DB Regelwerk Lastenheft ESTW F1, Abschnitt 4.3.3 + DA_Manuell -- Gibt an, ob eine manuelle Durchrutschwegaufl + ö + sung m + ö + glich ist. Die manuelle Durchrutschwegaufl + ö + sung ist als M + ö + glichkeit zur Regelbedienung zu planen. Sie ist nicht mit der Hilfsaufl + ö + sung zu verwechseln, die als Grundfunktion keiner Planung bedarf. Im herk + ö + mmlichen PT1 Inhalt der Durchrutschwegtabelle, gilt jedoch immer f + ü + r alle Durchrutschwege eines Signals einheitlich. Wertzuordnung: true - manuelle Durchrutschwegaufl + ö + sung ist m + ö + glich, false - manuelle Durchrutschwegaufl + ö + sung ist nicht m + ö + glich. DB-Regelwerk Durchrutschwegtabelle, Spalte 15 + Durchfahrt -- Gibt an, ob und wie Weiterfahren ohne Halt + ü + ber das Zielsignal eines Fahrweges hinaus gestattet sind. Ist die Durchfahrt mittels aneinandergereihter Zugstra + ß + en verboten, mittels einzeln angew + ä + hlter Zugstra + ß + en auf dieses Signal und von diesem Signal aber zu gestatten, so ist der Wert \"erlaubt\" zu verwenden. In diesem Fall wird allerdings kein Objekt Fstr Aneinander + ü + ber dieses Signal angelegt. Ist betrieblich die Weiterfahrt einer Zugfahrt als Rangierfahrt zu gestatten (diese + Ä + nderung der Ril 408 ist noch nicht Bestandteil des Lastenheftes ESTW), so ist der Wert \"nur_mit_Sh1\" zu verwenden. Technisch schlie + ß + t eine Zugfahrt mit Durchrutschweg D0 an, das Signal zeigt Hp 0 und Sh 1. DB-Regelwerk Im bisherigen PT 1 ohne eindeutige Darstellung. Die Symbolik im Sicherungstechnischen Lageplan gem + ä + ß + e 819.9002 (11) ist f + ü + r diesen Sachverhalt nicht ausreichend. + ID_RaZiel_Erlaubnisabhaengig -- Eine Rangierstra + ß + e mit diesem Zielsignal ist nur einstellbar, wenn die Erlaubnis des Streckenblocks in Richtung Strecke zeigt. Abh + ä + ngigkeit einer auf ein Signal zuf + ü + hrenden Rangierstra + ß + e von der Stellung der Erlaubnis einer Block Anlage. Das Attribut wird nur dann bef + ü + llt, wenn eine Abh + ä + ngigkeit besteht. DB-Regelwerk Planungsdaten: Rangierstra + ß + entabelle, Spalte 7 + Rangierstrasse_Restaufloesung -- Aufl + ö + sung einer nicht angefahrenen Rangierstra + ß + e bei einer wendenden Rangierfahrt + ü + ber mehrere Rangierstra + ß + en. Es handelt sich hierbei um den durch die Planung festzulegenden Fall 2 der Rangierstra + ß + enrestaufl + ö + sung (RRAU) des Lastenheftes f + ü + r das Elektronische Stellwerk, Teilheft F1. Die F + ä + lle 1 RRAU und 3 RRAU gem + ä + ß + Lastenheft sind Grundfunktion eines ESTW und bed + ü + rfen keiner Planung. Der Eintrag im Attribut Rangierstrasse_Restaufl + ö + sung hat auf diese beiden F + ä + lle keine Auswirkung. Das Attribut wird in den Signalen gef + ü + llt, an dem nicht angefahrene, aufzul + ö + sende Rangierstra + ß + en beginnen. Wertzuordnung: true + – + Rangierstra + ß + enrestaufl + ö + sung erlaubt, false + – + Rangierstra + ß + enrestaufl + ö + sung verboten. DB-Regelwerk Planungsdaten: Rangierstra + ß + entabelle, Spalte 12 + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Besetzte_Ausfahrt=None, DA_Manuell=None, Durchfahrt=None, ID_RaZiel_Erlaubnisabhaengig=None, Rangierstrasse_Restaufloesung=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Besetzte_Ausfahrt = Besetzte_Ausfahrt + self.Besetzte_Ausfahrt_nsprefix_ = None + self.DA_Manuell = DA_Manuell + self.DA_Manuell_nsprefix_ = None + self.Durchfahrt = Durchfahrt + self.Durchfahrt_nsprefix_ = None + self.ID_RaZiel_Erlaubnisabhaengig = ID_RaZiel_Erlaubnisabhaengig + self.ID_RaZiel_Erlaubnisabhaengig_nsprefix_ = None + self.Rangierstrasse_Restaufloesung = Rangierstrasse_Restaufloesung + self.Rangierstrasse_Restaufloesung_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CSignal_Fstr) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CSignal_Fstr.subclass: + return CSignal_Fstr.subclass(*args_, **kwargs_) + else: + return CSignal_Fstr(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Besetzte_Ausfahrt(self): + return self.Besetzte_Ausfahrt + def set_Besetzte_Ausfahrt(self, Besetzte_Ausfahrt): + self.Besetzte_Ausfahrt = Besetzte_Ausfahrt + def get_DA_Manuell(self): + return self.DA_Manuell + def set_DA_Manuell(self, DA_Manuell): + self.DA_Manuell = DA_Manuell + def get_Durchfahrt(self): + return self.Durchfahrt + def set_Durchfahrt(self, Durchfahrt): + self.Durchfahrt = Durchfahrt + def get_ID_RaZiel_Erlaubnisabhaengig(self): + return self.ID_RaZiel_Erlaubnisabhaengig + def set_ID_RaZiel_Erlaubnisabhaengig(self, ID_RaZiel_Erlaubnisabhaengig): + self.ID_RaZiel_Erlaubnisabhaengig = ID_RaZiel_Erlaubnisabhaengig + def get_Rangierstrasse_Restaufloesung(self): + return self.Rangierstrasse_Restaufloesung + def set_Rangierstrasse_Restaufloesung(self, Rangierstrasse_Restaufloesung): + self.Rangierstrasse_Restaufloesung = Rangierstrasse_Restaufloesung + def has__content(self): + if ( + self.Besetzte_Ausfahrt is not None or + self.DA_Manuell is not None or + self.Durchfahrt is not None or + self.ID_RaZiel_Erlaubnisabhaengig is not None or + self.Rangierstrasse_Restaufloesung is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignale:', namespacedef_='xmlns:nsSignale="http://www.plan-pro.org/modell/Signale/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CSignal_Fstr', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CSignal_Fstr') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CSignal_Fstr': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CSignal_Fstr') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CSignal_Fstr', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignale:', name_='CSignal_Fstr'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignale:', namespacedef_='xmlns:nsSignale="http://www.plan-pro.org/modell/Signale/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CSignal_Fstr', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Besetzte_Ausfahrt is not None: + namespaceprefix_ = self.Besetzte_Ausfahrt_nsprefix_ + ':' if (UseCapturedNS_ and self.Besetzte_Ausfahrt_nsprefix_) else '' + self.Besetzte_Ausfahrt.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Besetzte_Ausfahrt', pretty_print=pretty_print) + if self.DA_Manuell is not None: + namespaceprefix_ = self.DA_Manuell_nsprefix_ + ':' if (UseCapturedNS_ and self.DA_Manuell_nsprefix_) else '' + self.DA_Manuell.export(outfile, level, namespaceprefix_, namespacedef_='', name_='DA_Manuell', pretty_print=pretty_print) + if self.Durchfahrt is not None: + namespaceprefix_ = self.Durchfahrt_nsprefix_ + ':' if (UseCapturedNS_ and self.Durchfahrt_nsprefix_) else '' + self.Durchfahrt.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Durchfahrt', pretty_print=pretty_print) + if self.ID_RaZiel_Erlaubnisabhaengig is not None: + namespaceprefix_ = self.ID_RaZiel_Erlaubnisabhaengig_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_RaZiel_Erlaubnisabhaengig_nsprefix_) else '' + self.ID_RaZiel_Erlaubnisabhaengig.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_RaZiel_Erlaubnisabhaengig', pretty_print=pretty_print) + if self.Rangierstrasse_Restaufloesung is not None: + namespaceprefix_ = self.Rangierstrasse_Restaufloesung_nsprefix_ + ':' if (UseCapturedNS_ and self.Rangierstrasse_Restaufloesung_nsprefix_) else '' + self.Rangierstrasse_Restaufloesung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Rangierstrasse_Restaufloesung', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Besetzte_Ausfahrt': + obj_ = TCBesetzte_Ausfahrt.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Besetzte_Ausfahrt = obj_ + obj_.original_tagname_ = 'Besetzte_Ausfahrt' + elif nodeName_ == 'DA_Manuell': + obj_ = TCDA_Manuell.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.DA_Manuell = obj_ + obj_.original_tagname_ = 'DA_Manuell' + elif nodeName_ == 'Durchfahrt': + obj_ = TCDurchfahrt.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Durchfahrt = obj_ + obj_.original_tagname_ = 'Durchfahrt' + elif nodeName_ == 'ID_RaZiel_Erlaubnisabhaengig': + obj_ = TCID_Block_Element.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_RaZiel_Erlaubnisabhaengig = obj_ + obj_.original_tagname_ = 'ID_RaZiel_Erlaubnisabhaengig' + elif nodeName_ == 'Rangierstrasse_Restaufloesung': + obj_ = TCRangierstrasse_Restaufloesung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Rangierstrasse_Restaufloesung = obj_ + obj_.original_tagname_ = 'Rangierstrasse_Restaufloesung' +# end class CSignal_Fstr + + +class TCRahmen_Art(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCRahmen_Art"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMRahmen_Art(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCRahmen_Art) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCRahmen_Art.subclass: + return TCRahmen_Art.subclass(*args_, **kwargs_) + else: + return TCRahmen_Art(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMRahmen_Art(self, value): + result = True + # Validate type ENUMRahmen_Art, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['Bezeichnungsschild', 'Blechtafel', 'Keramikkoerper', 'Schirm', 'sonstige', 'Zusatzanzeiger'] + 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 ENUMRahmen_Art' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCRahmen_Art, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignale:', namespacedef_='xmlns:nsSignale="http://www.plan-pro.org/modell/Signale/1.10.0"', name_='TCRahmen_Art', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCRahmen_Art') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCRahmen_Art': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCRahmen_Art') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCRahmen_Art', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignale:', name_='TCRahmen_Art'): + super(TCRahmen_Art, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCRahmen_Art') + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignale:', namespacedef_='xmlns:nsSignale="http://www.plan-pro.org/modell/Signale/1.10.0"', name_='TCRahmen_Art', fromsubclass_=False, pretty_print=True): + super(TCRahmen_Art, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCRahmen_Art, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMRahmen_Art + self.validate_ENUMRahmen_Art(self.Wert) + super(TCRahmen_Art, self)._buildChildren(child_, node, nodeName_, True) +# end class TCRahmen_Art + + +class CSignal_Rahmen(CBasis_Objekt): + """CSignal_Rahmen -- Fiktive Signale haben keinen Signalrahmen, da sie keinen Signalbegriff zeigen k + ö + nnen. Ein oder mehrere Signalrahmen bilden ein Signal. Die Gruppierung von Signalbegriffen innerhalb eines Signals zu Signalrahmen wird anhand der konstruktiven Gestaltung vorgenommen, z.B. werden alle Signalbegriffe des Hauptsignalschirms oder alle Signalbegriffe eines Zusatzanzeigers jeweils zu einem Signalrahmen zusammengefasst. Kann die Anzahl oder Art der Signalbegriffe eines Signalrahmens in Abh + ä + ngigkeit vom betrieblichen Zustand ge + ä + ndert werden, so wird dieser als schaltbar bezeichnet, andernfalls als fest. Im LST-Datenmodell ist diese Eigenschaft als Attribut zu den Signalbegriffen definiert; ein Signalrahmen ist danach genau dann schaltbar, wenn mindestens eines der enthaltenen Signalbegriffe schaltbar ist. Typische schaltbare Signalrahmen sind der Signalschirm eines Mehrabschnittssignals, das Lichtsignal eines Zusatzanzeigers und das Form- oder Lichtsignal eines Weichensignals. Typische feste Signalrahmen sind das Mastschild eines Hauptsignals, das Formsignal eines Zusatzanzeigers und die Haltetafel. + Ü + ber den Signalrahmen erfolgt, sofern dies geplant ist, die Zuordnung von Signalbegriffen eines nachgeordneten Signals zu einem anderen Signal ohne Bezug zur Fahrstra + ß + e, siehe dazu ID Signal Nachordnung Ausf + ü + hrliche Beschreibung s. Modellierung Signal. DB-Regelwerk Planungsdaten: im bisherigen PT1 ohne eindeutige Darstellung. In der Regel aus den Angaben in der Signaltabelle 1 zu erkennen. + ID_Regelzeichnung -- Verweis auf eine Regelzeichnung, sofern diese nur den Signalrahmen abbildet (z. B. Vorsignaltafel). + ID_Signal -- Verweis auf das zugeh + ö + rige Objekt Signal. + ID_Signal_Befestigung -- Verweis auf ein zugeh + ö + riges Objekt Signal Befestigung. Zur Anwendung siehe Modellierung Signal. DB-Regelwerk Im bisherigen PT1 keine eindeutige Darstellung, oft aus den Eintr + ä + gen in der Signaltabelle1, Zeilen 4-6, 10, 13 und 24-28 zu erkennen. + ID_Signal_Nachordnung -- Zuordnung von nachgeordneten Signalen. Die Zuordnung von Signalbegriffen eines nachgeordneten Signals zu einem anderen Signal ohne Bezug zur Fahrstra + ß + e, wie bei Signalfahrtanzeigern, Signalhaltmeldern, Zugabfertigungssignalen Zp 9/10, erfolgt + ü + ber ID_Signal_Nachordnung. Signalbegriffe nachgeordneter Signale, die dabei n (n\u0026gt;1) Signalen zugeordnet sind, erhalten n logische Signalrahmen mit den jeweils zutreffenden (ggf. identischen) Signalbegriffen, die je nach Hersteller mit n physischen Signalanzeigern (Signal_Befestigungen) oder gemeinsam in einem physischen Signalanzeiger realisiert werden. Zur ausf + ü + hrlichen Beschreibung der Modellierung eines Signals s. Modellierung Signal. DB-Regelwerk Sicherungstechnischer Lageplan, B + Ü + -Lageplan; oft als Bestandteil der Bezeichnung des Signals + Rahmen_Art -- Beschreibung des Signalrahmens, um auch ohne Regelzeichnung die grunds + ä + tzliche Art erkennen zu k + ö + nnen. Bei Auswahl von \"sonstige\" ist ein Bearbeitungsvermerk mit entsprechenden Erl + ä + uterungen anzuf + ü + gen. DB-Regelwerk Im bisherigen PT 1 keine eindeutige Darstellung, in der Regel aus den Eintr + ä + gen in der Signaltabelle1 zu erkennen. + Rahmen_Hoehe -- H + ö + he des Rahmen-Mittelpunkts + ü + ber Schienenoberkante (SO). Die Angabe ist f + ü + r die Zusammenstellung von Bauteilgruppen im BIM-Kontext relevant. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasis_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, ID_Regelzeichnung=None, ID_Signal=None, ID_Signal_Befestigung=None, ID_Signal_Nachordnung=None, Rahmen_Art=None, Rahmen_Hoehe=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CSignal_Rahmen"), self).__init__(Identitaet, Basis_Objekt_Allg, ID_Bearbeitungsvermerk, ID_Oertlichkeit_Ausgabe, Objektreferenzen, **kwargs_) + self.ID_Regelzeichnung = ID_Regelzeichnung + self.ID_Regelzeichnung_nsprefix_ = None + self.ID_Signal = ID_Signal + self.ID_Signal_nsprefix_ = None + self.ID_Signal_Befestigung = ID_Signal_Befestigung + self.ID_Signal_Befestigung_nsprefix_ = None + self.ID_Signal_Nachordnung = ID_Signal_Nachordnung + self.ID_Signal_Nachordnung_nsprefix_ = None + self.Rahmen_Art = Rahmen_Art + self.Rahmen_Art_nsprefix_ = None + self.Rahmen_Hoehe = Rahmen_Hoehe + self.Rahmen_Hoehe_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CSignal_Rahmen) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CSignal_Rahmen.subclass: + return CSignal_Rahmen.subclass(*args_, **kwargs_) + else: + return CSignal_Rahmen(*args_, **kwargs_) + factory = staticmethod(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_Regelzeichnung(self): + return self.ID_Regelzeichnung + def set_ID_Regelzeichnung(self, ID_Regelzeichnung): + self.ID_Regelzeichnung = ID_Regelzeichnung + def get_ID_Signal(self): + return self.ID_Signal + def set_ID_Signal(self, ID_Signal): + self.ID_Signal = ID_Signal + def get_ID_Signal_Befestigung(self): + return self.ID_Signal_Befestigung + def set_ID_Signal_Befestigung(self, ID_Signal_Befestigung): + self.ID_Signal_Befestigung = ID_Signal_Befestigung + def get_ID_Signal_Nachordnung(self): + return self.ID_Signal_Nachordnung + def set_ID_Signal_Nachordnung(self, ID_Signal_Nachordnung): + self.ID_Signal_Nachordnung = ID_Signal_Nachordnung + def get_Rahmen_Art(self): + return self.Rahmen_Art + def set_Rahmen_Art(self, Rahmen_Art): + self.Rahmen_Art = Rahmen_Art + def get_Rahmen_Hoehe(self): + return self.Rahmen_Hoehe + def set_Rahmen_Hoehe(self, Rahmen_Hoehe): + self.Rahmen_Hoehe = Rahmen_Hoehe + def has__content(self): + if ( + self.ID_Regelzeichnung is not None or + self.ID_Signal is not None or + self.ID_Signal_Befestigung is not None or + self.ID_Signal_Nachordnung is not None or + self.Rahmen_Art is not None or + self.Rahmen_Hoehe is not None or + super(CSignal_Rahmen, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignale:', namespacedef_='xmlns:nsSignale="http://www.plan-pro.org/modell/Signale/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CSignal_Rahmen', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CSignal_Rahmen') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CSignal_Rahmen': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CSignal_Rahmen') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CSignal_Rahmen', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignale:', name_='CSignal_Rahmen'): + super(CSignal_Rahmen, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CSignal_Rahmen') + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignale:', namespacedef_='xmlns:nsSignale="http://www.plan-pro.org/modell/Signale/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CSignal_Rahmen', fromsubclass_=False, pretty_print=True): + super(CSignal_Rahmen, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.ID_Regelzeichnung is not None: + namespaceprefix_ = self.ID_Regelzeichnung_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Regelzeichnung_nsprefix_) else '' + self.ID_Regelzeichnung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Regelzeichnung', pretty_print=pretty_print) + if self.ID_Signal is not None: + namespaceprefix_ = self.ID_Signal_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Signal_nsprefix_) else '' + self.ID_Signal.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Signal', pretty_print=pretty_print) + if self.ID_Signal_Befestigung is not None: + namespaceprefix_ = self.ID_Signal_Befestigung_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Signal_Befestigung_nsprefix_) else '' + self.ID_Signal_Befestigung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Signal_Befestigung', pretty_print=pretty_print) + if self.ID_Signal_Nachordnung is not None: + namespaceprefix_ = self.ID_Signal_Nachordnung_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Signal_Nachordnung_nsprefix_) else '' + self.ID_Signal_Nachordnung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Signal_Nachordnung', pretty_print=pretty_print) + if self.Rahmen_Art is not None: + namespaceprefix_ = self.Rahmen_Art_nsprefix_ + ':' if (UseCapturedNS_ and self.Rahmen_Art_nsprefix_) else '' + self.Rahmen_Art.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Rahmen_Art', pretty_print=pretty_print) + if self.Rahmen_Hoehe is not None: + namespaceprefix_ = self.Rahmen_Hoehe_nsprefix_ + ':' if (UseCapturedNS_ and self.Rahmen_Hoehe_nsprefix_) else '' + self.Rahmen_Hoehe.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Rahmen_Hoehe', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CSignal_Rahmen, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Regelzeichnung': + obj_ = TCID_Regelzeichnung_ohne_Proxy.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Regelzeichnung = obj_ + obj_.original_tagname_ = 'ID_Regelzeichnung' + elif nodeName_ == 'ID_Signal': + obj_ = TCID_Signal.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Signal = obj_ + obj_.original_tagname_ = 'ID_Signal' + elif nodeName_ == 'ID_Signal_Befestigung': + obj_ = TCID_Signal_Befestigung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Signal_Befestigung = obj_ + obj_.original_tagname_ = 'ID_Signal_Befestigung' + elif nodeName_ == 'ID_Signal_Nachordnung': + obj_ = TCID_Signal.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Signal_Nachordnung = obj_ + obj_.original_tagname_ = 'ID_Signal_Nachordnung' + elif nodeName_ == 'Rahmen_Art': + obj_ = TCRahmen_Art.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Rahmen_Art = obj_ + obj_.original_tagname_ = 'Rahmen_Art' + elif nodeName_ == 'Rahmen_Hoehe': + obj_ = TCRahmen_Hoehe.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Rahmen_Hoehe = obj_ + obj_.original_tagname_ = 'Rahmen_Hoehe' + super(CSignal_Rahmen, self)._buildChildren(child_, node, nodeName_, True) +# end class CSignal_Rahmen + + +class CSignal_Signalbegriff_Allg(GeneratedsSuper): + """Anschaltdauer -- Anschaltdauer des Signalbegriffes. Eingetragen wird bei Ersatzsignal als Standardwert \"Z\" (zeitgesteuert - einheitlich 90 s); bei technisch abh + ä + ngigen Signalbegriffen (z. B. Fahrtbegriffen) ein \"T\" sowie f + ü + r Grundstellungsbegriffe ein \"G\". Es ist dabei unerheblich, wodurch die Abschaltung erzielt wird, z.B. sind auch mechanische Vorg + ä + nge m + ö + glich. Deswegen ist die Ausrichtung des Signalbegriffs mit zu betrachten, so leuchtet zwar ein Weichenlagemelder (z. B. Wn 1) st + ä + ndig, der Signalbegriff ist aber nur angeschaltet, wenn er in der Richtung des Weichenanfangs zeigt. Weichenlagemelder haben deshalb die Anschaltdauer \"T\". DB-Regelwerk Im bisherigen PT1 ohne eindeutige Darstellung. + Beleuchtet -- Gibt an, ob ein beleuchtbarer Signalbegriff beleuchtet wird. Als \"Beleuchtet\" gilt, wenn zur besseren Erkennbarkeit eines Signalbegriffs eine zus + ä + tzliche, signaltechnisch nicht + ü + berwachte Lichtquelle angebracht ist. Das Attribut ist dann und nur dann erforderlich, wenn das Attribut \"Beleuchtbar\" im zugeh + ö + rigen Signalbegriff den Wert \"true\" hat. DB-Regelwerk Im bisherigen PT1 ohne eindeutige Darstellung. + Geschaltet -- Gibt an, ob ein schaltbarer Signalbegriff durch eine Au + ß + enelement-Ansteuerung den betrieblichen Erfordernissen am Signal aktiv angepasst werden kann. Das Attribut ist dann und nur dann erforderlich, wenn das Attribut \"Schaltbar\" im zugeh + ö + rigen Signalbegriff den Wert \"true\" hat. Wertzuordnung: true - Signalbegriff ist (schaltbar und) geschaltet, false - Signalbegriff ist (schaltbar, aber) nicht geschaltet. Beispiel: Zs 3 ist grunds + ä + tzlich schaltbar (Schaltbar == \"true\"). Bei Ausf + ü + hrung aus Lichtsignal ist Geschaltet == \"true\", bei Ausf + ü + hrung als Blechtafel ist Geschaltet == \"false\". DB-Regelwerk Im bisherigen PT 1 ohne eindeutige Darstellung, oft aus dem Symbol des Signals im Sicherungstechnischen Lageplan / B + Ü + -Lageplan zu erkennen. + Zs2_Ueberwacht -- Angabe, ob die Anschaltung von Zs 2 zu + ü + berwachen ist (true) oder nicht (false). Die Angabe erfolgt nur f + ü + r den Signalbegriff Zs 2. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anschaltdauer=None, Beleuchtet=None, Geschaltet=None, Zs2_Ueberwacht=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anschaltdauer = Anschaltdauer + self.Anschaltdauer_nsprefix_ = None + self.Beleuchtet = Beleuchtet + self.Beleuchtet_nsprefix_ = None + self.Geschaltet = Geschaltet + self.Geschaltet_nsprefix_ = None + self.Zs2_Ueberwacht = Zs2_Ueberwacht + self.Zs2_Ueberwacht_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CSignal_Signalbegriff_Allg) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CSignal_Signalbegriff_Allg.subclass: + return CSignal_Signalbegriff_Allg.subclass(*args_, **kwargs_) + else: + return CSignal_Signalbegriff_Allg(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anschaltdauer(self): + return self.Anschaltdauer + def set_Anschaltdauer(self, Anschaltdauer): + self.Anschaltdauer = Anschaltdauer + def get_Beleuchtet(self): + return self.Beleuchtet + def set_Beleuchtet(self, Beleuchtet): + self.Beleuchtet = Beleuchtet + def get_Geschaltet(self): + return self.Geschaltet + def set_Geschaltet(self, Geschaltet): + self.Geschaltet = Geschaltet + def get_Zs2_Ueberwacht(self): + return self.Zs2_Ueberwacht + def set_Zs2_Ueberwacht(self, Zs2_Ueberwacht): + self.Zs2_Ueberwacht = Zs2_Ueberwacht + def has__content(self): + if ( + self.Anschaltdauer is not None or + self.Beleuchtet is not None or + self.Geschaltet is not None or + self.Zs2_Ueberwacht is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignale:', namespacedef_='xmlns:nsSignale="http://www.plan-pro.org/modell/Signale/1.10.0"', name_='CSignal_Signalbegriff_Allg', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CSignal_Signalbegriff_Allg') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CSignal_Signalbegriff_Allg': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CSignal_Signalbegriff_Allg') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CSignal_Signalbegriff_Allg', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignale:', name_='CSignal_Signalbegriff_Allg'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignale:', namespacedef_='xmlns:nsSignale="http://www.plan-pro.org/modell/Signale/1.10.0"', name_='CSignal_Signalbegriff_Allg', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Anschaltdauer is not None: + namespaceprefix_ = self.Anschaltdauer_nsprefix_ + ':' if (UseCapturedNS_ and self.Anschaltdauer_nsprefix_) else '' + self.Anschaltdauer.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Anschaltdauer', pretty_print=pretty_print) + if self.Beleuchtet is not None: + namespaceprefix_ = self.Beleuchtet_nsprefix_ + ':' if (UseCapturedNS_ and self.Beleuchtet_nsprefix_) else '' + self.Beleuchtet.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Beleuchtet', pretty_print=pretty_print) + if self.Geschaltet is not None: + namespaceprefix_ = self.Geschaltet_nsprefix_ + ':' if (UseCapturedNS_ and self.Geschaltet_nsprefix_) else '' + self.Geschaltet.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Geschaltet', pretty_print=pretty_print) + if self.Zs2_Ueberwacht is not None: + namespaceprefix_ = self.Zs2_Ueberwacht_nsprefix_ + ':' if (UseCapturedNS_ and self.Zs2_Ueberwacht_nsprefix_) else '' + self.Zs2_Ueberwacht.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Zs2_Ueberwacht', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Anschaltdauer': + obj_ = TCAnschaltdauer.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Anschaltdauer = obj_ + obj_.original_tagname_ = 'Anschaltdauer' + elif nodeName_ == 'Beleuchtet': + obj_ = TCBeleuchtet.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Beleuchtet = obj_ + obj_.original_tagname_ = 'Beleuchtet' + elif nodeName_ == 'Geschaltet': + obj_ = TCGeschaltet.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Geschaltet = obj_ + obj_.original_tagname_ = 'Geschaltet' + elif nodeName_ == 'Zs2_Ueberwacht': + obj_ = TCZs2_Ueberwacht.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Zs2_Ueberwacht = obj_ + obj_.original_tagname_ = 'Zs2_Ueberwacht' +# end class CSignal_Signalbegriff_Allg + + +class TCStreuscheibe_Betriebsstellung(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCStreuscheibe_Betriebsstellung"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMStreuscheibe_Betriebsstellung(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCStreuscheibe_Betriebsstellung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCStreuscheibe_Betriebsstellung.subclass: + return TCStreuscheibe_Betriebsstellung.subclass(*args_, **kwargs_) + else: + return TCStreuscheibe_Betriebsstellung(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMStreuscheibe_Betriebsstellung(self, value): + result = True + # Validate type ENUMStreuscheibe_Betriebsstellung, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['HG1', 'HG1_gw', 'HG2', 'HG2_gw', 'HG3', 'HG3_gw', 'HG4', 'HG4_gw', 'HL', 'HR', 'OL', 'OR', 'sonstige', 'VL', 'VR'] + 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 ENUMStreuscheibe_Betriebsstellung' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCStreuscheibe_Betriebsstellung, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignale:', namespacedef_='xmlns:nsSignale="http://www.plan-pro.org/modell/Signale/1.10.0"', name_='TCStreuscheibe_Betriebsstellung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCStreuscheibe_Betriebsstellung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCStreuscheibe_Betriebsstellung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCStreuscheibe_Betriebsstellung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCStreuscheibe_Betriebsstellung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignale:', name_='TCStreuscheibe_Betriebsstellung'): + super(TCStreuscheibe_Betriebsstellung, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCStreuscheibe_Betriebsstellung') + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignale:', namespacedef_='xmlns:nsSignale="http://www.plan-pro.org/modell/Signale/1.10.0"', name_='TCStreuscheibe_Betriebsstellung', fromsubclass_=False, pretty_print=True): + super(TCStreuscheibe_Betriebsstellung, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCStreuscheibe_Betriebsstellung, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMStreuscheibe_Betriebsstellung + self.validate_ENUMStreuscheibe_Betriebsstellung(self.Wert) + super(TCStreuscheibe_Betriebsstellung, self)._buildChildren(child_, node, nodeName_, True) +# end class TCStreuscheibe_Betriebsstellung + + +class TCBesetzte_Ausfahrt(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCBesetzte_Ausfahrt"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCBesetzte_Ausfahrt) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCBesetzte_Ausfahrt.subclass: + return TCBesetzte_Ausfahrt.subclass(*args_, **kwargs_) + else: + return TCBesetzte_Ausfahrt(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def has__content(self): + if ( + self.Wert is not None or + super(TCBesetzte_Ausfahrt, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignale:', namespacedef_='xmlns:nsSignale="http://www.plan-pro.org/modell/Signale/1.10.0"', name_='TCBesetzte_Ausfahrt', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCBesetzte_Ausfahrt') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCBesetzte_Ausfahrt': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBesetzte_Ausfahrt') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCBesetzte_Ausfahrt', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignale:', name_='TCBesetzte_Ausfahrt'): + super(TCBesetzte_Ausfahrt, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBesetzte_Ausfahrt') + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignale:', namespacedef_='xmlns:nsSignale="http://www.plan-pro.org/modell/Signale/1.10.0"', name_='TCBesetzte_Ausfahrt', fromsubclass_=False, pretty_print=True): + super(TCBesetzte_Ausfahrt, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_boolean(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCBesetzte_Ausfahrt, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + sval_ = child_.text + ival_ = self.gds_parse_boolean(sval_, node, 'Wert') + ival_ = self.gds_validate_boolean(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + super(TCBesetzte_Ausfahrt, self)._buildChildren(child_, node, nodeName_, True) +# end class TCBesetzte_Ausfahrt + + +class TCSonstige_Zulaessige_Anordnung(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCSonstige_Zulaessige_Anordnung"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMSonstige_Zulaessige_Anordnung(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCSonstige_Zulaessige_Anordnung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCSonstige_Zulaessige_Anordnung.subclass: + return TCSonstige_Zulaessige_Anordnung.subclass(*args_, **kwargs_) + else: + return TCSonstige_Zulaessige_Anordnung(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMSonstige_Zulaessige_Anordnung(self, value): + result = True + # Validate type ENUMSonstige_Zulaessige_Anordnung, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['Anordnung_des_Signals_rechts_am_Gleis', 'Anordnung_des_Signals_rechts_am_Gleis_ohne_Schachbretttafel', 'Nichtgeltung_fuer_Fahrten_auf_dem_Gegengleis'] + 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 ENUMSonstige_Zulaessige_Anordnung' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCSonstige_Zulaessige_Anordnung, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignale:', namespacedef_='xmlns:nsSignale="http://www.plan-pro.org/modell/Signale/1.10.0"', name_='TCSonstige_Zulaessige_Anordnung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCSonstige_Zulaessige_Anordnung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCSonstige_Zulaessige_Anordnung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCSonstige_Zulaessige_Anordnung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCSonstige_Zulaessige_Anordnung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignale:', name_='TCSonstige_Zulaessige_Anordnung'): + super(TCSonstige_Zulaessige_Anordnung, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCSonstige_Zulaessige_Anordnung') + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignale:', namespacedef_='xmlns:nsSignale="http://www.plan-pro.org/modell/Signale/1.10.0"', name_='TCSonstige_Zulaessige_Anordnung', fromsubclass_=False, pretty_print=True): + super(TCSonstige_Zulaessige_Anordnung, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCSonstige_Zulaessige_Anordnung, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMSonstige_Zulaessige_Anordnung + self.validate_ENUMSonstige_Zulaessige_Anordnung(self.Wert) + super(TCSonstige_Zulaessige_Anordnung, self)._buildChildren(child_, node, nodeName_, True) +# end class TCSonstige_Zulaessige_Anordnung + + +class TCRichtpunktentfernung(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCRichtpunktentfernung"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TRichtpunktentfernung(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCRichtpunktentfernung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCRichtpunktentfernung.subclass: + return TCRichtpunktentfernung.subclass(*args_, **kwargs_) + else: + return TCRichtpunktentfernung(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TRichtpunktentfernung(self, value): + result = True + # Validate type TRichtpunktentfernung, a restriction on nsBasisTypen:TMeter. + 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 not self.gds_validate_simple_patterns( + self.validate_TRichtpunktentfernung_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TRichtpunktentfernung_patterns_, )) + result = False + return result + validate_TRichtpunktentfernung_patterns_ = [['^([1-9][0-9]{0,1}|[1-4][0-9]{2}|500)$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCRichtpunktentfernung, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignale:', namespacedef_='xmlns:nsSignale="http://www.plan-pro.org/modell/Signale/1.10.0"', name_='TCRichtpunktentfernung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCRichtpunktentfernung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCRichtpunktentfernung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCRichtpunktentfernung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCRichtpunktentfernung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignale:', name_='TCRichtpunktentfernung'): + super(TCRichtpunktentfernung, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCRichtpunktentfernung') + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignale:', namespacedef_='xmlns:nsSignale="http://www.plan-pro.org/modell/Signale/1.10.0"', name_='TCRichtpunktentfernung', fromsubclass_=False, pretty_print=True): + super(TCRichtpunktentfernung, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_decimal(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCRichtpunktentfernung, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + fval_ = self.gds_parse_decimal(sval_, node, 'Wert') + fval_ = self.gds_validate_decimal(fval_, node, 'Wert') + self.Wert = fval_ + self.Wert_nsprefix_ = child_.prefix + # validate type TRichtpunktentfernung + self.validate_TRichtpunktentfernung(self.Wert) + super(TCRichtpunktentfernung, self)._buildChildren(child_, node, nodeName_, True) +# end class TCRichtpunktentfernung + + +class TCSignalsicht_Mindest(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCSignalsicht_Mindest"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TSignalsicht_Mindest(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCSignalsicht_Mindest) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCSignalsicht_Mindest.subclass: + return TCSignalsicht_Mindest.subclass(*args_, **kwargs_) + else: + return TCSignalsicht_Mindest(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TSignalsicht_Mindest(self, value): + result = True + # Validate type TSignalsicht_Mindest, a restriction on nsBasisTypen:TMeter. + 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 not self.gds_validate_simple_patterns( + self.validate_TSignalsicht_Mindest_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TSignalsicht_Mindest_patterns_, )) + result = False + return result + validate_TSignalsicht_Mindest_patterns_ = [['^([1-9][0-9]{0,1}|[1-2][0-9]{2}|300)$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCSignalsicht_Mindest, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignale:', namespacedef_='xmlns:nsSignale="http://www.plan-pro.org/modell/Signale/1.10.0"', name_='TCSignalsicht_Mindest', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCSignalsicht_Mindest') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCSignalsicht_Mindest': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCSignalsicht_Mindest') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCSignalsicht_Mindest', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignale:', name_='TCSignalsicht_Mindest'): + super(TCSignalsicht_Mindest, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCSignalsicht_Mindest') + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignale:', namespacedef_='xmlns:nsSignale="http://www.plan-pro.org/modell/Signale/1.10.0"', name_='TCSignalsicht_Mindest', fromsubclass_=False, pretty_print=True): + super(TCSignalsicht_Mindest, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_decimal(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCSignalsicht_Mindest, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + fval_ = self.gds_parse_decimal(sval_, node, 'Wert') + fval_ = self.gds_validate_decimal(fval_, node, 'Wert') + self.Wert = fval_ + self.Wert_nsprefix_ = child_.prefix + # validate type TSignalsicht_Mindest + self.validate_TSignalsicht_Mindest(self.Wert) + super(TCSignalsicht_Mindest, self)._buildChildren(child_, node, nodeName_, True) +# end class TCSignalsicht_Mindest + + +class TCBefestigung_Art(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCBefestigung_Art"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMBefestigung_Art(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCBefestigung_Art) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCBefestigung_Art.subclass: + return TCBefestigung_Art.subclass(*args_, **kwargs_) + else: + return TCBefestigung_Art(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMBefestigung_Art(self, value): + result = True + # Validate type ENUMBefestigung_Art, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['andere', 'andere Sonderkonstruktion', 'Arbeitsbuehne', 'Bahnsteig', 'Dach', 'Fundament', 'Konstruktionsteil', 'OL_Kettenwerk', 'OL_Mast', 'Pfahl', 'Pfosten_hoch', 'Pfosten_niedrig', 'Prellbock', 'Rahmen', 'Regelanordnung_Mast_hoch', 'Regelanordnung_Mast_niedrig', 'Regelanordnung_Sonstige_hoch', 'Regelanordnung_Sonstige_niedrig', 'Schienenfuss', 'Signalausleger', 'Signalbruecke', 'Sonderanordnung_Mast_hoch', 'Sonderanordnung_Mast_niedrig', 'sonstige', 'Wand'] + 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 ENUMBefestigung_Art' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCBefestigung_Art, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignale:', namespacedef_='xmlns:nsSignale="http://www.plan-pro.org/modell/Signale/1.10.0"', name_='TCBefestigung_Art', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCBefestigung_Art') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCBefestigung_Art': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBefestigung_Art') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCBefestigung_Art', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignale:', name_='TCBefestigung_Art'): + super(TCBefestigung_Art, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBefestigung_Art') + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignale:', namespacedef_='xmlns:nsSignale="http://www.plan-pro.org/modell/Signale/1.10.0"', name_='TCBefestigung_Art', fromsubclass_=False, pretty_print=True): + super(TCBefestigung_Art, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCBefestigung_Art, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMBefestigung_Art + self.validate_ENUMBefestigung_Art(self.Wert) + super(TCBefestigung_Art, self)._buildChildren(child_, node, nodeName_, True) +# end class TCBefestigung_Art + + +class TCRichtpunkt(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCRichtpunkt"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TRichtpunkt(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCRichtpunkt) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCRichtpunkt.subclass: + return TCRichtpunkt.subclass(*args_, **kwargs_) + else: + return TCRichtpunkt(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TRichtpunkt(self, value): + result = True + # Validate type TRichtpunkt, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TRichtpunkt_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TRichtpunkt_patterns_, )) + result = False + return result + validate_TRichtpunkt_patterns_ = [['^(.{1,16})$'], ['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCRichtpunkt, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignale:', namespacedef_='xmlns:nsSignale="http://www.plan-pro.org/modell/Signale/1.10.0"', name_='TCRichtpunkt', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCRichtpunkt') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCRichtpunkt': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCRichtpunkt') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCRichtpunkt', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignale:', name_='TCRichtpunkt'): + super(TCRichtpunkt, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCRichtpunkt') + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignale:', namespacedef_='xmlns:nsSignale="http://www.plan-pro.org/modell/Signale/1.10.0"', name_='TCRichtpunkt', fromsubclass_=False, pretty_print=True): + super(TCRichtpunkt, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCRichtpunkt, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TRichtpunkt + self.validate_TRichtpunkt(self.Wert) + super(TCRichtpunkt, self)._buildChildren(child_, node, nodeName_, True) +# end class TCRichtpunkt + + +class CSignal_Real_Aktiv(GeneratedsSuper): + """Auto_Einstellung -- Zus + ä + tzliche Angabe zu Aktiven Signalen, die sich selbstt + ä + tig stellen k + ö + nnen. Dabei wird unterschieden zwischen Signalen mit Signalselbststellbetrieb (Sb) und in der Zuglenkung (ZL). DB-Regelwerk Im bisherigen PT1 ohne eindeutige Darstellung, mittelbar aus Angaben in der Zugstra + ß + entabelle zu erkennen. + ID_Stellelement -- Verweis auf das Objekt Stellelement zur Zusammenfassung von Eigenschaften der Objekte BUE Schnittstelle, PZB Element, Schluesselsperre, Signal, W Kr Gsp Element. Das Stellelement enth + ä + lt Informationen + ü + ber den energetischen und logischen Anschluss der Objekte. F + ü + r das PZB Element ist der Verweis nur zu f + ü + llen, wenn das PZB_Element eine G + Ü + ist. DB-Regelwerk Bisher ohne eindeutige Darstellung + Signal_Charakter -- Charakter des Signals, sofern abweichend von der Signal_Funktion. DB-Regelwerk Ril 819.1361 + Sonstige_Zulaessige_Anordnung -- Anordnung von Aktiven Signalen bei mehreren parallelen Strecken oder beim Zusammenlauf von Strecken. DB-Regelwerk 819.0202 A03, Planungsdaten: Signaltabelle 1, Zeile 2. + Tunnelsignal -- Enth + ä + lt zus + ä + tzliche Angaben zu Aktiven Signalen mit schaltbaren Signalbegriffen bez + ü + glich der Nachtschaltung. DB-Regelwerk Im bisherigen PT1 ohne eindeutige Darstellung. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Auto_Einstellung=None, ID_Stellelement=None, Signal_Charakter=None, Sonstige_Zulaessige_Anordnung=None, Tunnelsignal=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Auto_Einstellung = Auto_Einstellung + self.Auto_Einstellung_nsprefix_ = None + self.ID_Stellelement = ID_Stellelement + self.ID_Stellelement_nsprefix_ = None + self.Signal_Charakter = Signal_Charakter + self.Signal_Charakter_nsprefix_ = None + self.Sonstige_Zulaessige_Anordnung = Sonstige_Zulaessige_Anordnung + self.Sonstige_Zulaessige_Anordnung_nsprefix_ = None + self.Tunnelsignal = Tunnelsignal + self.Tunnelsignal_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CSignal_Real_Aktiv) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CSignal_Real_Aktiv.subclass: + return CSignal_Real_Aktiv.subclass(*args_, **kwargs_) + else: + return CSignal_Real_Aktiv(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Auto_Einstellung(self): + return self.Auto_Einstellung + def set_Auto_Einstellung(self, Auto_Einstellung): + self.Auto_Einstellung = Auto_Einstellung + def get_ID_Stellelement(self): + return self.ID_Stellelement + def set_ID_Stellelement(self, ID_Stellelement): + self.ID_Stellelement = ID_Stellelement + def get_Signal_Charakter(self): + return self.Signal_Charakter + def set_Signal_Charakter(self, Signal_Charakter): + self.Signal_Charakter = Signal_Charakter + def get_Sonstige_Zulaessige_Anordnung(self): + return self.Sonstige_Zulaessige_Anordnung + def set_Sonstige_Zulaessige_Anordnung(self, Sonstige_Zulaessige_Anordnung): + self.Sonstige_Zulaessige_Anordnung = Sonstige_Zulaessige_Anordnung + def get_Tunnelsignal(self): + return self.Tunnelsignal + def set_Tunnelsignal(self, Tunnelsignal): + self.Tunnelsignal = Tunnelsignal + def has__content(self): + if ( + self.Auto_Einstellung is not None or + self.ID_Stellelement is not None or + self.Signal_Charakter is not None or + self.Sonstige_Zulaessige_Anordnung is not None or + self.Tunnelsignal is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignale:', namespacedef_='xmlns:nsSignale="http://www.plan-pro.org/modell/Signale/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CSignal_Real_Aktiv', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CSignal_Real_Aktiv') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CSignal_Real_Aktiv': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CSignal_Real_Aktiv') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CSignal_Real_Aktiv', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignale:', name_='CSignal_Real_Aktiv'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignale:', namespacedef_='xmlns:nsSignale="http://www.plan-pro.org/modell/Signale/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CSignal_Real_Aktiv', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Auto_Einstellung is not None: + namespaceprefix_ = self.Auto_Einstellung_nsprefix_ + ':' if (UseCapturedNS_ and self.Auto_Einstellung_nsprefix_) else '' + self.Auto_Einstellung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Auto_Einstellung', pretty_print=pretty_print) + if self.ID_Stellelement is not None: + namespaceprefix_ = self.ID_Stellelement_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Stellelement_nsprefix_) else '' + self.ID_Stellelement.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Stellelement', pretty_print=pretty_print) + if self.Signal_Charakter is not None: + namespaceprefix_ = self.Signal_Charakter_nsprefix_ + ':' if (UseCapturedNS_ and self.Signal_Charakter_nsprefix_) else '' + self.Signal_Charakter.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Signal_Charakter', pretty_print=pretty_print) + if self.Sonstige_Zulaessige_Anordnung is not None: + namespaceprefix_ = self.Sonstige_Zulaessige_Anordnung_nsprefix_ + ':' if (UseCapturedNS_ and self.Sonstige_Zulaessige_Anordnung_nsprefix_) else '' + self.Sonstige_Zulaessige_Anordnung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Sonstige_Zulaessige_Anordnung', pretty_print=pretty_print) + if self.Tunnelsignal is not None: + namespaceprefix_ = self.Tunnelsignal_nsprefix_ + ':' if (UseCapturedNS_ and self.Tunnelsignal_nsprefix_) else '' + self.Tunnelsignal.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Tunnelsignal', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Auto_Einstellung': + obj_ = TCAuto_Einstellung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Auto_Einstellung = obj_ + obj_.original_tagname_ = 'Auto_Einstellung' + elif nodeName_ == 'ID_Stellelement': + obj_ = TCID_Stellelement.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Stellelement = obj_ + obj_.original_tagname_ = 'ID_Stellelement' + elif nodeName_ == 'Signal_Charakter': + obj_ = TCSignal_Charakter.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Signal_Charakter = obj_ + obj_.original_tagname_ = 'Signal_Charakter' + elif nodeName_ == 'Sonstige_Zulaessige_Anordnung': + obj_ = TCSonstige_Zulaessige_Anordnung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Sonstige_Zulaessige_Anordnung = obj_ + obj_.original_tagname_ = 'Sonstige_Zulaessige_Anordnung' + elif nodeName_ == 'Tunnelsignal': + obj_ = TCTunnelsignal.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Tunnelsignal = obj_ + obj_.original_tagname_ = 'Tunnelsignal' +# end class CSignal_Real_Aktiv + + +class TCRahmen_Hoehe(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCRahmen_Hoehe"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TRahmen_Hoehe(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCRahmen_Hoehe) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCRahmen_Hoehe.subclass: + return TCRahmen_Hoehe.subclass(*args_, **kwargs_) + else: + return TCRahmen_Hoehe(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TRahmen_Hoehe(self, value): + result = True + # Validate type TRahmen_Hoehe, a restriction on nsBasisTypen:TMeter. + 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 + pass + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCRahmen_Hoehe, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignale:', namespacedef_='xmlns:nsSignale="http://www.plan-pro.org/modell/Signale/1.10.0"', name_='TCRahmen_Hoehe', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCRahmen_Hoehe') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCRahmen_Hoehe': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCRahmen_Hoehe') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCRahmen_Hoehe', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignale:', name_='TCRahmen_Hoehe'): + super(TCRahmen_Hoehe, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCRahmen_Hoehe') + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignale:', namespacedef_='xmlns:nsSignale="http://www.plan-pro.org/modell/Signale/1.10.0"', name_='TCRahmen_Hoehe', fromsubclass_=False, pretty_print=True): + super(TCRahmen_Hoehe, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_decimal(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCRahmen_Hoehe, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + fval_ = self.gds_parse_decimal(sval_, node, 'Wert') + fval_ = self.gds_validate_decimal(fval_, node, 'Wert') + self.Wert = fval_ + self.Wert_nsprefix_ = child_.prefix + # validate type TRahmen_Hoehe + self.validate_TRahmen_Hoehe(self.Wert) + super(TCRahmen_Hoehe, self)._buildChildren(child_, node, nodeName_, True) +# end class TCRahmen_Hoehe + + +class CSignal_Fank_Zuordnung(CBasis_Objekt): + """CSignal_Fank_Zuordnung -- Abbildung des Fahrtank + ü + nders (Wei + ß + es Dreieck) sowie Zuordnung der Startsignale, f + ü + r die eine Fahrtank + ü + ndigung erfolgen soll. Ein physischer Fahrtank + ü + nder (Anzeiger) wird als Signal abgebildet, wobei hierbei nur die Attributgruppen Bezeichnung sowie Signal_Real zu nutzen sind (nicht: Signal_Real_Aktiv, da kein Anschluss mittels ID_Stellelement an ein Stellwerk). Erfolgt die Fahrtank + ü + ndigung ausschlie + ß + lich auf mobilen Endger + ä + ten, so entf + ä + llt das Anlegen des Signals f + ü + r den Fahrtank + ü + nder. + ID_Signal_Fank -- Verweis auf den oder die Fahrtank + ü + nder (\"Wei + ß + es Dreieck\"), durch die eine Fahrtstellung der unter ID_Signal_Start angegebenen Startsignale angek + ü + ndigt werden soll. Der Verweis entf + ä + llt, wenn die Anzeige ausschlie + ß + lich auf mobilen Endger + ä + ten erfolgt. + ID_Signal_Start -- Verweis auf das Startsignal bzw. die Startsignale, deren Fahrtstellung angek + ü + ndigt werden soll. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasis_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, ID_Signal_Fank=None, ID_Signal_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 + super(globals().get("CSignal_Fank_Zuordnung"), self).__init__(Identitaet, Basis_Objekt_Allg, ID_Bearbeitungsvermerk, ID_Oertlichkeit_Ausgabe, Objektreferenzen, **kwargs_) + if ID_Signal_Fank is None: + self.ID_Signal_Fank = [] + else: + self.ID_Signal_Fank = ID_Signal_Fank + self.ID_Signal_Fank_nsprefix_ = None + if ID_Signal_Start is None: + self.ID_Signal_Start = [] + else: + self.ID_Signal_Start = ID_Signal_Start + self.ID_Signal_Start_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CSignal_Fank_Zuordnung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CSignal_Fank_Zuordnung.subclass: + return CSignal_Fank_Zuordnung.subclass(*args_, **kwargs_) + else: + return CSignal_Fank_Zuordnung(*args_, **kwargs_) + factory = staticmethod(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_Signal_Fank(self): + return self.ID_Signal_Fank + def set_ID_Signal_Fank(self, ID_Signal_Fank): + self.ID_Signal_Fank = ID_Signal_Fank + def add_ID_Signal_Fank(self, value): + self.ID_Signal_Fank.append(value) + def insert_ID_Signal_Fank_at(self, index, value): + self.ID_Signal_Fank.insert(index, value) + def replace_ID_Signal_Fank_at(self, index, value): + self.ID_Signal_Fank[index] = value + def get_ID_Signal_Start(self): + return self.ID_Signal_Start + def set_ID_Signal_Start(self, ID_Signal_Start): + self.ID_Signal_Start = ID_Signal_Start + def add_ID_Signal_Start(self, value): + self.ID_Signal_Start.append(value) + def insert_ID_Signal_Start_at(self, index, value): + self.ID_Signal_Start.insert(index, value) + def replace_ID_Signal_Start_at(self, index, value): + self.ID_Signal_Start[index] = value + def has__content(self): + if ( + self.ID_Signal_Fank or + self.ID_Signal_Start or + super(CSignal_Fank_Zuordnung, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignale:', namespacedef_='xmlns:nsSignale="http://www.plan-pro.org/modell/Signale/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CSignal_Fank_Zuordnung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CSignal_Fank_Zuordnung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CSignal_Fank_Zuordnung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CSignal_Fank_Zuordnung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CSignal_Fank_Zuordnung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignale:', name_='CSignal_Fank_Zuordnung'): + super(CSignal_Fank_Zuordnung, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CSignal_Fank_Zuordnung') + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignale:', namespacedef_='xmlns:nsSignale="http://www.plan-pro.org/modell/Signale/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CSignal_Fank_Zuordnung', fromsubclass_=False, pretty_print=True): + super(CSignal_Fank_Zuordnung, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Signal_Fank_ in self.ID_Signal_Fank: + namespaceprefix_ = self.ID_Signal_Fank_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Signal_Fank_nsprefix_) else '' + ID_Signal_Fank_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Signal_Fank', pretty_print=pretty_print) + for ID_Signal_Start_ in self.ID_Signal_Start: + namespaceprefix_ = self.ID_Signal_Start_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Signal_Start_nsprefix_) else '' + ID_Signal_Start_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Signal_Start', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CSignal_Fank_Zuordnung, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Signal_Fank': + obj_ = TCID_Signal_Fank.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Signal_Fank.append(obj_) + obj_.original_tagname_ = 'ID_Signal_Fank' + elif nodeName_ == 'ID_Signal_Start': + obj_ = TCID_Signal_Start.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Signal_Start.append(obj_) + obj_.original_tagname_ = 'ID_Signal_Start' + super(CSignal_Fank_Zuordnung, self)._buildChildren(child_, node, nodeName_, True) +# end class CSignal_Fank_Zuordnung + + +class TCFunktion_Ohne_Signal(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCFunktion_Ohne_Signal"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMFunktion_Ohne_Signal(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCFunktion_Ohne_Signal) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCFunktion_Ohne_Signal.subclass: + return TCFunktion_Ohne_Signal.subclass(*args_, **kwargs_) + else: + return TCFunktion_Ohne_Signal(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMFunktion_Ohne_Signal(self, value): + result = True + # Validate type ENUMFunktion_Ohne_Signal, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['RS', 'sonstige', 'ZS'] + 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 ENUMFunktion_Ohne_Signal' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCFunktion_Ohne_Signal, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignale:', namespacedef_='xmlns:nsSignale="http://www.plan-pro.org/modell/Signale/1.10.0"', name_='TCFunktion_Ohne_Signal', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCFunktion_Ohne_Signal') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCFunktion_Ohne_Signal': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCFunktion_Ohne_Signal') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCFunktion_Ohne_Signal', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignale:', name_='TCFunktion_Ohne_Signal'): + super(TCFunktion_Ohne_Signal, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCFunktion_Ohne_Signal') + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignale:', namespacedef_='xmlns:nsSignale="http://www.plan-pro.org/modell/Signale/1.10.0"', name_='TCFunktion_Ohne_Signal', fromsubclass_=False, pretty_print=True): + super(TCFunktion_Ohne_Signal, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCFunktion_Ohne_Signal, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMFunktion_Ohne_Signal + self.validate_ENUMFunktion_Ohne_Signal(self.Wert) + super(TCFunktion_Ohne_Signal, self)._buildChildren(child_, node, nodeName_, True) +# end class TCFunktion_Ohne_Signal + + +class TCSignalsicht_Erreichbar(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCSignalsicht_Erreichbar"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TSignalsicht_Erreichbar(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCSignalsicht_Erreichbar) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCSignalsicht_Erreichbar.subclass: + return TCSignalsicht_Erreichbar.subclass(*args_, **kwargs_) + else: + return TCSignalsicht_Erreichbar(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TSignalsicht_Erreichbar(self, value): + result = True + # Validate type TSignalsicht_Erreichbar, a restriction on nsBasisTypen:TMeter. + 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 not self.gds_validate_simple_patterns( + self.validate_TSignalsicht_Erreichbar_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TSignalsicht_Erreichbar_patterns_, )) + result = False + return result + validate_TSignalsicht_Erreichbar_patterns_ = [['^([1-9][0-9]{0,1}|[1-4][0-9]{2}|500)$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCSignalsicht_Erreichbar, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignale:', namespacedef_='xmlns:nsSignale="http://www.plan-pro.org/modell/Signale/1.10.0"', name_='TCSignalsicht_Erreichbar', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCSignalsicht_Erreichbar') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCSignalsicht_Erreichbar': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCSignalsicht_Erreichbar') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCSignalsicht_Erreichbar', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignale:', name_='TCSignalsicht_Erreichbar'): + super(TCSignalsicht_Erreichbar, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCSignalsicht_Erreichbar') + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignale:', namespacedef_='xmlns:nsSignale="http://www.plan-pro.org/modell/Signale/1.10.0"', name_='TCSignalsicht_Erreichbar', fromsubclass_=False, pretty_print=True): + super(TCSignalsicht_Erreichbar, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_decimal(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCSignalsicht_Erreichbar, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + fval_ = self.gds_parse_decimal(sval_, node, 'Wert') + fval_ = self.gds_validate_decimal(fval_, node, 'Wert') + self.Wert = fval_ + self.Wert_nsprefix_ = child_.prefix + # validate type TSignalsicht_Erreichbar + self.validate_TSignalsicht_Erreichbar(self.Wert) + super(TCSignalsicht_Erreichbar, self)._buildChildren(child_, node, nodeName_, True) +# end class TCSignalsicht_Erreichbar + + +class CSignal_Fiktiv(GeneratedsSuper): + """Auto_Einstellung -- Zus + ä + tzliche Angabe zu Aktiven Signalen, die sich selbstt + ä + tig stellen k + ö + nnen. Dabei wird unterschieden zwischen Signalen mit Signalselbststellbetrieb (Sb) und in der Zuglenkung (ZL). DB-Regelwerk Im bisherigen PT1 ohne eindeutige Darstellung, mittelbar aus Angaben in der Zugstra + ß + entabelle zu erkennen. + Fiktives_Signal_Funktion -- Funktion (Verwendungsm + ö + glichkeit) eines fiktiven Signals. Sollen an einem Punkt mehrere Funktionen realisiert werden, ist das Attribut mehrfach einzubinden. DB-Regelwerk Fiktive Signale sind als Start- oder Zielpunkte in den Zug- oder Rangierstra + ß + entabellen erkennbar. Ihre Funktion ist nicht unmittelbar dargestellt, sie ergibt sich aus der Verwendung. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Auto_Einstellung=None, Fiktives_Signal_Funktion=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Auto_Einstellung = Auto_Einstellung + self.Auto_Einstellung_nsprefix_ = None + if Fiktives_Signal_Funktion is None: + self.Fiktives_Signal_Funktion = [] + else: + self.Fiktives_Signal_Funktion = Fiktives_Signal_Funktion + self.Fiktives_Signal_Funktion_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CSignal_Fiktiv) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CSignal_Fiktiv.subclass: + return CSignal_Fiktiv.subclass(*args_, **kwargs_) + else: + return CSignal_Fiktiv(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Auto_Einstellung(self): + return self.Auto_Einstellung + def set_Auto_Einstellung(self, Auto_Einstellung): + self.Auto_Einstellung = Auto_Einstellung + def get_Fiktives_Signal_Funktion(self): + return self.Fiktives_Signal_Funktion + def set_Fiktives_Signal_Funktion(self, Fiktives_Signal_Funktion): + self.Fiktives_Signal_Funktion = Fiktives_Signal_Funktion + def add_Fiktives_Signal_Funktion(self, value): + self.Fiktives_Signal_Funktion.append(value) + def insert_Fiktives_Signal_Funktion_at(self, index, value): + self.Fiktives_Signal_Funktion.insert(index, value) + def replace_Fiktives_Signal_Funktion_at(self, index, value): + self.Fiktives_Signal_Funktion[index] = value + def has__content(self): + if ( + self.Auto_Einstellung is not None or + self.Fiktives_Signal_Funktion + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignale:', namespacedef_='xmlns:nsSignale="http://www.plan-pro.org/modell/Signale/1.10.0"', name_='CSignal_Fiktiv', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CSignal_Fiktiv') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CSignal_Fiktiv': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CSignal_Fiktiv') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CSignal_Fiktiv', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignale:', name_='CSignal_Fiktiv'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignale:', namespacedef_='xmlns:nsSignale="http://www.plan-pro.org/modell/Signale/1.10.0"', name_='CSignal_Fiktiv', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Auto_Einstellung is not None: + namespaceprefix_ = self.Auto_Einstellung_nsprefix_ + ':' if (UseCapturedNS_ and self.Auto_Einstellung_nsprefix_) else '' + self.Auto_Einstellung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Auto_Einstellung', pretty_print=pretty_print) + for Fiktives_Signal_Funktion_ in self.Fiktives_Signal_Funktion: + namespaceprefix_ = self.Fiktives_Signal_Funktion_nsprefix_ + ':' if (UseCapturedNS_ and self.Fiktives_Signal_Funktion_nsprefix_) else '' + Fiktives_Signal_Funktion_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Fiktives_Signal_Funktion', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Auto_Einstellung': + obj_ = TCAuto_Einstellung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Auto_Einstellung = obj_ + obj_.original_tagname_ = 'Auto_Einstellung' + elif nodeName_ == 'Fiktives_Signal_Funktion': + obj_ = TCFiktives_Signal_Funktion.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Fiktives_Signal_Funktion.append(obj_) + obj_.original_tagname_ = 'Fiktives_Signal_Funktion' +# end class CSignal_Fiktiv + + +class TCDA_Manuell(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCDA_Manuell"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCDA_Manuell) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCDA_Manuell.subclass: + return TCDA_Manuell.subclass(*args_, **kwargs_) + else: + return TCDA_Manuell(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def has__content(self): + if ( + self.Wert is not None or + super(TCDA_Manuell, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignale:', namespacedef_='xmlns:nsSignale="http://www.plan-pro.org/modell/Signale/1.10.0"', name_='TCDA_Manuell', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCDA_Manuell') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCDA_Manuell': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCDA_Manuell') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCDA_Manuell', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignale:', name_='TCDA_Manuell'): + super(TCDA_Manuell, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCDA_Manuell') + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignale:', namespacedef_='xmlns:nsSignale="http://www.plan-pro.org/modell/Signale/1.10.0"', name_='TCDA_Manuell', fromsubclass_=False, pretty_print=True): + super(TCDA_Manuell, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_boolean(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCDA_Manuell, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + sval_ = child_.text + ival_ = self.gds_parse_boolean(sval_, node, 'Wert') + ival_ = self.gds_validate_boolean(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + super(TCDA_Manuell, self)._buildChildren(child_, node, nodeName_, True) +# end class TCDA_Manuell + + +class CSchluessel_Bezeichnung(GeneratedsSuper): + """Bezeichnung_Schluessel -- Auf dem Schluessel angebrachte Bezeichnung. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Bezeichnung_Schluessel=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Bezeichnung_Schluessel = Bezeichnung_Schluessel + self.Bezeichnung_Schluessel_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CSchluessel_Bezeichnung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CSchluessel_Bezeichnung.subclass: + return CSchluessel_Bezeichnung.subclass(*args_, **kwargs_) + else: + return CSchluessel_Bezeichnung(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Bezeichnung_Schluessel(self): + return self.Bezeichnung_Schluessel + def set_Bezeichnung_Schluessel(self, Bezeichnung_Schluessel): + self.Bezeichnung_Schluessel = Bezeichnung_Schluessel + def has__content(self): + if ( + self.Bezeichnung_Schluessel is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSchluesselabhaengigkeiten:', namespacedef_='xmlns:nsSchluesselabhaengigkeiten="http://www.plan-pro.org/modell/Schluesselabhaengigkeiten/1.10.0"', name_='CSchluessel_Bezeichnung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CSchluessel_Bezeichnung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CSchluessel_Bezeichnung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CSchluessel_Bezeichnung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CSchluessel_Bezeichnung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSchluesselabhaengigkeiten:', name_='CSchluessel_Bezeichnung'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsSchluesselabhaengigkeiten:', namespacedef_='xmlns:nsSchluesselabhaengigkeiten="http://www.plan-pro.org/modell/Schluesselabhaengigkeiten/1.10.0"', name_='CSchluessel_Bezeichnung', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Bezeichnung_Schluessel is not None: + namespaceprefix_ = self.Bezeichnung_Schluessel_nsprefix_ + ':' if (UseCapturedNS_ and self.Bezeichnung_Schluessel_nsprefix_) else '' + self.Bezeichnung_Schluessel.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Bezeichnung_Schluessel', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Bezeichnung_Schluessel': + obj_ = TCBezeichnung_Schluessel.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Bezeichnung_Schluessel = obj_ + obj_.original_tagname_ = 'Bezeichnung_Schluessel' +# end class CSchluessel_Bezeichnung + + +class TCVerschluss_Ort(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCVerschluss_Ort"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMVerschluss_Ort(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCVerschluss_Ort) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCVerschluss_Ort.subclass: + return TCVerschluss_Ort.subclass(*args_, **kwargs_) + else: + return TCVerschluss_Ort(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMVerschluss_Ort(self, value): + result = True + # Validate type ENUMVerschluss_Ort, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['Herzstück', 'Mitte', 'sonstige', 'Spitze'] + 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 ENUMVerschluss_Ort' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCVerschluss_Ort, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSchluesselabhaengigkeiten:', namespacedef_='xmlns:nsSchluesselabhaengigkeiten="http://www.plan-pro.org/modell/Schluesselabhaengigkeiten/1.10.0"', name_='TCVerschluss_Ort', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCVerschluss_Ort') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCVerschluss_Ort': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCVerschluss_Ort') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCVerschluss_Ort', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSchluesselabhaengigkeiten:', name_='TCVerschluss_Ort'): + super(TCVerschluss_Ort, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCVerschluss_Ort') + def _exportChildren(self, outfile, level, namespaceprefix_='nsSchluesselabhaengigkeiten:', namespacedef_='xmlns:nsSchluesselabhaengigkeiten="http://www.plan-pro.org/modell/Schluesselabhaengigkeiten/1.10.0"', name_='TCVerschluss_Ort', fromsubclass_=False, pretty_print=True): + super(TCVerschluss_Ort, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCVerschluss_Ort, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMVerschluss_Ort + self.validate_ENUMVerschluss_Ort(self.Wert) + super(TCVerschluss_Ort, self)._buildChildren(child_, node, nodeName_, True) +# end class TCVerschluss_Ort + + +class TCSchluessel_Gruppe(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCSchluessel_Gruppe"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMSchluessel_Gruppe(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCSchluessel_Gruppe) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCSchluessel_Gruppe.subclass: + return TCSchluessel_Gruppe.subclass(*args_, **kwargs_) + else: + return TCSchluessel_Gruppe(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMSchluessel_Gruppe(self, value): + result = True + # Validate type ENUMSchluessel_Gruppe, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['0', '1', '2', '3', '4', '5'] + 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 ENUMSchluessel_Gruppe' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCSchluessel_Gruppe, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSchluesselabhaengigkeiten:', namespacedef_='xmlns:nsSchluesselabhaengigkeiten="http://www.plan-pro.org/modell/Schluesselabhaengigkeiten/1.10.0"', name_='TCSchluessel_Gruppe', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCSchluessel_Gruppe') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCSchluessel_Gruppe': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCSchluessel_Gruppe') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCSchluessel_Gruppe', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSchluesselabhaengigkeiten:', name_='TCSchluessel_Gruppe'): + super(TCSchluessel_Gruppe, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCSchluessel_Gruppe') + def _exportChildren(self, outfile, level, namespaceprefix_='nsSchluesselabhaengigkeiten:', namespacedef_='xmlns:nsSchluesselabhaengigkeiten="http://www.plan-pro.org/modell/Schluesselabhaengigkeiten/1.10.0"', name_='TCSchluessel_Gruppe', fromsubclass_=False, pretty_print=True): + super(TCSchluessel_Gruppe, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCSchluessel_Gruppe, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMSchluessel_Gruppe + self.validate_ENUMSchluessel_Gruppe(self.Wert) + super(TCSchluessel_Gruppe, self)._buildChildren(child_, node, nodeName_, True) +# end class TCSchluessel_Gruppe + + +class CSchloss_Sonderanlage(GeneratedsSuper): + """Sonderanlage_Lage -- Lage, in der die Sonderanlage verschlossen wird. DB-Regelwerk Die Abh + ä + ngigkeiten werden heute durch eine Zeichnung im Lageplan nach 819.9002 3 dargestellt. + Beschreibung_Sonderanlage -- Beschreibung der Sonderanlage, sofern es sich nicht um ein besonderes Fahrwegelement handelt, das + ü + ber ID_Sonderanlage angegeben werden kann. + ID_Sonderanlage -- Verweis auf die Sonderanlage im Sinne eines besonderen Fahrwegelements (z. B. bewegliche Br + ü + cke). + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Sonderanlage_Lage=None, Beschreibung_Sonderanlage=None, ID_Sonderanlage=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Sonderanlage_Lage = Sonderanlage_Lage + self.Sonderanlage_Lage_nsprefix_ = None + self.Beschreibung_Sonderanlage = Beschreibung_Sonderanlage + self.Beschreibung_Sonderanlage_nsprefix_ = None + self.ID_Sonderanlage = ID_Sonderanlage + self.ID_Sonderanlage_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CSchloss_Sonderanlage) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CSchloss_Sonderanlage.subclass: + return CSchloss_Sonderanlage.subclass(*args_, **kwargs_) + else: + return CSchloss_Sonderanlage(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Sonderanlage_Lage(self): + return self.Sonderanlage_Lage + def set_Sonderanlage_Lage(self, Sonderanlage_Lage): + self.Sonderanlage_Lage = Sonderanlage_Lage + def get_Beschreibung_Sonderanlage(self): + return self.Beschreibung_Sonderanlage + def set_Beschreibung_Sonderanlage(self, Beschreibung_Sonderanlage): + self.Beschreibung_Sonderanlage = Beschreibung_Sonderanlage + def get_ID_Sonderanlage(self): + return self.ID_Sonderanlage + def set_ID_Sonderanlage(self, ID_Sonderanlage): + self.ID_Sonderanlage = ID_Sonderanlage + def has__content(self): + if ( + self.Sonderanlage_Lage is not None or + self.Beschreibung_Sonderanlage is not None or + self.ID_Sonderanlage is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSchluesselabhaengigkeiten:', namespacedef_='xmlns:nsSchluesselabhaengigkeiten="http://www.plan-pro.org/modell/Schluesselabhaengigkeiten/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CSchloss_Sonderanlage', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CSchloss_Sonderanlage') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CSchloss_Sonderanlage': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CSchloss_Sonderanlage') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CSchloss_Sonderanlage', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSchluesselabhaengigkeiten:', name_='CSchloss_Sonderanlage'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsSchluesselabhaengigkeiten:', namespacedef_='xmlns:nsSchluesselabhaengigkeiten="http://www.plan-pro.org/modell/Schluesselabhaengigkeiten/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CSchloss_Sonderanlage', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Sonderanlage_Lage is not None: + namespaceprefix_ = self.Sonderanlage_Lage_nsprefix_ + ':' if (UseCapturedNS_ and self.Sonderanlage_Lage_nsprefix_) else '' + self.Sonderanlage_Lage.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Sonderanlage_Lage', pretty_print=pretty_print) + if self.Beschreibung_Sonderanlage is not None: + namespaceprefix_ = self.Beschreibung_Sonderanlage_nsprefix_ + ':' if (UseCapturedNS_ and self.Beschreibung_Sonderanlage_nsprefix_) else '' + self.Beschreibung_Sonderanlage.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Beschreibung_Sonderanlage', pretty_print=pretty_print) + if self.ID_Sonderanlage is not None: + namespaceprefix_ = self.ID_Sonderanlage_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Sonderanlage_nsprefix_) else '' + self.ID_Sonderanlage.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Sonderanlage', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Sonderanlage_Lage': + obj_ = TCSonderanlage_Lage.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Sonderanlage_Lage = obj_ + obj_.original_tagname_ = 'Sonderanlage_Lage' + elif nodeName_ == 'Beschreibung_Sonderanlage': + obj_ = TCBeschreibung_Sonderanlage.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Beschreibung_Sonderanlage = obj_ + obj_.original_tagname_ = 'Beschreibung_Sonderanlage' + elif nodeName_ == 'ID_Sonderanlage': + obj_ = TCID_Sonderanlage.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Sonderanlage = obj_ + obj_.original_tagname_ = 'ID_Sonderanlage' +# end class CSchloss_Sonderanlage + + +class CSchloss_Gsp(GeneratedsSuper): + """Gsp_Lage -- Lage, in der die Gleissperre verschlossen wird. DB-Regelwerk Die Abh + ä + ngigkeiten werden heute durch eine Zeichnung im Lageplan nach 819.9002 3 dargestellt. + ID_Gsp_Element -- Verweis auf die Gleissperre, die mit dem Schloss verschlossen wird. DB-Regelwerk Lageplan, Logische Darstellung der Schl + ü + sselabh + ä + ngigkeit + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Gsp_Lage=None, ID_Gsp_Element=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Gsp_Lage = Gsp_Lage + self.Gsp_Lage_nsprefix_ = None + self.ID_Gsp_Element = ID_Gsp_Element + self.ID_Gsp_Element_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CSchloss_Gsp) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CSchloss_Gsp.subclass: + return CSchloss_Gsp.subclass(*args_, **kwargs_) + else: + return CSchloss_Gsp(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Gsp_Lage(self): + return self.Gsp_Lage + def set_Gsp_Lage(self, Gsp_Lage): + self.Gsp_Lage = Gsp_Lage + def get_ID_Gsp_Element(self): + return self.ID_Gsp_Element + def set_ID_Gsp_Element(self, ID_Gsp_Element): + self.ID_Gsp_Element = ID_Gsp_Element + def has__content(self): + if ( + self.Gsp_Lage is not None or + self.ID_Gsp_Element is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSchluesselabhaengigkeiten:', namespacedef_='xmlns:nsSchluesselabhaengigkeiten="http://www.plan-pro.org/modell/Schluesselabhaengigkeiten/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CSchloss_Gsp', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CSchloss_Gsp') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CSchloss_Gsp': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CSchloss_Gsp') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CSchloss_Gsp', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSchluesselabhaengigkeiten:', name_='CSchloss_Gsp'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsSchluesselabhaengigkeiten:', namespacedef_='xmlns:nsSchluesselabhaengigkeiten="http://www.plan-pro.org/modell/Schluesselabhaengigkeiten/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CSchloss_Gsp', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Gsp_Lage is not None: + namespaceprefix_ = self.Gsp_Lage_nsprefix_ + ':' if (UseCapturedNS_ and self.Gsp_Lage_nsprefix_) else '' + self.Gsp_Lage.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Gsp_Lage', pretty_print=pretty_print) + if self.ID_Gsp_Element is not None: + namespaceprefix_ = self.ID_Gsp_Element_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Gsp_Element_nsprefix_) else '' + self.ID_Gsp_Element.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Gsp_Element', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Gsp_Lage': + obj_ = TCGsp_Lage.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Gsp_Lage = obj_ + obj_.original_tagname_ = 'Gsp_Lage' + elif nodeName_ == 'ID_Gsp_Element': + obj_ = TCID_W_Kr_Gsp_Element.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Gsp_Element = obj_ + obj_.original_tagname_ = 'ID_Gsp_Element' +# end class CSchloss_Gsp + + +class TCBezeichnung_Sk(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCBezeichnung_Sk"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TBezeichnung_Sk(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCBezeichnung_Sk) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCBezeichnung_Sk.subclass: + return TCBezeichnung_Sk.subclass(*args_, **kwargs_) + else: + return TCBezeichnung_Sk(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TBezeichnung_Sk(self, value): + result = True + # Validate type TBezeichnung_Sk, a restriction on nsBasisTypen:TZeichenkette. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TBezeichnung_Sk_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TBezeichnung_Sk_patterns_, )) + result = False + return result + validate_TBezeichnung_Sk_patterns_ = [['^([a-zA-Z_0-9]{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCBezeichnung_Sk, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSchluesselabhaengigkeiten:', namespacedef_='xmlns:nsSchluesselabhaengigkeiten="http://www.plan-pro.org/modell/Schluesselabhaengigkeiten/1.10.0"', name_='TCBezeichnung_Sk', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCBezeichnung_Sk') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCBezeichnung_Sk': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBezeichnung_Sk') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCBezeichnung_Sk', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSchluesselabhaengigkeiten:', name_='TCBezeichnung_Sk'): + super(TCBezeichnung_Sk, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBezeichnung_Sk') + def _exportChildren(self, outfile, level, namespaceprefix_='nsSchluesselabhaengigkeiten:', namespacedef_='xmlns:nsSchluesselabhaengigkeiten="http://www.plan-pro.org/modell/Schluesselabhaengigkeiten/1.10.0"', name_='TCBezeichnung_Sk', fromsubclass_=False, pretty_print=True): + super(TCBezeichnung_Sk, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCBezeichnung_Sk, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TBezeichnung_Sk + self.validate_TBezeichnung_Sk(self.Wert) + super(TCBezeichnung_Sk, self)._buildChildren(child_, node, nodeName_, True) +# end class TCBezeichnung_Sk + + +class TCBezeichnung_Schloss(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCBezeichnung_Schloss"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TBezeichnung_Schloss(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCBezeichnung_Schloss) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCBezeichnung_Schloss.subclass: + return TCBezeichnung_Schloss.subclass(*args_, **kwargs_) + else: + return TCBezeichnung_Schloss(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TBezeichnung_Schloss(self, value): + result = True + # Validate type TBezeichnung_Schloss, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TBezeichnung_Schloss_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TBezeichnung_Schloss_patterns_, )) + result = False + return result + validate_TBezeichnung_Schloss_patterns_ = [['^(.{1,20})$'], ['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCBezeichnung_Schloss, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSchluesselabhaengigkeiten:', namespacedef_='xmlns:nsSchluesselabhaengigkeiten="http://www.plan-pro.org/modell/Schluesselabhaengigkeiten/1.10.0"', name_='TCBezeichnung_Schloss', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCBezeichnung_Schloss') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCBezeichnung_Schloss': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBezeichnung_Schloss') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCBezeichnung_Schloss', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSchluesselabhaengigkeiten:', name_='TCBezeichnung_Schloss'): + super(TCBezeichnung_Schloss, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBezeichnung_Schloss') + def _exportChildren(self, outfile, level, namespaceprefix_='nsSchluesselabhaengigkeiten:', namespacedef_='xmlns:nsSchluesselabhaengigkeiten="http://www.plan-pro.org/modell/Schluesselabhaengigkeiten/1.10.0"', name_='TCBezeichnung_Schloss', fromsubclass_=False, pretty_print=True): + super(TCBezeichnung_Schloss, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCBezeichnung_Schloss, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TBezeichnung_Schloss + self.validate_TBezeichnung_Schloss(self.Wert) + super(TCBezeichnung_Schloss, self)._buildChildren(child_, node, nodeName_, True) +# end class TCBezeichnung_Schloss + + +class CSchluesselsperre(CBasis_Objekt): + """CSchluesselsperre -- Elektromechanisches Bauelement, das die Anwesenheit eines Schl + ü + ssels pr + ü + ft, ihn festh + ä + lt und eine Abh + ä + ngigkeit zur Stellwerkslogik besitzt. Schl + ü + sselsperren dienen der Festhaltung bzw. Freigabe von Schl + ü + sseln, mit denen in der Regel weitere Elemente bedienbar gemacht werden. In Einzelf + ä + llen dienen Schl + ü + sselsperren nur als Schl + ü + sselschalter. Die Darstellung im Lageplan erfolgt am Ort der Bedienung (z. B. Stellwerk, sonstiges Geb + ä + ude), der durch die Unterbringung beschrieben wird. Eine Darstellung am oder auf dem Gleis erfolgt nicht! DB-Regelwerk Darstellung durch Zeichnung im Lageplan nach 819.9002 2. + Bedienung_Art -- Unterscheidung nach Innen- und Au + ß + enschl + ü + sselsperre. Alt: Traditionell wird unterschieden zwischen einer Schl + ü + sselsperre als Teil der Bedieneinrichtung im Stellwerk (Innenschl + ü + sselsperre) und einer solchen in der N + ä + he des zu bedienenden Elements in den Au + ß + enanlagen (Au + ß + enschl + ü + sselsperre). Mit zunehmender Zentralisierung und Entfall + ö + rtlich besetzter Stellwerke verliert diese Unterscheidung ihre Bedeutung. Neu (ESTW-Technik): Als Innenschl + ü + sselsperre werden die nur f + ü + r das LST-Personal zug + ä + nglichen Schl + ü + sselsperren in der Au + ß + enelementansteuerung bezeichnet, die z. B. zum Sperren von Fahrstra + ß + en genutzt werden. Alle f + ü + r das Betriebspersonal (insbesondere Rangierpersonal) zug + ä + nglichen Schl + ü + sselsperren sind Au + ß + enschl + ü + sselsperren, unabh + ä + ngig von der Art der Unterbringung. DB-Regelwerk Darstellung durch Zeichnung im Lageplan nach 819.9002 2. + Bezeichnung -- Attributgruppe zur Bezeichnung von Stell- und sonstigen Elementen. Sofern ausreichend, wird an dieser Stelle + ü + ber Vererbung die Basisattributgruppe Bezeichnung Element eingebunden. Ist die Abbildung mit den Attributen der Basisattributgruppe nicht m + ö + glich (z. B. wegen spezieller Patternvorgabe) oder nicht sinnvoll (z. B. weil eine Unterscheidung nach Bezeichnung_Lageplan_..., Bezeichnung_Tabelle und Bezeichnung_Aussenanlage (Pflichtattribute!) nicht notwendig ist), werden in der Attributgruppe Bezeichnung entsprechende objektspezifische Bezeichnungsattribute modelliert. Diese sind nach dem Schema Bezeichnung_[Objektname] zu benennen. Zudem ist es m + ö + glich, gleichzeitig die Basisattributgruppe Bezeichnung Element und objektspezifische Attribute einzubinden. Siehe auch Bildung der Bezeichnungen. DB-Regelwerk Sicherungstechnischer Lage- und + Ü + bersichtsplan, B + Ü + -Lageplan Planungstabellen + ID_Stellelement -- Verweis auf das Objekt Stellelement zur Zusammenfassung von Eigenschaften der Objekte BUE Schnittstelle, PZB Element, Schluesselsperre, Signal, W Kr Gsp Element. Das Stellelement enth + ä + lt Informationen + ü + ber den energetischen und logischen Anschluss der Objekte. F + ü + r das PZB Element ist der Verweis nur zu f + ü + llen, wenn das PZB_Element eine G + Ü + ist. DB-Regelwerk Bisher ohne eindeutige Darstellung + ID_Unterbringung -- Verweis auf den physischen Ort der Unterbringung von Aussenelementansteuerung, Bedien Einrichtung Oertlich, Bedien Platz, ESTW Zentraleinheit, PZB Element, Schlosskombination, Schluesselsperre und ZN. F + ü + r das PZB Element wird der Verweis nur f + ü + r eine G + Ü + gef + ü + llt - mit der Bedeutung: G + Ü + -Schaltkasten. F + ü + r die ZN ist der Verweis optional, da im Planungswerkzeug ZN/ZL keine Bef + ü + llung aller der f + ü + r die Unterbringung notwendigen Attribute m + ö + glich ist. DB-Regelwerk Darstellung des Geb + ä + udes, der Bediens + ä + ule bzw. des Schaltkastens im sicherungstechnischen Lageplan nach Ril 819.9002 oder Beschreibung im Erl + ä + uterungsbericht. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasis_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, Bedienung_Art=None, Bezeichnung=None, ID_Stellelement=None, ID_Unterbringung=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CSchluesselsperre"), self).__init__(Identitaet, Basis_Objekt_Allg, ID_Bearbeitungsvermerk, ID_Oertlichkeit_Ausgabe, Objektreferenzen, **kwargs_) + self.Bedienung_Art = Bedienung_Art + self.Bedienung_Art_nsprefix_ = None + self.Bezeichnung = Bezeichnung + self.Bezeichnung_nsprefix_ = None + self.ID_Stellelement = ID_Stellelement + self.ID_Stellelement_nsprefix_ = None + self.ID_Unterbringung = ID_Unterbringung + self.ID_Unterbringung_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CSchluesselsperre) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CSchluesselsperre.subclass: + return CSchluesselsperre.subclass(*args_, **kwargs_) + else: + return CSchluesselsperre(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Bedienung_Art(self): + return self.Bedienung_Art + def set_Bedienung_Art(self, Bedienung_Art): + self.Bedienung_Art = Bedienung_Art + def get_Bezeichnung(self): + return self.Bezeichnung + def set_Bezeichnung(self, Bezeichnung): + self.Bezeichnung = Bezeichnung + def get_ID_Stellelement(self): + return self.ID_Stellelement + def set_ID_Stellelement(self, ID_Stellelement): + self.ID_Stellelement = ID_Stellelement + def get_ID_Unterbringung(self): + return self.ID_Unterbringung + def set_ID_Unterbringung(self, ID_Unterbringung): + self.ID_Unterbringung = ID_Unterbringung + def has__content(self): + if ( + self.Bedienung_Art is not None or + self.Bezeichnung is not None or + self.ID_Stellelement is not None or + self.ID_Unterbringung is not None or + super(CSchluesselsperre, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSchluesselabhaengigkeiten:', namespacedef_='xmlns:nsSchluesselabhaengigkeiten="http://www.plan-pro.org/modell/Schluesselabhaengigkeiten/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CSchluesselsperre', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CSchluesselsperre') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CSchluesselsperre': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CSchluesselsperre') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CSchluesselsperre', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSchluesselabhaengigkeiten:', name_='CSchluesselsperre'): + super(CSchluesselsperre, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CSchluesselsperre') + def _exportChildren(self, outfile, level, namespaceprefix_='nsSchluesselabhaengigkeiten:', namespacedef_='xmlns:nsSchluesselabhaengigkeiten="http://www.plan-pro.org/modell/Schluesselabhaengigkeiten/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CSchluesselsperre', fromsubclass_=False, pretty_print=True): + super(CSchluesselsperre, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Bedienung_Art is not None: + namespaceprefix_ = self.Bedienung_Art_nsprefix_ + ':' if (UseCapturedNS_ and self.Bedienung_Art_nsprefix_) else '' + self.Bedienung_Art.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Bedienung_Art', pretty_print=pretty_print) + if self.Bezeichnung is not None: + namespaceprefix_ = self.Bezeichnung_nsprefix_ + ':' if (UseCapturedNS_ and self.Bezeichnung_nsprefix_) else '' + self.Bezeichnung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Bezeichnung', pretty_print=pretty_print) + if self.ID_Stellelement is not None: + namespaceprefix_ = self.ID_Stellelement_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Stellelement_nsprefix_) else '' + self.ID_Stellelement.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Stellelement', pretty_print=pretty_print) + if self.ID_Unterbringung is not None: + namespaceprefix_ = self.ID_Unterbringung_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Unterbringung_nsprefix_) else '' + self.ID_Unterbringung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Unterbringung', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CSchluesselsperre, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Bedienung_Art': + obj_ = TCBedienung_Art.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Bedienung_Art = obj_ + obj_.original_tagname_ = 'Bedienung_Art' + elif nodeName_ == 'Bezeichnung': + obj_ = CBezeichnung_Element.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Bezeichnung = obj_ + obj_.original_tagname_ = 'Bezeichnung' + elif nodeName_ == 'ID_Stellelement': + obj_ = TCID_Stellelement.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Stellelement = obj_ + obj_.original_tagname_ = 'ID_Stellelement' + elif nodeName_ == 'ID_Unterbringung': + obj_ = TCID_Unterbringung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Unterbringung = obj_ + obj_.original_tagname_ = 'ID_Unterbringung' + super(CSchluesselsperre, self)._buildChildren(child_, node, nodeName_, True) +# end class CSchluesselsperre + + +class TCGsp_Lage(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCGsp_Lage"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMGsp_Lage(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCGsp_Lage) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCGsp_Lage.subclass: + return TCGsp_Lage.subclass(*args_, **kwargs_) + else: + return TCGsp_Lage(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMGsp_Lage(self, value): + result = True + # Validate type ENUMGsp_Lage, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['abgelegt', 'aufgelegt'] + 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 ENUMGsp_Lage' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCGsp_Lage, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSchluesselabhaengigkeiten:', namespacedef_='xmlns:nsSchluesselabhaengigkeiten="http://www.plan-pro.org/modell/Schluesselabhaengigkeiten/1.10.0"', name_='TCGsp_Lage', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCGsp_Lage') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCGsp_Lage': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCGsp_Lage') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCGsp_Lage', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSchluesselabhaengigkeiten:', name_='TCGsp_Lage'): + super(TCGsp_Lage, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCGsp_Lage') + def _exportChildren(self, outfile, level, namespaceprefix_='nsSchluesselabhaengigkeiten:', namespacedef_='xmlns:nsSchluesselabhaengigkeiten="http://www.plan-pro.org/modell/Schluesselabhaengigkeiten/1.10.0"', name_='TCGsp_Lage', fromsubclass_=False, pretty_print=True): + super(TCGsp_Lage, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCGsp_Lage, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMGsp_Lage + self.validate_ENUMGsp_Lage(self.Wert) + super(TCGsp_Lage, self)._buildChildren(child_, node, nodeName_, True) +# end class TCGsp_Lage + + +class CSchloss_W(GeneratedsSuper): + """ID_W_Kr_Element -- Verweis auf das Weichen- oder Kreuzungselement, das mit dem Schloss verschlossen wird. DB-Regelwerk Lageplan, Logische Darstellung der Schl + ü + sselabh + ä + ngigkeit + Schloss_Art -- Bauart des an der Weiche vorgesehenen Schlosses. Bei Auswahl von \"sonstige\" ist ein Bearbeitungsvermerk mit entsprechenden Erl + ä + uterungen anzuf + ü + gen. + Verschluss_Ort -- Verschlussort f + ü + r das unter ID_W_Kr_Element angegebene Weichen- bzw. Kreuzungselement. Die Angabe \"Herzst + ü + ck\" ist nur bei Weichen mit beweglichen Herzst + ü + ckspitzen sinnvoll. + W_Anbaulage -- Angabe, ob das Schloss an der linken oder rechten Seite der Weiche angebaut ist. + W_Lage -- Lage, in der die Weiche durch das Schloss gesichert wird. DB-Regelwerk Die Abh + ä + ngigkeiten werden heute durch eine Zeichnung im Lageplan nach 819.9002 3 dargestellt. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, ID_W_Kr_Element=None, Schloss_Art=None, Verschluss_Ort=None, W_Anbaulage=None, W_Lage=None, gds_collector_=None, **kwargs_): + self.gds_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_W_Kr_Element = ID_W_Kr_Element + self.ID_W_Kr_Element_nsprefix_ = None + self.Schloss_Art = Schloss_Art + self.Schloss_Art_nsprefix_ = None + self.Verschluss_Ort = Verschluss_Ort + self.Verschluss_Ort_nsprefix_ = None + self.W_Anbaulage = W_Anbaulage + self.W_Anbaulage_nsprefix_ = None + self.W_Lage = W_Lage + self.W_Lage_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CSchloss_W) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CSchloss_W.subclass: + return CSchloss_W.subclass(*args_, **kwargs_) + else: + return CSchloss_W(*args_, **kwargs_) + factory = staticmethod(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_W_Kr_Element(self): + return self.ID_W_Kr_Element + def set_ID_W_Kr_Element(self, ID_W_Kr_Element): + self.ID_W_Kr_Element = ID_W_Kr_Element + def get_Schloss_Art(self): + return self.Schloss_Art + def set_Schloss_Art(self, Schloss_Art): + self.Schloss_Art = Schloss_Art + def get_Verschluss_Ort(self): + return self.Verschluss_Ort + def set_Verschluss_Ort(self, Verschluss_Ort): + self.Verschluss_Ort = Verschluss_Ort + def get_W_Anbaulage(self): + return self.W_Anbaulage + def set_W_Anbaulage(self, W_Anbaulage): + self.W_Anbaulage = W_Anbaulage + def get_W_Lage(self): + return self.W_Lage + def set_W_Lage(self, W_Lage): + self.W_Lage = W_Lage + def has__content(self): + if ( + self.ID_W_Kr_Element is not None or + self.Schloss_Art is not None or + self.Verschluss_Ort is not None or + self.W_Anbaulage is not None or + self.W_Lage is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSchluesselabhaengigkeiten:', namespacedef_='xmlns:nsSchluesselabhaengigkeiten="http://www.plan-pro.org/modell/Schluesselabhaengigkeiten/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CSchloss_W', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CSchloss_W') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CSchloss_W': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CSchloss_W') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CSchloss_W', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSchluesselabhaengigkeiten:', name_='CSchloss_W'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsSchluesselabhaengigkeiten:', namespacedef_='xmlns:nsSchluesselabhaengigkeiten="http://www.plan-pro.org/modell/Schluesselabhaengigkeiten/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CSchloss_W', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.ID_W_Kr_Element is not None: + namespaceprefix_ = self.ID_W_Kr_Element_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_W_Kr_Element_nsprefix_) else '' + self.ID_W_Kr_Element.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_W_Kr_Element', pretty_print=pretty_print) + if self.Schloss_Art is not None: + namespaceprefix_ = self.Schloss_Art_nsprefix_ + ':' if (UseCapturedNS_ and self.Schloss_Art_nsprefix_) else '' + self.Schloss_Art.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Schloss_Art', pretty_print=pretty_print) + if self.Verschluss_Ort is not None: + namespaceprefix_ = self.Verschluss_Ort_nsprefix_ + ':' if (UseCapturedNS_ and self.Verschluss_Ort_nsprefix_) else '' + self.Verschluss_Ort.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Verschluss_Ort', pretty_print=pretty_print) + if self.W_Anbaulage is not None: + namespaceprefix_ = self.W_Anbaulage_nsprefix_ + ':' if (UseCapturedNS_ and self.W_Anbaulage_nsprefix_) else '' + self.W_Anbaulage.export(outfile, level, namespaceprefix_, namespacedef_='', name_='W_Anbaulage', pretty_print=pretty_print) + if self.W_Lage is not None: + namespaceprefix_ = self.W_Lage_nsprefix_ + ':' if (UseCapturedNS_ and self.W_Lage_nsprefix_) else '' + self.W_Lage.export(outfile, level, namespaceprefix_, namespacedef_='', name_='W_Lage', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_W_Kr_Element': + obj_ = TCID_W_Kr_Gsp_Element.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_W_Kr_Element = obj_ + obj_.original_tagname_ = 'ID_W_Kr_Element' + elif nodeName_ == 'Schloss_Art': + obj_ = TCSchloss_Art.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Schloss_Art = obj_ + obj_.original_tagname_ = 'Schloss_Art' + elif nodeName_ == 'Verschluss_Ort': + obj_ = TCVerschluss_Ort.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Verschluss_Ort = obj_ + obj_.original_tagname_ = 'Verschluss_Ort' + elif nodeName_ == 'W_Anbaulage': + obj_ = TCW_Anbaulage.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.W_Anbaulage = obj_ + obj_.original_tagname_ = 'W_Anbaulage' + elif nodeName_ == 'W_Lage': + obj_ = TCW_Lage.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.W_Lage = obj_ + obj_.original_tagname_ = 'W_Lage' +# end class CSchloss_W + + +class TCBedienung_Art(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCBedienung_Art"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMBedienung_Art(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCBedienung_Art) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCBedienung_Art.subclass: + return TCBedienung_Art.subclass(*args_, **kwargs_) + else: + return TCBedienung_Art(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMBedienung_Art(self, value): + result = True + # Validate type ENUMBedienung_Art, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['aussen', 'aussen_Awanst', 'innen'] + 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 ENUMBedienung_Art' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCBedienung_Art, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSchluesselabhaengigkeiten:', namespacedef_='xmlns:nsSchluesselabhaengigkeiten="http://www.plan-pro.org/modell/Schluesselabhaengigkeiten/1.10.0"', name_='TCBedienung_Art', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCBedienung_Art') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCBedienung_Art': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBedienung_Art') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCBedienung_Art', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSchluesselabhaengigkeiten:', name_='TCBedienung_Art'): + super(TCBedienung_Art, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBedienung_Art') + def _exportChildren(self, outfile, level, namespaceprefix_='nsSchluesselabhaengigkeiten:', namespacedef_='xmlns:nsSchluesselabhaengigkeiten="http://www.plan-pro.org/modell/Schluesselabhaengigkeiten/1.10.0"', name_='TCBedienung_Art', fromsubclass_=False, pretty_print=True): + super(TCBedienung_Art, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCBedienung_Art, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMBedienung_Art + self.validate_ENUMBedienung_Art(self.Wert) + super(TCBedienung_Art, self)._buildChildren(child_, node, nodeName_, True) +# end class TCBedienung_Art + + +class TCTechnisch_Berechtigter(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCTechnisch_Berechtigter"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCTechnisch_Berechtigter) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCTechnisch_Berechtigter.subclass: + return TCTechnisch_Berechtigter.subclass(*args_, **kwargs_) + else: + return TCTechnisch_Berechtigter(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def has__content(self): + if ( + self.Wert is not None or + super(TCTechnisch_Berechtigter, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSchluesselabhaengigkeiten:', namespacedef_='xmlns:nsSchluesselabhaengigkeiten="http://www.plan-pro.org/modell/Schluesselabhaengigkeiten/1.10.0"', name_='TCTechnisch_Berechtigter', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCTechnisch_Berechtigter') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCTechnisch_Berechtigter': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCTechnisch_Berechtigter') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCTechnisch_Berechtigter', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSchluesselabhaengigkeiten:', name_='TCTechnisch_Berechtigter'): + super(TCTechnisch_Berechtigter, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCTechnisch_Berechtigter') + def _exportChildren(self, outfile, level, namespaceprefix_='nsSchluesselabhaengigkeiten:', namespacedef_='xmlns:nsSchluesselabhaengigkeiten="http://www.plan-pro.org/modell/Schluesselabhaengigkeiten/1.10.0"', name_='TCTechnisch_Berechtigter', fromsubclass_=False, pretty_print=True): + super(TCTechnisch_Berechtigter, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_boolean(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCTechnisch_Berechtigter, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + sval_ = child_.text + ival_ = self.gds_parse_boolean(sval_, node, 'Wert') + ival_ = self.gds_validate_boolean(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + super(TCTechnisch_Berechtigter, self)._buildChildren(child_, node, nodeName_, True) +# end class TCTechnisch_Berechtigter + + +class TCSonderanlage_Lage(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCSonderanlage_Lage"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMSonderanlage_Lage(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCSonderanlage_Lage) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCSonderanlage_Lage.subclass: + return TCSonderanlage_Lage.subclass(*args_, **kwargs_) + else: + return TCSonderanlage_Lage(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMSonderanlage_Lage(self, value): + result = True + # Validate type ENUMSonderanlage_Lage, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['befahrbar', 'nicht befahrbar', 'sonstige'] + 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 ENUMSonderanlage_Lage' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCSonderanlage_Lage, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSchluesselabhaengigkeiten:', namespacedef_='xmlns:nsSchluesselabhaengigkeiten="http://www.plan-pro.org/modell/Schluesselabhaengigkeiten/1.10.0"', name_='TCSonderanlage_Lage', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCSonderanlage_Lage') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCSonderanlage_Lage': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCSonderanlage_Lage') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCSonderanlage_Lage', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSchluesselabhaengigkeiten:', name_='TCSonderanlage_Lage'): + super(TCSonderanlage_Lage, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCSonderanlage_Lage') + def _exportChildren(self, outfile, level, namespaceprefix_='nsSchluesselabhaengigkeiten:', namespacedef_='xmlns:nsSchluesselabhaengigkeiten="http://www.plan-pro.org/modell/Schluesselabhaengigkeiten/1.10.0"', name_='TCSonderanlage_Lage', fromsubclass_=False, pretty_print=True): + super(TCSonderanlage_Lage, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCSonderanlage_Lage, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMSonderanlage_Lage + self.validate_ENUMSonderanlage_Lage(self.Wert) + super(TCSonderanlage_Lage, self)._buildChildren(child_, node, nodeName_, True) +# end class TCSonderanlage_Lage + + +class CSchloss_Ssp(GeneratedsSuper): + """ID_Schluesselsperre -- Verweis auf die Schl + ü + sselsperre, in der sich das Schloss befindet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, ID_Schluesselsperre=None, gds_collector_=None, **kwargs_): + self.gds_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_Schluesselsperre = ID_Schluesselsperre + self.ID_Schluesselsperre_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CSchloss_Ssp) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CSchloss_Ssp.subclass: + return CSchloss_Ssp.subclass(*args_, **kwargs_) + else: + return CSchloss_Ssp(*args_, **kwargs_) + factory = staticmethod(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_Schluesselsperre(self): + return self.ID_Schluesselsperre + def set_ID_Schluesselsperre(self, ID_Schluesselsperre): + self.ID_Schluesselsperre = ID_Schluesselsperre + def has__content(self): + if ( + self.ID_Schluesselsperre is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSchluesselabhaengigkeiten:', namespacedef_='xmlns:nsSchluesselabhaengigkeiten="http://www.plan-pro.org/modell/Schluesselabhaengigkeiten/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CSchloss_Ssp', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CSchloss_Ssp') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CSchloss_Ssp': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CSchloss_Ssp') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CSchloss_Ssp', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSchluesselabhaengigkeiten:', name_='CSchloss_Ssp'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsSchluesselabhaengigkeiten:', namespacedef_='xmlns:nsSchluesselabhaengigkeiten="http://www.plan-pro.org/modell/Schluesselabhaengigkeiten/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CSchloss_Ssp', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.ID_Schluesselsperre is not None: + namespaceprefix_ = self.ID_Schluesselsperre_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Schluesselsperre_nsprefix_) else '' + self.ID_Schluesselsperre.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Schluesselsperre', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Schluesselsperre': + obj_ = TCID_Schluesselsperre.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Schluesselsperre = obj_ + obj_.original_tagname_ = 'ID_Schluesselsperre' +# end class CSchloss_Ssp + + +class CSchloss_BUE(GeneratedsSuper): + """BUE_Lage -- Lage, in der die BUE Anlage verschlossen wird. DB-Regelwerk Die Abh + ä + ngigkeiten werden heute durch eine Zeichnung im Lageplan nach 819.9002 3 dargestellt. + ID_BUE_Anlage -- Verweis auf die BUE Anlage, die mit dem Schloss verschlossen wird. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, BUE_Lage=None, ID_BUE_Anlage=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.BUE_Lage = BUE_Lage + self.BUE_Lage_nsprefix_ = None + self.ID_BUE_Anlage = ID_BUE_Anlage + self.ID_BUE_Anlage_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CSchloss_BUE) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CSchloss_BUE.subclass: + return CSchloss_BUE.subclass(*args_, **kwargs_) + else: + return CSchloss_BUE(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_BUE_Lage(self): + return self.BUE_Lage + def set_BUE_Lage(self, BUE_Lage): + self.BUE_Lage = BUE_Lage + def get_ID_BUE_Anlage(self): + return self.ID_BUE_Anlage + def set_ID_BUE_Anlage(self, ID_BUE_Anlage): + self.ID_BUE_Anlage = ID_BUE_Anlage + def has__content(self): + if ( + self.BUE_Lage is not None or + self.ID_BUE_Anlage is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSchluesselabhaengigkeiten:', namespacedef_='xmlns:nsSchluesselabhaengigkeiten="http://www.plan-pro.org/modell/Schluesselabhaengigkeiten/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CSchloss_BUE', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CSchloss_BUE') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CSchloss_BUE': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CSchloss_BUE') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CSchloss_BUE', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSchluesselabhaengigkeiten:', name_='CSchloss_BUE'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsSchluesselabhaengigkeiten:', namespacedef_='xmlns:nsSchluesselabhaengigkeiten="http://www.plan-pro.org/modell/Schluesselabhaengigkeiten/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CSchloss_BUE', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.BUE_Lage is not None: + namespaceprefix_ = self.BUE_Lage_nsprefix_ + ':' if (UseCapturedNS_ and self.BUE_Lage_nsprefix_) else '' + self.BUE_Lage.export(outfile, level, namespaceprefix_, namespacedef_='', name_='BUE_Lage', pretty_print=pretty_print) + if self.ID_BUE_Anlage is not None: + namespaceprefix_ = self.ID_BUE_Anlage_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_BUE_Anlage_nsprefix_) else '' + self.ID_BUE_Anlage.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_BUE_Anlage', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'BUE_Lage': + obj_ = TCBUE_Lage.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.BUE_Lage = obj_ + obj_.original_tagname_ = 'BUE_Lage' + elif nodeName_ == 'ID_BUE_Anlage': + obj_ = TCID_BUE_Anlage.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_BUE_Anlage = obj_ + obj_.original_tagname_ = 'ID_BUE_Anlage' +# end class CSchloss_BUE + + +class CSchloss(CBasis_Objekt): + """CSchloss -- Mechanisches Bauelement, das durch das Ein- oder Ausschlie + ß + en eines Schl + ü + ssels einen Riegel aus- oder einfahren l + ä + sst bzw. einen elektrischen Kontakt schlie + ß + t oder + ö + ffnet. Je nach verschlossenem Element wird die entsprechende Attributgruppe ausgew + ä + hlt: Bahn + ü + bergang, Gleissperre, Schlosskombination, Sonderanlage (z. B. bewegliche Br + ü + cke), Schl + ü + sselsperre, Weiche. DB-Regelwerk Auf dem Lageplan werden nach 819.9002 3 dargestellt: Schl + ö + sser durch ein Symbol (z. B. Schl + ü + sselsperre) oder zus + ä + tzliche Angaben zu anderen Symbolen (z. B. Weiche); Abh + ä + ngigkeiten durch eine Zeichnung mit wiederholter Darstellung der Schlossstellungen als gef + ü + lltes oder leeres Schl + ü + sselloch. + ID_Schluessel -- Verweis auf den zum Schloss geh + ö + rigen Schl + ü + ssel. DB-Regelwerk Lageplan, Logische Darstellung der Schl + ü + sselabh + ä + ngigkeit + Schluessel_In_Grdst_Eingeschl -- Schl + ü + ssel ist in Grundstellung eingeschlossen. + Technisch_Berechtigter -- Aufbewahrung des Schl + ü + ssels beim Technisch Berechtigten (true). Der Wert \"false\" wird nicht verwendet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasis_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, Bezeichnung=None, ID_Schluessel=None, Schluessel_In_Grdst_Eingeschl=None, Schloss_BUE=None, Schloss_Gsp=None, Schloss_Sk=None, Schloss_Sonderanlage=None, Schloss_Ssp=None, Schloss_W=None, Technisch_Berechtigter=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CSchloss"), self).__init__(Identitaet, Basis_Objekt_Allg, ID_Bearbeitungsvermerk, ID_Oertlichkeit_Ausgabe, Objektreferenzen, **kwargs_) + self.Bezeichnung = Bezeichnung + self.Bezeichnung_nsprefix_ = None + self.ID_Schluessel = ID_Schluessel + self.ID_Schluessel_nsprefix_ = None + self.Schluessel_In_Grdst_Eingeschl = Schluessel_In_Grdst_Eingeschl + self.Schluessel_In_Grdst_Eingeschl_nsprefix_ = None + self.Schloss_BUE = Schloss_BUE + self.Schloss_BUE_nsprefix_ = None + self.Schloss_Gsp = Schloss_Gsp + self.Schloss_Gsp_nsprefix_ = None + self.Schloss_Sk = Schloss_Sk + self.Schloss_Sk_nsprefix_ = None + self.Schloss_Sonderanlage = Schloss_Sonderanlage + self.Schloss_Sonderanlage_nsprefix_ = None + self.Schloss_Ssp = Schloss_Ssp + self.Schloss_Ssp_nsprefix_ = None + self.Schloss_W = Schloss_W + self.Schloss_W_nsprefix_ = None + self.Technisch_Berechtigter = Technisch_Berechtigter + self.Technisch_Berechtigter_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CSchloss) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CSchloss.subclass: + return CSchloss.subclass(*args_, **kwargs_) + else: + return CSchloss(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Bezeichnung(self): + return self.Bezeichnung + def set_Bezeichnung(self, Bezeichnung): + self.Bezeichnung = Bezeichnung + def get_ID_Schluessel(self): + return self.ID_Schluessel + def set_ID_Schluessel(self, ID_Schluessel): + self.ID_Schluessel = ID_Schluessel + def get_Schluessel_In_Grdst_Eingeschl(self): + return self.Schluessel_In_Grdst_Eingeschl + def set_Schluessel_In_Grdst_Eingeschl(self, Schluessel_In_Grdst_Eingeschl): + self.Schluessel_In_Grdst_Eingeschl = Schluessel_In_Grdst_Eingeschl + def get_Schloss_BUE(self): + return self.Schloss_BUE + def set_Schloss_BUE(self, Schloss_BUE): + self.Schloss_BUE = Schloss_BUE + def get_Schloss_Gsp(self): + return self.Schloss_Gsp + def set_Schloss_Gsp(self, Schloss_Gsp): + self.Schloss_Gsp = Schloss_Gsp + def get_Schloss_Sk(self): + return self.Schloss_Sk + def set_Schloss_Sk(self, Schloss_Sk): + self.Schloss_Sk = Schloss_Sk + def get_Schloss_Sonderanlage(self): + return self.Schloss_Sonderanlage + def set_Schloss_Sonderanlage(self, Schloss_Sonderanlage): + self.Schloss_Sonderanlage = Schloss_Sonderanlage + def get_Schloss_Ssp(self): + return self.Schloss_Ssp + def set_Schloss_Ssp(self, Schloss_Ssp): + self.Schloss_Ssp = Schloss_Ssp + def get_Schloss_W(self): + return self.Schloss_W + def set_Schloss_W(self, Schloss_W): + self.Schloss_W = Schloss_W + def get_Technisch_Berechtigter(self): + return self.Technisch_Berechtigter + def set_Technisch_Berechtigter(self, Technisch_Berechtigter): + self.Technisch_Berechtigter = Technisch_Berechtigter + def has__content(self): + if ( + self.Bezeichnung is not None or + self.ID_Schluessel is not None or + self.Schluessel_In_Grdst_Eingeschl is not None or + self.Schloss_BUE is not None or + self.Schloss_Gsp is not None or + self.Schloss_Sk is not None or + self.Schloss_Sonderanlage is not None or + self.Schloss_Ssp is not None or + self.Schloss_W is not None or + self.Technisch_Berechtigter is not None or + super(CSchloss, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSchluesselabhaengigkeiten:', namespacedef_='xmlns:nsSchluesselabhaengigkeiten="http://www.plan-pro.org/modell/Schluesselabhaengigkeiten/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CSchloss', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CSchloss') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CSchloss': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CSchloss') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CSchloss', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSchluesselabhaengigkeiten:', name_='CSchloss'): + super(CSchloss, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CSchloss') + def _exportChildren(self, outfile, level, namespaceprefix_='nsSchluesselabhaengigkeiten:', namespacedef_='xmlns:nsSchluesselabhaengigkeiten="http://www.plan-pro.org/modell/Schluesselabhaengigkeiten/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CSchloss', fromsubclass_=False, pretty_print=True): + super(CSchloss, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Bezeichnung is not None: + namespaceprefix_ = self.Bezeichnung_nsprefix_ + ':' if (UseCapturedNS_ and self.Bezeichnung_nsprefix_) else '' + self.Bezeichnung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Bezeichnung', pretty_print=pretty_print) + if self.ID_Schluessel is not None: + namespaceprefix_ = self.ID_Schluessel_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Schluessel_nsprefix_) else '' + self.ID_Schluessel.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Schluessel', pretty_print=pretty_print) + if self.Schluessel_In_Grdst_Eingeschl is not None: + namespaceprefix_ = self.Schluessel_In_Grdst_Eingeschl_nsprefix_ + ':' if (UseCapturedNS_ and self.Schluessel_In_Grdst_Eingeschl_nsprefix_) else '' + self.Schluessel_In_Grdst_Eingeschl.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Schluessel_In_Grdst_Eingeschl', pretty_print=pretty_print) + if self.Schloss_BUE is not None: + namespaceprefix_ = self.Schloss_BUE_nsprefix_ + ':' if (UseCapturedNS_ and self.Schloss_BUE_nsprefix_) else '' + self.Schloss_BUE.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Schloss_BUE', pretty_print=pretty_print) + if self.Schloss_Gsp is not None: + namespaceprefix_ = self.Schloss_Gsp_nsprefix_ + ':' if (UseCapturedNS_ and self.Schloss_Gsp_nsprefix_) else '' + self.Schloss_Gsp.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Schloss_Gsp', pretty_print=pretty_print) + if self.Schloss_Sk is not None: + namespaceprefix_ = self.Schloss_Sk_nsprefix_ + ':' if (UseCapturedNS_ and self.Schloss_Sk_nsprefix_) else '' + self.Schloss_Sk.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Schloss_Sk', pretty_print=pretty_print) + if self.Schloss_Sonderanlage is not None: + namespaceprefix_ = self.Schloss_Sonderanlage_nsprefix_ + ':' if (UseCapturedNS_ and self.Schloss_Sonderanlage_nsprefix_) else '' + self.Schloss_Sonderanlage.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Schloss_Sonderanlage', pretty_print=pretty_print) + if self.Schloss_Ssp is not None: + namespaceprefix_ = self.Schloss_Ssp_nsprefix_ + ':' if (UseCapturedNS_ and self.Schloss_Ssp_nsprefix_) else '' + self.Schloss_Ssp.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Schloss_Ssp', pretty_print=pretty_print) + if self.Schloss_W is not None: + namespaceprefix_ = self.Schloss_W_nsprefix_ + ':' if (UseCapturedNS_ and self.Schloss_W_nsprefix_) else '' + self.Schloss_W.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Schloss_W', pretty_print=pretty_print) + if self.Technisch_Berechtigter is not None: + namespaceprefix_ = self.Technisch_Berechtigter_nsprefix_ + ':' if (UseCapturedNS_ and self.Technisch_Berechtigter_nsprefix_) else '' + self.Technisch_Berechtigter.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Technisch_Berechtigter', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CSchloss, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Bezeichnung': + obj_ = CSchloss_Bezeichnung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Bezeichnung = obj_ + obj_.original_tagname_ = 'Bezeichnung' + elif nodeName_ == 'ID_Schluessel': + obj_ = TCID_Schluessel.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Schluessel = obj_ + obj_.original_tagname_ = 'ID_Schluessel' + elif nodeName_ == 'Schluessel_In_Grdst_Eingeschl': + obj_ = TCSchluessel_In_Grdst_Eingeschl.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Schluessel_In_Grdst_Eingeschl = obj_ + obj_.original_tagname_ = 'Schluessel_In_Grdst_Eingeschl' + elif nodeName_ == 'Schloss_BUE': + obj_ = CSchloss_BUE.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Schloss_BUE = obj_ + obj_.original_tagname_ = 'Schloss_BUE' + elif nodeName_ == 'Schloss_Gsp': + obj_ = CSchloss_Gsp.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Schloss_Gsp = obj_ + obj_.original_tagname_ = 'Schloss_Gsp' + elif nodeName_ == 'Schloss_Sk': + obj_ = CSchloss_Sk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Schloss_Sk = obj_ + obj_.original_tagname_ = 'Schloss_Sk' + elif nodeName_ == 'Schloss_Sonderanlage': + obj_ = CSchloss_Sonderanlage.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Schloss_Sonderanlage = obj_ + obj_.original_tagname_ = 'Schloss_Sonderanlage' + elif nodeName_ == 'Schloss_Ssp': + obj_ = CSchloss_Ssp.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Schloss_Ssp = obj_ + obj_.original_tagname_ = 'Schloss_Ssp' + elif nodeName_ == 'Schloss_W': + obj_ = CSchloss_W.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Schloss_W = obj_ + obj_.original_tagname_ = 'Schloss_W' + elif nodeName_ == 'Technisch_Berechtigter': + obj_ = TCTechnisch_Berechtigter.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Technisch_Berechtigter = obj_ + obj_.original_tagname_ = 'Technisch_Berechtigter' + super(CSchloss, self)._buildChildren(child_, node, nodeName_, True) +# end class CSchloss + + +class TCBezeichnung_Schluessel(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCBezeichnung_Schluessel"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TBezeichnung_Schluessel(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCBezeichnung_Schluessel) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCBezeichnung_Schluessel.subclass: + return TCBezeichnung_Schluessel.subclass(*args_, **kwargs_) + else: + return TCBezeichnung_Schluessel(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TBezeichnung_Schluessel(self, value): + result = True + # Validate type TBezeichnung_Schluessel, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TBezeichnung_Schluessel_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TBezeichnung_Schluessel_patterns_, )) + result = False + return result + validate_TBezeichnung_Schluessel_patterns_ = [['^(.{1,20})$'], ['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCBezeichnung_Schluessel, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSchluesselabhaengigkeiten:', namespacedef_='xmlns:nsSchluesselabhaengigkeiten="http://www.plan-pro.org/modell/Schluesselabhaengigkeiten/1.10.0"', name_='TCBezeichnung_Schluessel', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCBezeichnung_Schluessel') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCBezeichnung_Schluessel': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBezeichnung_Schluessel') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCBezeichnung_Schluessel', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSchluesselabhaengigkeiten:', name_='TCBezeichnung_Schluessel'): + super(TCBezeichnung_Schluessel, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBezeichnung_Schluessel') + def _exportChildren(self, outfile, level, namespaceprefix_='nsSchluesselabhaengigkeiten:', namespacedef_='xmlns:nsSchluesselabhaengigkeiten="http://www.plan-pro.org/modell/Schluesselabhaengigkeiten/1.10.0"', name_='TCBezeichnung_Schluessel', fromsubclass_=False, pretty_print=True): + super(TCBezeichnung_Schluessel, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCBezeichnung_Schluessel, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TBezeichnung_Schluessel + self.validate_TBezeichnung_Schluessel(self.Wert) + super(TCBezeichnung_Schluessel, self)._buildChildren(child_, node, nodeName_, True) +# end class TCBezeichnung_Schluessel + + +class CSchluessel(CBasis_Objekt): + """CSchluessel -- Sicherungstechnisches Element zur Herstellung von Schl + ü + sselabh + ä + ngigkeiten + ü + ber Schl + ö + sser an Elementen. Der Schl + ü + ssel im sicherungstechnischen Sinn ist ein repr + ä + sentativer und innerhalb einer + Ö + rtlichkeit einmaliger Gegenstand. Durch den Besitz des Schl + ü + ssels kann sicher und eindeutig auf einen bestimmten Anlagenzustand geschlossen werden. Somit k + ö + nnen durch Verkn + ü + pfung mit weiteren Fahrwegelementen oder einer informationsverarbeitenden Einheit sichere Abh + ä + ngigkeiten geschaffen werden. In der Regel gibt es + ö + rtlich immer zwei gleich schlie + ß + ende Schl + ö + sser, selten mehr. Wird eine Schl + ü + sselsperre nur als Schalter benutzt (z. B. um Fahrstra + ß + en zu sperren), gibt es zu einem Schl + ü + ssel nur ein Schloss. Um die + ö + rtliche Einmaligkeit herzustellen, darf eine Schl + ü + sselform nur einmal innerhalb einer Betriebsstelle oder besser noch eines Streckenabschnitts verwendet werden. Dazu sind 24 verschiedene Schl + ü + sselbartformen vorhanden, die mit sechs Schl + ü + sselgruppen kombiniert werden k + ö + nnen. Nicht jede Bartform wird mit jeder Gruppe kombiniert. So stehen insgesamt 92 verschiedene Schl + ü + sselformen zur Verf + ü + gung. DB-Regelwerk Die Planung der Schl + ü + sselformen ist bisher nicht Bestandteil des PT1. F + ü + r die Formen existieren Regelzeichnungen. + Bezeichnung -- Attributgruppe zur Bezeichnung von Stell- und sonstigen Elementen. Sofern ausreichend, wird an dieser Stelle + ü + ber Vererbung die Basisattributgruppe Bezeichnung Element eingebunden. Ist die Abbildung mit den Attributen der Basisattributgruppe nicht m + ö + glich (z. B. wegen spezieller Patternvorgabe) oder nicht sinnvoll (z. B. weil eine Unterscheidung nach Bezeichnung_Lageplan_..., Bezeichnung_Tabelle und Bezeichnung_Aussenanlage (Pflichtattribute!) nicht notwendig ist), werden in der Attributgruppe Bezeichnung entsprechende objektspezifische Bezeichnungsattribute modelliert. Diese sind nach dem Schema Bezeichnung_[Objektname] zu benennen. Zudem ist es m + ö + glich, gleichzeitig die Basisattributgruppe Bezeichnung Element und objektspezifische Attribute einzubinden. Siehe auch Bildung der Bezeichnungen. DB-Regelwerk Sicherungstechnischer Lage- und + Ü + bersichtsplan, B + Ü + -Lageplan Planungstabellen + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasis_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, Bezeichnung=None, Schluessel_Allg=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CSchluessel"), self).__init__(Identitaet, Basis_Objekt_Allg, ID_Bearbeitungsvermerk, ID_Oertlichkeit_Ausgabe, Objektreferenzen, **kwargs_) + self.Bezeichnung = Bezeichnung + self.Bezeichnung_nsprefix_ = None + self.Schluessel_Allg = Schluessel_Allg + self.Schluessel_Allg_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CSchluessel) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CSchluessel.subclass: + return CSchluessel.subclass(*args_, **kwargs_) + else: + return CSchluessel(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Bezeichnung(self): + return self.Bezeichnung + def set_Bezeichnung(self, Bezeichnung): + self.Bezeichnung = Bezeichnung + def get_Schluessel_Allg(self): + return self.Schluessel_Allg + def set_Schluessel_Allg(self, Schluessel_Allg): + self.Schluessel_Allg = Schluessel_Allg + def has__content(self): + if ( + self.Bezeichnung is not None or + self.Schluessel_Allg is not None or + super(CSchluessel, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSchluesselabhaengigkeiten:', namespacedef_='xmlns:nsSchluesselabhaengigkeiten="http://www.plan-pro.org/modell/Schluesselabhaengigkeiten/1.10.0"', name_='CSchluessel', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CSchluessel') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CSchluessel': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CSchluessel') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CSchluessel', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSchluesselabhaengigkeiten:', name_='CSchluessel'): + super(CSchluessel, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CSchluessel') + def _exportChildren(self, outfile, level, namespaceprefix_='nsSchluesselabhaengigkeiten:', namespacedef_='xmlns:nsSchluesselabhaengigkeiten="http://www.plan-pro.org/modell/Schluesselabhaengigkeiten/1.10.0"', name_='CSchluessel', fromsubclass_=False, pretty_print=True): + super(CSchluessel, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Bezeichnung is not None: + namespaceprefix_ = self.Bezeichnung_nsprefix_ + ':' if (UseCapturedNS_ and self.Bezeichnung_nsprefix_) else '' + self.Bezeichnung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Bezeichnung', pretty_print=pretty_print) + if self.Schluessel_Allg is not None: + namespaceprefix_ = self.Schluessel_Allg_nsprefix_ + ':' if (UseCapturedNS_ and self.Schluessel_Allg_nsprefix_) else '' + self.Schluessel_Allg.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Schluessel_Allg', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CSchluessel, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Bezeichnung': + obj_ = CSchluessel_Bezeichnung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Bezeichnung = obj_ + obj_.original_tagname_ = 'Bezeichnung' + elif nodeName_ == 'Schluessel_Allg': + obj_ = CSchluessel_Allg.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Schluessel_Allg = obj_ + obj_.original_tagname_ = 'Schluessel_Allg' + super(CSchluessel, self)._buildChildren(child_, node, nodeName_, True) +# end class CSchluessel + + +class CSchloss_Bezeichnung(CBasis_Objekt): + """Bezeichnung_Schloss -- Bezeichnung des Schlosses, die sich im Regelfall aus dem zu verschlie + ß + enden Element ergibt, ggf. zuz + ü + glich dessen Lage. Bei einer Schl + ü + sselsperre/Schlosskombination entspricht die Bezeichnung der Bezeichnung der Schl + ü + sselsperre/ Schlosskombination. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasis_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, Bezeichnung_Schloss=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CSchloss_Bezeichnung"), self).__init__(Identitaet, Basis_Objekt_Allg, ID_Bearbeitungsvermerk, ID_Oertlichkeit_Ausgabe, Objektreferenzen, **kwargs_) + self.Bezeichnung_Schloss = Bezeichnung_Schloss + self.Bezeichnung_Schloss_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CSchloss_Bezeichnung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CSchloss_Bezeichnung.subclass: + return CSchloss_Bezeichnung.subclass(*args_, **kwargs_) + else: + return CSchloss_Bezeichnung(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Bezeichnung_Schloss(self): + return self.Bezeichnung_Schloss + def set_Bezeichnung_Schloss(self, Bezeichnung_Schloss): + self.Bezeichnung_Schloss = Bezeichnung_Schloss + def has__content(self): + if ( + self.Bezeichnung_Schloss is not None or + super(CSchloss_Bezeichnung, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSchluesselabhaengigkeiten:', namespacedef_='xmlns:nsSchluesselabhaengigkeiten="http://www.plan-pro.org/modell/Schluesselabhaengigkeiten/1.10.0"', name_='CSchloss_Bezeichnung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CSchloss_Bezeichnung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CSchloss_Bezeichnung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CSchloss_Bezeichnung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CSchloss_Bezeichnung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSchluesselabhaengigkeiten:', name_='CSchloss_Bezeichnung'): + super(CSchloss_Bezeichnung, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CSchloss_Bezeichnung') + def _exportChildren(self, outfile, level, namespaceprefix_='nsSchluesselabhaengigkeiten:', namespacedef_='xmlns:nsSchluesselabhaengigkeiten="http://www.plan-pro.org/modell/Schluesselabhaengigkeiten/1.10.0"', name_='CSchloss_Bezeichnung', fromsubclass_=False, pretty_print=True): + super(CSchloss_Bezeichnung, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Bezeichnung_Schloss is not None: + namespaceprefix_ = self.Bezeichnung_Schloss_nsprefix_ + ':' if (UseCapturedNS_ and self.Bezeichnung_Schloss_nsprefix_) else '' + self.Bezeichnung_Schloss.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Bezeichnung_Schloss', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CSchloss_Bezeichnung, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Bezeichnung_Schloss': + obj_ = TCBezeichnung_Schloss.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Bezeichnung_Schloss = obj_ + obj_.original_tagname_ = 'Bezeichnung_Schloss' + super(CSchloss_Bezeichnung, self)._buildChildren(child_, node, nodeName_, True) +# end class CSchloss_Bezeichnung + + +class TCW_Anbaulage(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCW_Anbaulage"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TW_Anbaulage(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCW_Anbaulage) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCW_Anbaulage.subclass: + return TCW_Anbaulage.subclass(*args_, **kwargs_) + else: + return TCW_Anbaulage(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TW_Anbaulage(self, value): + result = True + # Validate type TW_Anbaulage, a restriction on nsBasisTypen:TLinksRechts. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['links', 'rechts'] + 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 TW_Anbaulage' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCW_Anbaulage, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSchluesselabhaengigkeiten:', namespacedef_='xmlns:nsSchluesselabhaengigkeiten="http://www.plan-pro.org/modell/Schluesselabhaengigkeiten/1.10.0"', name_='TCW_Anbaulage', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCW_Anbaulage') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCW_Anbaulage': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCW_Anbaulage') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCW_Anbaulage', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSchluesselabhaengigkeiten:', name_='TCW_Anbaulage'): + super(TCW_Anbaulage, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCW_Anbaulage') + def _exportChildren(self, outfile, level, namespaceprefix_='nsSchluesselabhaengigkeiten:', namespacedef_='xmlns:nsSchluesselabhaengigkeiten="http://www.plan-pro.org/modell/Schluesselabhaengigkeiten/1.10.0"', name_='TCW_Anbaulage', fromsubclass_=False, pretty_print=True): + super(TCW_Anbaulage, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCW_Anbaulage, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TW_Anbaulage + self.validate_TW_Anbaulage(self.Wert) + super(TCW_Anbaulage, self)._buildChildren(child_, node, nodeName_, True) +# end class TCW_Anbaulage + + +class CSchlosskombination_Bezeichnung(GeneratedsSuper): + """Bezeichnung_Sk -- Bezeichnung der Schlosskombination. Zuk + ü + nftige Regel zur Bezeichnung einer Schlosskombination: \"Sk\" + Kurz- oder Langbezeichnung des zum Hauptschl + ü + ssel geh + ö + renden, korrespondierenden Schlosses. Bei mehreren Hauptschl + ü + sseln ist das Schloss mit der niedrigeren Bezeichnung ma + ß + gebend. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Bezeichnung_Sk=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Bezeichnung_Sk = Bezeichnung_Sk + self.Bezeichnung_Sk_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CSchlosskombination_Bezeichnung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CSchlosskombination_Bezeichnung.subclass: + return CSchlosskombination_Bezeichnung.subclass(*args_, **kwargs_) + else: + return CSchlosskombination_Bezeichnung(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Bezeichnung_Sk(self): + return self.Bezeichnung_Sk + def set_Bezeichnung_Sk(self, Bezeichnung_Sk): + self.Bezeichnung_Sk = Bezeichnung_Sk + def has__content(self): + if ( + self.Bezeichnung_Sk is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSchluesselabhaengigkeiten:', namespacedef_='xmlns:nsSchluesselabhaengigkeiten="http://www.plan-pro.org/modell/Schluesselabhaengigkeiten/1.10.0"', name_='CSchlosskombination_Bezeichnung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CSchlosskombination_Bezeichnung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CSchlosskombination_Bezeichnung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CSchlosskombination_Bezeichnung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CSchlosskombination_Bezeichnung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSchluesselabhaengigkeiten:', name_='CSchlosskombination_Bezeichnung'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsSchluesselabhaengigkeiten:', namespacedef_='xmlns:nsSchluesselabhaengigkeiten="http://www.plan-pro.org/modell/Schluesselabhaengigkeiten/1.10.0"', name_='CSchlosskombination_Bezeichnung', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Bezeichnung_Sk is not None: + namespaceprefix_ = self.Bezeichnung_Sk_nsprefix_ + ':' if (UseCapturedNS_ and self.Bezeichnung_Sk_nsprefix_) else '' + self.Bezeichnung_Sk.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Bezeichnung_Sk', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Bezeichnung_Sk': + obj_ = TCBezeichnung_Sk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Bezeichnung_Sk = obj_ + obj_.original_tagname_ = 'Bezeichnung_Sk' +# end class CSchlosskombination_Bezeichnung + + +class TCSchluessel_In_Grdst_Eingeschl(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCSchluessel_In_Grdst_Eingeschl"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCSchluessel_In_Grdst_Eingeschl) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCSchluessel_In_Grdst_Eingeschl.subclass: + return TCSchluessel_In_Grdst_Eingeschl.subclass(*args_, **kwargs_) + else: + return TCSchluessel_In_Grdst_Eingeschl(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def has__content(self): + if ( + self.Wert is not None or + super(TCSchluessel_In_Grdst_Eingeschl, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSchluesselabhaengigkeiten:', namespacedef_='xmlns:nsSchluesselabhaengigkeiten="http://www.plan-pro.org/modell/Schluesselabhaengigkeiten/1.10.0"', name_='TCSchluessel_In_Grdst_Eingeschl', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCSchluessel_In_Grdst_Eingeschl') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCSchluessel_In_Grdst_Eingeschl': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCSchluessel_In_Grdst_Eingeschl') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCSchluessel_In_Grdst_Eingeschl', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSchluesselabhaengigkeiten:', name_='TCSchluessel_In_Grdst_Eingeschl'): + super(TCSchluessel_In_Grdst_Eingeschl, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCSchluessel_In_Grdst_Eingeschl') + def _exportChildren(self, outfile, level, namespaceprefix_='nsSchluesselabhaengigkeiten:', namespacedef_='xmlns:nsSchluesselabhaengigkeiten="http://www.plan-pro.org/modell/Schluesselabhaengigkeiten/1.10.0"', name_='TCSchluessel_In_Grdst_Eingeschl', fromsubclass_=False, pretty_print=True): + super(TCSchluessel_In_Grdst_Eingeschl, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_boolean(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCSchluessel_In_Grdst_Eingeschl, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + sval_ = child_.text + ival_ = self.gds_parse_boolean(sval_, node, 'Wert') + ival_ = self.gds_validate_boolean(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + super(TCSchluessel_In_Grdst_Eingeschl, self)._buildChildren(child_, node, nodeName_, True) +# end class TCSchluessel_In_Grdst_Eingeschl + + +class TCBUE_Lage(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCBUE_Lage"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMBUE_Lage(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCBUE_Lage) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCBUE_Lage.subclass: + return TCBUE_Lage.subclass(*args_, **kwargs_) + else: + return TCBUE_Lage(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMBUE_Lage(self, value): + result = True + # Validate type ENUMBUE_Lage, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['geoeffnet', 'geschlossen'] + 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 ENUMBUE_Lage' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCBUE_Lage, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSchluesselabhaengigkeiten:', namespacedef_='xmlns:nsSchluesselabhaengigkeiten="http://www.plan-pro.org/modell/Schluesselabhaengigkeiten/1.10.0"', name_='TCBUE_Lage', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCBUE_Lage') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCBUE_Lage': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBUE_Lage') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCBUE_Lage', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSchluesselabhaengigkeiten:', name_='TCBUE_Lage'): + super(TCBUE_Lage, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBUE_Lage') + def _exportChildren(self, outfile, level, namespaceprefix_='nsSchluesselabhaengigkeiten:', namespacedef_='xmlns:nsSchluesselabhaengigkeiten="http://www.plan-pro.org/modell/Schluesselabhaengigkeiten/1.10.0"', name_='TCBUE_Lage', fromsubclass_=False, pretty_print=True): + super(TCBUE_Lage, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCBUE_Lage, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMBUE_Lage + self.validate_ENUMBUE_Lage(self.Wert) + super(TCBUE_Lage, self)._buildChildren(child_, node, nodeName_, True) +# end class TCBUE_Lage + + +class TCBeschreibung_Sonderanlage(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCBeschreibung_Sonderanlage"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TBeschreibung_Sonderanlage(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCBeschreibung_Sonderanlage) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCBeschreibung_Sonderanlage.subclass: + return TCBeschreibung_Sonderanlage.subclass(*args_, **kwargs_) + else: + return TCBeschreibung_Sonderanlage(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TBeschreibung_Sonderanlage(self, value): + result = True + # Validate type TBeschreibung_Sonderanlage, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TBeschreibung_Sonderanlage_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TBeschreibung_Sonderanlage_patterns_, )) + result = False + return result + validate_TBeschreibung_Sonderanlage_patterns_ = [['^(.{1,50})$'], ['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCBeschreibung_Sonderanlage, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSchluesselabhaengigkeiten:', namespacedef_='xmlns:nsSchluesselabhaengigkeiten="http://www.plan-pro.org/modell/Schluesselabhaengigkeiten/1.10.0"', name_='TCBeschreibung_Sonderanlage', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCBeschreibung_Sonderanlage') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCBeschreibung_Sonderanlage': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBeschreibung_Sonderanlage') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCBeschreibung_Sonderanlage', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSchluesselabhaengigkeiten:', name_='TCBeschreibung_Sonderanlage'): + super(TCBeschreibung_Sonderanlage, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBeschreibung_Sonderanlage') + def _exportChildren(self, outfile, level, namespaceprefix_='nsSchluesselabhaengigkeiten:', namespacedef_='xmlns:nsSchluesselabhaengigkeiten="http://www.plan-pro.org/modell/Schluesselabhaengigkeiten/1.10.0"', name_='TCBeschreibung_Sonderanlage', fromsubclass_=False, pretty_print=True): + super(TCBeschreibung_Sonderanlage, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCBeschreibung_Sonderanlage, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TBeschreibung_Sonderanlage + self.validate_TBeschreibung_Sonderanlage(self.Wert) + super(TCBeschreibung_Sonderanlage, self)._buildChildren(child_, node, nodeName_, True) +# end class TCBeschreibung_Sonderanlage + + +class CSchlosskombination(CBasis_Objekt): + """CSchlosskombination -- Mechanische Einrichtung zur Freigabe mehrerer (abh + ä + ngiger) Schl + ü + ssel durch einen (Haupt-) Schl + ü + ssel. Der Hauptschl + ü + ssel wird so lange festgehalten, wie mindestens ein Riegel der abh + ä + ngigen Schl + ö + sser ausgefahren ist. In der Regel besteht die Grundstellung darin, dass der Hauptschl + ü + ssel entfernt und die abh + ä + ngigen Schl + ü + ssel eingeschlossen sind. DB-Regelwerk Darstellung durch Zeichnung im Lageplan. Eine aktuelle Ril dazu existiert nicht, es werden alte Zeichnungsstandards verwendet. + Bezeichnung -- Attributgruppe zur Bezeichnung von Stell- und sonstigen Elementen. Sofern ausreichend, wird an dieser Stelle + ü + ber Vererbung die Basisattributgruppe Bezeichnung Element eingebunden. Ist die Abbildung mit den Attributen der Basisattributgruppe nicht m + ö + glich (z. B. wegen spezieller Patternvorgabe) oder nicht sinnvoll (z. B. weil eine Unterscheidung nach Bezeichnung_Lageplan_..., Bezeichnung_Tabelle und Bezeichnung_Aussenanlage (Pflichtattribute!) nicht notwendig ist), werden in der Attributgruppe Bezeichnung entsprechende objektspezifische Bezeichnungsattribute modelliert. Diese sind nach dem Schema Bezeichnung_[Objektname] zu benennen. Zudem ist es m + ö + glich, gleichzeitig die Basisattributgruppe Bezeichnung Element und objektspezifische Attribute einzubinden. Siehe auch Bildung der Bezeichnungen. DB-Regelwerk Sicherungstechnischer Lage- und + Ü + bersichtsplan, B + Ü + -Lageplan Planungstabellen + ID_Unterbringung -- Verweis auf den physischen Ort der Unterbringung von Aussenelementansteuerung, Bedien Einrichtung Oertlich, Bedien Platz, ESTW Zentraleinheit, PZB Element, Schlosskombination, Schluesselsperre und ZN. F + ü + r das PZB Element wird der Verweis nur f + ü + r eine G + Ü + gef + ü + llt - mit der Bedeutung: G + Ü + -Schaltkasten. F + ü + r die ZN ist der Verweis optional, da im Planungswerkzeug ZN/ZL keine Bef + ü + llung aller der f + ü + r die Unterbringung notwendigen Attribute m + ö + glich ist. DB-Regelwerk Darstellung des Geb + ä + udes, der Bediens + ä + ule bzw. des Schaltkastens im sicherungstechnischen Lageplan nach Ril 819.9002 oder Beschreibung im Erl + ä + uterungsbericht. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasis_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, Bezeichnung=None, ID_Unterbringung=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CSchlosskombination"), self).__init__(Identitaet, Basis_Objekt_Allg, ID_Bearbeitungsvermerk, ID_Oertlichkeit_Ausgabe, Objektreferenzen, **kwargs_) + self.Bezeichnung = Bezeichnung + self.Bezeichnung_nsprefix_ = None + self.ID_Unterbringung = ID_Unterbringung + self.ID_Unterbringung_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CSchlosskombination) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CSchlosskombination.subclass: + return CSchlosskombination.subclass(*args_, **kwargs_) + else: + return CSchlosskombination(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Bezeichnung(self): + return self.Bezeichnung + def set_Bezeichnung(self, Bezeichnung): + self.Bezeichnung = Bezeichnung + def get_ID_Unterbringung(self): + return self.ID_Unterbringung + def set_ID_Unterbringung(self, ID_Unterbringung): + self.ID_Unterbringung = ID_Unterbringung + def has__content(self): + if ( + self.Bezeichnung is not None or + self.ID_Unterbringung is not None or + super(CSchlosskombination, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSchluesselabhaengigkeiten:', namespacedef_='xmlns:nsSchluesselabhaengigkeiten="http://www.plan-pro.org/modell/Schluesselabhaengigkeiten/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CSchlosskombination', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CSchlosskombination') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CSchlosskombination': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CSchlosskombination') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CSchlosskombination', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSchluesselabhaengigkeiten:', name_='CSchlosskombination'): + super(CSchlosskombination, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CSchlosskombination') + def _exportChildren(self, outfile, level, namespaceprefix_='nsSchluesselabhaengigkeiten:', namespacedef_='xmlns:nsSchluesselabhaengigkeiten="http://www.plan-pro.org/modell/Schluesselabhaengigkeiten/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CSchlosskombination', fromsubclass_=False, pretty_print=True): + super(CSchlosskombination, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Bezeichnung is not None: + namespaceprefix_ = self.Bezeichnung_nsprefix_ + ':' if (UseCapturedNS_ and self.Bezeichnung_nsprefix_) else '' + self.Bezeichnung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Bezeichnung', pretty_print=pretty_print) + if self.ID_Unterbringung is not None: + namespaceprefix_ = self.ID_Unterbringung_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Unterbringung_nsprefix_) else '' + self.ID_Unterbringung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Unterbringung', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CSchlosskombination, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Bezeichnung': + obj_ = CSchlosskombination_Bezeichnung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Bezeichnung = obj_ + obj_.original_tagname_ = 'Bezeichnung' + elif nodeName_ == 'ID_Unterbringung': + obj_ = TCID_Unterbringung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Unterbringung = obj_ + obj_.original_tagname_ = 'ID_Unterbringung' + super(CSchlosskombination, self)._buildChildren(child_, node, nodeName_, True) +# end class CSchlosskombination + + +class TCSchloss_Art(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCSchloss_Art"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMSchloss_Art(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCSchloss_Art) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCSchloss_Art.subclass: + return TCSchloss_Art.subclass(*args_, **kwargs_) + else: + return TCSchloss_Art(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMSchloss_Art(self, value): + result = True + # Validate type ENUMSchloss_Art, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['HV_73', 'Prueferschieber_abschliessbar', 'Riegelhandschloss', 'sonstige', 'Weichenschloss', 'Zungensperre'] + 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 ENUMSchloss_Art' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCSchloss_Art, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSchluesselabhaengigkeiten:', namespacedef_='xmlns:nsSchluesselabhaengigkeiten="http://www.plan-pro.org/modell/Schluesselabhaengigkeiten/1.10.0"', name_='TCSchloss_Art', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCSchloss_Art') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCSchloss_Art': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCSchloss_Art') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCSchloss_Art', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSchluesselabhaengigkeiten:', name_='TCSchloss_Art'): + super(TCSchloss_Art, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCSchloss_Art') + def _exportChildren(self, outfile, level, namespaceprefix_='nsSchluesselabhaengigkeiten:', namespacedef_='xmlns:nsSchluesselabhaengigkeiten="http://www.plan-pro.org/modell/Schluesselabhaengigkeiten/1.10.0"', name_='TCSchloss_Art', fromsubclass_=False, pretty_print=True): + super(TCSchloss_Art, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCSchloss_Art, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMSchloss_Art + self.validate_ENUMSchloss_Art(self.Wert) + super(TCSchloss_Art, self)._buildChildren(child_, node, nodeName_, True) +# end class TCSchloss_Art + + +class TCW_Lage(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCW_Lage"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TW_Lage(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCW_Lage) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCW_Lage.subclass: + return TCW_Lage.subclass(*args_, **kwargs_) + else: + return TCW_Lage(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TW_Lage(self, value): + result = True + # Validate type TW_Lage, a restriction on nsBasisTypen:TLinksRechts. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['links', 'rechts'] + 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 TW_Lage' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCW_Lage, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSchluesselabhaengigkeiten:', namespacedef_='xmlns:nsSchluesselabhaengigkeiten="http://www.plan-pro.org/modell/Schluesselabhaengigkeiten/1.10.0"', name_='TCW_Lage', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCW_Lage') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCW_Lage': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCW_Lage') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCW_Lage', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSchluesselabhaengigkeiten:', name_='TCW_Lage'): + super(TCW_Lage, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCW_Lage') + def _exportChildren(self, outfile, level, namespaceprefix_='nsSchluesselabhaengigkeiten:', namespacedef_='xmlns:nsSchluesselabhaengigkeiten="http://www.plan-pro.org/modell/Schluesselabhaengigkeiten/1.10.0"', name_='TCW_Lage', fromsubclass_=False, pretty_print=True): + super(TCW_Lage, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCW_Lage, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TW_Lage + self.validate_TW_Lage(self.Wert) + super(TCW_Lage, self)._buildChildren(child_, node, nodeName_, True) +# end class TCW_Lage + + +class TCSchluessel_Bartform(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCSchluessel_Bartform"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMSchluessel_Bartform(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCSchluessel_Bartform) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCSchluessel_Bartform.subclass: + return TCSchluessel_Bartform.subclass(*args_, **kwargs_) + else: + return TCSchluessel_Bartform(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMSchluessel_Bartform(self, value): + result = True + # Validate type ENUMSchluessel_Bartform, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'z'] + 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 ENUMSchluessel_Bartform' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCSchluessel_Bartform, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSchluesselabhaengigkeiten:', namespacedef_='xmlns:nsSchluesselabhaengigkeiten="http://www.plan-pro.org/modell/Schluesselabhaengigkeiten/1.10.0"', name_='TCSchluessel_Bartform', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCSchluessel_Bartform') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCSchluessel_Bartform': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCSchluessel_Bartform') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCSchluessel_Bartform', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSchluesselabhaengigkeiten:', name_='TCSchluessel_Bartform'): + super(TCSchluessel_Bartform, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCSchluessel_Bartform') + def _exportChildren(self, outfile, level, namespaceprefix_='nsSchluesselabhaengigkeiten:', namespacedef_='xmlns:nsSchluesselabhaengigkeiten="http://www.plan-pro.org/modell/Schluesselabhaengigkeiten/1.10.0"', name_='TCSchluessel_Bartform', fromsubclass_=False, pretty_print=True): + super(TCSchluessel_Bartform, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCSchluessel_Bartform, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMSchluessel_Bartform + self.validate_ENUMSchluessel_Bartform(self.Wert) + super(TCSchluessel_Bartform, self)._buildChildren(child_, node, nodeName_, True) +# end class TCSchluessel_Bartform + + +class TCHauptschloss(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCHauptschloss"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCHauptschloss) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCHauptschloss.subclass: + return TCHauptschloss.subclass(*args_, **kwargs_) + else: + return TCHauptschloss(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def has__content(self): + if ( + self.Wert is not None or + super(TCHauptschloss, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSchluesselabhaengigkeiten:', namespacedef_='xmlns:nsSchluesselabhaengigkeiten="http://www.plan-pro.org/modell/Schluesselabhaengigkeiten/1.10.0"', name_='TCHauptschloss', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCHauptschloss') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCHauptschloss': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCHauptschloss') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCHauptschloss', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSchluesselabhaengigkeiten:', name_='TCHauptschloss'): + super(TCHauptschloss, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCHauptschloss') + def _exportChildren(self, outfile, level, namespaceprefix_='nsSchluesselabhaengigkeiten:', namespacedef_='xmlns:nsSchluesselabhaengigkeiten="http://www.plan-pro.org/modell/Schluesselabhaengigkeiten/1.10.0"', name_='TCHauptschloss', fromsubclass_=False, pretty_print=True): + super(TCHauptschloss, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_boolean(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCHauptschloss, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + sval_ = child_.text + ival_ = self.gds_parse_boolean(sval_, node, 'Wert') + ival_ = self.gds_validate_boolean(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + super(TCHauptschloss, self)._buildChildren(child_, node, nodeName_, True) +# end class TCHauptschloss + + +class CSchloss_Sk(GeneratedsSuper): + """Hauptschloss -- Schloss ist das Hauptschloss der Schlosskombination. + ID_Schlosskombination -- Verweis auf die Schlosskombination, zu der das Schloss geh + ö + rt. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Hauptschloss=None, ID_Schlosskombination=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Hauptschloss = Hauptschloss + self.Hauptschloss_nsprefix_ = None + self.ID_Schlosskombination = ID_Schlosskombination + self.ID_Schlosskombination_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CSchloss_Sk) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CSchloss_Sk.subclass: + return CSchloss_Sk.subclass(*args_, **kwargs_) + else: + return CSchloss_Sk(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Hauptschloss(self): + return self.Hauptschloss + def set_Hauptschloss(self, Hauptschloss): + self.Hauptschloss = Hauptschloss + def get_ID_Schlosskombination(self): + return self.ID_Schlosskombination + def set_ID_Schlosskombination(self, ID_Schlosskombination): + self.ID_Schlosskombination = ID_Schlosskombination + def has__content(self): + if ( + self.Hauptschloss is not None or + self.ID_Schlosskombination is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSchluesselabhaengigkeiten:', namespacedef_='xmlns:nsSchluesselabhaengigkeiten="http://www.plan-pro.org/modell/Schluesselabhaengigkeiten/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CSchloss_Sk', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CSchloss_Sk') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CSchloss_Sk': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CSchloss_Sk') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CSchloss_Sk', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSchluesselabhaengigkeiten:', name_='CSchloss_Sk'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsSchluesselabhaengigkeiten:', namespacedef_='xmlns:nsSchluesselabhaengigkeiten="http://www.plan-pro.org/modell/Schluesselabhaengigkeiten/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CSchloss_Sk', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Hauptschloss is not None: + namespaceprefix_ = self.Hauptschloss_nsprefix_ + ':' if (UseCapturedNS_ and self.Hauptschloss_nsprefix_) else '' + self.Hauptschloss.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Hauptschloss', pretty_print=pretty_print) + if self.ID_Schlosskombination is not None: + namespaceprefix_ = self.ID_Schlosskombination_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Schlosskombination_nsprefix_) else '' + self.ID_Schlosskombination.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Schlosskombination', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Hauptschloss': + obj_ = TCHauptschloss.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Hauptschloss = obj_ + obj_.original_tagname_ = 'Hauptschloss' + elif nodeName_ == 'ID_Schlosskombination': + obj_ = TCID_Schlosskombination.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Schlosskombination = obj_ + obj_.original_tagname_ = 'ID_Schlosskombination' +# end class CSchloss_Sk + + +class CSchluessel_Allg(GeneratedsSuper): + """Schluessel_Bartform -- Bartform des Schl + ü + ssels. DB-Regelwerk Bisher keine Darstellung + Schluessel_Gruppe -- Gruppe des Schl + ü + ssels. DB-Regelwerk Bisher keine Darstellung + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Schluessel_Bartform=None, Schluessel_Gruppe=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Schluessel_Bartform = Schluessel_Bartform + self.Schluessel_Bartform_nsprefix_ = None + self.Schluessel_Gruppe = Schluessel_Gruppe + self.Schluessel_Gruppe_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CSchluessel_Allg) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CSchluessel_Allg.subclass: + return CSchluessel_Allg.subclass(*args_, **kwargs_) + else: + return CSchluessel_Allg(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Schluessel_Bartform(self): + return self.Schluessel_Bartform + def set_Schluessel_Bartform(self, Schluessel_Bartform): + self.Schluessel_Bartform = Schluessel_Bartform + def get_Schluessel_Gruppe(self): + return self.Schluessel_Gruppe + def set_Schluessel_Gruppe(self, Schluessel_Gruppe): + self.Schluessel_Gruppe = Schluessel_Gruppe + def has__content(self): + if ( + self.Schluessel_Bartform is not None or + self.Schluessel_Gruppe is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSchluesselabhaengigkeiten:', namespacedef_='xmlns:nsSchluesselabhaengigkeiten="http://www.plan-pro.org/modell/Schluesselabhaengigkeiten/1.10.0"', name_='CSchluessel_Allg', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CSchluessel_Allg') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CSchluessel_Allg': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CSchluessel_Allg') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CSchluessel_Allg', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSchluesselabhaengigkeiten:', name_='CSchluessel_Allg'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsSchluesselabhaengigkeiten:', namespacedef_='xmlns:nsSchluesselabhaengigkeiten="http://www.plan-pro.org/modell/Schluesselabhaengigkeiten/1.10.0"', name_='CSchluessel_Allg', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Schluessel_Bartform is not None: + namespaceprefix_ = self.Schluessel_Bartform_nsprefix_ + ':' if (UseCapturedNS_ and self.Schluessel_Bartform_nsprefix_) else '' + self.Schluessel_Bartform.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Schluessel_Bartform', pretty_print=pretty_print) + if self.Schluessel_Gruppe is not None: + namespaceprefix_ = self.Schluessel_Gruppe_nsprefix_ + ':' if (UseCapturedNS_ and self.Schluessel_Gruppe_nsprefix_) else '' + self.Schluessel_Gruppe.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Schluessel_Gruppe', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Schluessel_Bartform': + obj_ = TCSchluessel_Bartform.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Schluessel_Bartform = obj_ + obj_.original_tagname_ = 'Schluessel_Bartform' + elif nodeName_ == 'Schluessel_Gruppe': + obj_ = TCSchluessel_Gruppe.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Schluessel_Gruppe = obj_ + obj_.original_tagname_ = 'Schluessel_Gruppe' +# end class CSchluessel_Allg + + +class CRegelzeichnung(CBasis_Objekt): + """CRegelzeichnung -- Regelzeichnungen werden verwendet, um einheitliche Bauausf + ü + hrungen f + ü + r bestimmte Objekte sicherzustellen. Die f + ü + r die LST-Anwendungen im Datenmodell ben + ö + tigten Regelzeichnungen werden in einer Regelzeichnungstabelle aufgelistet. Regelzeichnungen k + ö + nnen neben dem Bild eine beliebige Anzahl von Parametern haben, die die Bausausf + ü + hrung f + ü + r einen konkreten Anwendungsfall genauer spezifizieren. Die G + ü + ltigkeit der Parameter f + ü + r eine konkrete Anwendung in einer Regelzeichnung kann nur mit Hilfe der Plausibilit + ä + ts- und Zul + ä + ssigkeitspr + ü + fung (PlaZ) bestimmt werden. DB-Regelwerk F + ü + r die Anwendung der Regelzeichnugen f + ü + r Weichen, Kreuzungen und Gleissperren ist das Regelwerk 819.0401Z01 bis 819.0401Z03 zu beachten. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasis_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, Regelzeichnung_Allg=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CRegelzeichnung"), self).__init__(Identitaet, Basis_Objekt_Allg, ID_Bearbeitungsvermerk, ID_Oertlichkeit_Ausgabe, Objektreferenzen, **kwargs_) + self.Regelzeichnung_Allg = Regelzeichnung_Allg + self.Regelzeichnung_Allg_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CRegelzeichnung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CRegelzeichnung.subclass: + return CRegelzeichnung.subclass(*args_, **kwargs_) + else: + return CRegelzeichnung(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Regelzeichnung_Allg(self): + return self.Regelzeichnung_Allg + def set_Regelzeichnung_Allg(self, Regelzeichnung_Allg): + self.Regelzeichnung_Allg = Regelzeichnung_Allg + def has__content(self): + if ( + self.Regelzeichnung_Allg is not None or + super(CRegelzeichnung, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsRegelzeichnung:', namespacedef_='xmlns:nsRegelzeichnung="http://www.plan-pro.org/modell/Regelzeichnung/1.10.0"', name_='CRegelzeichnung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CRegelzeichnung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CRegelzeichnung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CRegelzeichnung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CRegelzeichnung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsRegelzeichnung:', name_='CRegelzeichnung'): + super(CRegelzeichnung, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CRegelzeichnung') + def _exportChildren(self, outfile, level, namespaceprefix_='nsRegelzeichnung:', namespacedef_='xmlns:nsRegelzeichnung="http://www.plan-pro.org/modell/Regelzeichnung/1.10.0"', name_='CRegelzeichnung', fromsubclass_=False, pretty_print=True): + super(CRegelzeichnung, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Regelzeichnung_Allg is not None: + namespaceprefix_ = self.Regelzeichnung_Allg_nsprefix_ + ':' if (UseCapturedNS_ and self.Regelzeichnung_Allg_nsprefix_) else '' + self.Regelzeichnung_Allg.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Regelzeichnung_Allg', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CRegelzeichnung, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Regelzeichnung_Allg': + obj_ = CRegelzeichnung_Allg.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Regelzeichnung_Allg = obj_ + obj_.original_tagname_ = 'Regelzeichnung_Allg' + super(CRegelzeichnung, self)._buildChildren(child_, node, nodeName_, True) +# end class CRegelzeichnung + + +class TCRZ_Nummer(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCRZ_Nummer"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TRZ_Nummer(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCRZ_Nummer) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCRZ_Nummer.subclass: + return TCRZ_Nummer.subclass(*args_, **kwargs_) + else: + return TCRZ_Nummer(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TRZ_Nummer(self, value): + result = True + # Validate type TRZ_Nummer, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TRZ_Nummer_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TRZ_Nummer_patterns_, )) + result = False + return result + validate_TRZ_Nummer_patterns_ = [['^(.{1,20})$'], ['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCRZ_Nummer, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsRegelzeichnung:', namespacedef_='xmlns:nsRegelzeichnung="http://www.plan-pro.org/modell/Regelzeichnung/1.10.0"', name_='TCRZ_Nummer', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCRZ_Nummer') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCRZ_Nummer': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCRZ_Nummer') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCRZ_Nummer', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsRegelzeichnung:', name_='TCRZ_Nummer'): + super(TCRZ_Nummer, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCRZ_Nummer') + def _exportChildren(self, outfile, level, namespaceprefix_='nsRegelzeichnung:', namespacedef_='xmlns:nsRegelzeichnung="http://www.plan-pro.org/modell/Regelzeichnung/1.10.0"', name_='TCRZ_Nummer', fromsubclass_=False, pretty_print=True): + super(TCRZ_Nummer, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCRZ_Nummer, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TRZ_Nummer + self.validate_TRZ_Nummer(self.Wert) + super(TCRZ_Nummer, self)._buildChildren(child_, node, nodeName_, True) +# end class TCRZ_Nummer + + +class CRegelzeichnung_Allg(GeneratedsSuper): + """Bild -- Parameter zur Angabe eines bestimmten Anwendungsfalls einer Regelzeichnung. Auf einer Regelzeichnung sind im Allgemeinen mehrere Anwendungen in unterschiedlichen Bildern dargestellt. Der Parameter Bild verweist auf eine derartige konkrete Anwendung. Die Bezeichnung der Bilder ist nicht vorgegeben und wird von den Erstellern der Regelzeichnung unterschiedlich angegeben. Es sind neben den alphanumerischen Zeichen auch Sonderzeichen m + ö + glich. + RZ_Nummer -- Ordnungsmerkmal, was die Regelzeichnung identifiziert. Die Regelzeichnungen sind im System von IZ-Plan unter diesem Ordnungsmerkmal abgelegt. Die Regelzeichnungen der Sicherungstechnik beginnen in der Regel mit dem Kennbuchstaben S und werden von mehrteilig durch Dezimalpunkt getrennte Zahlen erg + ä + nzt. Die letzte Zahl stellt dabei den Ausgabestand dar. + Titel -- Titel der Regelzeichnung. Der Titel ist im Schriftfeld dargestellt und erl + ä + utert grob den Inhalt und die Anwendung der Regelzeichnung. + Untertitel -- Zus + ä + tzliche Erl + ä + uterungen und Abgrenzungen der Regelzeichnung, die nicht aus dem Titel hervorgehen. Der Untertitel wird vom Bearbeiter der Regelzeichnung vergeben. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Bild=None, RZ_Nummer=None, Titel=None, Untertitel=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Bild = Bild + self.Bild_nsprefix_ = None + self.RZ_Nummer = RZ_Nummer + self.RZ_Nummer_nsprefix_ = None + self.Titel = Titel + self.Titel_nsprefix_ = None + self.Untertitel = Untertitel + self.Untertitel_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CRegelzeichnung_Allg) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CRegelzeichnung_Allg.subclass: + return CRegelzeichnung_Allg.subclass(*args_, **kwargs_) + else: + return CRegelzeichnung_Allg(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Bild(self): + return self.Bild + def set_Bild(self, Bild): + self.Bild = Bild + def get_RZ_Nummer(self): + return self.RZ_Nummer + def set_RZ_Nummer(self, RZ_Nummer): + self.RZ_Nummer = RZ_Nummer + def get_Titel(self): + return self.Titel + def set_Titel(self, Titel): + self.Titel = Titel + def get_Untertitel(self): + return self.Untertitel + def set_Untertitel(self, Untertitel): + self.Untertitel = Untertitel + def has__content(self): + if ( + self.Bild is not None or + self.RZ_Nummer is not None or + self.Titel is not None or + self.Untertitel is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsRegelzeichnung:', namespacedef_='xmlns:nsRegelzeichnung="http://www.plan-pro.org/modell/Regelzeichnung/1.10.0"', name_='CRegelzeichnung_Allg', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CRegelzeichnung_Allg') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CRegelzeichnung_Allg': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CRegelzeichnung_Allg') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CRegelzeichnung_Allg', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsRegelzeichnung:', name_='CRegelzeichnung_Allg'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsRegelzeichnung:', namespacedef_='xmlns:nsRegelzeichnung="http://www.plan-pro.org/modell/Regelzeichnung/1.10.0"', name_='CRegelzeichnung_Allg', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Bild is not None: + namespaceprefix_ = self.Bild_nsprefix_ + ':' if (UseCapturedNS_ and self.Bild_nsprefix_) else '' + self.Bild.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Bild', pretty_print=pretty_print) + if self.RZ_Nummer is not None: + namespaceprefix_ = self.RZ_Nummer_nsprefix_ + ':' if (UseCapturedNS_ and self.RZ_Nummer_nsprefix_) else '' + self.RZ_Nummer.export(outfile, level, namespaceprefix_, namespacedef_='', name_='RZ_Nummer', pretty_print=pretty_print) + if self.Titel is not None: + namespaceprefix_ = self.Titel_nsprefix_ + ':' if (UseCapturedNS_ and self.Titel_nsprefix_) else '' + self.Titel.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Titel', pretty_print=pretty_print) + if self.Untertitel is not None: + namespaceprefix_ = self.Untertitel_nsprefix_ + ':' if (UseCapturedNS_ and self.Untertitel_nsprefix_) else '' + self.Untertitel.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Untertitel', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Bild': + obj_ = TCBild.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Bild = obj_ + obj_.original_tagname_ = 'Bild' + elif nodeName_ == 'RZ_Nummer': + obj_ = TCRZ_Nummer.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.RZ_Nummer = obj_ + obj_.original_tagname_ = 'RZ_Nummer' + elif nodeName_ == 'Titel': + obj_ = TCTitel.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Titel = obj_ + obj_.original_tagname_ = 'Titel' + elif nodeName_ == 'Untertitel': + obj_ = TCUntertitel.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Untertitel = obj_ + obj_.original_tagname_ = 'Untertitel' +# end class CRegelzeichnung_Allg + + +class TCUntertitel(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCUntertitel"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TUntertitel(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCUntertitel) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCUntertitel.subclass: + return TCUntertitel.subclass(*args_, **kwargs_) + else: + return TCUntertitel(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TUntertitel(self, value): + result = True + # Validate type TUntertitel, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TUntertitel_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TUntertitel_patterns_, )) + result = False + return result + validate_TUntertitel_patterns_ = [['^(.{1,200})$'], ['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCUntertitel, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsRegelzeichnung:', namespacedef_='xmlns:nsRegelzeichnung="http://www.plan-pro.org/modell/Regelzeichnung/1.10.0"', name_='TCUntertitel', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCUntertitel') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCUntertitel': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCUntertitel') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCUntertitel', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsRegelzeichnung:', name_='TCUntertitel'): + super(TCUntertitel, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCUntertitel') + def _exportChildren(self, outfile, level, namespaceprefix_='nsRegelzeichnung:', namespacedef_='xmlns:nsRegelzeichnung="http://www.plan-pro.org/modell/Regelzeichnung/1.10.0"', name_='TCUntertitel', fromsubclass_=False, pretty_print=True): + super(TCUntertitel, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCUntertitel, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TUntertitel + self.validate_TUntertitel(self.Wert) + super(TCUntertitel, self)._buildChildren(child_, node, nodeName_, True) +# end class TCUntertitel + + +class CRegelzeichnung_Parameter(CBasis_Objekt): + """CRegelzeichnung_Parameter -- Einer Regelzeichnung werden durch dieses Objekt weitere Parameter zugeordnet. F + ü + r eine Regelzeichnung k + ö + nnen beliebig viele Parameter entsprechend der konkreten Anwendung angegeben werden. + ID_Regelzeichnung -- Zuweisung des Parameters zur Regelzeichnung. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasis_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, ID_Regelzeichnung=None, Regelzeichnung_Parameter_Allg=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CRegelzeichnung_Parameter"), self).__init__(Identitaet, Basis_Objekt_Allg, ID_Bearbeitungsvermerk, ID_Oertlichkeit_Ausgabe, Objektreferenzen, **kwargs_) + self.ID_Regelzeichnung = ID_Regelzeichnung + self.ID_Regelzeichnung_nsprefix_ = None + self.Regelzeichnung_Parameter_Allg = Regelzeichnung_Parameter_Allg + self.Regelzeichnung_Parameter_Allg_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CRegelzeichnung_Parameter) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CRegelzeichnung_Parameter.subclass: + return CRegelzeichnung_Parameter.subclass(*args_, **kwargs_) + else: + return CRegelzeichnung_Parameter(*args_, **kwargs_) + factory = staticmethod(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_Regelzeichnung(self): + return self.ID_Regelzeichnung + def set_ID_Regelzeichnung(self, ID_Regelzeichnung): + self.ID_Regelzeichnung = ID_Regelzeichnung + def get_Regelzeichnung_Parameter_Allg(self): + return self.Regelzeichnung_Parameter_Allg + def set_Regelzeichnung_Parameter_Allg(self, Regelzeichnung_Parameter_Allg): + self.Regelzeichnung_Parameter_Allg = Regelzeichnung_Parameter_Allg + def has__content(self): + if ( + self.ID_Regelzeichnung is not None or + self.Regelzeichnung_Parameter_Allg is not None or + super(CRegelzeichnung_Parameter, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsRegelzeichnung:', namespacedef_='xmlns:nsRegelzeichnung="http://www.plan-pro.org/modell/Regelzeichnung/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CRegelzeichnung_Parameter', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CRegelzeichnung_Parameter') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CRegelzeichnung_Parameter': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CRegelzeichnung_Parameter') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CRegelzeichnung_Parameter', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsRegelzeichnung:', name_='CRegelzeichnung_Parameter'): + super(CRegelzeichnung_Parameter, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CRegelzeichnung_Parameter') + def _exportChildren(self, outfile, level, namespaceprefix_='nsRegelzeichnung:', namespacedef_='xmlns:nsRegelzeichnung="http://www.plan-pro.org/modell/Regelzeichnung/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CRegelzeichnung_Parameter', fromsubclass_=False, pretty_print=True): + super(CRegelzeichnung_Parameter, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.ID_Regelzeichnung is not None: + namespaceprefix_ = self.ID_Regelzeichnung_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Regelzeichnung_nsprefix_) else '' + self.ID_Regelzeichnung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Regelzeichnung', pretty_print=pretty_print) + if self.Regelzeichnung_Parameter_Allg is not None: + namespaceprefix_ = self.Regelzeichnung_Parameter_Allg_nsprefix_ + ':' if (UseCapturedNS_ and self.Regelzeichnung_Parameter_Allg_nsprefix_) else '' + self.Regelzeichnung_Parameter_Allg.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Regelzeichnung_Parameter_Allg', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CRegelzeichnung_Parameter, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Regelzeichnung': + obj_ = TCID_Regelzeichnung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Regelzeichnung = obj_ + obj_.original_tagname_ = 'ID_Regelzeichnung' + elif nodeName_ == 'Regelzeichnung_Parameter_Allg': + obj_ = CRegelzeichnung_Parameter_Allg.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Regelzeichnung_Parameter_Allg = obj_ + obj_.original_tagname_ = 'Regelzeichnung_Parameter_Allg' + super(CRegelzeichnung_Parameter, self)._buildChildren(child_, node, nodeName_, True) +# end class CRegelzeichnung_Parameter + + +class TCRZ_Parameter_Name(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCRZ_Parameter_Name"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TRZ_Parameter_Name(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCRZ_Parameter_Name) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCRZ_Parameter_Name.subclass: + return TCRZ_Parameter_Name.subclass(*args_, **kwargs_) + else: + return TCRZ_Parameter_Name(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TRZ_Parameter_Name(self, value): + result = True + # Validate type TRZ_Parameter_Name, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TRZ_Parameter_Name_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TRZ_Parameter_Name_patterns_, )) + result = False + return result + validate_TRZ_Parameter_Name_patterns_ = [['^(.{1,20})$'], ['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCRZ_Parameter_Name, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsRegelzeichnung:', namespacedef_='xmlns:nsRegelzeichnung="http://www.plan-pro.org/modell/Regelzeichnung/1.10.0"', name_='TCRZ_Parameter_Name', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCRZ_Parameter_Name') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCRZ_Parameter_Name': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCRZ_Parameter_Name') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCRZ_Parameter_Name', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsRegelzeichnung:', name_='TCRZ_Parameter_Name'): + super(TCRZ_Parameter_Name, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCRZ_Parameter_Name') + def _exportChildren(self, outfile, level, namespaceprefix_='nsRegelzeichnung:', namespacedef_='xmlns:nsRegelzeichnung="http://www.plan-pro.org/modell/Regelzeichnung/1.10.0"', name_='TCRZ_Parameter_Name', fromsubclass_=False, pretty_print=True): + super(TCRZ_Parameter_Name, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCRZ_Parameter_Name, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TRZ_Parameter_Name + self.validate_TRZ_Parameter_Name(self.Wert) + super(TCRZ_Parameter_Name, self)._buildChildren(child_, node, nodeName_, True) +# end class TCRZ_Parameter_Name + + +class TCRZ_Parameter_Wert(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCRZ_Parameter_Wert"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TRZ_Parameter_Wert(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCRZ_Parameter_Wert) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCRZ_Parameter_Wert.subclass: + return TCRZ_Parameter_Wert.subclass(*args_, **kwargs_) + else: + return TCRZ_Parameter_Wert(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TRZ_Parameter_Wert(self, value): + result = True + # Validate type TRZ_Parameter_Wert, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TRZ_Parameter_Wert_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TRZ_Parameter_Wert_patterns_, )) + result = False + return result + validate_TRZ_Parameter_Wert_patterns_ = [['^(.{1,20})$'], ['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCRZ_Parameter_Wert, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsRegelzeichnung:', namespacedef_='xmlns:nsRegelzeichnung="http://www.plan-pro.org/modell/Regelzeichnung/1.10.0"', name_='TCRZ_Parameter_Wert', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCRZ_Parameter_Wert') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCRZ_Parameter_Wert': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCRZ_Parameter_Wert') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCRZ_Parameter_Wert', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsRegelzeichnung:', name_='TCRZ_Parameter_Wert'): + super(TCRZ_Parameter_Wert, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCRZ_Parameter_Wert') + def _exportChildren(self, outfile, level, namespaceprefix_='nsRegelzeichnung:', namespacedef_='xmlns:nsRegelzeichnung="http://www.plan-pro.org/modell/Regelzeichnung/1.10.0"', name_='TCRZ_Parameter_Wert', fromsubclass_=False, pretty_print=True): + super(TCRZ_Parameter_Wert, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCRZ_Parameter_Wert, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TRZ_Parameter_Wert + self.validate_TRZ_Parameter_Wert(self.Wert) + super(TCRZ_Parameter_Wert, self)._buildChildren(child_, node, nodeName_, True) +# end class TCRZ_Parameter_Wert + + +class CRegelzeichnung_Parameter_Allg(GeneratedsSuper): + """RZ_Parameter_Name -- Name eines Parameters, der in einer Regelzeichnung hinterlegt ist und die konkrete Anwendung der Regelzeichnung pr + ä + zisiert. Dem benannten Parameter wird ein Wert zugewiesen. Die zul + ä + ssigen Namen sind f + ü + r die Regelzeichnungen unterschiedlich. Es muss deshalb eine Datenbank entstehen, in der die f + ü + r eine Regelzeichnung g + ü + ltigen Parameter abgelegt sind, da ansonsten eine rechnergest + ü + tzte Auswertung nicht m + ö + glich ist. + RZ_Parameter_Wert -- Wert, der einen Parameter in einer Regelzeichnung spezifiziert. Der Wert kann dabei ein fester Wert sein oder aus einer in der Regelzeichnung vorhandenen Tabelle entnommen werden. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, RZ_Parameter_Name=None, RZ_Parameter_Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.RZ_Parameter_Name = RZ_Parameter_Name + self.RZ_Parameter_Name_nsprefix_ = None + self.RZ_Parameter_Wert = RZ_Parameter_Wert + self.RZ_Parameter_Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CRegelzeichnung_Parameter_Allg) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CRegelzeichnung_Parameter_Allg.subclass: + return CRegelzeichnung_Parameter_Allg.subclass(*args_, **kwargs_) + else: + return CRegelzeichnung_Parameter_Allg(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_RZ_Parameter_Name(self): + return self.RZ_Parameter_Name + def set_RZ_Parameter_Name(self, RZ_Parameter_Name): + self.RZ_Parameter_Name = RZ_Parameter_Name + def get_RZ_Parameter_Wert(self): + return self.RZ_Parameter_Wert + def set_RZ_Parameter_Wert(self, RZ_Parameter_Wert): + self.RZ_Parameter_Wert = RZ_Parameter_Wert + def has__content(self): + if ( + self.RZ_Parameter_Name is not None or + self.RZ_Parameter_Wert is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsRegelzeichnung:', namespacedef_='xmlns:nsRegelzeichnung="http://www.plan-pro.org/modell/Regelzeichnung/1.10.0"', name_='CRegelzeichnung_Parameter_Allg', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CRegelzeichnung_Parameter_Allg') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CRegelzeichnung_Parameter_Allg': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CRegelzeichnung_Parameter_Allg') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CRegelzeichnung_Parameter_Allg', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsRegelzeichnung:', name_='CRegelzeichnung_Parameter_Allg'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsRegelzeichnung:', namespacedef_='xmlns:nsRegelzeichnung="http://www.plan-pro.org/modell/Regelzeichnung/1.10.0"', name_='CRegelzeichnung_Parameter_Allg', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.RZ_Parameter_Name is not None: + namespaceprefix_ = self.RZ_Parameter_Name_nsprefix_ + ':' if (UseCapturedNS_ and self.RZ_Parameter_Name_nsprefix_) else '' + self.RZ_Parameter_Name.export(outfile, level, namespaceprefix_, namespacedef_='', name_='RZ_Parameter_Name', pretty_print=pretty_print) + if self.RZ_Parameter_Wert is not None: + namespaceprefix_ = self.RZ_Parameter_Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.RZ_Parameter_Wert_nsprefix_) else '' + self.RZ_Parameter_Wert.export(outfile, level, namespaceprefix_, namespacedef_='', name_='RZ_Parameter_Wert', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'RZ_Parameter_Name': + obj_ = TCRZ_Parameter_Name.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.RZ_Parameter_Name = obj_ + obj_.original_tagname_ = 'RZ_Parameter_Name' + elif nodeName_ == 'RZ_Parameter_Wert': + obj_ = TCRZ_Parameter_Wert.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.RZ_Parameter_Wert = obj_ + obj_.original_tagname_ = 'RZ_Parameter_Wert' +# end class CRegelzeichnung_Parameter_Allg + + +class TCTitel(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCTitel"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TTitel(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCTitel) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCTitel.subclass: + return TCTitel.subclass(*args_, **kwargs_) + else: + return TCTitel(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TTitel(self, value): + result = True + # Validate type TTitel, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TTitel_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TTitel_patterns_, )) + result = False + return result + validate_TTitel_patterns_ = [['^(.{1,200})$'], ['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCTitel, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsRegelzeichnung:', namespacedef_='xmlns:nsRegelzeichnung="http://www.plan-pro.org/modell/Regelzeichnung/1.10.0"', name_='TCTitel', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCTitel') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCTitel': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCTitel') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCTitel', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsRegelzeichnung:', name_='TCTitel'): + super(TCTitel, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCTitel') + def _exportChildren(self, outfile, level, namespaceprefix_='nsRegelzeichnung:', namespacedef_='xmlns:nsRegelzeichnung="http://www.plan-pro.org/modell/Regelzeichnung/1.10.0"', name_='TCTitel', fromsubclass_=False, pretty_print=True): + super(TCTitel, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCTitel, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TTitel + self.validate_TTitel(self.Wert) + super(TCTitel, self)._buildChildren(child_, node, nodeName_, True) +# end class TCTitel + + +class TCBild(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCBild"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TBild(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCBild) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCBild.subclass: + return TCBild.subclass(*args_, **kwargs_) + else: + return TCBild(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TBild(self, value): + result = True + # Validate type TBild, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TBild_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TBild_patterns_, )) + result = False + return result + validate_TBild_patterns_ = [['^(.{1,20})$'], ['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCBild, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsRegelzeichnung:', namespacedef_='xmlns:nsRegelzeichnung="http://www.plan-pro.org/modell/Regelzeichnung/1.10.0"', name_='TCBild', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCBild') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCBild': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBild') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCBild', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsRegelzeichnung:', name_='TCBild'): + super(TCBild, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBild') + def _exportChildren(self, outfile, level, namespaceprefix_='nsRegelzeichnung:', namespacedef_='xmlns:nsRegelzeichnung="http://www.plan-pro.org/modell/Regelzeichnung/1.10.0"', name_='TCBild', fromsubclass_=False, pretty_print=True): + super(TCBild, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCBild, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TBild + self.validate_TBild(self.Wert) + super(TCBild, self)._buildChildren(child_, node, nodeName_, True) +# end class TCBild + + +class TCGUE_Bauart(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCGUE_Bauart"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMGUE_Bauart(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCGUE_Bauart) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCGUE_Bauart.subclass: + return TCGUE_Bauart.subclass(*args_, **kwargs_) + else: + return TCGUE_Bauart(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMGUE_Bauart(self, value): + result = True + # Validate type ENUMGUE_Bauart, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['GPE_90R', 'GUE_60', 'PZ_80', 'sonstige'] + 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 ENUMGUE_Bauart' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCGUE_Bauart, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsPZB:', namespacedef_='xmlns:nsPZB="http://www.plan-pro.org/modell/PZB/1.10.0"', name_='TCGUE_Bauart', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCGUE_Bauart') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCGUE_Bauart': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCGUE_Bauart') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCGUE_Bauart', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsPZB:', name_='TCGUE_Bauart'): + super(TCGUE_Bauart, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCGUE_Bauart') + def _exportChildren(self, outfile, level, namespaceprefix_='nsPZB:', namespacedef_='xmlns:nsPZB="http://www.plan-pro.org/modell/PZB/1.10.0"', name_='TCGUE_Bauart', fromsubclass_=False, pretty_print=True): + super(TCGUE_Bauart, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCGUE_Bauart, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMGUE_Bauart + self.validate_ENUMGUE_Bauart(self.Wert) + super(TCGUE_Bauart, self)._buildChildren(child_, node, nodeName_, True) +# end class TCGUE_Bauart + + +class TCGUE_Abstand_Abweichend(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCGUE_Abstand_Abweichend"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TGUE_Abstand_Abweichend(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCGUE_Abstand_Abweichend) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCGUE_Abstand_Abweichend.subclass: + return TCGUE_Abstand_Abweichend.subclass(*args_, **kwargs_) + else: + return TCGUE_Abstand_Abweichend(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TGUE_Abstand_Abweichend(self, value): + result = True + # Validate type TGUE_Abstand_Abweichend, a restriction on nsBasisTypen:TMeter. + 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 + pass + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCGUE_Abstand_Abweichend, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsPZB:', namespacedef_='xmlns:nsPZB="http://www.plan-pro.org/modell/PZB/1.10.0"', name_='TCGUE_Abstand_Abweichend', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCGUE_Abstand_Abweichend') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCGUE_Abstand_Abweichend': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCGUE_Abstand_Abweichend') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCGUE_Abstand_Abweichend', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsPZB:', name_='TCGUE_Abstand_Abweichend'): + super(TCGUE_Abstand_Abweichend, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCGUE_Abstand_Abweichend') + def _exportChildren(self, outfile, level, namespaceprefix_='nsPZB:', namespacedef_='xmlns:nsPZB="http://www.plan-pro.org/modell/PZB/1.10.0"', name_='TCGUE_Abstand_Abweichend', fromsubclass_=False, pretty_print=True): + super(TCGUE_Abstand_Abweichend, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_decimal(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCGUE_Abstand_Abweichend, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + fval_ = self.gds_parse_decimal(sval_, node, 'Wert') + fval_ = self.gds_validate_decimal(fval_, node, 'Wert') + self.Wert = fval_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGUE_Abstand_Abweichend + self.validate_TGUE_Abstand_Abweichend(self.Wert) + super(TCGUE_Abstand_Abweichend, self)._buildChildren(child_, node, nodeName_, True) +# end class TCGUE_Abstand_Abweichend + + +class CPZB_Zuordnung_Signal(CBasis_Objekt): + """CPZB_Zuordnung_Signal -- Das Objekt dient der Zuordnung der Signale (Vorsignal, Vorsignalwiederholer, H-Tafel) zum ma + ß + gebenden Gleismagneten (GM) 2000 Hz des Hauptsignals. Die Unterscheidung zwischen den verschiedenen Signalen wird + ü + ber die GUID des Signals hergestellt. Der angegebene Abstand bezieht sich beim Vorsignal auf den Abstand des GM 1000 Hz, bei Vorsignalwiederholer und H-Tafel auf den Abstand des Signals zum ma + ß + gebenden GM 2000 Hz des Hauptsignals. Es werden in der Regel bis zu vier H-Tafeln pro Hauptsignal geplant. DB-Regelwerk Gleismagnettabelle, Zeilen 19 sowie 21 bis 25 + ID_PZB_Element_Zuordnung -- Verweis auf das Objekt PZB_Element_Zuordnung, zur Angabe des zugeh + ö + rigen Signals. + ID_Signal -- ID des zugeordneten Signals (Vorsignal, Vorsignalwiederholer, H-Tafel), welches im Rahmen der INA-Berechnung dem Hauptsignal zugeordet wird und damit mit diesem im festen Zusammenhang steht. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasis_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, ID_PZB_Element_Zuordnung=None, ID_Signal=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CPZB_Zuordnung_Signal"), self).__init__(Identitaet, Basis_Objekt_Allg, ID_Bearbeitungsvermerk, ID_Oertlichkeit_Ausgabe, Objektreferenzen, **kwargs_) + self.ID_PZB_Element_Zuordnung = ID_PZB_Element_Zuordnung + self.ID_PZB_Element_Zuordnung_nsprefix_ = None + self.ID_Signal = ID_Signal + self.ID_Signal_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CPZB_Zuordnung_Signal) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CPZB_Zuordnung_Signal.subclass: + return CPZB_Zuordnung_Signal.subclass(*args_, **kwargs_) + else: + return CPZB_Zuordnung_Signal(*args_, **kwargs_) + factory = staticmethod(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_PZB_Element_Zuordnung(self): + return self.ID_PZB_Element_Zuordnung + def set_ID_PZB_Element_Zuordnung(self, ID_PZB_Element_Zuordnung): + self.ID_PZB_Element_Zuordnung = ID_PZB_Element_Zuordnung + def get_ID_Signal(self): + return self.ID_Signal + def set_ID_Signal(self, ID_Signal): + self.ID_Signal = ID_Signal + def has__content(self): + if ( + self.ID_PZB_Element_Zuordnung is not None or + self.ID_Signal is not None or + super(CPZB_Zuordnung_Signal, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsPZB:', namespacedef_='xmlns:nsPZB="http://www.plan-pro.org/modell/PZB/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CPZB_Zuordnung_Signal', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CPZB_Zuordnung_Signal') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CPZB_Zuordnung_Signal': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CPZB_Zuordnung_Signal') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CPZB_Zuordnung_Signal', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsPZB:', name_='CPZB_Zuordnung_Signal'): + super(CPZB_Zuordnung_Signal, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CPZB_Zuordnung_Signal') + def _exportChildren(self, outfile, level, namespaceprefix_='nsPZB:', namespacedef_='xmlns:nsPZB="http://www.plan-pro.org/modell/PZB/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CPZB_Zuordnung_Signal', fromsubclass_=False, pretty_print=True): + super(CPZB_Zuordnung_Signal, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.ID_PZB_Element_Zuordnung is not None: + namespaceprefix_ = self.ID_PZB_Element_Zuordnung_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_PZB_Element_Zuordnung_nsprefix_) else '' + self.ID_PZB_Element_Zuordnung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_PZB_Element_Zuordnung', pretty_print=pretty_print) + if self.ID_Signal is not None: + namespaceprefix_ = self.ID_Signal_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Signal_nsprefix_) else '' + self.ID_Signal.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Signal', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CPZB_Zuordnung_Signal, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_PZB_Element_Zuordnung': + obj_ = TCID_PZB_Element_Zuordnung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_PZB_Element_Zuordnung = obj_ + obj_.original_tagname_ = 'ID_PZB_Element_Zuordnung' + elif nodeName_ == 'ID_Signal': + obj_ = TCID_Signal.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Signal = obj_ + obj_.original_tagname_ = 'ID_Signal' + super(CPZB_Zuordnung_Signal, self)._buildChildren(child_, node, nodeName_, True) +# end class CPZB_Zuordnung_Signal + + +class TCGUE_Energieversorgung(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCGUE_Energieversorgung"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMGUE_Energieversorgung(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCGUE_Energieversorgung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCGUE_Energieversorgung.subclass: + return TCGUE_Energieversorgung.subclass(*args_, **kwargs_) + else: + return TCGUE_Energieversorgung(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMGUE_Energieversorgung(self, value): + result = True + # Validate type ENUMGUE_Energieversorgung, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['Solar', 'sonstige', 'Stellwerk'] + 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 ENUMGUE_Energieversorgung' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCGUE_Energieversorgung, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsPZB:', namespacedef_='xmlns:nsPZB="http://www.plan-pro.org/modell/PZB/1.10.0"', name_='TCGUE_Energieversorgung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCGUE_Energieversorgung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCGUE_Energieversorgung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCGUE_Energieversorgung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCGUE_Energieversorgung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsPZB:', name_='TCGUE_Energieversorgung'): + super(TCGUE_Energieversorgung, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCGUE_Energieversorgung') + def _exportChildren(self, outfile, level, namespaceprefix_='nsPZB:', namespacedef_='xmlns:nsPZB="http://www.plan-pro.org/modell/PZB/1.10.0"', name_='TCGUE_Energieversorgung', fromsubclass_=False, pretty_print=True): + super(TCGUE_Energieversorgung, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCGUE_Energieversorgung, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMGUE_Energieversorgung + self.validate_ENUMGUE_Energieversorgung(self.Wert) + super(TCGUE_Energieversorgung, self)._buildChildren(child_, node, nodeName_, True) +# end class TCGUE_Energieversorgung + + +class CPZB_Element_Zuordnung(CBasis_Objekt): + """CPZB_Element_Zuordnung -- Zuordnung von PZB Element zu einem Signal, einer Fahrstra + ß + e oder auch anderen Objekten, die im Bezug zum PZB_Element stehen. Der Verweis von einem PZB Element + ü + ber das Zuordnungsobjekt auf ein Signal ist dabei immer gef + ü + llt. Die Verkn + ü + pfung mit einer Fahrstra + ß + e (nur Zugstra + ß + en sind relevant) oder weiteren Objekten (INA-Berechnungsrelevante Objekte) ist fallbezogen notwendig. Beispiele f + ü + r die Zuordnung sind unter ID Fstr Zug Rangier zu finden. DB-Regelwerk Eintrag in der Gleismagnettabelle; die Zuordnung zu einzelnen Fahrstra + ß + en wird heute + ü + ber Fu + ß + noten gel + ö + st. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasis_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, PZB_Element_Zuordnung_BP=None, PZB_Element_Zuordnung_Fstr=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CPZB_Element_Zuordnung"), self).__init__(Identitaet, Basis_Objekt_Allg, ID_Bearbeitungsvermerk, ID_Oertlichkeit_Ausgabe, Objektreferenzen, **kwargs_) + if PZB_Element_Zuordnung_BP is None: + self.PZB_Element_Zuordnung_BP = [] + else: + self.PZB_Element_Zuordnung_BP = PZB_Element_Zuordnung_BP + self.PZB_Element_Zuordnung_BP_nsprefix_ = None + if PZB_Element_Zuordnung_Fstr is None: + self.PZB_Element_Zuordnung_Fstr = [] + else: + self.PZB_Element_Zuordnung_Fstr = PZB_Element_Zuordnung_Fstr + self.PZB_Element_Zuordnung_Fstr_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CPZB_Element_Zuordnung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CPZB_Element_Zuordnung.subclass: + return CPZB_Element_Zuordnung.subclass(*args_, **kwargs_) + else: + return CPZB_Element_Zuordnung(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_PZB_Element_Zuordnung_BP(self): + return self.PZB_Element_Zuordnung_BP + def set_PZB_Element_Zuordnung_BP(self, PZB_Element_Zuordnung_BP): + self.PZB_Element_Zuordnung_BP = PZB_Element_Zuordnung_BP + def add_PZB_Element_Zuordnung_BP(self, value): + self.PZB_Element_Zuordnung_BP.append(value) + def insert_PZB_Element_Zuordnung_BP_at(self, index, value): + self.PZB_Element_Zuordnung_BP.insert(index, value) + def replace_PZB_Element_Zuordnung_BP_at(self, index, value): + self.PZB_Element_Zuordnung_BP[index] = value + def get_PZB_Element_Zuordnung_Fstr(self): + return self.PZB_Element_Zuordnung_Fstr + def set_PZB_Element_Zuordnung_Fstr(self, PZB_Element_Zuordnung_Fstr): + self.PZB_Element_Zuordnung_Fstr = PZB_Element_Zuordnung_Fstr + def add_PZB_Element_Zuordnung_Fstr(self, value): + self.PZB_Element_Zuordnung_Fstr.append(value) + def insert_PZB_Element_Zuordnung_Fstr_at(self, index, value): + self.PZB_Element_Zuordnung_Fstr.insert(index, value) + def replace_PZB_Element_Zuordnung_Fstr_at(self, index, value): + self.PZB_Element_Zuordnung_Fstr[index] = value + def has__content(self): + if ( + self.PZB_Element_Zuordnung_BP or + self.PZB_Element_Zuordnung_Fstr or + super(CPZB_Element_Zuordnung, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsPZB:', namespacedef_='xmlns:nsPZB="http://www.plan-pro.org/modell/PZB/1.10.0"', name_='CPZB_Element_Zuordnung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CPZB_Element_Zuordnung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CPZB_Element_Zuordnung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CPZB_Element_Zuordnung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CPZB_Element_Zuordnung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsPZB:', name_='CPZB_Element_Zuordnung'): + super(CPZB_Element_Zuordnung, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CPZB_Element_Zuordnung') + def _exportChildren(self, outfile, level, namespaceprefix_='nsPZB:', namespacedef_='xmlns:nsPZB="http://www.plan-pro.org/modell/PZB/1.10.0"', name_='CPZB_Element_Zuordnung', fromsubclass_=False, pretty_print=True): + super(CPZB_Element_Zuordnung, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for PZB_Element_Zuordnung_BP_ in self.PZB_Element_Zuordnung_BP: + namespaceprefix_ = self.PZB_Element_Zuordnung_BP_nsprefix_ + ':' if (UseCapturedNS_ and self.PZB_Element_Zuordnung_BP_nsprefix_) else '' + PZB_Element_Zuordnung_BP_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='PZB_Element_Zuordnung_BP', pretty_print=pretty_print) + for PZB_Element_Zuordnung_Fstr_ in self.PZB_Element_Zuordnung_Fstr: + namespaceprefix_ = self.PZB_Element_Zuordnung_Fstr_nsprefix_ + ':' if (UseCapturedNS_ and self.PZB_Element_Zuordnung_Fstr_nsprefix_) else '' + PZB_Element_Zuordnung_Fstr_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='PZB_Element_Zuordnung_Fstr', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CPZB_Element_Zuordnung, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'PZB_Element_Zuordnung_BP': + obj_ = CPZB_Element_Zuordnung_BP.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.PZB_Element_Zuordnung_BP.append(obj_) + obj_.original_tagname_ = 'PZB_Element_Zuordnung_BP' + elif nodeName_ == 'PZB_Element_Zuordnung_Fstr': + obj_ = CPZB_Element_Zuordnung_Fstr.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.PZB_Element_Zuordnung_Fstr.append(obj_) + obj_.original_tagname_ = 'PZB_Element_Zuordnung_Fstr' + super(CPZB_Element_Zuordnung, self)._buildChildren(child_, node, nodeName_, True) +# end class CPZB_Element_Zuordnung + + +class TCMessfehler(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCMessfehler"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMMessfehler(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCMessfehler) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCMessfehler.subclass: + return TCMessfehler.subclass(*args_, **kwargs_) + else: + return TCMessfehler(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMMessfehler(self, value): + result = True + # Validate type ENUMMessfehler, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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_bis_3', '3_bis_5', '5_bis_7', 'kleiner_4', 'kleiner_5'] + 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 ENUMMessfehler' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCMessfehler, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsPZB:', namespacedef_='xmlns:nsPZB="http://www.plan-pro.org/modell/PZB/1.10.0"', name_='TCMessfehler', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCMessfehler') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCMessfehler': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCMessfehler') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCMessfehler', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsPZB:', name_='TCMessfehler'): + super(TCMessfehler, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCMessfehler') + def _exportChildren(self, outfile, level, namespaceprefix_='nsPZB:', namespacedef_='xmlns:nsPZB="http://www.plan-pro.org/modell/PZB/1.10.0"', name_='TCMessfehler', fromsubclass_=False, pretty_print=True): + super(TCMessfehler, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCMessfehler, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMMessfehler + self.validate_ENUMMessfehler(self.Wert) + super(TCMessfehler, self)._buildChildren(child_, node, nodeName_, True) +# end class TCMessfehler + + +class CPZB_Element_GM(GeneratedsSuper): + """PZB_Abstand_GM -- Abstand des PZB-Magneten zum Signal, f + ü + r den eine INA-Berechnung durchgef + ü + hrt wurde. Der aktuelle Abstand wird + ü + ber die Verortung der beiden Punktobjekte ermittelt. + PZB_INA -- Der PZB-Magnet deckt gem + ä + ß + Wirkbereichsbogen Bereiche ab (\"true\"). Liegt ein Bahnsteig zwischen den PZB-Magneten von Vor- und nachfolgendem Hauptsignal, wird eine INA-Berechnung durchgef + ü + hrt. Das Ergebnis wird in einem Wirkbereichsbogen dokumentiert. Daraus geht die Relevanz des PZB-Magneten f + ü + r die + Ü + berwachung gegen Halt anfahrender Z + ü + ge hervor: Z. B. \"Der GM 1000 Hz deckt bei bei einer Beschleunigung von 0,3 m/s + ² + die Bereiche von ... bis ... m ab.\" oder \"Der GM 2000 Hz deckt keine Bereiche ab\". + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, PZB_Abstand_GM=None, PZB_INA=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.PZB_Abstand_GM = PZB_Abstand_GM + self.PZB_Abstand_GM_nsprefix_ = None + self.PZB_INA = PZB_INA + self.PZB_INA_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CPZB_Element_GM) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CPZB_Element_GM.subclass: + return CPZB_Element_GM.subclass(*args_, **kwargs_) + else: + return CPZB_Element_GM(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_PZB_Abstand_GM(self): + return self.PZB_Abstand_GM + def set_PZB_Abstand_GM(self, PZB_Abstand_GM): + self.PZB_Abstand_GM = PZB_Abstand_GM + def get_PZB_INA(self): + return self.PZB_INA + def set_PZB_INA(self, PZB_INA): + self.PZB_INA = PZB_INA + def has__content(self): + if ( + self.PZB_Abstand_GM is not None or + self.PZB_INA is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsPZB:', namespacedef_='xmlns:nsPZB="http://www.plan-pro.org/modell/PZB/1.10.0"', name_='CPZB_Element_GM', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CPZB_Element_GM') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CPZB_Element_GM': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CPZB_Element_GM') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CPZB_Element_GM', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsPZB:', name_='CPZB_Element_GM'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsPZB:', namespacedef_='xmlns:nsPZB="http://www.plan-pro.org/modell/PZB/1.10.0"', name_='CPZB_Element_GM', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.PZB_Abstand_GM is not None: + namespaceprefix_ = self.PZB_Abstand_GM_nsprefix_ + ':' if (UseCapturedNS_ and self.PZB_Abstand_GM_nsprefix_) else '' + self.PZB_Abstand_GM.export(outfile, level, namespaceprefix_, namespacedef_='', name_='PZB_Abstand_GM', pretty_print=pretty_print) + if self.PZB_INA is not None: + namespaceprefix_ = self.PZB_INA_nsprefix_ + ':' if (UseCapturedNS_ and self.PZB_INA_nsprefix_) else '' + self.PZB_INA.export(outfile, level, namespaceprefix_, namespacedef_='', name_='PZB_INA', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'PZB_Abstand_GM': + obj_ = TCPZB_Abstand_GM.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.PZB_Abstand_GM = obj_ + obj_.original_tagname_ = 'PZB_Abstand_GM' + elif nodeName_ == 'PZB_INA': + obj_ = TCPZB_INA.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.PZB_INA = obj_ + obj_.original_tagname_ = 'PZB_INA' +# end class CPZB_Element_GM + + +class TCPruefgeschwindigkeit(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCPruefgeschwindigkeit"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TPruefgeschwindigkeit(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCPruefgeschwindigkeit) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCPruefgeschwindigkeit.subclass: + return TCPruefgeschwindigkeit.subclass(*args_, **kwargs_) + else: + return TCPruefgeschwindigkeit(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TPruefgeschwindigkeit(self, value): + result = True + # Validate type TPruefgeschwindigkeit, a restriction on nsBasisTypen:TGeschwindigkeit. + 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_TPruefgeschwindigkeit_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TPruefgeschwindigkeit_patterns_, )) + result = False + return result + validate_TPruefgeschwindigkeit_patterns_ = [['^([1-9][0-9]|1[0-4][0-9]|150)$'], ['^(0|[1-9][0-9]{0,1}|[1-4][0-9]{2}|500)$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCPruefgeschwindigkeit, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsPZB:', namespacedef_='xmlns:nsPZB="http://www.plan-pro.org/modell/PZB/1.10.0"', name_='TCPruefgeschwindigkeit', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCPruefgeschwindigkeit') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCPruefgeschwindigkeit': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCPruefgeschwindigkeit') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCPruefgeschwindigkeit', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsPZB:', name_='TCPruefgeschwindigkeit'): + super(TCPruefgeschwindigkeit, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCPruefgeschwindigkeit') + def _exportChildren(self, outfile, level, namespaceprefix_='nsPZB:', namespacedef_='xmlns:nsPZB="http://www.plan-pro.org/modell/PZB/1.10.0"', name_='TCPruefgeschwindigkeit', fromsubclass_=False, pretty_print=True): + super(TCPruefgeschwindigkeit, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_integer(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCPruefgeschwindigkeit, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + ival_ = self.gds_parse_integer(sval_, node, 'Wert') + ival_ = self.gds_validate_integer(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + # validate type TPruefgeschwindigkeit + self.validate_TPruefgeschwindigkeit(self.Wert) + super(TCPruefgeschwindigkeit, self)._buildChildren(child_, node, nodeName_, True) +# end class TCPruefgeschwindigkeit + + +class TCWirksamkeit(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCWirksamkeit"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMWirksamkeit(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCWirksamkeit) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCWirksamkeit.subclass: + return TCWirksamkeit.subclass(*args_, **kwargs_) + else: + return TCWirksamkeit(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMWirksamkeit(self, value): + result = True + # Validate type ENUMWirksamkeit, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['schaltbar_von_Signal', 'sonstige', 'staendig_wirksam'] + 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 ENUMWirksamkeit' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCWirksamkeit, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsPZB:', namespacedef_='xmlns:nsPZB="http://www.plan-pro.org/modell/PZB/1.10.0"', name_='TCWirksamkeit', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCWirksamkeit') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCWirksamkeit': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCWirksamkeit') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCWirksamkeit', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsPZB:', name_='TCWirksamkeit'): + super(TCWirksamkeit, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCWirksamkeit') + def _exportChildren(self, outfile, level, namespaceprefix_='nsPZB:', namespacedef_='xmlns:nsPZB="http://www.plan-pro.org/modell/PZB/1.10.0"', name_='TCWirksamkeit', fromsubclass_=False, pretty_print=True): + super(TCWirksamkeit, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCWirksamkeit, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMWirksamkeit + self.validate_ENUMWirksamkeit(self.Wert) + super(TCWirksamkeit, self)._buildChildren(child_, node, nodeName_, True) +# end class TCWirksamkeit + + +class CINA_Gefahrstelle(GeneratedsSuper): + """ID_Markanter_Punkt -- Verweis auf einen Markanten Punkt zur Angabe einer Gefahrstelle f + ü + r die INA-Berechnung. Die Unterscheidung in ma + ß + gebende und sch + ü + tzenswertere Gefahrstelle erfolgt + ü + ber das Attribut Prioritaet_Gefahrstelle. DB-Regelwerk 819.1311V00 + Prioritaet_Gefahrstelle -- Priorit + ä + t der Gefahrstelle f + ü + r die INA-Berechnung. Die ma + ß + gebende Gefahrstelle wird durch den Wert 1 gekennzeichnet, sch + ü + tzenswertere Gefahrstellen erhalten entsprechend h + ö + here Werte. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, ID_Markanter_Punkt=None, Prioritaet_Gefahrstelle=None, gds_collector_=None, **kwargs_): + self.gds_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_Markanter_Punkt = ID_Markanter_Punkt + self.ID_Markanter_Punkt_nsprefix_ = None + self.Prioritaet_Gefahrstelle = Prioritaet_Gefahrstelle + self.Prioritaet_Gefahrstelle_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CINA_Gefahrstelle) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CINA_Gefahrstelle.subclass: + return CINA_Gefahrstelle.subclass(*args_, **kwargs_) + else: + return CINA_Gefahrstelle(*args_, **kwargs_) + factory = staticmethod(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_Markanter_Punkt(self): + return self.ID_Markanter_Punkt + def set_ID_Markanter_Punkt(self, ID_Markanter_Punkt): + self.ID_Markanter_Punkt = ID_Markanter_Punkt + def get_Prioritaet_Gefahrstelle(self): + return self.Prioritaet_Gefahrstelle + def set_Prioritaet_Gefahrstelle(self, Prioritaet_Gefahrstelle): + self.Prioritaet_Gefahrstelle = Prioritaet_Gefahrstelle + def has__content(self): + if ( + self.ID_Markanter_Punkt is not None or + self.Prioritaet_Gefahrstelle is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsPZB:', namespacedef_='xmlns:nsPZB="http://www.plan-pro.org/modell/PZB/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CINA_Gefahrstelle', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CINA_Gefahrstelle') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CINA_Gefahrstelle': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CINA_Gefahrstelle') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CINA_Gefahrstelle', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsPZB:', name_='CINA_Gefahrstelle'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsPZB:', namespacedef_='xmlns:nsPZB="http://www.plan-pro.org/modell/PZB/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CINA_Gefahrstelle', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.ID_Markanter_Punkt is not None: + namespaceprefix_ = self.ID_Markanter_Punkt_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Markanter_Punkt_nsprefix_) else '' + self.ID_Markanter_Punkt.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Markanter_Punkt', pretty_print=pretty_print) + if self.Prioritaet_Gefahrstelle is not None: + namespaceprefix_ = self.Prioritaet_Gefahrstelle_nsprefix_ + ':' if (UseCapturedNS_ and self.Prioritaet_Gefahrstelle_nsprefix_) else '' + self.Prioritaet_Gefahrstelle.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Prioritaet_Gefahrstelle', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Markanter_Punkt': + obj_ = TCID_Markanter_Punkt.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Markanter_Punkt = obj_ + obj_.original_tagname_ = 'ID_Markanter_Punkt' + elif nodeName_ == 'Prioritaet_Gefahrstelle': + obj_ = TCPrioritaet_Gefahrstelle.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Prioritaet_Gefahrstelle = obj_ + obj_.original_tagname_ = 'Prioritaet_Gefahrstelle' +# end class CINA_Gefahrstelle + + +class TCPZB_Abstand_GM(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCPZB_Abstand_GM"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TPZB_Abstand_GM(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCPZB_Abstand_GM) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCPZB_Abstand_GM.subclass: + return TCPZB_Abstand_GM.subclass(*args_, **kwargs_) + else: + return TCPZB_Abstand_GM(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TPZB_Abstand_GM(self, value): + result = True + # Validate type TPZB_Abstand_GM, a restriction on nsBasisTypen:TMeter. + 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 not self.gds_validate_simple_patterns( + self.validate_TPZB_Abstand_GM_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TPZB_Abstand_GM_patterns_, )) + result = False + return result + validate_TPZB_Abstand_GM_patterns_ = [['^(\\-[1-6]|[0-9]|[1-9][0-9]|[12][0-9]{2}|300)$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCPZB_Abstand_GM, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsPZB:', namespacedef_='xmlns:nsPZB="http://www.plan-pro.org/modell/PZB/1.10.0"', name_='TCPZB_Abstand_GM', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCPZB_Abstand_GM') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCPZB_Abstand_GM': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCPZB_Abstand_GM') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCPZB_Abstand_GM', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsPZB:', name_='TCPZB_Abstand_GM'): + super(TCPZB_Abstand_GM, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCPZB_Abstand_GM') + def _exportChildren(self, outfile, level, namespaceprefix_='nsPZB:', namespacedef_='xmlns:nsPZB="http://www.plan-pro.org/modell/PZB/1.10.0"', name_='TCPZB_Abstand_GM', fromsubclass_=False, pretty_print=True): + super(TCPZB_Abstand_GM, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_decimal(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCPZB_Abstand_GM, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + fval_ = self.gds_parse_decimal(sval_, node, 'Wert') + fval_ = self.gds_validate_decimal(fval_, node, 'Wert') + self.Wert = fval_ + self.Wert_nsprefix_ = child_.prefix + # validate type TPZB_Abstand_GM + self.validate_TPZB_Abstand_GM(self.Wert) + super(TCPZB_Abstand_GM, self)._buildChildren(child_, node, nodeName_, True) +# end class TCPZB_Abstand_GM + + +class TCGUE_Messstrecke(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCGUE_Messstrecke"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TGUE_Messstrecke(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCGUE_Messstrecke) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCGUE_Messstrecke.subclass: + return TCGUE_Messstrecke.subclass(*args_, **kwargs_) + else: + return TCGUE_Messstrecke(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TGUE_Messstrecke(self, value): + result = True + # Validate type TGUE_Messstrecke, a restriction on nsBasisTypen:TMeter. + 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 not self.gds_validate_simple_patterns( + self.validate_TGUE_Messstrecke_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGUE_Messstrecke_patterns_, )) + result = False + return result + validate_TGUE_Messstrecke_patterns_ = [['^(5\\.[89][0-9]|([6-9]|[1-6][0-9]|7[0-4])\\.[0-9]{2}|75\\.00)$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCGUE_Messstrecke, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsPZB:', namespacedef_='xmlns:nsPZB="http://www.plan-pro.org/modell/PZB/1.10.0"', name_='TCGUE_Messstrecke', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCGUE_Messstrecke') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCGUE_Messstrecke': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCGUE_Messstrecke') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCGUE_Messstrecke', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsPZB:', name_='TCGUE_Messstrecke'): + super(TCGUE_Messstrecke, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCGUE_Messstrecke') + def _exportChildren(self, outfile, level, namespaceprefix_='nsPZB:', namespacedef_='xmlns:nsPZB="http://www.plan-pro.org/modell/PZB/1.10.0"', name_='TCGUE_Messstrecke', fromsubclass_=False, pretty_print=True): + super(TCGUE_Messstrecke, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_decimal(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCGUE_Messstrecke, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + fval_ = self.gds_parse_decimal(sval_, node, 'Wert') + fval_ = self.gds_validate_decimal(fval_, node, 'Wert') + self.Wert = fval_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGUE_Messstrecke + self.validate_TGUE_Messstrecke(self.Wert) + super(TCGUE_Messstrecke, self)._buildChildren(child_, node, nodeName_, True) +# end class TCGUE_Messstrecke + + +class TCPZB_Art(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCPZB_Art"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMPZB_Art(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCPZB_Art) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCPZB_Art.subclass: + return TCPZB_Art.subclass(*args_, **kwargs_) + else: + return TCPZB_Art(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMPZB_Art(self, value): + result = True + # Validate type ENUMPZB_Art, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['1000_2000_Hz', '1000_Hz', '2000_Hz', '500_Hz'] + 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 ENUMPZB_Art' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCPZB_Art, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsPZB:', namespacedef_='xmlns:nsPZB="http://www.plan-pro.org/modell/PZB/1.10.0"', name_='TCPZB_Art', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCPZB_Art') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCPZB_Art': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCPZB_Art') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCPZB_Art', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsPZB:', name_='TCPZB_Art'): + super(TCPZB_Art, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCPZB_Art') + def _exportChildren(self, outfile, level, namespaceprefix_='nsPZB:', namespacedef_='xmlns:nsPZB="http://www.plan-pro.org/modell/PZB/1.10.0"', name_='TCPZB_Art', fromsubclass_=False, pretty_print=True): + super(TCPZB_Art, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCPZB_Art, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMPZB_Art + self.validate_ENUMPZB_Art(self.Wert) + super(TCPZB_Art, self)._buildChildren(child_, node, nodeName_, True) +# end class TCPZB_Art + + +class CPZB_Element_GUE(GeneratedsSuper): + """GUE_Abstand_Abweichend -- Angabe des von der Regelanordnung abweichenden Abstandes einer G + Ü + zum Signal. Das Attribut wird nur bef + ü + llt, wenn der Abstand der GUE zum Signal gem + ä + ß + Ril 819.1310 Anhang 01 aus baulichen Gr + ü + nden nicht realisiert werden kann. Es ist dann der Abstand zwischen GUE und Signal anzugeben. Dann sind die Toleranzen gem + ä + ß + Ril 819.1310 Abschnitt 9, Absatz (4) einzuhalten. DB-Regelwerk 819.1310A01 in Verbindung mit 819.1310 9 (4) + GUE_Anordnung -- Angabe des Anordnungsfalles des Pr + ü + f- und der Pr + ü + fmagneten einer G + Ü + . Fall 1 (EA): in Fahrtrichtung zuerst Einschaltmagnet (GSE), dann Wirkmagnet, dann Ausschaltmagnet (GSA). Fall 2 (AE): in Fahrtrichtung zuerst Ausschaltmagnet (GSA) dann Einschaltmagnet (GSE), dann Wirkmagnet. Nach Ril 819.1310 ist im Regelfall die Variante gem + ä + ß + Fall 1 anzuwenden. DB-Regelwerk 819.1310 9 819.1310A01 + GUE_Bauart -- Bauart der G + Ü + , von der weitere Planungsparameter wie Messfehler oder Pruefzeit abh + ä + ngen. DB-Regelwerk Ril 819.1310A01 + GUE_Energieversorgung -- Angabe, wie die Energieversorgung der G + Ü + erfolgt. Bei G + Ü + , die zur + Ü + berwachung restriktiver Geschwindigkeiten an Signalen bzw. f + ü + r Weichen geplant werden, erfolgt die Stromversorgung im Regelfall aus dem zugeh + ö + rigen Stellwerk. Bei Lf-Signalen der freien Strecke, die einer G + Ü + -Sicherung bed + ü + rfen, ist im Regelfall die Solarspeisung vorzusehen, da sich keine geeignete Stromversorgung in der N + ä + he befindet. Bei Auswahl von \"sonstige\" ist ein Bearbeitungsvermerk mit entsprechenden Erl + ä + uterungen anzuf + ü + gen. DB-Regelwerk Das Planungsdatum ist im Regelwerk der DB AG nicht enthalten. Es ergibt sich aus dem konkreten Anwendungsfall. + GUE_Messstrecke -- Angabe + ü + ber die L + ä + nge der Messstrecke der G + Ü + in [m]. Aus Sicht des LST-Planers ist die Messstrecke das ma + ß + gebende Planungskriterium, die aufgrund der + ö + rtlichen Verh + ä + ltnisse (z. B. Weichenlage, Schwei + ß + stelle, andere sicherungstechnischen Elemente) festzulegen ist. Daraus ergibt sich die dann zu realisierende Bauform der G + Ü + . DB-Regelwerk 819.1310A01 7 819.1310A01 8 + ID_PZB_Element_Mitnutzung -- Mit Ausnahme von G + Ü + bei Lf-Signalisierung werden bei der Anordnung von G + Ü + unmittelbar am Signal (meist im Zusammenhang mit geschwindigkeitsmindernden Zusatzanzeigern) der Wirkmagnet der G + Ü + und der PZB-Magnet des Signals zu einem PZB-Magneten zusammengefasst. DB-Regelwerk Der Sachverhalt ist in der Ril 819.1310 zwar nicht eindeutig beschrieben, geht jedoch aus den Tabelleneintr + ä + gen im Anhang 01 hervor. + Messfehler -- Messfehlerbereich der G + Ü + in Abh + ä + ngigkeit von der Bauart DB-Regelwerk Ril 819.1310A01 + Pruefgeschwindigkeit -- Angabe der an der G + Ü + eingestellten + Ü + berwachungsgeschwindigkeit in [km/h]. Bis auf die + Ü + berwachungsgeschwindigkeiten 95 und 105 erhalten die G + Ü + eine Wirkmagnet mit 2000 Hz; f + ü + r G + Ü + 95 und 105 einen Wirkmagneten mit 1000 Hz. Eine explizite Angabe der Wirkfrequenz bei der G + Ü + ist daher nicht vorgesehen. DB-Regelwerk 819.1310A01 3 819.1310A01 5 819.1310A01 6 + Pruefzeit -- Pr + ü + fzeit der G + Ü + in Abh + ä + ngigkeit von der Bauart. DB-Regelwerk Ril 819.1310A01 + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, GUE_Abstand_Abweichend=None, GUE_Anordnung=None, GUE_Bauart=None, GUE_Energieversorgung=None, GUE_Messstrecke=None, ID_PZB_Element_Mitnutzung=None, Messfehler=None, Pruefgeschwindigkeit=None, Pruefzeit=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.GUE_Abstand_Abweichend = GUE_Abstand_Abweichend + self.GUE_Abstand_Abweichend_nsprefix_ = None + self.GUE_Anordnung = GUE_Anordnung + self.GUE_Anordnung_nsprefix_ = None + self.GUE_Bauart = GUE_Bauart + self.GUE_Bauart_nsprefix_ = None + self.GUE_Energieversorgung = GUE_Energieversorgung + self.GUE_Energieversorgung_nsprefix_ = None + self.GUE_Messstrecke = GUE_Messstrecke + self.GUE_Messstrecke_nsprefix_ = None + self.ID_PZB_Element_Mitnutzung = ID_PZB_Element_Mitnutzung + self.ID_PZB_Element_Mitnutzung_nsprefix_ = None + self.Messfehler = Messfehler + self.Messfehler_nsprefix_ = None + self.Pruefgeschwindigkeit = Pruefgeschwindigkeit + self.Pruefgeschwindigkeit_nsprefix_ = None + self.Pruefzeit = Pruefzeit + self.Pruefzeit_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CPZB_Element_GUE) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CPZB_Element_GUE.subclass: + return CPZB_Element_GUE.subclass(*args_, **kwargs_) + else: + return CPZB_Element_GUE(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_GUE_Abstand_Abweichend(self): + return self.GUE_Abstand_Abweichend + def set_GUE_Abstand_Abweichend(self, GUE_Abstand_Abweichend): + self.GUE_Abstand_Abweichend = GUE_Abstand_Abweichend + def get_GUE_Anordnung(self): + return self.GUE_Anordnung + def set_GUE_Anordnung(self, GUE_Anordnung): + self.GUE_Anordnung = GUE_Anordnung + def get_GUE_Bauart(self): + return self.GUE_Bauart + def set_GUE_Bauart(self, GUE_Bauart): + self.GUE_Bauart = GUE_Bauart + def get_GUE_Energieversorgung(self): + return self.GUE_Energieversorgung + def set_GUE_Energieversorgung(self, GUE_Energieversorgung): + self.GUE_Energieversorgung = GUE_Energieversorgung + def get_GUE_Messstrecke(self): + return self.GUE_Messstrecke + def set_GUE_Messstrecke(self, GUE_Messstrecke): + self.GUE_Messstrecke = GUE_Messstrecke + def get_ID_PZB_Element_Mitnutzung(self): + return self.ID_PZB_Element_Mitnutzung + def set_ID_PZB_Element_Mitnutzung(self, ID_PZB_Element_Mitnutzung): + self.ID_PZB_Element_Mitnutzung = ID_PZB_Element_Mitnutzung + def get_Messfehler(self): + return self.Messfehler + def set_Messfehler(self, Messfehler): + self.Messfehler = Messfehler + def get_Pruefgeschwindigkeit(self): + return self.Pruefgeschwindigkeit + def set_Pruefgeschwindigkeit(self, Pruefgeschwindigkeit): + self.Pruefgeschwindigkeit = Pruefgeschwindigkeit + def get_Pruefzeit(self): + return self.Pruefzeit + def set_Pruefzeit(self, Pruefzeit): + self.Pruefzeit = Pruefzeit + def has__content(self): + if ( + self.GUE_Abstand_Abweichend is not None or + self.GUE_Anordnung is not None or + self.GUE_Bauart is not None or + self.GUE_Energieversorgung is not None or + self.GUE_Messstrecke is not None or + self.ID_PZB_Element_Mitnutzung is not None or + self.Messfehler is not None or + self.Pruefgeschwindigkeit is not None or + self.Pruefzeit is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsPZB:', namespacedef_='xmlns:nsPZB="http://www.plan-pro.org/modell/PZB/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CPZB_Element_GUE', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CPZB_Element_GUE') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CPZB_Element_GUE': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CPZB_Element_GUE') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CPZB_Element_GUE', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsPZB:', name_='CPZB_Element_GUE'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsPZB:', namespacedef_='xmlns:nsPZB="http://www.plan-pro.org/modell/PZB/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CPZB_Element_GUE', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.GUE_Abstand_Abweichend is not None: + namespaceprefix_ = self.GUE_Abstand_Abweichend_nsprefix_ + ':' if (UseCapturedNS_ and self.GUE_Abstand_Abweichend_nsprefix_) else '' + self.GUE_Abstand_Abweichend.export(outfile, level, namespaceprefix_, namespacedef_='', name_='GUE_Abstand_Abweichend', pretty_print=pretty_print) + if self.GUE_Anordnung is not None: + namespaceprefix_ = self.GUE_Anordnung_nsprefix_ + ':' if (UseCapturedNS_ and self.GUE_Anordnung_nsprefix_) else '' + self.GUE_Anordnung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='GUE_Anordnung', pretty_print=pretty_print) + if self.GUE_Bauart is not None: + namespaceprefix_ = self.GUE_Bauart_nsprefix_ + ':' if (UseCapturedNS_ and self.GUE_Bauart_nsprefix_) else '' + self.GUE_Bauart.export(outfile, level, namespaceprefix_, namespacedef_='', name_='GUE_Bauart', pretty_print=pretty_print) + if self.GUE_Energieversorgung is not None: + namespaceprefix_ = self.GUE_Energieversorgung_nsprefix_ + ':' if (UseCapturedNS_ and self.GUE_Energieversorgung_nsprefix_) else '' + self.GUE_Energieversorgung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='GUE_Energieversorgung', pretty_print=pretty_print) + if self.GUE_Messstrecke is not None: + namespaceprefix_ = self.GUE_Messstrecke_nsprefix_ + ':' if (UseCapturedNS_ and self.GUE_Messstrecke_nsprefix_) else '' + self.GUE_Messstrecke.export(outfile, level, namespaceprefix_, namespacedef_='', name_='GUE_Messstrecke', pretty_print=pretty_print) + if self.ID_PZB_Element_Mitnutzung is not None: + namespaceprefix_ = self.ID_PZB_Element_Mitnutzung_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_PZB_Element_Mitnutzung_nsprefix_) else '' + self.ID_PZB_Element_Mitnutzung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_PZB_Element_Mitnutzung', pretty_print=pretty_print) + if self.Messfehler is not None: + namespaceprefix_ = self.Messfehler_nsprefix_ + ':' if (UseCapturedNS_ and self.Messfehler_nsprefix_) else '' + self.Messfehler.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Messfehler', pretty_print=pretty_print) + if self.Pruefgeschwindigkeit is not None: + namespaceprefix_ = self.Pruefgeschwindigkeit_nsprefix_ + ':' if (UseCapturedNS_ and self.Pruefgeschwindigkeit_nsprefix_) else '' + self.Pruefgeschwindigkeit.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Pruefgeschwindigkeit', pretty_print=pretty_print) + if self.Pruefzeit is not None: + namespaceprefix_ = self.Pruefzeit_nsprefix_ + ':' if (UseCapturedNS_ and self.Pruefzeit_nsprefix_) else '' + self.Pruefzeit.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Pruefzeit', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'GUE_Abstand_Abweichend': + obj_ = TCGUE_Abstand_Abweichend.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.GUE_Abstand_Abweichend = obj_ + obj_.original_tagname_ = 'GUE_Abstand_Abweichend' + elif nodeName_ == 'GUE_Anordnung': + obj_ = TCGUE_Anordnung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.GUE_Anordnung = obj_ + obj_.original_tagname_ = 'GUE_Anordnung' + elif nodeName_ == 'GUE_Bauart': + obj_ = TCGUE_Bauart.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.GUE_Bauart = obj_ + obj_.original_tagname_ = 'GUE_Bauart' + elif nodeName_ == 'GUE_Energieversorgung': + obj_ = TCGUE_Energieversorgung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.GUE_Energieversorgung = obj_ + obj_.original_tagname_ = 'GUE_Energieversorgung' + elif nodeName_ == 'GUE_Messstrecke': + obj_ = TCGUE_Messstrecke.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.GUE_Messstrecke = obj_ + obj_.original_tagname_ = 'GUE_Messstrecke' + elif nodeName_ == 'ID_PZB_Element_Mitnutzung': + obj_ = TCID_PZB_Element_Mitnutzung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_PZB_Element_Mitnutzung = obj_ + obj_.original_tagname_ = 'ID_PZB_Element_Mitnutzung' + elif nodeName_ == 'Messfehler': + obj_ = TCMessfehler.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Messfehler = obj_ + obj_.original_tagname_ = 'Messfehler' + elif nodeName_ == 'Pruefgeschwindigkeit': + obj_ = TCPruefgeschwindigkeit.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Pruefgeschwindigkeit = obj_ + obj_.original_tagname_ = 'Pruefgeschwindigkeit' + elif nodeName_ == 'Pruefzeit': + obj_ = TCPruefzeit.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Pruefzeit = obj_ + obj_.original_tagname_ = 'Pruefzeit' +# end class CPZB_Element_GUE + + +class CPZB_Element_Zuordnung_INA(GeneratedsSuper): + """ID_Anhang_INA -- Verweis auf die zugeh + ö + rigen Dokumente zur INA-Berechnung. Dazu geh + ö + ren Erhebungsbogen, Wirkbereichsbogen und ggf. die Berechnungsbl + ä + tter selbst. Diese werden f + ü + r jedes Signal gesondert erstellt. DB-Regelwerk 819.1310A02 + ID_Bahnsteig_Kante -- ID der zugeh + ö + rigen Bahnsteigkante bezogen auf ein Signal mit INA-Berechnung. Der Fall, dass zwei separate Bahnsteige zwischen Vor- und Hauptsignal angeordnet sind, wird nicht angenommen. Aus der bisherigen Praxis sind keine solchen F + ä + lle bekannt. DB-Regelwerk 819.1310A02 2 (1) + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, ID_Anhang_INA=None, ID_Bahnsteig_Kante=None, gds_collector_=None, **kwargs_): + self.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 ID_Anhang_INA is None: + self.ID_Anhang_INA = [] + else: + self.ID_Anhang_INA = ID_Anhang_INA + self.ID_Anhang_INA_nsprefix_ = None + self.ID_Bahnsteig_Kante = ID_Bahnsteig_Kante + self.ID_Bahnsteig_Kante_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CPZB_Element_Zuordnung_INA) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CPZB_Element_Zuordnung_INA.subclass: + return CPZB_Element_Zuordnung_INA.subclass(*args_, **kwargs_) + else: + return CPZB_Element_Zuordnung_INA(*args_, **kwargs_) + factory = staticmethod(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_Anhang_INA(self): + return self.ID_Anhang_INA + def set_ID_Anhang_INA(self, ID_Anhang_INA): + self.ID_Anhang_INA = ID_Anhang_INA + def add_ID_Anhang_INA(self, value): + self.ID_Anhang_INA.append(value) + def insert_ID_Anhang_INA_at(self, index, value): + self.ID_Anhang_INA.insert(index, value) + def replace_ID_Anhang_INA_at(self, index, value): + self.ID_Anhang_INA[index] = value + def get_ID_Bahnsteig_Kante(self): + return self.ID_Bahnsteig_Kante + def set_ID_Bahnsteig_Kante(self, ID_Bahnsteig_Kante): + self.ID_Bahnsteig_Kante = ID_Bahnsteig_Kante + def has__content(self): + if ( + self.ID_Anhang_INA or + self.ID_Bahnsteig_Kante is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsPZB:', namespacedef_='xmlns:nsPZB="http://www.plan-pro.org/modell/PZB/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CPZB_Element_Zuordnung_INA', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CPZB_Element_Zuordnung_INA') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CPZB_Element_Zuordnung_INA': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CPZB_Element_Zuordnung_INA') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CPZB_Element_Zuordnung_INA', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsPZB:', name_='CPZB_Element_Zuordnung_INA'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsPZB:', namespacedef_='xmlns:nsPZB="http://www.plan-pro.org/modell/PZB/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CPZB_Element_Zuordnung_INA', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Anhang_INA_ in self.ID_Anhang_INA: + namespaceprefix_ = self.ID_Anhang_INA_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Anhang_INA_nsprefix_) else '' + ID_Anhang_INA_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Anhang_INA', pretty_print=pretty_print) + if self.ID_Bahnsteig_Kante is not None: + namespaceprefix_ = self.ID_Bahnsteig_Kante_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bahnsteig_Kante_nsprefix_) else '' + self.ID_Bahnsteig_Kante.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bahnsteig_Kante', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Anhang_INA': + obj_ = TCID_Anhang.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Anhang_INA.append(obj_) + obj_.original_tagname_ = 'ID_Anhang_INA' + elif nodeName_ == 'ID_Bahnsteig_Kante': + obj_ = TCID_Bahnsteig_Kante.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bahnsteig_Kante = obj_ + obj_.original_tagname_ = 'ID_Bahnsteig_Kante' +# end class CPZB_Element_Zuordnung_INA + + +class CPZB_Element_Zuordnung_Fstr(GeneratedsSuper): + """ID_Fstr_Zug_Rangier -- Verlinkung, zu welcher Fahrstra + ß + e der PZB-Gleismagnet geh + ö + rt (wird nur angegeben, wenn Ziel der Fahrstra + ß + e nicht identisch mit zugeordneten Signal ist oder Umfahrwege existieren). Dabei ist festgelegt, dass der Fahrweg der Fahrstra + ß + e + ü + ber den PZB-Gleismagneten f + ü + hrt. Gleismagnete ohne Zuordnung zu einem Signal oder einer Fahrstra + ß + e sind st + ä + ndig wirksam. Zur Verdeutlichung dienen die folgenden Beispiele: Media:Skizze PZB.pdf, Media:Tabellen PZB.pdf. In den Beipielen ist das PZB Element ein Gleismagnet 500 Hz; diese Verfahrensweise kann analog auch f + ü + r alle anderen PZB_Elemente, z.B. G + Ü + , angewandt werden. DB-Regelwerk Gleismagnettabelle 1 mittels Fu + ß + note + Wirksamkeit_Fstr -- Angabe, ob der Gleismagnet/ die G + Ü + bei Einstellung der referenzierten Fahrstra + ß + e wirksam ist oder nicht. Bei Auswahl von \"sonstige\" ist ein Bearbeitungsvermerk mit entsprechenden Erl + ä + uterungen anzuf + ü + gen. DB-Regelwerk Gleismagnettabelle + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, ID_Fstr_Zug_Rangier=None, Wirksamkeit_Fstr=None, gds_collector_=None, **kwargs_): + self.gds_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_Fstr_Zug_Rangier = ID_Fstr_Zug_Rangier + self.ID_Fstr_Zug_Rangier_nsprefix_ = None + self.Wirksamkeit_Fstr = Wirksamkeit_Fstr + self.Wirksamkeit_Fstr_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CPZB_Element_Zuordnung_Fstr) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CPZB_Element_Zuordnung_Fstr.subclass: + return CPZB_Element_Zuordnung_Fstr.subclass(*args_, **kwargs_) + else: + return CPZB_Element_Zuordnung_Fstr(*args_, **kwargs_) + factory = staticmethod(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_Fstr_Zug_Rangier(self): + return self.ID_Fstr_Zug_Rangier + def set_ID_Fstr_Zug_Rangier(self, ID_Fstr_Zug_Rangier): + self.ID_Fstr_Zug_Rangier = ID_Fstr_Zug_Rangier + def get_Wirksamkeit_Fstr(self): + return self.Wirksamkeit_Fstr + def set_Wirksamkeit_Fstr(self, Wirksamkeit_Fstr): + self.Wirksamkeit_Fstr = Wirksamkeit_Fstr + def has__content(self): + if ( + self.ID_Fstr_Zug_Rangier is not None or + self.Wirksamkeit_Fstr is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsPZB:', namespacedef_='xmlns:nsPZB="http://www.plan-pro.org/modell/PZB/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CPZB_Element_Zuordnung_Fstr', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CPZB_Element_Zuordnung_Fstr') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CPZB_Element_Zuordnung_Fstr': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CPZB_Element_Zuordnung_Fstr') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CPZB_Element_Zuordnung_Fstr', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsPZB:', name_='CPZB_Element_Zuordnung_Fstr'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsPZB:', namespacedef_='xmlns:nsPZB="http://www.plan-pro.org/modell/PZB/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CPZB_Element_Zuordnung_Fstr', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.ID_Fstr_Zug_Rangier is not None: + namespaceprefix_ = self.ID_Fstr_Zug_Rangier_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Fstr_Zug_Rangier_nsprefix_) else '' + self.ID_Fstr_Zug_Rangier.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Fstr_Zug_Rangier', pretty_print=pretty_print) + if self.Wirksamkeit_Fstr is not None: + namespaceprefix_ = self.Wirksamkeit_Fstr_nsprefix_ + ':' if (UseCapturedNS_ and self.Wirksamkeit_Fstr_nsprefix_) else '' + self.Wirksamkeit_Fstr.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Wirksamkeit_Fstr', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Fstr_Zug_Rangier': + obj_ = TCID_Fstr_Zug_Rangier.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Fstr_Zug_Rangier = obj_ + obj_.original_tagname_ = 'ID_Fstr_Zug_Rangier' + elif nodeName_ == 'Wirksamkeit_Fstr': + obj_ = TCWirksamkeit_Fstr.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Wirksamkeit_Fstr = obj_ + obj_.original_tagname_ = 'Wirksamkeit_Fstr' +# end class CPZB_Element_Zuordnung_Fstr + + +class TCWirksamkeit_Fstr(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCWirksamkeit_Fstr"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMWirksamkeit_Fstr(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCWirksamkeit_Fstr) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCWirksamkeit_Fstr.subclass: + return TCWirksamkeit_Fstr.subclass(*args_, **kwargs_) + else: + return TCWirksamkeit_Fstr(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMWirksamkeit_Fstr(self, value): + result = True + # Validate type ENUMWirksamkeit_Fstr, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['sonstige', 'staendig_wirksam_wenn_Fahrstrasse_eingestellt', 'unwirksam_wenn_Fahrstrasse_eingestellt'] + 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 ENUMWirksamkeit_Fstr' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCWirksamkeit_Fstr, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsPZB:', namespacedef_='xmlns:nsPZB="http://www.plan-pro.org/modell/PZB/1.10.0"', name_='TCWirksamkeit_Fstr', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCWirksamkeit_Fstr') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCWirksamkeit_Fstr': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCWirksamkeit_Fstr') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCWirksamkeit_Fstr', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsPZB:', name_='TCWirksamkeit_Fstr'): + super(TCWirksamkeit_Fstr, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCWirksamkeit_Fstr') + def _exportChildren(self, outfile, level, namespaceprefix_='nsPZB:', namespacedef_='xmlns:nsPZB="http://www.plan-pro.org/modell/PZB/1.10.0"', name_='TCWirksamkeit_Fstr', fromsubclass_=False, pretty_print=True): + super(TCWirksamkeit_Fstr, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCWirksamkeit_Fstr, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMWirksamkeit_Fstr + self.validate_ENUMWirksamkeit_Fstr(self.Wert) + super(TCWirksamkeit_Fstr, self)._buildChildren(child_, node, nodeName_, True) +# end class TCWirksamkeit_Fstr + + +class CPZB_Element_Zuordnung_BP(GeneratedsSuper): + """ID_PZB_Element_Bezugspunkt -- Verweis auf das Signal bzw. die Weiche, in dessen Abh + ä + ngigkeit das PZB Element angeordnet werden muss. W + ä + hrend bei PZB-Element-GM im Regelfall das Signal anzugeben ist, k + ö + nnen PZB-Element-GUE auch in Abh + ä + ngigkeit einer Weiche angeordnet werden (z.B. Sp + ä + tablenkung). DB-Regelwerk Gleismagnettabelle 1 + Wirksamkeit -- Angabe, ob der Gleismagnet/ die G + Ü + schaltbar ist oder nicht bzw. wie die Anschaltung erfolgt. Bei Auswahl von \"sonstige\" ist ein Bearbeitungsvermerk mit entsprechenden Erl + ä + uterungen anzuf + ü + gen. DB-Regelwerk Gleismagnettabelle + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, ID_PZB_Element_Bezugspunkt=None, INA_Gefahrstelle=None, PZB_Element_Zuordnung_INA=None, Wirksamkeit=None, gds_collector_=None, **kwargs_): + self.gds_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_PZB_Element_Bezugspunkt = ID_PZB_Element_Bezugspunkt + self.ID_PZB_Element_Bezugspunkt_nsprefix_ = None + if INA_Gefahrstelle is None: + self.INA_Gefahrstelle = [] + else: + self.INA_Gefahrstelle = INA_Gefahrstelle + self.INA_Gefahrstelle_nsprefix_ = None + self.PZB_Element_Zuordnung_INA = PZB_Element_Zuordnung_INA + self.PZB_Element_Zuordnung_INA_nsprefix_ = None + self.Wirksamkeit = Wirksamkeit + self.Wirksamkeit_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CPZB_Element_Zuordnung_BP) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CPZB_Element_Zuordnung_BP.subclass: + return CPZB_Element_Zuordnung_BP.subclass(*args_, **kwargs_) + else: + return CPZB_Element_Zuordnung_BP(*args_, **kwargs_) + factory = staticmethod(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_PZB_Element_Bezugspunkt(self): + return self.ID_PZB_Element_Bezugspunkt + def set_ID_PZB_Element_Bezugspunkt(self, ID_PZB_Element_Bezugspunkt): + self.ID_PZB_Element_Bezugspunkt = ID_PZB_Element_Bezugspunkt + def get_INA_Gefahrstelle(self): + return self.INA_Gefahrstelle + def set_INA_Gefahrstelle(self, INA_Gefahrstelle): + self.INA_Gefahrstelle = INA_Gefahrstelle + def add_INA_Gefahrstelle(self, value): + self.INA_Gefahrstelle.append(value) + def insert_INA_Gefahrstelle_at(self, index, value): + self.INA_Gefahrstelle.insert(index, value) + def replace_INA_Gefahrstelle_at(self, index, value): + self.INA_Gefahrstelle[index] = value + def get_PZB_Element_Zuordnung_INA(self): + return self.PZB_Element_Zuordnung_INA + def set_PZB_Element_Zuordnung_INA(self, PZB_Element_Zuordnung_INA): + self.PZB_Element_Zuordnung_INA = PZB_Element_Zuordnung_INA + def get_Wirksamkeit(self): + return self.Wirksamkeit + def set_Wirksamkeit(self, Wirksamkeit): + self.Wirksamkeit = Wirksamkeit + def has__content(self): + if ( + self.ID_PZB_Element_Bezugspunkt is not None or + self.INA_Gefahrstelle or + self.PZB_Element_Zuordnung_INA is not None or + self.Wirksamkeit is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsPZB:', namespacedef_='xmlns:nsPZB="http://www.plan-pro.org/modell/PZB/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CPZB_Element_Zuordnung_BP', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CPZB_Element_Zuordnung_BP') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CPZB_Element_Zuordnung_BP': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CPZB_Element_Zuordnung_BP') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CPZB_Element_Zuordnung_BP', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsPZB:', name_='CPZB_Element_Zuordnung_BP'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsPZB:', namespacedef_='xmlns:nsPZB="http://www.plan-pro.org/modell/PZB/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CPZB_Element_Zuordnung_BP', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.ID_PZB_Element_Bezugspunkt is not None: + namespaceprefix_ = self.ID_PZB_Element_Bezugspunkt_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_PZB_Element_Bezugspunkt_nsprefix_) else '' + self.ID_PZB_Element_Bezugspunkt.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_PZB_Element_Bezugspunkt', pretty_print=pretty_print) + for INA_Gefahrstelle_ in self.INA_Gefahrstelle: + namespaceprefix_ = self.INA_Gefahrstelle_nsprefix_ + ':' if (UseCapturedNS_ and self.INA_Gefahrstelle_nsprefix_) else '' + INA_Gefahrstelle_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='INA_Gefahrstelle', pretty_print=pretty_print) + if self.PZB_Element_Zuordnung_INA is not None: + namespaceprefix_ = self.PZB_Element_Zuordnung_INA_nsprefix_ + ':' if (UseCapturedNS_ and self.PZB_Element_Zuordnung_INA_nsprefix_) else '' + self.PZB_Element_Zuordnung_INA.export(outfile, level, namespaceprefix_, namespacedef_='', name_='PZB_Element_Zuordnung_INA', pretty_print=pretty_print) + if self.Wirksamkeit is not None: + namespaceprefix_ = self.Wirksamkeit_nsprefix_ + ':' if (UseCapturedNS_ and self.Wirksamkeit_nsprefix_) else '' + self.Wirksamkeit.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Wirksamkeit', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_PZB_Element_Bezugspunkt': + obj_ = TCID_PZB_Element_Bezugspunkt.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_PZB_Element_Bezugspunkt = obj_ + obj_.original_tagname_ = 'ID_PZB_Element_Bezugspunkt' + elif nodeName_ == 'INA_Gefahrstelle': + obj_ = CINA_Gefahrstelle.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.INA_Gefahrstelle.append(obj_) + obj_.original_tagname_ = 'INA_Gefahrstelle' + elif nodeName_ == 'PZB_Element_Zuordnung_INA': + obj_ = CPZB_Element_Zuordnung_INA.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.PZB_Element_Zuordnung_INA = obj_ + obj_.original_tagname_ = 'PZB_Element_Zuordnung_INA' + elif nodeName_ == 'Wirksamkeit': + obj_ = TCWirksamkeit.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Wirksamkeit = obj_ + obj_.original_tagname_ = 'Wirksamkeit' +# end class CPZB_Element_Zuordnung_BP + + +class TCPrioritaet_Gefahrstelle(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCPrioritaet_Gefahrstelle"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TPrioritaet_Gefahrstelle(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCPrioritaet_Gefahrstelle) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCPrioritaet_Gefahrstelle.subclass: + return TCPrioritaet_Gefahrstelle.subclass(*args_, **kwargs_) + else: + return TCPrioritaet_Gefahrstelle(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TPrioritaet_Gefahrstelle(self, value): + result = True + # Validate type TPrioritaet_Gefahrstelle, a restriction on xs:integer. + 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 + pass + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCPrioritaet_Gefahrstelle, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsPZB:', namespacedef_='xmlns:nsPZB="http://www.plan-pro.org/modell/PZB/1.10.0"', name_='TCPrioritaet_Gefahrstelle', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCPrioritaet_Gefahrstelle') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCPrioritaet_Gefahrstelle': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCPrioritaet_Gefahrstelle') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCPrioritaet_Gefahrstelle', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsPZB:', name_='TCPrioritaet_Gefahrstelle'): + super(TCPrioritaet_Gefahrstelle, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCPrioritaet_Gefahrstelle') + def _exportChildren(self, outfile, level, namespaceprefix_='nsPZB:', namespacedef_='xmlns:nsPZB="http://www.plan-pro.org/modell/PZB/1.10.0"', name_='TCPrioritaet_Gefahrstelle', fromsubclass_=False, pretty_print=True): + super(TCPrioritaet_Gefahrstelle, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_integer(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCPrioritaet_Gefahrstelle, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + ival_ = self.gds_parse_integer(sval_, node, 'Wert') + ival_ = self.gds_validate_integer(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + # validate type TPrioritaet_Gefahrstelle + self.validate_TPrioritaet_Gefahrstelle(self.Wert) + super(TCPrioritaet_Gefahrstelle, self)._buildChildren(child_, node, nodeName_, True) +# end class TCPrioritaet_Gefahrstelle + + +class TCPZB_INA(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCPZB_INA"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCPZB_INA) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCPZB_INA.subclass: + return TCPZB_INA.subclass(*args_, **kwargs_) + else: + return TCPZB_INA(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def has__content(self): + if ( + self.Wert is not None or + super(TCPZB_INA, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsPZB:', namespacedef_='xmlns:nsPZB="http://www.plan-pro.org/modell/PZB/1.10.0"', name_='TCPZB_INA', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCPZB_INA') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCPZB_INA': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCPZB_INA') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCPZB_INA', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsPZB:', name_='TCPZB_INA'): + super(TCPZB_INA, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCPZB_INA') + def _exportChildren(self, outfile, level, namespaceprefix_='nsPZB:', namespacedef_='xmlns:nsPZB="http://www.plan-pro.org/modell/PZB/1.10.0"', name_='TCPZB_INA', fromsubclass_=False, pretty_print=True): + super(TCPZB_INA, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_boolean(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCPZB_INA, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + sval_ = child_.text + ival_ = self.gds_parse_boolean(sval_, node, 'Wert') + ival_ = self.gds_validate_boolean(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + super(TCPZB_INA, self)._buildChildren(child_, node, nodeName_, True) +# end class TCPZB_INA + + +class TCPruefzeit(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCPruefzeit"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TPruefzeit(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCPruefzeit) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCPruefzeit.subclass: + return TCPruefzeit.subclass(*args_, **kwargs_) + else: + return TCPruefzeit(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TPruefzeit(self, value): + result = True + # Validate type TPruefzeit, a restriction on nsBasisTypen:TSekunde. + 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 not self.gds_validate_simple_patterns( + self.validate_TPruefzeit_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TPruefzeit_patterns_, )) + result = False + return result + validate_TPruefzeit_patterns_ = [['^((0|[1-9][0-9]{0,1})\\.[0-9]{2})$'], ['^([0-9]{1,5}(\\.[0-9]{2})?)$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCPruefzeit, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsPZB:', namespacedef_='xmlns:nsPZB="http://www.plan-pro.org/modell/PZB/1.10.0"', name_='TCPruefzeit', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCPruefzeit') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCPruefzeit': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCPruefzeit') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCPruefzeit', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsPZB:', name_='TCPruefzeit'): + super(TCPruefzeit, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCPruefzeit') + def _exportChildren(self, outfile, level, namespaceprefix_='nsPZB:', namespacedef_='xmlns:nsPZB="http://www.plan-pro.org/modell/PZB/1.10.0"', name_='TCPruefzeit', fromsubclass_=False, pretty_print=True): + super(TCPruefzeit, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_decimal(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCPruefzeit, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + fval_ = self.gds_parse_decimal(sval_, node, 'Wert') + fval_ = self.gds_validate_decimal(fval_, node, 'Wert') + self.Wert = fval_ + self.Wert_nsprefix_ = child_.prefix + # validate type TPruefzeit + self.validate_TPruefzeit(self.Wert) + super(TCPruefzeit, self)._buildChildren(child_, node, nodeName_, True) +# end class TCPruefzeit + + +class TCGUE_Anordnung(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCGUE_Anordnung"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMGUE_Anordnung(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCGUE_Anordnung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCGUE_Anordnung.subclass: + return TCGUE_Anordnung.subclass(*args_, **kwargs_) + else: + return TCGUE_Anordnung(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMGUE_Anordnung(self, value): + result = True + # Validate type ENUMGUE_Anordnung, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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_EA', '2_AE'] + 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 ENUMGUE_Anordnung' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCGUE_Anordnung, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsPZB:', namespacedef_='xmlns:nsPZB="http://www.plan-pro.org/modell/PZB/1.10.0"', name_='TCGUE_Anordnung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCGUE_Anordnung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCGUE_Anordnung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCGUE_Anordnung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCGUE_Anordnung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsPZB:', name_='TCGUE_Anordnung'): + super(TCGUE_Anordnung, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCGUE_Anordnung') + def _exportChildren(self, outfile, level, namespaceprefix_='nsPZB:', namespacedef_='xmlns:nsPZB="http://www.plan-pro.org/modell/PZB/1.10.0"', name_='TCGUE_Anordnung', fromsubclass_=False, pretty_print=True): + super(TCGUE_Anordnung, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCGUE_Anordnung, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMGUE_Anordnung + self.validate_ENUMGUE_Anordnung(self.Wert) + super(TCGUE_Anordnung, self)._buildChildren(child_, node, nodeName_, True) +# end class TCGUE_Anordnung + + +class TCNB_Zone_Allg(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCNB_Zone_Allg"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TNB_Zone_Allg(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCNB_Zone_Allg) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCNB_Zone_Allg.subclass: + return TCNB_Zone_Allg.subclass(*args_, **kwargs_) + else: + return TCNB_Zone_Allg(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TNB_Zone_Allg(self, value): + result = True + # Validate type TNB_Zone_Allg, a restriction on xs:integer. + 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_TNB_Zone_Allg_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TNB_Zone_Allg_patterns_, )) + result = False + return result + validate_TNB_Zone_Allg_patterns_ = [['^([1-9][0-9]*)$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCNB_Zone_Allg, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsNahbedienung:', namespacedef_='xmlns:nsNahbedienung="http://www.plan-pro.org/modell/Nahbedienung/1.10.0"', name_='TCNB_Zone_Allg', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCNB_Zone_Allg') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCNB_Zone_Allg': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCNB_Zone_Allg') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCNB_Zone_Allg', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsNahbedienung:', name_='TCNB_Zone_Allg'): + super(TCNB_Zone_Allg, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCNB_Zone_Allg') + def _exportChildren(self, outfile, level, namespaceprefix_='nsNahbedienung:', namespacedef_='xmlns:nsNahbedienung="http://www.plan-pro.org/modell/Nahbedienung/1.10.0"', name_='TCNB_Zone_Allg', fromsubclass_=False, pretty_print=True): + super(TCNB_Zone_Allg, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_integer(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCNB_Zone_Allg, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + ival_ = self.gds_parse_integer(sval_, node, 'Wert') + ival_ = self.gds_validate_integer(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + # validate type TNB_Zone_Allg + self.validate_TNB_Zone_Allg(self.Wert) + super(TCNB_Zone_Allg, self)._buildChildren(child_, node, nodeName_, True) +# end class TCNB_Zone_Allg + + +class TCWHU(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCWHU"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCWHU) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCWHU.subclass: + return TCWHU.subclass(*args_, **kwargs_) + else: + return TCWHU(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def has__content(self): + if ( + self.Wert is not None or + super(TCWHU, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsNahbedienung:', namespacedef_='xmlns:nsNahbedienung="http://www.plan-pro.org/modell/Nahbedienung/1.10.0"', name_='TCWHU', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCWHU') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCWHU': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCWHU') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCWHU', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsNahbedienung:', name_='TCWHU'): + super(TCWHU, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCWHU') + def _exportChildren(self, outfile, level, namespaceprefix_='nsNahbedienung:', namespacedef_='xmlns:nsNahbedienung="http://www.plan-pro.org/modell/Nahbedienung/1.10.0"', name_='TCWHU', fromsubclass_=False, pretty_print=True): + super(TCWHU, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_boolean(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCWHU, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + sval_ = child_.text + ival_ = self.gds_parse_boolean(sval_, node, 'Wert') + ival_ = self.gds_validate_boolean(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + super(TCWHU, self)._buildChildren(child_, node, nodeName_, True) +# end class TCWHU + + +class TCF_ST_Z(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCF_ST_Z"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCF_ST_Z) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCF_ST_Z.subclass: + return TCF_ST_Z.subclass(*args_, **kwargs_) + else: + return TCF_ST_Z(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def has__content(self): + if ( + self.Wert is not None or + super(TCF_ST_Z, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsNahbedienung:', namespacedef_='xmlns:nsNahbedienung="http://www.plan-pro.org/modell/Nahbedienung/1.10.0"', name_='TCF_ST_Z', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCF_ST_Z') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCF_ST_Z': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCF_ST_Z') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCF_ST_Z', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsNahbedienung:', name_='TCF_ST_Z'): + super(TCF_ST_Z, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCF_ST_Z') + def _exportChildren(self, outfile, level, namespaceprefix_='nsNahbedienung:', namespacedef_='xmlns:nsNahbedienung="http://www.plan-pro.org/modell/Nahbedienung/1.10.0"', name_='TCF_ST_Z', fromsubclass_=False, pretty_print=True): + super(TCF_ST_Z, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_boolean(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCF_ST_Z, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + sval_ = child_.text + ival_ = self.gds_parse_boolean(sval_, node, 'Wert') + ival_ = self.gds_validate_boolean(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + super(TCF_ST_Z, self)._buildChildren(child_, node, nodeName_, True) +# end class TCF_ST_Z + + +class CNB_Funktionalitaet_NB_R(GeneratedsSuper): + """AWU -- F + ü + r den Bediener soll das Bedienkommando + „ + Aufgefahrene Weiche umstellen + “ + im freigegebenen NB-Bereich m + ö + glich sein. DB-Regelwerk Das Planungsdatum ist im Regelwerk der DB AG nicht enthalten. Es ist nur im Lastenheft zu finden, das dem LST-Fachplaner nicht zur Verf + ü + gung steht. + F_ST_Z -- F + ü + r den Bediener soll das Bedienkommando + „ + Fahrstra + ß + e in ein Gleis ohne Oberleitung einstellen + “ + im freigegebenen NB-Bereich m + ö + glich sein (nur beim + Ü + bergang in nicht + ü + berspannte Bereiche relevant). DB-Regelwerk Das Planungsdatum ist im Regelwerk der DB AG nicht enthalten. Es ist nur im Lastenheft zu finden, das dem LST-Fachplaner nicht zur Verf + ü + gung steht. + FA_FAE -- F + ü + r den Bediener soll das Bedienkommando + „ + Fahrstra + ß + e aufl + ö + sen + “ + und + „ + Fahrwegelement einzeln aufl + ö + sen + “ + im freigegebenen NB-Bereich m + ö + glich sein. DB-Regelwerk Das Planungsdatum ist im Regelwerk der DB AG nicht enthalten. Es ist nur im Lastenheft zu finden, das dem LST-Fachplaner nicht zur Verf + ü + gung steht. + SBUE -- F + ü + r den Bediener soll das Bedienkommando \"SBUE\" (Schlie + ß + en eines B + Ü + , der innerhalb des NB liegt, dessen regul + ä + re Einschaltung aber au + ß + erhalb des NB angeordnet ist) im freigegebenen NB-Bereich m + ö + glich sein. DB-Regelwerk Das Planungsdatum ist im Regelewrk der DB AG nicht enthalten. Es findet sich im Lastenheft, das dem LST-Fachplaner nicht zur Verf + ü + gung steht. + SLE_SLS -- F + ü + r den Bediener soll das Bedienkommando + „ + Schl + ü + sselsperre entsperren + “ + (freigeben) und + „ + Schl + ü + sselsperre sperren + “ + (Freigabe zur + ü + cknehmen) im freigegebenen NB-Bereich m + ö + glich sein. DB-Regelwerk Das Planungsdatum ist im Regelwerk der DB AG nicht enthalten. Es findet sich im Lastenheft, das dem LST-Fachplaner nicht zur Verf + ü + gung steht. + WHU -- F + ü + r den Bediener soll das Bedienkommando + „ + Weiche hilfsweise umstellen + “ + im freigegebenen NB-Bereich m + ö + glich sein. DB-Regelwerk Das Planungsdatum ist im Regelwerk der DB AG nicht enthalten. Es ist nur im Lastenheft zu finden, das dem LST-Fachplaner nicht zur Verf + ü + gung steht. + WUS -- F + ü + r den Bediener soll das Bedienkommando + „ + Weiche gegen umstellen sperren + “ + im freigegebenen NB-Bereich m + ö + glich sein. DB-Regelwerk Das Planungsdatum ist im Regelwerk der DB AG nicht enthalten. Es ist nur im Lastenheft zu finden, das dem LST-Fachplaner nicht zur Verf + ü + gung steht. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, AWU=None, F_ST_Z=None, FA_FAE=None, SBUE=None, SLE_SLS=None, WHU=None, WUS=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.AWU = AWU + self.AWU_nsprefix_ = None + self.F_ST_Z = F_ST_Z + self.F_ST_Z_nsprefix_ = None + self.FA_FAE = FA_FAE + self.FA_FAE_nsprefix_ = None + self.SBUE = SBUE + self.SBUE_nsprefix_ = None + self.SLE_SLS = SLE_SLS + self.SLE_SLS_nsprefix_ = None + self.WHU = WHU + self.WHU_nsprefix_ = None + self.WUS = WUS + self.WUS_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CNB_Funktionalitaet_NB_R) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CNB_Funktionalitaet_NB_R.subclass: + return CNB_Funktionalitaet_NB_R.subclass(*args_, **kwargs_) + else: + return CNB_Funktionalitaet_NB_R(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_AWU(self): + return self.AWU + def set_AWU(self, AWU): + self.AWU = AWU + def get_F_ST_Z(self): + return self.F_ST_Z + def set_F_ST_Z(self, F_ST_Z): + self.F_ST_Z = F_ST_Z + def get_FA_FAE(self): + return self.FA_FAE + def set_FA_FAE(self, FA_FAE): + self.FA_FAE = FA_FAE + def get_SBUE(self): + return self.SBUE + def set_SBUE(self, SBUE): + self.SBUE = SBUE + def get_SLE_SLS(self): + return self.SLE_SLS + def set_SLE_SLS(self, SLE_SLS): + self.SLE_SLS = SLE_SLS + def get_WHU(self): + return self.WHU + def set_WHU(self, WHU): + self.WHU = WHU + def get_WUS(self): + return self.WUS + def set_WUS(self, WUS): + self.WUS = WUS + def has__content(self): + if ( + self.AWU is not None or + self.F_ST_Z is not None or + self.FA_FAE is not None or + self.SBUE is not None or + self.SLE_SLS is not None or + self.WHU is not None or + self.WUS is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsNahbedienung:', namespacedef_='xmlns:nsNahbedienung="http://www.plan-pro.org/modell/Nahbedienung/1.10.0"', name_='CNB_Funktionalitaet_NB_R', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CNB_Funktionalitaet_NB_R') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CNB_Funktionalitaet_NB_R': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CNB_Funktionalitaet_NB_R') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CNB_Funktionalitaet_NB_R', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsNahbedienung:', name_='CNB_Funktionalitaet_NB_R'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsNahbedienung:', namespacedef_='xmlns:nsNahbedienung="http://www.plan-pro.org/modell/Nahbedienung/1.10.0"', name_='CNB_Funktionalitaet_NB_R', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.AWU is not None: + namespaceprefix_ = self.AWU_nsprefix_ + ':' if (UseCapturedNS_ and self.AWU_nsprefix_) else '' + self.AWU.export(outfile, level, namespaceprefix_, namespacedef_='', name_='AWU', pretty_print=pretty_print) + if self.F_ST_Z is not None: + namespaceprefix_ = self.F_ST_Z_nsprefix_ + ':' if (UseCapturedNS_ and self.F_ST_Z_nsprefix_) else '' + self.F_ST_Z.export(outfile, level, namespaceprefix_, namespacedef_='', name_='F_ST_Z', pretty_print=pretty_print) + if self.FA_FAE is not None: + namespaceprefix_ = self.FA_FAE_nsprefix_ + ':' if (UseCapturedNS_ and self.FA_FAE_nsprefix_) else '' + self.FA_FAE.export(outfile, level, namespaceprefix_, namespacedef_='', name_='FA_FAE', pretty_print=pretty_print) + if self.SBUE is not None: + namespaceprefix_ = self.SBUE_nsprefix_ + ':' if (UseCapturedNS_ and self.SBUE_nsprefix_) else '' + self.SBUE.export(outfile, level, namespaceprefix_, namespacedef_='', name_='SBUE', pretty_print=pretty_print) + if self.SLE_SLS is not None: + namespaceprefix_ = self.SLE_SLS_nsprefix_ + ':' if (UseCapturedNS_ and self.SLE_SLS_nsprefix_) else '' + self.SLE_SLS.export(outfile, level, namespaceprefix_, namespacedef_='', name_='SLE_SLS', pretty_print=pretty_print) + if self.WHU is not None: + namespaceprefix_ = self.WHU_nsprefix_ + ':' if (UseCapturedNS_ and self.WHU_nsprefix_) else '' + self.WHU.export(outfile, level, namespaceprefix_, namespacedef_='', name_='WHU', pretty_print=pretty_print) + if self.WUS is not None: + namespaceprefix_ = self.WUS_nsprefix_ + ':' if (UseCapturedNS_ and self.WUS_nsprefix_) else '' + self.WUS.export(outfile, level, namespaceprefix_, namespacedef_='', name_='WUS', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'AWU': + obj_ = TCAWU.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.AWU = obj_ + obj_.original_tagname_ = 'AWU' + elif nodeName_ == 'F_ST_Z': + obj_ = TCF_ST_Z.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.F_ST_Z = obj_ + obj_.original_tagname_ = 'F_ST_Z' + elif nodeName_ == 'FA_FAE': + obj_ = TCFA_FAE.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.FA_FAE = obj_ + obj_.original_tagname_ = 'FA_FAE' + elif nodeName_ == 'SBUE': + obj_ = TCSBUE.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.SBUE = obj_ + obj_.original_tagname_ = 'SBUE' + elif nodeName_ == 'SLE_SLS': + obj_ = TCSLE_SLS.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.SLE_SLS = obj_ + obj_.original_tagname_ = 'SLE_SLS' + elif nodeName_ == 'WHU': + obj_ = TCWHU.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.WHU = obj_ + obj_.original_tagname_ = 'WHU' + elif nodeName_ == 'WUS': + obj_ = TCWUS.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.WUS = obj_ + obj_.original_tagname_ = 'WUS' +# end class CNB_Funktionalitaet_NB_R + + +class CNB_Zone_Bezeichnung(GeneratedsSuper): + """Bezeichnung_NB_Zone -- Numerische Ordnungsnummer der NB_Zone innerhalb des Nahstellbereiches. Aus der Bezeichnung des NB und diesem Attribut wird die Angabe gem + ä + ß + Ril 819.9001 (z. B. 99NB1/2 bzw. 99NB12) zusammengesetzt - auf dem Lageplan getrennt durch einen Schr + ä + gstrich. DB-Regelwerk 819.9001 + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Bezeichnung_NB_Zone=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Bezeichnung_NB_Zone = Bezeichnung_NB_Zone + self.Bezeichnung_NB_Zone_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CNB_Zone_Bezeichnung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CNB_Zone_Bezeichnung.subclass: + return CNB_Zone_Bezeichnung.subclass(*args_, **kwargs_) + else: + return CNB_Zone_Bezeichnung(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Bezeichnung_NB_Zone(self): + return self.Bezeichnung_NB_Zone + def set_Bezeichnung_NB_Zone(self, Bezeichnung_NB_Zone): + self.Bezeichnung_NB_Zone = Bezeichnung_NB_Zone + def has__content(self): + if ( + self.Bezeichnung_NB_Zone is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsNahbedienung:', namespacedef_='xmlns:nsNahbedienung="http://www.plan-pro.org/modell/Nahbedienung/1.10.0"', name_='CNB_Zone_Bezeichnung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CNB_Zone_Bezeichnung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CNB_Zone_Bezeichnung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CNB_Zone_Bezeichnung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CNB_Zone_Bezeichnung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsNahbedienung:', name_='CNB_Zone_Bezeichnung'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsNahbedienung:', namespacedef_='xmlns:nsNahbedienung="http://www.plan-pro.org/modell/Nahbedienung/1.10.0"', name_='CNB_Zone_Bezeichnung', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Bezeichnung_NB_Zone is not None: + namespaceprefix_ = self.Bezeichnung_NB_Zone_nsprefix_ + ':' if (UseCapturedNS_ and self.Bezeichnung_NB_Zone_nsprefix_) else '' + self.Bezeichnung_NB_Zone.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Bezeichnung_NB_Zone', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Bezeichnung_NB_Zone': + obj_ = TCBezeichnung_NB_Zone.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Bezeichnung_NB_Zone = obj_ + obj_.original_tagname_ = 'Bezeichnung_NB_Zone' +# end class CNB_Zone_Bezeichnung + + +class CNB_Bedien_Anzeige_Funktionen(GeneratedsSuper): + """Taste_ANF -- Anforderungstaste. Eine Anforderungstaste ist vorzusehen, mit der der + ö + rtliche Bediener beim Fahrdienstleiter die Nahbedienung anfordert. DB-Regelwerk F + ü + r die Planung von Nahstellbereichen exisitert bei der DB AG kein Regelwerk. Es gibt ein Lastenheft sowie firmenspezifische Projektierungshinweise, die jedoch dem LST-Fachplaner nicht zur Verf + ü + gung stehen. + Taste_FGT -- Fertigmeldetaste. Eine Fertigmeldetaste ist vorzusehen, mit der der Bediener dem Fahrdienstleiter den NB fertig meldet, bevor die Nahbedienung zur + ü + ckgenommen werden kann. DB-Regelwerk F + ü + r die Planung von Nahstellbereichen exisitert bei der DB AG kein Regelwerk. Es gibt ein Lastenheft sowie firmenspezifische Projektierungshinweise, die jedoch dem LST-Fachplaner nicht zur Verf + ü + gung stehen. + Taste_WGT -- Weichengruppentaste. Eine Weichengruppentaste f + ü + r die Zwei-Tasten-Bedienung ist vorzusehen. Damit k + ö + nnen innerhalb eines Nahstellbereiches ferngestellte Weichen, die ans ESTW angebunden sind, w + ä + hrend der abgegebenen Nahbedienung durch den + ö + rtlichen Bediener umgestellt werden. DB-Regelwerk F + ü + r die Planung von Nahstellbereichen exisitert bei der DB AG kein Regelwerk. Es gibt ein Lastenheft sowie firmenspezifische Projektierungshinweise, die jedoch dem LST-Fachplaner nicht zur Verf + ü + gung stehen. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Taste_ANF=None, Taste_FGT=None, Taste_WGT=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Taste_ANF = Taste_ANF + self.Taste_ANF_nsprefix_ = None + self.Taste_FGT = Taste_FGT + self.Taste_FGT_nsprefix_ = None + self.Taste_WGT = Taste_WGT + self.Taste_WGT_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CNB_Bedien_Anzeige_Funktionen) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CNB_Bedien_Anzeige_Funktionen.subclass: + return CNB_Bedien_Anzeige_Funktionen.subclass(*args_, **kwargs_) + else: + return CNB_Bedien_Anzeige_Funktionen(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Taste_ANF(self): + return self.Taste_ANF + def set_Taste_ANF(self, Taste_ANF): + self.Taste_ANF = Taste_ANF + def get_Taste_FGT(self): + return self.Taste_FGT + def set_Taste_FGT(self, Taste_FGT): + self.Taste_FGT = Taste_FGT + def get_Taste_WGT(self): + return self.Taste_WGT + def set_Taste_WGT(self, Taste_WGT): + self.Taste_WGT = Taste_WGT + def has__content(self): + if ( + self.Taste_ANF is not None or + self.Taste_FGT is not None or + self.Taste_WGT is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsNahbedienung:', namespacedef_='xmlns:nsNahbedienung="http://www.plan-pro.org/modell/Nahbedienung/1.10.0"', name_='CNB_Bedien_Anzeige_Funktionen', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CNB_Bedien_Anzeige_Funktionen') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CNB_Bedien_Anzeige_Funktionen': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CNB_Bedien_Anzeige_Funktionen') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CNB_Bedien_Anzeige_Funktionen', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsNahbedienung:', name_='CNB_Bedien_Anzeige_Funktionen'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsNahbedienung:', namespacedef_='xmlns:nsNahbedienung="http://www.plan-pro.org/modell/Nahbedienung/1.10.0"', name_='CNB_Bedien_Anzeige_Funktionen', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Taste_ANF is not None: + namespaceprefix_ = self.Taste_ANF_nsprefix_ + ':' if (UseCapturedNS_ and self.Taste_ANF_nsprefix_) else '' + self.Taste_ANF.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Taste_ANF', pretty_print=pretty_print) + if self.Taste_FGT is not None: + namespaceprefix_ = self.Taste_FGT_nsprefix_ + ':' if (UseCapturedNS_ and self.Taste_FGT_nsprefix_) else '' + self.Taste_FGT.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Taste_FGT', pretty_print=pretty_print) + if self.Taste_WGT is not None: + namespaceprefix_ = self.Taste_WGT_nsprefix_ + ':' if (UseCapturedNS_ and self.Taste_WGT_nsprefix_) else '' + self.Taste_WGT.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Taste_WGT', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Taste_ANF': + obj_ = TCTaste_ANF.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Taste_ANF = obj_ + obj_.original_tagname_ = 'Taste_ANF' + elif nodeName_ == 'Taste_FGT': + obj_ = TCTaste_FGT.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Taste_FGT = obj_ + obj_.original_tagname_ = 'Taste_FGT' + elif nodeName_ == 'Taste_WGT': + obj_ = TCTaste_WGT.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Taste_WGT = obj_ + obj_.original_tagname_ = 'Taste_WGT' +# end class CNB_Bedien_Anzeige_Funktionen + + +class CNB_Bedien_Anzeige_Element(CBasis_Objekt): + """CNB_Bedien_Anzeige_Element -- Zuordnung von Bedienfunktionen zur Bedieneinrichtung einer oder mehrerer NB_Zonen, + ü + ber die Fahrdienstleiter und + ö + rtlichen Bediener miteinander kommunizieren. Falls sich bedienbare Elemente innerhalb der NB_Zone befinden, sind diese durch eine entsprechende Bedieneinrichtung (um)stellbar, sofern eine (Um-)Stellbarkeit vorgesehen wurde. Der Umfang h + ä + ngt von der gew + ä + hlten NB Art ab. Weiterhin sind in der Bedieneinrichtung Elemente f + ü + r die Kommunikation zwischen Fahrdienstleiter und Bediener untergebracht. In diesem Objekt wird die Logik der Bedieneinrichtung abgebildet. Falls eine Bedieneinrichtung Elemente aus mindestens zwei verschiedenen NB_Zonen enth + ä + lt, ist eine Zuordnung der Bedieneinrichtung zu den betreffenden NB_Zonen erforderlich. Der Verweis auf Bedien Anzeige Element f + ü + hrt zur Zuordnung der physischen Unterbringung. DB-Regelwerk F + ü + r die Planung exisitert bei der DB AG kein Regelwerk. Die Angaben finden sich meist im Erl + ä + uterungsbericht zum PT1. + ID_Bedien_Anzeige_Element -- Verweis auf das Bedien Anzeige Element, welches die Zuordnung zur Bedien Einrichtung Oertlich und damit zur physischen Unterbringung der Tasten herstellt. + ID_NB_Zone -- Verweis auf die NB_Zone, der das geplante Bedien_Anzeige_Element zugeordnet wird. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasis_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, ID_Bedien_Anzeige_Element=None, ID_NB_Zone=None, NB_Bedien_Anzeige_Funktionen=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CNB_Bedien_Anzeige_Element"), self).__init__(Identitaet, Basis_Objekt_Allg, ID_Bearbeitungsvermerk, ID_Oertlichkeit_Ausgabe, Objektreferenzen, **kwargs_) + self.ID_Bedien_Anzeige_Element = ID_Bedien_Anzeige_Element + self.ID_Bedien_Anzeige_Element_nsprefix_ = None + self.ID_NB_Zone = ID_NB_Zone + self.ID_NB_Zone_nsprefix_ = None + self.NB_Bedien_Anzeige_Funktionen = NB_Bedien_Anzeige_Funktionen + self.NB_Bedien_Anzeige_Funktionen_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CNB_Bedien_Anzeige_Element) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CNB_Bedien_Anzeige_Element.subclass: + return CNB_Bedien_Anzeige_Element.subclass(*args_, **kwargs_) + else: + return CNB_Bedien_Anzeige_Element(*args_, **kwargs_) + factory = staticmethod(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_Bedien_Anzeige_Element(self): + return self.ID_Bedien_Anzeige_Element + def set_ID_Bedien_Anzeige_Element(self, ID_Bedien_Anzeige_Element): + self.ID_Bedien_Anzeige_Element = ID_Bedien_Anzeige_Element + def get_ID_NB_Zone(self): + return self.ID_NB_Zone + def set_ID_NB_Zone(self, ID_NB_Zone): + self.ID_NB_Zone = ID_NB_Zone + def get_NB_Bedien_Anzeige_Funktionen(self): + return self.NB_Bedien_Anzeige_Funktionen + def set_NB_Bedien_Anzeige_Funktionen(self, NB_Bedien_Anzeige_Funktionen): + self.NB_Bedien_Anzeige_Funktionen = NB_Bedien_Anzeige_Funktionen + def has__content(self): + if ( + self.ID_Bedien_Anzeige_Element is not None or + self.ID_NB_Zone is not None or + self.NB_Bedien_Anzeige_Funktionen is not None or + super(CNB_Bedien_Anzeige_Element, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsNahbedienung:', namespacedef_='xmlns:nsNahbedienung="http://www.plan-pro.org/modell/Nahbedienung/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CNB_Bedien_Anzeige_Element', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CNB_Bedien_Anzeige_Element') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CNB_Bedien_Anzeige_Element': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CNB_Bedien_Anzeige_Element') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CNB_Bedien_Anzeige_Element', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsNahbedienung:', name_='CNB_Bedien_Anzeige_Element'): + super(CNB_Bedien_Anzeige_Element, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CNB_Bedien_Anzeige_Element') + def _exportChildren(self, outfile, level, namespaceprefix_='nsNahbedienung:', namespacedef_='xmlns:nsNahbedienung="http://www.plan-pro.org/modell/Nahbedienung/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CNB_Bedien_Anzeige_Element', fromsubclass_=False, pretty_print=True): + super(CNB_Bedien_Anzeige_Element, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.ID_Bedien_Anzeige_Element is not None: + namespaceprefix_ = self.ID_Bedien_Anzeige_Element_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bedien_Anzeige_Element_nsprefix_) else '' + self.ID_Bedien_Anzeige_Element.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bedien_Anzeige_Element', pretty_print=pretty_print) + if self.ID_NB_Zone is not None: + namespaceprefix_ = self.ID_NB_Zone_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_NB_Zone_nsprefix_) else '' + self.ID_NB_Zone.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_NB_Zone', pretty_print=pretty_print) + if self.NB_Bedien_Anzeige_Funktionen is not None: + namespaceprefix_ = self.NB_Bedien_Anzeige_Funktionen_nsprefix_ + ':' if (UseCapturedNS_ and self.NB_Bedien_Anzeige_Funktionen_nsprefix_) else '' + self.NB_Bedien_Anzeige_Funktionen.export(outfile, level, namespaceprefix_, namespacedef_='', name_='NB_Bedien_Anzeige_Funktionen', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CNB_Bedien_Anzeige_Element, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Bedien_Anzeige_Element': + obj_ = TCID_Bedien_Anzeige_Element.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bedien_Anzeige_Element = obj_ + obj_.original_tagname_ = 'ID_Bedien_Anzeige_Element' + elif nodeName_ == 'ID_NB_Zone': + obj_ = TCID_NB_Zone.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_NB_Zone = obj_ + obj_.original_tagname_ = 'ID_NB_Zone' + elif nodeName_ == 'NB_Bedien_Anzeige_Funktionen': + obj_ = CNB_Bedien_Anzeige_Funktionen.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.NB_Bedien_Anzeige_Funktionen = obj_ + obj_.original_tagname_ = 'NB_Bedien_Anzeige_Funktionen' + super(CNB_Bedien_Anzeige_Element, self)._buildChildren(child_, node, nodeName_, True) +# end class CNB_Bedien_Anzeige_Element + + +class TCFA_FAE(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCFA_FAE"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCFA_FAE) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCFA_FAE.subclass: + return TCFA_FAE.subclass(*args_, **kwargs_) + else: + return TCFA_FAE(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def has__content(self): + if ( + self.Wert is not None or + super(TCFA_FAE, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsNahbedienung:', namespacedef_='xmlns:nsNahbedienung="http://www.plan-pro.org/modell/Nahbedienung/1.10.0"', name_='TCFA_FAE', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCFA_FAE') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCFA_FAE': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCFA_FAE') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCFA_FAE', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsNahbedienung:', name_='TCFA_FAE'): + super(TCFA_FAE, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCFA_FAE') + def _exportChildren(self, outfile, level, namespaceprefix_='nsNahbedienung:', namespacedef_='xmlns:nsNahbedienung="http://www.plan-pro.org/modell/Nahbedienung/1.10.0"', name_='TCFA_FAE', fromsubclass_=False, pretty_print=True): + super(TCFA_FAE, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_boolean(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCFA_FAE, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + sval_ = child_.text + ival_ = self.gds_parse_boolean(sval_, node, 'Wert') + ival_ = self.gds_validate_boolean(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + super(TCFA_FAE, self)._buildChildren(child_, node, nodeName_, True) +# end class TCFA_FAE + + +class TCNB_Art(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCNB_Art"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMNB_Art(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCNB_Art) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCNB_Art.subclass: + return TCNB_Art.subclass(*args_, **kwargs_) + else: + return TCNB_Art(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMNB_Art(self, value): + result = True + # Validate type ENUMNB_Art, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['NB_G', 'NB_R', 'NB_W'] + 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 ENUMNB_Art' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCNB_Art, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsNahbedienung:', namespacedef_='xmlns:nsNahbedienung="http://www.plan-pro.org/modell/Nahbedienung/1.10.0"', name_='TCNB_Art', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCNB_Art') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCNB_Art': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCNB_Art') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCNB_Art', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsNahbedienung:', name_='TCNB_Art'): + super(TCNB_Art, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCNB_Art') + def _exportChildren(self, outfile, level, namespaceprefix_='nsNahbedienung:', namespacedef_='xmlns:nsNahbedienung="http://www.plan-pro.org/modell/Nahbedienung/1.10.0"', name_='TCNB_Art', fromsubclass_=False, pretty_print=True): + super(TCNB_Art, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCNB_Art, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMNB_Art + self.validate_ENUMNB_Art(self.Wert) + super(TCNB_Art, self)._buildChildren(child_, node, nodeName_, True) +# end class TCNB_Art + + +class CNB_Zone(CBasis_Objekt): + """CNB_Zone -- Nahstellbereichszone. Jeder Nahstellbereich hat mindestens eine Zone; es sind auch mehrere Zonen m + ö + glich. Die Zonen k + ö + nnen voneinander unabh + ä + ngig nebeneinander liegen, sich + ü + berlappen oder eine Zone kann eine kleinere \"Teilmenge\" einer gr + ö + ß + eren Zone sein. Als spezieller Fall ist auch die Vereinigung von zwei nebeneinander liegenden Zonen m + ö + glich. F + ü + r jede Zone werden eigene Grenzen zum angrenzenden Bereich (ESTW, NB, Ortstellbereich) festgelegt. DB-Regelwerk F + ü + r die Planung von Nahbedienzonen exisitert bei der DB AG kein Regelwerk. Die Angabe findet sich in der Nahbedienungstabelle, Spalte 1. + ID_NB -- Verweis von der NB Zone auf den zugeh + ö + rigen Nahstellbereich. + ID_NB_Zone -- Verweis auf die + ü + bergeordnete NB_Zone (die betrachtete NB_Zone ist damit untergeordnet). In der untergeordneten Zone muss die Nahbedienung zuerst zur + ü + ckgegeben werden, bevor die Nahbedienung in der + ü + bergeordneten Zone zur + ü + ckgegeben werden kann. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasis_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, Bezeichnung=None, ID_NB=None, ID_NB_Zone=None, NB_Zone_Allg=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CNB_Zone"), self).__init__(Identitaet, Basis_Objekt_Allg, ID_Bearbeitungsvermerk, ID_Oertlichkeit_Ausgabe, Objektreferenzen, **kwargs_) + self.Bezeichnung = Bezeichnung + self.Bezeichnung_nsprefix_ = None + self.ID_NB = ID_NB + self.ID_NB_nsprefix_ = None + self.ID_NB_Zone = ID_NB_Zone + self.ID_NB_Zone_nsprefix_ = None + self.NB_Zone_Allg = NB_Zone_Allg + self.NB_Zone_Allg_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CNB_Zone) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CNB_Zone.subclass: + return CNB_Zone.subclass(*args_, **kwargs_) + else: + return CNB_Zone(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Bezeichnung(self): + return self.Bezeichnung + def set_Bezeichnung(self, Bezeichnung): + self.Bezeichnung = Bezeichnung + def get_ID_NB(self): + return self.ID_NB + def set_ID_NB(self, ID_NB): + self.ID_NB = ID_NB + def get_ID_NB_Zone(self): + return self.ID_NB_Zone + def set_ID_NB_Zone(self, ID_NB_Zone): + self.ID_NB_Zone = ID_NB_Zone + def get_NB_Zone_Allg(self): + return self.NB_Zone_Allg + def set_NB_Zone_Allg(self, NB_Zone_Allg): + self.NB_Zone_Allg = NB_Zone_Allg + def has__content(self): + if ( + self.Bezeichnung is not None or + self.ID_NB is not None or + self.ID_NB_Zone is not None or + self.NB_Zone_Allg is not None or + super(CNB_Zone, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsNahbedienung:', namespacedef_='xmlns:nsNahbedienung="http://www.plan-pro.org/modell/Nahbedienung/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CNB_Zone', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CNB_Zone') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CNB_Zone': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CNB_Zone') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CNB_Zone', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsNahbedienung:', name_='CNB_Zone'): + super(CNB_Zone, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CNB_Zone') + def _exportChildren(self, outfile, level, namespaceprefix_='nsNahbedienung:', namespacedef_='xmlns:nsNahbedienung="http://www.plan-pro.org/modell/Nahbedienung/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CNB_Zone', fromsubclass_=False, pretty_print=True): + super(CNB_Zone, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Bezeichnung is not None: + namespaceprefix_ = self.Bezeichnung_nsprefix_ + ':' if (UseCapturedNS_ and self.Bezeichnung_nsprefix_) else '' + self.Bezeichnung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Bezeichnung', pretty_print=pretty_print) + if self.ID_NB is not None: + namespaceprefix_ = self.ID_NB_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_NB_nsprefix_) else '' + self.ID_NB.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_NB', pretty_print=pretty_print) + if self.ID_NB_Zone is not None: + namespaceprefix_ = self.ID_NB_Zone_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_NB_Zone_nsprefix_) else '' + self.ID_NB_Zone.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_NB_Zone', pretty_print=pretty_print) + if self.NB_Zone_Allg is not None: + namespaceprefix_ = self.NB_Zone_Allg_nsprefix_ + ':' if (UseCapturedNS_ and self.NB_Zone_Allg_nsprefix_) else '' + self.NB_Zone_Allg.export(outfile, level, namespaceprefix_, namespacedef_='', name_='NB_Zone_Allg', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CNB_Zone, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Bezeichnung': + obj_ = CNB_Zone_Bezeichnung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Bezeichnung = obj_ + obj_.original_tagname_ = 'Bezeichnung' + elif nodeName_ == 'ID_NB': + obj_ = TCID_NB.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_NB = obj_ + obj_.original_tagname_ = 'ID_NB' + elif nodeName_ == 'ID_NB_Zone': + obj_ = TCID_NB_Zone.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_NB_Zone = obj_ + obj_.original_tagname_ = 'ID_NB_Zone' + elif nodeName_ == 'NB_Zone_Allg': + obj_ = CNB_Zone_Allg.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.NB_Zone_Allg = obj_ + obj_.original_tagname_ = 'NB_Zone_Allg' + super(CNB_Zone, self)._buildChildren(child_, node, nodeName_, True) +# end class CNB_Zone + + +class TCNB_Grenze_Art(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCNB_Grenze_Art"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMNB_Grenze_Art(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCNB_Grenze_Art) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCNB_Grenze_Art.subclass: + return TCNB_Grenze_Art.subclass(*args_, **kwargs_) + else: + return TCNB_Grenze_Art(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMNB_Grenze_Art(self, value): + result = True + # Validate type ENUMNB_Grenze_Art, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['ESTW_Bereich', 'NB_Zone', 'Ortsstellbereich'] + 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 ENUMNB_Grenze_Art' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCNB_Grenze_Art, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsNahbedienung:', namespacedef_='xmlns:nsNahbedienung="http://www.plan-pro.org/modell/Nahbedienung/1.10.0"', name_='TCNB_Grenze_Art', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCNB_Grenze_Art') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCNB_Grenze_Art': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCNB_Grenze_Art') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCNB_Grenze_Art', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsNahbedienung:', name_='TCNB_Grenze_Art'): + super(TCNB_Grenze_Art, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCNB_Grenze_Art') + def _exportChildren(self, outfile, level, namespaceprefix_='nsNahbedienung:', namespacedef_='xmlns:nsNahbedienung="http://www.plan-pro.org/modell/Nahbedienung/1.10.0"', name_='TCNB_Grenze_Art', fromsubclass_=False, pretty_print=True): + super(TCNB_Grenze_Art, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCNB_Grenze_Art, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMNB_Grenze_Art + self.validate_ENUMNB_Grenze_Art(self.Wert) + super(TCNB_Grenze_Art, self)._buildChildren(child_, node, nodeName_, True) +# end class TCNB_Grenze_Art + + +class TCBezeichnung_NB(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCBezeichnung_NB"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TBezeichnung_NB(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCBezeichnung_NB) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCBezeichnung_NB.subclass: + return TCBezeichnung_NB.subclass(*args_, **kwargs_) + else: + return TCBezeichnung_NB(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TBezeichnung_NB(self, value): + result = True + # Validate type TBezeichnung_NB, a restriction on xs:integer. + 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_TBezeichnung_NB_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TBezeichnung_NB_patterns_, )) + result = False + return result + validate_TBezeichnung_NB_patterns_ = [['^([1-9][0-9]?)$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCBezeichnung_NB, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsNahbedienung:', namespacedef_='xmlns:nsNahbedienung="http://www.plan-pro.org/modell/Nahbedienung/1.10.0"', name_='TCBezeichnung_NB', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCBezeichnung_NB') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCBezeichnung_NB': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBezeichnung_NB') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCBezeichnung_NB', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsNahbedienung:', name_='TCBezeichnung_NB'): + super(TCBezeichnung_NB, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBezeichnung_NB') + def _exportChildren(self, outfile, level, namespaceprefix_='nsNahbedienung:', namespacedef_='xmlns:nsNahbedienung="http://www.plan-pro.org/modell/Nahbedienung/1.10.0"', name_='TCBezeichnung_NB', fromsubclass_=False, pretty_print=True): + super(TCBezeichnung_NB, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_integer(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCBezeichnung_NB, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + ival_ = self.gds_parse_integer(sval_, node, 'Wert') + ival_ = self.gds_validate_integer(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + # validate type TBezeichnung_NB + self.validate_TBezeichnung_NB(self.Wert) + super(TCBezeichnung_NB, self)._buildChildren(child_, node, nodeName_, True) +# end class TCBezeichnung_NB + + +class TCNB_Rueckgabevoraussetzung(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCNB_Rueckgabevoraussetzung"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMNB_Rueckgabevoraussetzung(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCNB_Rueckgabevoraussetzung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCNB_Rueckgabevoraussetzung.subclass: + return TCNB_Rueckgabevoraussetzung.subclass(*args_, **kwargs_) + else: + return TCNB_Rueckgabevoraussetzung(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMNB_Rueckgabevoraussetzung(self, value): + result = True + # Validate type ENUMNB_Rueckgabevoraussetzung, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['abgelegt', 'aufgelegt', 'Hp_0', 'keine', 'Kennlicht', 'links', 'rechts', 'Schluessel_eingeschlossen'] + 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 ENUMNB_Rueckgabevoraussetzung' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCNB_Rueckgabevoraussetzung, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsNahbedienung:', namespacedef_='xmlns:nsNahbedienung="http://www.plan-pro.org/modell/Nahbedienung/1.10.0"', name_='TCNB_Rueckgabevoraussetzung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCNB_Rueckgabevoraussetzung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCNB_Rueckgabevoraussetzung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCNB_Rueckgabevoraussetzung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCNB_Rueckgabevoraussetzung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsNahbedienung:', name_='TCNB_Rueckgabevoraussetzung'): + super(TCNB_Rueckgabevoraussetzung, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCNB_Rueckgabevoraussetzung') + def _exportChildren(self, outfile, level, namespaceprefix_='nsNahbedienung:', namespacedef_='xmlns:nsNahbedienung="http://www.plan-pro.org/modell/Nahbedienung/1.10.0"', name_='TCNB_Rueckgabevoraussetzung', fromsubclass_=False, pretty_print=True): + super(TCNB_Rueckgabevoraussetzung, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCNB_Rueckgabevoraussetzung, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMNB_Rueckgabevoraussetzung + self.validate_ENUMNB_Rueckgabevoraussetzung(self.Wert) + super(TCNB_Rueckgabevoraussetzung, self)._buildChildren(child_, node, nodeName_, True) +# end class TCNB_Rueckgabevoraussetzung + + +class TCBezeichnung_NB_Zone(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCBezeichnung_NB_Zone"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TBezeichnung_NB_Zone(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCBezeichnung_NB_Zone) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCBezeichnung_NB_Zone.subclass: + return TCBezeichnung_NB_Zone.subclass(*args_, **kwargs_) + else: + return TCBezeichnung_NB_Zone(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TBezeichnung_NB_Zone(self, value): + result = True + # Validate type TBezeichnung_NB_Zone, a restriction on xs:integer. + 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_TBezeichnung_NB_Zone_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TBezeichnung_NB_Zone_patterns_, )) + result = False + return result + validate_TBezeichnung_NB_Zone_patterns_ = [['^([1-9][0-9]?)$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCBezeichnung_NB_Zone, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsNahbedienung:', namespacedef_='xmlns:nsNahbedienung="http://www.plan-pro.org/modell/Nahbedienung/1.10.0"', name_='TCBezeichnung_NB_Zone', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCBezeichnung_NB_Zone') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCBezeichnung_NB_Zone': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBezeichnung_NB_Zone') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCBezeichnung_NB_Zone', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsNahbedienung:', name_='TCBezeichnung_NB_Zone'): + super(TCBezeichnung_NB_Zone, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBezeichnung_NB_Zone') + def _exportChildren(self, outfile, level, namespaceprefix_='nsNahbedienung:', namespacedef_='xmlns:nsNahbedienung="http://www.plan-pro.org/modell/Nahbedienung/1.10.0"', name_='TCBezeichnung_NB_Zone', fromsubclass_=False, pretty_print=True): + super(TCBezeichnung_NB_Zone, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_integer(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCBezeichnung_NB_Zone, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + ival_ = self.gds_parse_integer(sval_, node, 'Wert') + ival_ = self.gds_validate_integer(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + # validate type TBezeichnung_NB_Zone + self.validate_TBezeichnung_NB_Zone(self.Wert) + super(TCBezeichnung_NB_Zone, self)._buildChildren(child_, node, nodeName_, True) +# end class TCBezeichnung_NB_Zone + + +class TCRang(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCRang"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TRang(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCRang) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCRang.subclass: + return TCRang.subclass(*args_, **kwargs_) + else: + return TCRang(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TRang(self, value): + result = True + # Validate type TRang, a restriction on xs:integer. + 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_TRang_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TRang_patterns_, )) + result = False + return result + validate_TRang_patterns_ = [['^([1-9][0-9]{0,})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCRang, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsNahbedienung:', namespacedef_='xmlns:nsNahbedienung="http://www.plan-pro.org/modell/Nahbedienung/1.10.0"', name_='TCRang', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCRang') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCRang': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCRang') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCRang', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsNahbedienung:', name_='TCRang'): + super(TCRang, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCRang') + def _exportChildren(self, outfile, level, namespaceprefix_='nsNahbedienung:', namespacedef_='xmlns:nsNahbedienung="http://www.plan-pro.org/modell/Nahbedienung/1.10.0"', name_='TCRang', fromsubclass_=False, pretty_print=True): + super(TCRang, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_integer(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCRang, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + ival_ = self.gds_parse_integer(sval_, node, 'Wert') + ival_ = self.gds_validate_integer(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + # validate type TRang + self.validate_TRang(self.Wert) + super(TCRang, self)._buildChildren(child_, node, nodeName_, True) +# end class TCRang + + +class TCWUS(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCWUS"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCWUS) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCWUS.subclass: + return TCWUS.subclass(*args_, **kwargs_) + else: + return TCWUS(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def has__content(self): + if ( + self.Wert is not None or + super(TCWUS, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsNahbedienung:', namespacedef_='xmlns:nsNahbedienung="http://www.plan-pro.org/modell/Nahbedienung/1.10.0"', name_='TCWUS', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCWUS') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCWUS': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCWUS') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCWUS', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsNahbedienung:', name_='TCWUS'): + super(TCWUS, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCWUS') + def _exportChildren(self, outfile, level, namespaceprefix_='nsNahbedienung:', namespacedef_='xmlns:nsNahbedienung="http://www.plan-pro.org/modell/Nahbedienung/1.10.0"', name_='TCWUS', fromsubclass_=False, pretty_print=True): + super(TCWUS, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_boolean(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCWUS, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + sval_ = child_.text + ival_ = self.gds_parse_boolean(sval_, node, 'Wert') + ival_ = self.gds_validate_boolean(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + super(TCWUS, self)._buildChildren(child_, node, nodeName_, True) +# end class TCWUS + + +class TCNB_Verhaeltnis_Besonders(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCNB_Verhaeltnis_Besonders"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMNB_Verhaeltnis_Besonders(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCNB_Verhaeltnis_Besonders) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCNB_Verhaeltnis_Besonders.subclass: + return TCNB_Verhaeltnis_Besonders.subclass(*args_, **kwargs_) + else: + return TCNB_Verhaeltnis_Besonders(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMNB_Verhaeltnis_Besonders(self, value): + result = True + # Validate type ENUMNB_Verhaeltnis_Besonders, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['ueberlappend', 'vereinigt'] + 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 ENUMNB_Verhaeltnis_Besonders' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCNB_Verhaeltnis_Besonders, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsNahbedienung:', namespacedef_='xmlns:nsNahbedienung="http://www.plan-pro.org/modell/Nahbedienung/1.10.0"', name_='TCNB_Verhaeltnis_Besonders', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCNB_Verhaeltnis_Besonders') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCNB_Verhaeltnis_Besonders': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCNB_Verhaeltnis_Besonders') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCNB_Verhaeltnis_Besonders', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsNahbedienung:', name_='TCNB_Verhaeltnis_Besonders'): + super(TCNB_Verhaeltnis_Besonders, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCNB_Verhaeltnis_Besonders') + def _exportChildren(self, outfile, level, namespaceprefix_='nsNahbedienung:', namespacedef_='xmlns:nsNahbedienung="http://www.plan-pro.org/modell/Nahbedienung/1.10.0"', name_='TCNB_Verhaeltnis_Besonders', fromsubclass_=False, pretty_print=True): + super(TCNB_Verhaeltnis_Besonders, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCNB_Verhaeltnis_Besonders, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMNB_Verhaeltnis_Besonders + self.validate_ENUMNB_Verhaeltnis_Besonders(self.Wert) + super(TCNB_Verhaeltnis_Besonders, self)._buildChildren(child_, node, nodeName_, True) +# end class TCNB_Verhaeltnis_Besonders + + +class CNB_Zone_Element_Allg(GeneratedsSuper): + """Freie_Stellbarkeit -- Das betreffende Element (Signal, Weiche oder Gleissperre) ist innerhalb des Nahstellbereiches frei stellbar. + NB_Rueckgabevoraussetzung -- Voraussetzung, die f + ü + r ein stellbares Element (Signal, Weiche, Gleissperre, Schl + ü + sselsperre) innerhalb eines Nahstellbereiches erf + ü + llt sein muss, bevor die Nahbedienung zur + ü + ckgegeben werden kann. Kann der + ö + rtliche Bediener bei abgegebener Nahbedienung in Abh + ä + ngigkeit der vorgesehenen NB Art Weichen und Gleissperren um- bzw. Signale stellen, m + ü + ssen diese vor R + ü + ckgabe der Nahbedienung ggf. wieder in eine bestimmte Lage / Stellung gebracht werden. Daher ist f + ü + r jedes NB Zone Element festzulegen, welche R + ü + ckgabevoraussetzung besteht. DB-Regelwerk F + ü + r die Planung von Nahstellbereichen existiert bei der DB AG kein Regelwerk. Das Planungsdatum findet sich in der Nahbedienungstabelle. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Freie_Stellbarkeit=None, NB_Rueckgabevoraussetzung=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Freie_Stellbarkeit = Freie_Stellbarkeit + self.Freie_Stellbarkeit_nsprefix_ = None + self.NB_Rueckgabevoraussetzung = NB_Rueckgabevoraussetzung + self.NB_Rueckgabevoraussetzung_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CNB_Zone_Element_Allg) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CNB_Zone_Element_Allg.subclass: + return CNB_Zone_Element_Allg.subclass(*args_, **kwargs_) + else: + return CNB_Zone_Element_Allg(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Freie_Stellbarkeit(self): + return self.Freie_Stellbarkeit + def set_Freie_Stellbarkeit(self, Freie_Stellbarkeit): + self.Freie_Stellbarkeit = Freie_Stellbarkeit + def get_NB_Rueckgabevoraussetzung(self): + return self.NB_Rueckgabevoraussetzung + def set_NB_Rueckgabevoraussetzung(self, NB_Rueckgabevoraussetzung): + self.NB_Rueckgabevoraussetzung = NB_Rueckgabevoraussetzung + def has__content(self): + if ( + self.Freie_Stellbarkeit is not None or + self.NB_Rueckgabevoraussetzung is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsNahbedienung:', namespacedef_='xmlns:nsNahbedienung="http://www.plan-pro.org/modell/Nahbedienung/1.10.0"', name_='CNB_Zone_Element_Allg', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CNB_Zone_Element_Allg') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CNB_Zone_Element_Allg': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CNB_Zone_Element_Allg') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CNB_Zone_Element_Allg', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsNahbedienung:', name_='CNB_Zone_Element_Allg'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsNahbedienung:', namespacedef_='xmlns:nsNahbedienung="http://www.plan-pro.org/modell/Nahbedienung/1.10.0"', name_='CNB_Zone_Element_Allg', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Freie_Stellbarkeit is not None: + namespaceprefix_ = self.Freie_Stellbarkeit_nsprefix_ + ':' if (UseCapturedNS_ and self.Freie_Stellbarkeit_nsprefix_) else '' + self.Freie_Stellbarkeit.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Freie_Stellbarkeit', pretty_print=pretty_print) + if self.NB_Rueckgabevoraussetzung is not None: + namespaceprefix_ = self.NB_Rueckgabevoraussetzung_nsprefix_ + ':' if (UseCapturedNS_ and self.NB_Rueckgabevoraussetzung_nsprefix_) else '' + self.NB_Rueckgabevoraussetzung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='NB_Rueckgabevoraussetzung', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Freie_Stellbarkeit': + obj_ = TCFreie_Stellbarkeit.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Freie_Stellbarkeit = obj_ + obj_.original_tagname_ = 'Freie_Stellbarkeit' + elif nodeName_ == 'NB_Rueckgabevoraussetzung': + obj_ = TCNB_Rueckgabevoraussetzung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.NB_Rueckgabevoraussetzung = obj_ + obj_.original_tagname_ = 'NB_Rueckgabevoraussetzung' +# end class CNB_Zone_Element_Allg + + +class CNB_Zone_Element(CBasis_Objekt): + """CNB_Zone_Element -- Zuordnung der ESTW-Elemente (Signale, Weichen, Gleissperren, Schl + ü + sselsperren) zur NB_Zone, in der sie sich befinden. F + ü + r diese Elemente sind in Abh + ä + ngigkeit der vorgesehenen NB Art Eigenschaften zur Stellbarkeit und R + ü + ckgabevoraussetzung festzulegen. DB-Regelwerk Die Angaben finden sich in der Nahbedienungstabelle, Spalten 5, 8 und 9. + ID_NB_Element -- Verweis auf die ID des Elementes, welches innerhalb der NB Zone angeordnet ist. + ID_NB_Zone -- Verweis auf die NB_Zone, zu der das NB_Zone_Element geh + ö + rt. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasis_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, ID_NB_Element=None, ID_NB_Zone=None, NB_Zone_Element_Allg=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CNB_Zone_Element"), self).__init__(Identitaet, Basis_Objekt_Allg, ID_Bearbeitungsvermerk, ID_Oertlichkeit_Ausgabe, Objektreferenzen, **kwargs_) + self.ID_NB_Element = ID_NB_Element + self.ID_NB_Element_nsprefix_ = None + self.ID_NB_Zone = ID_NB_Zone + self.ID_NB_Zone_nsprefix_ = None + self.NB_Zone_Element_Allg = NB_Zone_Element_Allg + self.NB_Zone_Element_Allg_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CNB_Zone_Element) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CNB_Zone_Element.subclass: + return CNB_Zone_Element.subclass(*args_, **kwargs_) + else: + return CNB_Zone_Element(*args_, **kwargs_) + factory = staticmethod(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_NB_Element(self): + return self.ID_NB_Element + def set_ID_NB_Element(self, ID_NB_Element): + self.ID_NB_Element = ID_NB_Element + def get_ID_NB_Zone(self): + return self.ID_NB_Zone + def set_ID_NB_Zone(self, ID_NB_Zone): + self.ID_NB_Zone = ID_NB_Zone + def get_NB_Zone_Element_Allg(self): + return self.NB_Zone_Element_Allg + def set_NB_Zone_Element_Allg(self, NB_Zone_Element_Allg): + self.NB_Zone_Element_Allg = NB_Zone_Element_Allg + def has__content(self): + if ( + self.ID_NB_Element is not None or + self.ID_NB_Zone is not None or + self.NB_Zone_Element_Allg is not None or + super(CNB_Zone_Element, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsNahbedienung:', namespacedef_='xmlns:nsNahbedienung="http://www.plan-pro.org/modell/Nahbedienung/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CNB_Zone_Element', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CNB_Zone_Element') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CNB_Zone_Element': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CNB_Zone_Element') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CNB_Zone_Element', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsNahbedienung:', name_='CNB_Zone_Element'): + super(CNB_Zone_Element, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CNB_Zone_Element') + def _exportChildren(self, outfile, level, namespaceprefix_='nsNahbedienung:', namespacedef_='xmlns:nsNahbedienung="http://www.plan-pro.org/modell/Nahbedienung/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CNB_Zone_Element', fromsubclass_=False, pretty_print=True): + super(CNB_Zone_Element, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.ID_NB_Element is not None: + namespaceprefix_ = self.ID_NB_Element_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_NB_Element_nsprefix_) else '' + self.ID_NB_Element.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_NB_Element', pretty_print=pretty_print) + if self.ID_NB_Zone is not None: + namespaceprefix_ = self.ID_NB_Zone_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_NB_Zone_nsprefix_) else '' + self.ID_NB_Zone.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_NB_Zone', pretty_print=pretty_print) + if self.NB_Zone_Element_Allg is not None: + namespaceprefix_ = self.NB_Zone_Element_Allg_nsprefix_ + ':' if (UseCapturedNS_ and self.NB_Zone_Element_Allg_nsprefix_) else '' + self.NB_Zone_Element_Allg.export(outfile, level, namespaceprefix_, namespacedef_='', name_='NB_Zone_Element_Allg', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CNB_Zone_Element, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_NB_Element': + obj_ = TCID_NB_Element.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_NB_Element = obj_ + obj_.original_tagname_ = 'ID_NB_Element' + elif nodeName_ == 'ID_NB_Zone': + obj_ = TCID_NB_Zone.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_NB_Zone = obj_ + obj_.original_tagname_ = 'ID_NB_Zone' + elif nodeName_ == 'NB_Zone_Element_Allg': + obj_ = CNB_Zone_Element_Allg.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.NB_Zone_Element_Allg = obj_ + obj_.original_tagname_ = 'NB_Zone_Element_Allg' + super(CNB_Zone_Element, self)._buildChildren(child_, node, nodeName_, True) +# end class CNB_Zone_Element + + +class TCFreie_Stellbarkeit(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCFreie_Stellbarkeit"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCFreie_Stellbarkeit) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCFreie_Stellbarkeit.subclass: + return TCFreie_Stellbarkeit.subclass(*args_, **kwargs_) + else: + return TCFreie_Stellbarkeit(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def has__content(self): + if ( + self.Wert is not None or + super(TCFreie_Stellbarkeit, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsNahbedienung:', namespacedef_='xmlns:nsNahbedienung="http://www.plan-pro.org/modell/Nahbedienung/1.10.0"', name_='TCFreie_Stellbarkeit', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCFreie_Stellbarkeit') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCFreie_Stellbarkeit': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCFreie_Stellbarkeit') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCFreie_Stellbarkeit', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsNahbedienung:', name_='TCFreie_Stellbarkeit'): + super(TCFreie_Stellbarkeit, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCFreie_Stellbarkeit') + def _exportChildren(self, outfile, level, namespaceprefix_='nsNahbedienung:', namespacedef_='xmlns:nsNahbedienung="http://www.plan-pro.org/modell/Nahbedienung/1.10.0"', name_='TCFreie_Stellbarkeit', fromsubclass_=False, pretty_print=True): + super(TCFreie_Stellbarkeit, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_boolean(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCFreie_Stellbarkeit, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + sval_ = child_.text + ival_ = self.gds_parse_boolean(sval_, node, 'Wert') + ival_ = self.gds_validate_boolean(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + super(TCFreie_Stellbarkeit, self)._buildChildren(child_, node, nodeName_, True) +# end class TCFreie_Stellbarkeit + + +class TCSBUE(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCSBUE"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCSBUE) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCSBUE.subclass: + return TCSBUE.subclass(*args_, **kwargs_) + else: + return TCSBUE(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def has__content(self): + if ( + self.Wert is not None or + super(TCSBUE, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsNahbedienung:', namespacedef_='xmlns:nsNahbedienung="http://www.plan-pro.org/modell/Nahbedienung/1.10.0"', name_='TCSBUE', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCSBUE') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCSBUE': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCSBUE') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCSBUE', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsNahbedienung:', name_='TCSBUE'): + super(TCSBUE, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCSBUE') + def _exportChildren(self, outfile, level, namespaceprefix_='nsNahbedienung:', namespacedef_='xmlns:nsNahbedienung="http://www.plan-pro.org/modell/Nahbedienung/1.10.0"', name_='TCSBUE', fromsubclass_=False, pretty_print=True): + super(TCSBUE, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_boolean(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCSBUE, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + sval_ = child_.text + ival_ = self.gds_parse_boolean(sval_, node, 'Wert') + ival_ = self.gds_validate_boolean(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + super(TCSBUE, self)._buildChildren(child_, node, nodeName_, True) +# end class TCSBUE + + +class TCTaste_FGT(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCTaste_FGT"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCTaste_FGT) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCTaste_FGT.subclass: + return TCTaste_FGT.subclass(*args_, **kwargs_) + else: + return TCTaste_FGT(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def has__content(self): + if ( + self.Wert is not None or + super(TCTaste_FGT, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsNahbedienung:', namespacedef_='xmlns:nsNahbedienung="http://www.plan-pro.org/modell/Nahbedienung/1.10.0"', name_='TCTaste_FGT', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCTaste_FGT') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCTaste_FGT': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCTaste_FGT') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCTaste_FGT', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsNahbedienung:', name_='TCTaste_FGT'): + super(TCTaste_FGT, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCTaste_FGT') + def _exportChildren(self, outfile, level, namespaceprefix_='nsNahbedienung:', namespacedef_='xmlns:nsNahbedienung="http://www.plan-pro.org/modell/Nahbedienung/1.10.0"', name_='TCTaste_FGT', fromsubclass_=False, pretty_print=True): + super(TCTaste_FGT, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_boolean(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCTaste_FGT, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + sval_ = child_.text + ival_ = self.gds_parse_boolean(sval_, node, 'Wert') + ival_ = self.gds_validate_boolean(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + super(TCTaste_FGT, self)._buildChildren(child_, node, nodeName_, True) +# end class TCTaste_FGT + + +class TCAWU(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCAWU"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCAWU) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCAWU.subclass: + return TCAWU.subclass(*args_, **kwargs_) + else: + return TCAWU(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def has__content(self): + if ( + self.Wert is not None or + super(TCAWU, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsNahbedienung:', namespacedef_='xmlns:nsNahbedienung="http://www.plan-pro.org/modell/Nahbedienung/1.10.0"', name_='TCAWU', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCAWU') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCAWU': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCAWU') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCAWU', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsNahbedienung:', name_='TCAWU'): + super(TCAWU, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCAWU') + def _exportChildren(self, outfile, level, namespaceprefix_='nsNahbedienung:', namespacedef_='xmlns:nsNahbedienung="http://www.plan-pro.org/modell/Nahbedienung/1.10.0"', name_='TCAWU', fromsubclass_=False, pretty_print=True): + super(TCAWU, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_boolean(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCAWU, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + sval_ = child_.text + ival_ = self.gds_parse_boolean(sval_, node, 'Wert') + ival_ = self.gds_validate_boolean(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + super(TCAWU, self)._buildChildren(child_, node, nodeName_, True) +# end class TCAWU + + +class CNB_Zone_Reihenfolgezwang(GeneratedsSuper): + """NB_Zone_Allg -- Festlegung, an welcher Stelle die NB_Zone in der Reihe(nfolge) steht. Ist bei mehreren Zonen, die einer \"Haupt\"zone untergeordnet sind, eine Reihenfolge der Zonen f + ü + r die Ein- bzw. Ausschaltung als notwendig festgelegt worden, muss f + ü + r jede Zone ein Rang in dieser Reihe festgelegt werden. DB-Regelwerk F + ü + r die Planung von Nahstellbereichen existiert bei der DB AG kein Regelwerk. Dieses Planungsdatum findet sich nur im Lastenheft, das dem LST-Fachplaner nicht zur Verf + ü + gung steht. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, NB_Zone_Allg=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.NB_Zone_Allg = NB_Zone_Allg + self.NB_Zone_Allg_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CNB_Zone_Reihenfolgezwang) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CNB_Zone_Reihenfolgezwang.subclass: + return CNB_Zone_Reihenfolgezwang.subclass(*args_, **kwargs_) + else: + return CNB_Zone_Reihenfolgezwang(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_NB_Zone_Allg(self): + return self.NB_Zone_Allg + def set_NB_Zone_Allg(self, NB_Zone_Allg): + self.NB_Zone_Allg = NB_Zone_Allg + def has__content(self): + if ( + self.NB_Zone_Allg is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsNahbedienung:', namespacedef_='xmlns:nsNahbedienung="http://www.plan-pro.org/modell/Nahbedienung/1.10.0"', name_='CNB_Zone_Reihenfolgezwang', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CNB_Zone_Reihenfolgezwang') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CNB_Zone_Reihenfolgezwang': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CNB_Zone_Reihenfolgezwang') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CNB_Zone_Reihenfolgezwang', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsNahbedienung:', name_='CNB_Zone_Reihenfolgezwang'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsNahbedienung:', namespacedef_='xmlns:nsNahbedienung="http://www.plan-pro.org/modell/Nahbedienung/1.10.0"', name_='CNB_Zone_Reihenfolgezwang', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.NB_Zone_Allg is not None: + namespaceprefix_ = self.NB_Zone_Allg_nsprefix_ + ':' if (UseCapturedNS_ and self.NB_Zone_Allg_nsprefix_) else '' + self.NB_Zone_Allg.export(outfile, level, namespaceprefix_, namespacedef_='', name_='NB_Zone_Allg', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'NB_Zone_Allg': + obj_ = TCNB_Zone_Allg.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.NB_Zone_Allg = obj_ + obj_.original_tagname_ = 'NB_Zone_Allg' +# end class CNB_Zone_Reihenfolgezwang + + +class CNB(CBasis_Objekt): + """CNB -- Nahstellbereich. Teilbereich innerhalb eines ESTW-Stellbereichs, f + ü + r den zeitweise die Zust + ä + ndigkeit vom Fahrdienstleiter an einen + ö + rtlichen Bediener zur Durchf + ü + hrung von Rangierbewegungen abgegeben werden kann. Die Kommunikation zwischen Fahrdienstleiter und Bediener erfolgt + ü + ber entsprechende Bedieneinrichtung(en). Mit Abgabe der Nahbedienung hat der Fahrdienstleiter auf diesen Bereich keinen Zugriff; die Verantwortung liegt beim + ö + rtlichen Bediener. Mit R + ü + ckgabe der Nahbedienung geht die Verantwortung vom Bediener wieder an den Fahrdienstleiter. F + ü + r die R + ü + ckgabe der Nahbedienung k + ö + nnen bestimmte Voraussetzungen erforderlich sein. F + ü + r die Abgabe bzw. R + ü + ckgabe der Nahbedienung werden in der Literatur auch die Begriffe \"Einschalten\" und \"Ausschalten\" verwendet. Der Nahstellbereich muss vom + ü + brigen Stellwerksbereich durch Flankenschutzma + ß + nahmen abgegrenzt werden. Jeder Nahstellbereich hat immer mindestens eine NB Zone. Bei einem Nahstellbereich mit der Funktionalit + ä + t eines abgesetzten \"Rangierstellwerkes\" (NB-R) k + ö + nnen Weichen mit elektrischem Antrieb umgestellt und innerhalb des NB Fahrten mit Rangierstra + ß + en durchgef + ü + hrt werden. DB-Regelwerk F + ü + r die Planung von Nahstellbereichen exisitert bei der DB AG kein Regelwerk. + Bezeichnung -- Attributgruppe zur Bezeichnung von Stell- und sonstigen Elementen. Sofern ausreichend, wird an dieser Stelle + ü + ber Vererbung die Basisattributgruppe Bezeichnung Element eingebunden. Ist die Abbildung mit den Attributen der Basisattributgruppe nicht m + ö + glich (z. B. wegen spezieller Patternvorgabe) oder nicht sinnvoll (z. B. weil eine Unterscheidung nach Bezeichnung_Lageplan_..., Bezeichnung_Tabelle und Bezeichnung_Aussenanlage (Pflichtattribute!) nicht notwendig ist), werden in der Attributgruppe Bezeichnung entsprechende objektspezifische Bezeichnungsattribute modelliert. Diese sind nach dem Schema Bezeichnung_[Objektname] zu benennen. Zudem ist es m + ö + glich, gleichzeitig die Basisattributgruppe Bezeichnung Element und objektspezifische Attribute einzubinden. Siehe auch Bildung der Bezeichnungen. DB-Regelwerk Sicherungstechnischer Lage- und + Ü + bersichtsplan, B + Ü + -Lageplan Planungstabellen + NB_Art -- Festlegung der innerhalb des Nahstellbereiches m + ö + glichen Bedienhandlungen. Die Art des Nahstellbereiches (NB) entscheidet + ü + ber die innerhalb des NB m + ö + glichen Funktionalit + ä + ten: G: Signale zeigen Kl/Sh1; nur ortsbediente Weichen umstellbar; B + Ü + -Bedienung mit Rangierschalter; W: wie G, zus + ä + tzlich Umstellung von mit Antrieben ausger + ü + steter Weichen m + ö + glich; R: wie W, zus + ä + tzlich Fahren mit Rangierstra + ß + en innerhalb des NB. In Abh + ä + ngigkeit der gew + ä + hlten Art des Nahstellbereiches werden Funktionalit + ä + ten und physische Ausbildung von NB Bedien Anzeige Element festgelegt. DB-Regelwerk Das Planungsdatum ist im Regelwerk der DB AG nicht enthalten. Es geht aus dem zugeh + ö + rigen Lastenheft hervor, dass dem LST-Fachplaner jedoch nicht zur Verf + ü + gung steht. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasis_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, Bezeichnung=None, NB_Art=None, NB_Funktionalitaet_NB_R=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CNB"), self).__init__(Identitaet, Basis_Objekt_Allg, ID_Bearbeitungsvermerk, ID_Oertlichkeit_Ausgabe, Objektreferenzen, **kwargs_) + self.Bezeichnung = Bezeichnung + self.Bezeichnung_nsprefix_ = None + self.NB_Art = NB_Art + self.NB_Art_nsprefix_ = None + self.NB_Funktionalitaet_NB_R = NB_Funktionalitaet_NB_R + self.NB_Funktionalitaet_NB_R_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CNB) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CNB.subclass: + return CNB.subclass(*args_, **kwargs_) + else: + return CNB(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Bezeichnung(self): + return self.Bezeichnung + def set_Bezeichnung(self, Bezeichnung): + self.Bezeichnung = Bezeichnung + def get_NB_Art(self): + return self.NB_Art + def set_NB_Art(self, NB_Art): + self.NB_Art = NB_Art + def get_NB_Funktionalitaet_NB_R(self): + return self.NB_Funktionalitaet_NB_R + def set_NB_Funktionalitaet_NB_R(self, NB_Funktionalitaet_NB_R): + self.NB_Funktionalitaet_NB_R = NB_Funktionalitaet_NB_R + def has__content(self): + if ( + self.Bezeichnung is not None or + self.NB_Art is not None or + self.NB_Funktionalitaet_NB_R is not None or + super(CNB, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsNahbedienung:', namespacedef_='xmlns:nsNahbedienung="http://www.plan-pro.org/modell/Nahbedienung/1.10.0"', name_='CNB', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CNB') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CNB': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CNB') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CNB', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsNahbedienung:', name_='CNB'): + super(CNB, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CNB') + def _exportChildren(self, outfile, level, namespaceprefix_='nsNahbedienung:', namespacedef_='xmlns:nsNahbedienung="http://www.plan-pro.org/modell/Nahbedienung/1.10.0"', name_='CNB', fromsubclass_=False, pretty_print=True): + super(CNB, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Bezeichnung is not None: + namespaceprefix_ = self.Bezeichnung_nsprefix_ + ':' if (UseCapturedNS_ and self.Bezeichnung_nsprefix_) else '' + self.Bezeichnung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Bezeichnung', pretty_print=pretty_print) + if self.NB_Art is not None: + namespaceprefix_ = self.NB_Art_nsprefix_ + ':' if (UseCapturedNS_ and self.NB_Art_nsprefix_) else '' + self.NB_Art.export(outfile, level, namespaceprefix_, namespacedef_='', name_='NB_Art', pretty_print=pretty_print) + if self.NB_Funktionalitaet_NB_R is not None: + namespaceprefix_ = self.NB_Funktionalitaet_NB_R_nsprefix_ + ':' if (UseCapturedNS_ and self.NB_Funktionalitaet_NB_R_nsprefix_) else '' + self.NB_Funktionalitaet_NB_R.export(outfile, level, namespaceprefix_, namespacedef_='', name_='NB_Funktionalitaet_NB_R', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CNB, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Bezeichnung': + obj_ = CNB_Bezeichnung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Bezeichnung = obj_ + obj_.original_tagname_ = 'Bezeichnung' + elif nodeName_ == 'NB_Art': + obj_ = TCNB_Art.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.NB_Art = obj_ + obj_.original_tagname_ = 'NB_Art' + elif nodeName_ == 'NB_Funktionalitaet_NB_R': + obj_ = CNB_Funktionalitaet_NB_R.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.NB_Funktionalitaet_NB_R = obj_ + obj_.original_tagname_ = 'NB_Funktionalitaet_NB_R' + super(CNB, self)._buildChildren(child_, node, nodeName_, True) +# end class CNB + + +class TCSLE_SLS(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCSLE_SLS"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCSLE_SLS) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCSLE_SLS.subclass: + return TCSLE_SLS.subclass(*args_, **kwargs_) + else: + return TCSLE_SLS(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def has__content(self): + if ( + self.Wert is not None or + super(TCSLE_SLS, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsNahbedienung:', namespacedef_='xmlns:nsNahbedienung="http://www.plan-pro.org/modell/Nahbedienung/1.10.0"', name_='TCSLE_SLS', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCSLE_SLS') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCSLE_SLS': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCSLE_SLS') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCSLE_SLS', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsNahbedienung:', name_='TCSLE_SLS'): + super(TCSLE_SLS, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCSLE_SLS') + def _exportChildren(self, outfile, level, namespaceprefix_='nsNahbedienung:', namespacedef_='xmlns:nsNahbedienung="http://www.plan-pro.org/modell/Nahbedienung/1.10.0"', name_='TCSLE_SLS', fromsubclass_=False, pretty_print=True): + super(TCSLE_SLS, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_boolean(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCSLE_SLS, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + sval_ = child_.text + ival_ = self.gds_parse_boolean(sval_, node, 'Wert') + ival_ = self.gds_validate_boolean(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + super(TCSLE_SLS, self)._buildChildren(child_, node, nodeName_, True) +# end class TCSLE_SLS + + +class CNB_Zone_Grenze(CBasis_Objekt): + """CNB_Zone_Grenze -- Grenze der NB Zone gegen + ü + ber dem der Zone angrenzenden Bereich. Die NB Zone wird mittels (technischem) Flankenschutz gegen + ü + ber dem benachbarten Bereich (ESTW oder einer weiteren Zone) abgegrenzt. Grenzelemente bilden Signale, Weichen oder Gleissperren, welche in jeweiliger Flankenschutzlage verschlossen werden. Auch die Angabe eines Achz + ä + hlpunkts ist m + ö + glich. Bei an die NB Zone angrenzendem Ortstellbereich ist die TM 2010-388 I.NVT 3 \"Planungsregeln Bedienbereiche - Schnittstellen Stellwerksbereiche\" zu beachten. DB-Regelwerk TM 2010-388 I.NVT 3 Die Angabe von Grenzelementen au + ß + erhalb der NB-Zone finden sich in der Nahbedienungstabelle, Spalte 7. + ID_Markanter_Punkt -- Verweis auf einen Markanten Punkt (Signal, Weichen- bzw. Gleissperrenkomponente, Azp), der die Grenze der NB_Zone darstellt. DB-Regelwerk Zur Planung von Nahstellbereichen gibt es bei der DB AG kein Regelwerk. Dieses Planungsdatum findet sich in der Nahbedienungstabelle Flankenschutztabelle + ID_NB_Zone -- Verweis auf die NB_Zone, f + ü + r die die Grenze festgelegt wird. + NB_Grenze_Art -- Angrenzender Nachbar der NB Zone. Von der Art des angrenzenden Bereiches h + ä + ngt der zu planende (technische) Flankenschutz ab. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasis_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, ID_Markanter_Punkt=None, ID_NB_Zone=None, NB_Grenze_Art=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CNB_Zone_Grenze"), self).__init__(Identitaet, Basis_Objekt_Allg, ID_Bearbeitungsvermerk, ID_Oertlichkeit_Ausgabe, Objektreferenzen, **kwargs_) + self.ID_Markanter_Punkt = ID_Markanter_Punkt + self.ID_Markanter_Punkt_nsprefix_ = None + self.ID_NB_Zone = ID_NB_Zone + self.ID_NB_Zone_nsprefix_ = None + self.NB_Grenze_Art = NB_Grenze_Art + self.NB_Grenze_Art_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CNB_Zone_Grenze) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CNB_Zone_Grenze.subclass: + return CNB_Zone_Grenze.subclass(*args_, **kwargs_) + else: + return CNB_Zone_Grenze(*args_, **kwargs_) + factory = staticmethod(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_Markanter_Punkt(self): + return self.ID_Markanter_Punkt + def set_ID_Markanter_Punkt(self, ID_Markanter_Punkt): + self.ID_Markanter_Punkt = ID_Markanter_Punkt + def get_ID_NB_Zone(self): + return self.ID_NB_Zone + def set_ID_NB_Zone(self, ID_NB_Zone): + self.ID_NB_Zone = ID_NB_Zone + def get_NB_Grenze_Art(self): + return self.NB_Grenze_Art + def set_NB_Grenze_Art(self, NB_Grenze_Art): + self.NB_Grenze_Art = NB_Grenze_Art + def has__content(self): + if ( + self.ID_Markanter_Punkt is not None or + self.ID_NB_Zone is not None or + self.NB_Grenze_Art is not None or + super(CNB_Zone_Grenze, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsNahbedienung:', namespacedef_='xmlns:nsNahbedienung="http://www.plan-pro.org/modell/Nahbedienung/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CNB_Zone_Grenze', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CNB_Zone_Grenze') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CNB_Zone_Grenze': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CNB_Zone_Grenze') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CNB_Zone_Grenze', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsNahbedienung:', name_='CNB_Zone_Grenze'): + super(CNB_Zone_Grenze, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CNB_Zone_Grenze') + def _exportChildren(self, outfile, level, namespaceprefix_='nsNahbedienung:', namespacedef_='xmlns:nsNahbedienung="http://www.plan-pro.org/modell/Nahbedienung/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CNB_Zone_Grenze', fromsubclass_=False, pretty_print=True): + super(CNB_Zone_Grenze, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.ID_Markanter_Punkt is not None: + namespaceprefix_ = self.ID_Markanter_Punkt_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Markanter_Punkt_nsprefix_) else '' + self.ID_Markanter_Punkt.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Markanter_Punkt', pretty_print=pretty_print) + if self.ID_NB_Zone is not None: + namespaceprefix_ = self.ID_NB_Zone_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_NB_Zone_nsprefix_) else '' + self.ID_NB_Zone.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_NB_Zone', pretty_print=pretty_print) + if self.NB_Grenze_Art is not None: + namespaceprefix_ = self.NB_Grenze_Art_nsprefix_ + ':' if (UseCapturedNS_ and self.NB_Grenze_Art_nsprefix_) else '' + self.NB_Grenze_Art.export(outfile, level, namespaceprefix_, namespacedef_='', name_='NB_Grenze_Art', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CNB_Zone_Grenze, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Markanter_Punkt': + obj_ = TCID_Markanter_Punkt.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Markanter_Punkt = obj_ + obj_.original_tagname_ = 'ID_Markanter_Punkt' + elif nodeName_ == 'ID_NB_Zone': + obj_ = TCID_NB_Zone.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_NB_Zone = obj_ + obj_.original_tagname_ = 'ID_NB_Zone' + elif nodeName_ == 'NB_Grenze_Art': + obj_ = TCNB_Grenze_Art.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.NB_Grenze_Art = obj_ + obj_.original_tagname_ = 'NB_Grenze_Art' + super(CNB_Zone_Grenze, self)._buildChildren(child_, node, nodeName_, True) +# end class CNB_Zone_Grenze + + +class CNB_Bezeichnung(GeneratedsSuper): + """Bezeichnung_NB -- Numerische Bezeichnung des Nahstellbereichs. Die Bezeichnung des Nahstellbereichs gem + ä + ß + Ril 819.9001 (z. B. 99NB1) wird aus der Kennzahl von Bezeichnung Element, dem K + ü + rzel NB (generiert aus der Anlegung der Instanz + „ + NB + “ + ) und der NB_Bezeichnung zusammengesetzt. Das Attribut NB_Bezeichnung wurde trotz Nutzung der Basisattributgruppe Bezeichnung geschaffen, da die numerische Bezeichnung des NB (z. B. \"1\") kein + ö + rtlicher Elementbezeichner ist. DB-Regelwerk 819.9001 + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Bezeichnung_NB=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Bezeichnung_NB = Bezeichnung_NB + self.Bezeichnung_NB_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CNB_Bezeichnung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CNB_Bezeichnung.subclass: + return CNB_Bezeichnung.subclass(*args_, **kwargs_) + else: + return CNB_Bezeichnung(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Bezeichnung_NB(self): + return self.Bezeichnung_NB + def set_Bezeichnung_NB(self, Bezeichnung_NB): + self.Bezeichnung_NB = Bezeichnung_NB + def has__content(self): + if ( + self.Bezeichnung_NB is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsNahbedienung:', namespacedef_='xmlns:nsNahbedienung="http://www.plan-pro.org/modell/Nahbedienung/1.10.0"', name_='CNB_Bezeichnung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CNB_Bezeichnung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CNB_Bezeichnung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CNB_Bezeichnung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CNB_Bezeichnung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsNahbedienung:', name_='CNB_Bezeichnung'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsNahbedienung:', namespacedef_='xmlns:nsNahbedienung="http://www.plan-pro.org/modell/Nahbedienung/1.10.0"', name_='CNB_Bezeichnung', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Bezeichnung_NB is not None: + namespaceprefix_ = self.Bezeichnung_NB_nsprefix_ + ':' if (UseCapturedNS_ and self.Bezeichnung_NB_nsprefix_) else '' + self.Bezeichnung_NB.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Bezeichnung_NB', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Bezeichnung_NB': + obj_ = TCBezeichnung_NB.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Bezeichnung_NB = obj_ + obj_.original_tagname_ = 'Bezeichnung_NB' +# end class CNB_Bezeichnung + + +class TCTaste_WGT(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCTaste_WGT"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCTaste_WGT) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCTaste_WGT.subclass: + return TCTaste_WGT.subclass(*args_, **kwargs_) + else: + return TCTaste_WGT(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def has__content(self): + if ( + self.Wert is not None or + super(TCTaste_WGT, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsNahbedienung:', namespacedef_='xmlns:nsNahbedienung="http://www.plan-pro.org/modell/Nahbedienung/1.10.0"', name_='TCTaste_WGT', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCTaste_WGT') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCTaste_WGT': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCTaste_WGT') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCTaste_WGT', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsNahbedienung:', name_='TCTaste_WGT'): + super(TCTaste_WGT, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCTaste_WGT') + def _exportChildren(self, outfile, level, namespaceprefix_='nsNahbedienung:', namespacedef_='xmlns:nsNahbedienung="http://www.plan-pro.org/modell/Nahbedienung/1.10.0"', name_='TCTaste_WGT', fromsubclass_=False, pretty_print=True): + super(TCTaste_WGT, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_boolean(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCTaste_WGT, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + sval_ = child_.text + ival_ = self.gds_parse_boolean(sval_, node, 'Wert') + ival_ = self.gds_validate_boolean(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + super(TCTaste_WGT, self)._buildChildren(child_, node, nodeName_, True) +# end class TCTaste_WGT + + +class CNB_Zone_Allg(GeneratedsSuper): + """NB_Verhaeltnis_Besonders -- Besonderes Verh + ä + ltnis der betrachteten NB-Zone in Bezug auf die unter ID_NB_Zone angegebene. + ü + berlappend: zwei Zonen + ü + berlappen sich, das hei + ß + t einige Elemente geh + ö + ren sowohl zur einen als auch zur anderen Zone. vereinigt: zwei nebeneinander liegende Zonen werden zu einer gro + ß + en Zone zusammengef + ü + hrt. Die + Ü + ber- bzw. Unterordnung ergibt sich aus dem Verweis ID_NB_Zone. DB-Regelwerk F + ü + r die Planung von Nahstellbereichen exisitert bei der DB AG kein Regelwerk. Dieses Planungsdatum findet sich in der Nahbedienungstabelle. + Rang -- Festlegung, an welcher Stelle die NB_Zone in der Reihe(nfolge) steht. Ist bei mehreren Zonen, die einer \"Haupt\"zone untergeordnet sind, eine Reihenfolge der Zonen f + ü + r die Ein- bzw. Ausschaltung als notwendig festgelegt worden, muss f + ü + r jede Zone ein Rang in dieser Reihe festgelegt werden. DB-Regelwerk F + ü + r die Planung von Nahstellbereichen existiert bei der DB AG kein Regelwerk. Dieses Planungsdatum findet sich nur im Lastenheft, das dem LST-Fachplaner nicht zur Verf + ü + gung steht. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, NB_Verhaeltnis_Besonders=None, Rang=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.NB_Verhaeltnis_Besonders = NB_Verhaeltnis_Besonders + self.NB_Verhaeltnis_Besonders_nsprefix_ = None + self.Rang = Rang + self.Rang_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CNB_Zone_Allg) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CNB_Zone_Allg.subclass: + return CNB_Zone_Allg.subclass(*args_, **kwargs_) + else: + return CNB_Zone_Allg(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_NB_Verhaeltnis_Besonders(self): + return self.NB_Verhaeltnis_Besonders + def set_NB_Verhaeltnis_Besonders(self, NB_Verhaeltnis_Besonders): + self.NB_Verhaeltnis_Besonders = NB_Verhaeltnis_Besonders + def get_Rang(self): + return self.Rang + def set_Rang(self, Rang): + self.Rang = Rang + def has__content(self): + if ( + self.NB_Verhaeltnis_Besonders is not None or + self.Rang is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsNahbedienung:', namespacedef_='xmlns:nsNahbedienung="http://www.plan-pro.org/modell/Nahbedienung/1.10.0"', name_='CNB_Zone_Allg', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CNB_Zone_Allg') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CNB_Zone_Allg': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CNB_Zone_Allg') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CNB_Zone_Allg', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsNahbedienung:', name_='CNB_Zone_Allg'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsNahbedienung:', namespacedef_='xmlns:nsNahbedienung="http://www.plan-pro.org/modell/Nahbedienung/1.10.0"', name_='CNB_Zone_Allg', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.NB_Verhaeltnis_Besonders is not None: + namespaceprefix_ = self.NB_Verhaeltnis_Besonders_nsprefix_ + ':' if (UseCapturedNS_ and self.NB_Verhaeltnis_Besonders_nsprefix_) else '' + self.NB_Verhaeltnis_Besonders.export(outfile, level, namespaceprefix_, namespacedef_='', name_='NB_Verhaeltnis_Besonders', pretty_print=pretty_print) + if self.Rang is not None: + namespaceprefix_ = self.Rang_nsprefix_ + ':' if (UseCapturedNS_ and self.Rang_nsprefix_) else '' + self.Rang.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Rang', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'NB_Verhaeltnis_Besonders': + obj_ = TCNB_Verhaeltnis_Besonders.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.NB_Verhaeltnis_Besonders = obj_ + obj_.original_tagname_ = 'NB_Verhaeltnis_Besonders' + elif nodeName_ == 'Rang': + obj_ = TCRang.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Rang = obj_ + obj_.original_tagname_ = 'Rang' +# end class CNB_Zone_Allg + + +class TCTaste_ANF(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCTaste_ANF"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCTaste_ANF) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCTaste_ANF.subclass: + return TCTaste_ANF.subclass(*args_, **kwargs_) + else: + return TCTaste_ANF(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def has__content(self): + if ( + self.Wert is not None or + super(TCTaste_ANF, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsNahbedienung:', namespacedef_='xmlns:nsNahbedienung="http://www.plan-pro.org/modell/Nahbedienung/1.10.0"', name_='TCTaste_ANF', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCTaste_ANF') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCTaste_ANF': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCTaste_ANF') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCTaste_ANF', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsNahbedienung:', name_='TCTaste_ANF'): + super(TCTaste_ANF, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCTaste_ANF') + def _exportChildren(self, outfile, level, namespaceprefix_='nsNahbedienung:', namespacedef_='xmlns:nsNahbedienung="http://www.plan-pro.org/modell/Nahbedienung/1.10.0"', name_='TCTaste_ANF', fromsubclass_=False, pretty_print=True): + super(TCTaste_ANF, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_boolean(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCTaste_ANF, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + sval_ = child_.text + ival_ = self.gds_parse_boolean(sval_, node, 'Wert') + ival_ = self.gds_validate_boolean(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + super(TCTaste_ANF, self)._buildChildren(child_, node, nodeName_, True) +# end class TCTaste_ANF + + +class TCInduktionsschutz(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCInduktionsschutz"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TInduktionsschutz(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCInduktionsschutz) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCInduktionsschutz.subclass: + return TCInduktionsschutz.subclass(*args_, **kwargs_) + else: + return TCInduktionsschutz(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TInduktionsschutz(self, value): + result = True + # Validate type TInduktionsschutz, a restriction on xs:integer. + 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 + pass + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCInduktionsschutz, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsMedien_und_Trassen:', namespacedef_='xmlns:nsMedien_und_Trassen="http://www.plan-pro.org/modell/Medien_und_Trassen/1.10.0"', name_='TCInduktionsschutz', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCInduktionsschutz') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCInduktionsschutz': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCInduktionsschutz') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCInduktionsschutz', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsMedien_und_Trassen:', name_='TCInduktionsschutz'): + super(TCInduktionsschutz, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCInduktionsschutz') + def _exportChildren(self, outfile, level, namespaceprefix_='nsMedien_und_Trassen:', namespacedef_='xmlns:nsMedien_und_Trassen="http://www.plan-pro.org/modell/Medien_und_Trassen/1.10.0"', name_='TCInduktionsschutz', fromsubclass_=False, pretty_print=True): + super(TCInduktionsschutz, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_integer(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCInduktionsschutz, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + ival_ = self.gds_parse_integer(sval_, node, 'Wert') + ival_ = self.gds_validate_integer(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + # validate type TInduktionsschutz + self.validate_TInduktionsschutz(self.Wert) + super(TCInduktionsschutz, self)._buildChildren(child_, node, nodeName_, True) +# end class TCInduktionsschutz + + +class TCTrasse_Kante_Art(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCTrasse_Kante_Art"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMTrasse_Kante_Art(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCTrasse_Kante_Art) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCTrasse_Kante_Art.subclass: + return TCTrasse_Kante_Art.subclass(*args_, **kwargs_) + else: + return TCTrasse_Kante_Art(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMTrasse_Kante_Art(self, value): + result = True + # Validate type ENUMTrasse_Kante_Art, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['Erdtrasse', 'frei', 'Kabelgestell_Tunnel', 'Lufttrasse', 'Rohrtrasse', 'sonstige', 'Trogtrasse', 'Trogtrasse_aufgestaendert', 'Trogtrasse_Behelf'] + 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 ENUMTrasse_Kante_Art' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCTrasse_Kante_Art, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsMedien_und_Trassen:', namespacedef_='xmlns:nsMedien_und_Trassen="http://www.plan-pro.org/modell/Medien_und_Trassen/1.10.0"', name_='TCTrasse_Kante_Art', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCTrasse_Kante_Art') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCTrasse_Kante_Art': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCTrasse_Kante_Art') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCTrasse_Kante_Art', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsMedien_und_Trassen:', name_='TCTrasse_Kante_Art'): + super(TCTrasse_Kante_Art, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCTrasse_Kante_Art') + def _exportChildren(self, outfile, level, namespaceprefix_='nsMedien_und_Trassen:', namespacedef_='xmlns:nsMedien_und_Trassen="http://www.plan-pro.org/modell/Medien_und_Trassen/1.10.0"', name_='TCTrasse_Kante_Art', fromsubclass_=False, pretty_print=True): + super(TCTrasse_Kante_Art, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCTrasse_Kante_Art, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMTrasse_Kante_Art + self.validate_ENUMTrasse_Kante_Art(self.Wert) + super(TCTrasse_Kante_Art, self)._buildChildren(child_, node, nodeName_, True) +# end class TCTrasse_Kante_Art + + +class TCKabel_Laenge(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCKabel_Laenge"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TKabel_Laenge(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCKabel_Laenge) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCKabel_Laenge.subclass: + return TCKabel_Laenge.subclass(*args_, **kwargs_) + else: + return TCKabel_Laenge(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TKabel_Laenge(self, value): + result = True + # Validate type TKabel_Laenge, a restriction on nsBasisTypen:TMeter. + 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 not self.gds_validate_simple_patterns( + self.validate_TKabel_Laenge_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TKabel_Laenge_patterns_, )) + result = False + return result + validate_TKabel_Laenge_patterns_ = [['^((-?[1-9][0-9]{0,})|0)$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCKabel_Laenge, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsMedien_und_Trassen:', namespacedef_='xmlns:nsMedien_und_Trassen="http://www.plan-pro.org/modell/Medien_und_Trassen/1.10.0"', name_='TCKabel_Laenge', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCKabel_Laenge') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCKabel_Laenge': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCKabel_Laenge') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCKabel_Laenge', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsMedien_und_Trassen:', name_='TCKabel_Laenge'): + super(TCKabel_Laenge, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCKabel_Laenge') + def _exportChildren(self, outfile, level, namespaceprefix_='nsMedien_und_Trassen:', namespacedef_='xmlns:nsMedien_und_Trassen="http://www.plan-pro.org/modell/Medien_und_Trassen/1.10.0"', name_='TCKabel_Laenge', fromsubclass_=False, pretty_print=True): + super(TCKabel_Laenge, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_decimal(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCKabel_Laenge, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + fval_ = self.gds_parse_decimal(sval_, node, 'Wert') + fval_ = self.gds_validate_decimal(fval_, node, 'Wert') + self.Wert = fval_ + self.Wert_nsprefix_ = child_.prefix + # validate type TKabel_Laenge + self.validate_TKabel_Laenge(self.Wert) + super(TCKabel_Laenge, self)._buildChildren(child_, node, nodeName_, True) +# end class TCKabel_Laenge + + +class CTrasse_Kante(CBasis_Objekt): + """CTrasse_Kante -- Kante des topologischen Knoten-Kanten-Modells zur Darstellung des Kabelgef + ä + ß + systems (Kabeltrasse) oder gleichartiger Medientrassen. Die Trasse Kante ist vom Knoten A zum Knoten B gerichtet und muss immer an zwei Trasse Knoten enden. Der geometrische Verlauf einer Trasse_Kante kann durch eine oder mehrere GEO_Kanten beschrieben werden (siehe auch TOP_Kante). + ID_Trasse_Knoten_A -- Verweis auf den Trasse Knoten am Anfang der Kante. + ID_Trasse_Knoten_B -- Verweis auf den Trasse Knoten am Ende der Kante. + Trasse_Kante_Art -- Art der Medientrasse (z. B. Luft- oder Trogtrasse). + Trasse_Nutzer -- Nutzer der Medientrasse, z. B. DB Netz. Eine Trasse kann von mehreren Nutzern beansprucht werden. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasis_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, ID_Trasse_Knoten_A=None, ID_Trasse_Knoten_B=None, Trasse_Kante_Art=None, Trasse_Nutzer=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CTrasse_Kante"), self).__init__(Identitaet, Basis_Objekt_Allg, ID_Bearbeitungsvermerk, ID_Oertlichkeit_Ausgabe, Objektreferenzen, **kwargs_) + self.ID_Trasse_Knoten_A = ID_Trasse_Knoten_A + self.ID_Trasse_Knoten_A_nsprefix_ = None + self.ID_Trasse_Knoten_B = ID_Trasse_Knoten_B + self.ID_Trasse_Knoten_B_nsprefix_ = None + self.Trasse_Kante_Art = Trasse_Kante_Art + self.Trasse_Kante_Art_nsprefix_ = None + if Trasse_Nutzer is None: + self.Trasse_Nutzer = [] + else: + self.Trasse_Nutzer = Trasse_Nutzer + self.Trasse_Nutzer_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CTrasse_Kante) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CTrasse_Kante.subclass: + return CTrasse_Kante.subclass(*args_, **kwargs_) + else: + return CTrasse_Kante(*args_, **kwargs_) + factory = staticmethod(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_Trasse_Knoten_A(self): + return self.ID_Trasse_Knoten_A + def set_ID_Trasse_Knoten_A(self, ID_Trasse_Knoten_A): + self.ID_Trasse_Knoten_A = ID_Trasse_Knoten_A + def get_ID_Trasse_Knoten_B(self): + return self.ID_Trasse_Knoten_B + def set_ID_Trasse_Knoten_B(self, ID_Trasse_Knoten_B): + self.ID_Trasse_Knoten_B = ID_Trasse_Knoten_B + def get_Trasse_Kante_Art(self): + return self.Trasse_Kante_Art + def set_Trasse_Kante_Art(self, Trasse_Kante_Art): + self.Trasse_Kante_Art = Trasse_Kante_Art + def get_Trasse_Nutzer(self): + return self.Trasse_Nutzer + def set_Trasse_Nutzer(self, Trasse_Nutzer): + self.Trasse_Nutzer = Trasse_Nutzer + def add_Trasse_Nutzer(self, value): + self.Trasse_Nutzer.append(value) + def insert_Trasse_Nutzer_at(self, index, value): + self.Trasse_Nutzer.insert(index, value) + def replace_Trasse_Nutzer_at(self, index, value): + self.Trasse_Nutzer[index] = value + def has__content(self): + if ( + self.ID_Trasse_Knoten_A is not None or + self.ID_Trasse_Knoten_B is not None or + self.Trasse_Kante_Art is not None or + self.Trasse_Nutzer or + super(CTrasse_Kante, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsMedien_und_Trassen:', namespacedef_='xmlns:nsMedien_und_Trassen="http://www.plan-pro.org/modell/Medien_und_Trassen/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CTrasse_Kante', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CTrasse_Kante') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CTrasse_Kante': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CTrasse_Kante') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CTrasse_Kante', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsMedien_und_Trassen:', name_='CTrasse_Kante'): + super(CTrasse_Kante, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CTrasse_Kante') + def _exportChildren(self, outfile, level, namespaceprefix_='nsMedien_und_Trassen:', namespacedef_='xmlns:nsMedien_und_Trassen="http://www.plan-pro.org/modell/Medien_und_Trassen/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CTrasse_Kante', fromsubclass_=False, pretty_print=True): + super(CTrasse_Kante, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.ID_Trasse_Knoten_A is not None: + namespaceprefix_ = self.ID_Trasse_Knoten_A_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Trasse_Knoten_A_nsprefix_) else '' + self.ID_Trasse_Knoten_A.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Trasse_Knoten_A', pretty_print=pretty_print) + if self.ID_Trasse_Knoten_B is not None: + namespaceprefix_ = self.ID_Trasse_Knoten_B_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Trasse_Knoten_B_nsprefix_) else '' + self.ID_Trasse_Knoten_B.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Trasse_Knoten_B', pretty_print=pretty_print) + if self.Trasse_Kante_Art is not None: + namespaceprefix_ = self.Trasse_Kante_Art_nsprefix_ + ':' if (UseCapturedNS_ and self.Trasse_Kante_Art_nsprefix_) else '' + self.Trasse_Kante_Art.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Trasse_Kante_Art', pretty_print=pretty_print) + for Trasse_Nutzer_ in self.Trasse_Nutzer: + namespaceprefix_ = self.Trasse_Nutzer_nsprefix_ + ':' if (UseCapturedNS_ and self.Trasse_Nutzer_nsprefix_) else '' + Trasse_Nutzer_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Trasse_Nutzer', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CTrasse_Kante, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Trasse_Knoten_A': + obj_ = TCID_Trasse_Knoten.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Trasse_Knoten_A = obj_ + obj_.original_tagname_ = 'ID_Trasse_Knoten_A' + elif nodeName_ == 'ID_Trasse_Knoten_B': + obj_ = TCID_Trasse_Knoten.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Trasse_Knoten_B = obj_ + obj_.original_tagname_ = 'ID_Trasse_Knoten_B' + elif nodeName_ == 'Trasse_Kante_Art': + obj_ = TCTrasse_Kante_Art.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Trasse_Kante_Art = obj_ + obj_.original_tagname_ = 'Trasse_Kante_Art' + elif nodeName_ == 'Trasse_Nutzer': + obj_ = TCTrasse_Nutzer.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Trasse_Nutzer.append(obj_) + obj_.original_tagname_ = 'Trasse_Nutzer' + super(CTrasse_Kante, self)._buildChildren(child_, node, nodeName_, True) +# end class CTrasse_Kante + + +class TCTrasse_Nutzer(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCTrasse_Nutzer"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMTrasse_Nutzer(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCTrasse_Nutzer) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCTrasse_Nutzer.subclass: + return TCTrasse_Nutzer.subclass(*args_, **kwargs_) + else: + return TCTrasse_Nutzer(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMTrasse_Nutzer(self, value): + result = True + # Validate type ENUMTrasse_Nutzer, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['DB_Energie', 'DB_KT', 'DB_Netz', 'DB_StuS', 'Dritte', 'sonstige', 'unbekannt'] + 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 ENUMTrasse_Nutzer' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCTrasse_Nutzer, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsMedien_und_Trassen:', namespacedef_='xmlns:nsMedien_und_Trassen="http://www.plan-pro.org/modell/Medien_und_Trassen/1.10.0"', name_='TCTrasse_Nutzer', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCTrasse_Nutzer') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCTrasse_Nutzer': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCTrasse_Nutzer') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCTrasse_Nutzer', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsMedien_und_Trassen:', name_='TCTrasse_Nutzer'): + super(TCTrasse_Nutzer, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCTrasse_Nutzer') + def _exportChildren(self, outfile, level, namespaceprefix_='nsMedien_und_Trassen:', namespacedef_='xmlns:nsMedien_und_Trassen="http://www.plan-pro.org/modell/Medien_und_Trassen/1.10.0"', name_='TCTrasse_Nutzer', fromsubclass_=False, pretty_print=True): + super(TCTrasse_Nutzer, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCTrasse_Nutzer, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMTrasse_Nutzer + self.validate_ENUMTrasse_Nutzer(self.Wert) + super(TCTrasse_Nutzer, self)._buildChildren(child_, node, nodeName_, True) +# end class TCTrasse_Nutzer + + +class TCKabel_Verteilpunkt_Art(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCKabel_Verteilpunkt_Art"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMKabel_Verteilpunkt_Art(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCKabel_Verteilpunkt_Art) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCKabel_Verteilpunkt_Art.subclass: + return TCKabel_Verteilpunkt_Art.subclass(*args_, **kwargs_) + else: + return TCKabel_Verteilpunkt_Art(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMKabel_Verteilpunkt_Art(self, value): + result = True + # Validate type ENUMKabel_Verteilpunkt_Art, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['Kabelschrank', 'Kabelverteiler', 'sonstige'] + 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 ENUMKabel_Verteilpunkt_Art' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCKabel_Verteilpunkt_Art, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsMedien_und_Trassen:', namespacedef_='xmlns:nsMedien_und_Trassen="http://www.plan-pro.org/modell/Medien_und_Trassen/1.10.0"', name_='TCKabel_Verteilpunkt_Art', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCKabel_Verteilpunkt_Art') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCKabel_Verteilpunkt_Art': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCKabel_Verteilpunkt_Art') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCKabel_Verteilpunkt_Art', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsMedien_und_Trassen:', name_='TCKabel_Verteilpunkt_Art'): + super(TCKabel_Verteilpunkt_Art, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCKabel_Verteilpunkt_Art') + def _exportChildren(self, outfile, level, namespaceprefix_='nsMedien_und_Trassen:', namespacedef_='xmlns:nsMedien_und_Trassen="http://www.plan-pro.org/modell/Medien_und_Trassen/1.10.0"', name_='TCKabel_Verteilpunkt_Art', fromsubclass_=False, pretty_print=True): + super(TCKabel_Verteilpunkt_Art, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCKabel_Verteilpunkt_Art, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMKabel_Verteilpunkt_Art + self.validate_ENUMKabel_Verteilpunkt_Art(self.Wert) + super(TCKabel_Verteilpunkt_Art, self)._buildChildren(child_, node, nodeName_, True) +# end class TCKabel_Verteilpunkt_Art + + +class CKabel_Verteilpunkt_Bezeichnung(GeneratedsSuper): + """Bezeichnung_Kabel_Verteilpunkt -- Bezeichnung des Kabel-Verteilpunkts. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Bezeichnung_Kabel_Verteilpunkt=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Bezeichnung_Kabel_Verteilpunkt = Bezeichnung_Kabel_Verteilpunkt + self.Bezeichnung_Kabel_Verteilpunkt_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CKabel_Verteilpunkt_Bezeichnung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CKabel_Verteilpunkt_Bezeichnung.subclass: + return CKabel_Verteilpunkt_Bezeichnung.subclass(*args_, **kwargs_) + else: + return CKabel_Verteilpunkt_Bezeichnung(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Bezeichnung_Kabel_Verteilpunkt(self): + return self.Bezeichnung_Kabel_Verteilpunkt + def set_Bezeichnung_Kabel_Verteilpunkt(self, Bezeichnung_Kabel_Verteilpunkt): + self.Bezeichnung_Kabel_Verteilpunkt = Bezeichnung_Kabel_Verteilpunkt + def has__content(self): + if ( + self.Bezeichnung_Kabel_Verteilpunkt is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsMedien_und_Trassen:', namespacedef_='xmlns:nsMedien_und_Trassen="http://www.plan-pro.org/modell/Medien_und_Trassen/1.10.0"', name_='CKabel_Verteilpunkt_Bezeichnung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CKabel_Verteilpunkt_Bezeichnung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CKabel_Verteilpunkt_Bezeichnung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CKabel_Verteilpunkt_Bezeichnung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CKabel_Verteilpunkt_Bezeichnung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsMedien_und_Trassen:', name_='CKabel_Verteilpunkt_Bezeichnung'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsMedien_und_Trassen:', namespacedef_='xmlns:nsMedien_und_Trassen="http://www.plan-pro.org/modell/Medien_und_Trassen/1.10.0"', name_='CKabel_Verteilpunkt_Bezeichnung', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Bezeichnung_Kabel_Verteilpunkt is not None: + namespaceprefix_ = self.Bezeichnung_Kabel_Verteilpunkt_nsprefix_ + ':' if (UseCapturedNS_ and self.Bezeichnung_Kabel_Verteilpunkt_nsprefix_) else '' + self.Bezeichnung_Kabel_Verteilpunkt.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Bezeichnung_Kabel_Verteilpunkt', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Bezeichnung_Kabel_Verteilpunkt': + obj_ = TCBezeichnung_Kabel_Verteilpunkt.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Bezeichnung_Kabel_Verteilpunkt = obj_ + obj_.original_tagname_ = 'Bezeichnung_Kabel_Verteilpunkt' +# end class CKabel_Verteilpunkt_Bezeichnung + + +class CKabel_Verteilpunkt(CBasis_Objekt): + """CKabel_Verteilpunkt -- Punktf + ö + rmige Installation zur Aufteilung bzw. Verschaltung von Kabeln (ohne Intelligenz). + ID_Unterbringung -- Art des Kabel-Verteilpunkts. + Kabel_Verteilpunkt_Art -- Verweis auf die Unterbringung des Kabel-Verteilpunkts. Als Art der Unterbringung ist dabei immer \"keine\" auszuw + ä + hlen, da der Kabel-Verteilpunkt selbst die physische Unterbringung definiert. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasis_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, Bezeichnung=None, ID_Unterbringung=None, Kabel_Verteilpunkt_Art=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CKabel_Verteilpunkt"), self).__init__(Identitaet, Basis_Objekt_Allg, ID_Bearbeitungsvermerk, ID_Oertlichkeit_Ausgabe, Objektreferenzen, **kwargs_) + self.Bezeichnung = Bezeichnung + self.Bezeichnung_nsprefix_ = None + self.ID_Unterbringung = ID_Unterbringung + self.ID_Unterbringung_nsprefix_ = None + self.Kabel_Verteilpunkt_Art = Kabel_Verteilpunkt_Art + self.Kabel_Verteilpunkt_Art_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CKabel_Verteilpunkt) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CKabel_Verteilpunkt.subclass: + return CKabel_Verteilpunkt.subclass(*args_, **kwargs_) + else: + return CKabel_Verteilpunkt(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Bezeichnung(self): + return self.Bezeichnung + def set_Bezeichnung(self, Bezeichnung): + self.Bezeichnung = Bezeichnung + def get_ID_Unterbringung(self): + return self.ID_Unterbringung + def set_ID_Unterbringung(self, ID_Unterbringung): + self.ID_Unterbringung = ID_Unterbringung + def get_Kabel_Verteilpunkt_Art(self): + return self.Kabel_Verteilpunkt_Art + def set_Kabel_Verteilpunkt_Art(self, Kabel_Verteilpunkt_Art): + self.Kabel_Verteilpunkt_Art = Kabel_Verteilpunkt_Art + def has__content(self): + if ( + self.Bezeichnung is not None or + self.ID_Unterbringung is not None or + self.Kabel_Verteilpunkt_Art is not None or + super(CKabel_Verteilpunkt, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsMedien_und_Trassen:', namespacedef_='xmlns:nsMedien_und_Trassen="http://www.plan-pro.org/modell/Medien_und_Trassen/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CKabel_Verteilpunkt', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CKabel_Verteilpunkt') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CKabel_Verteilpunkt': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CKabel_Verteilpunkt') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CKabel_Verteilpunkt', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsMedien_und_Trassen:', name_='CKabel_Verteilpunkt'): + super(CKabel_Verteilpunkt, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CKabel_Verteilpunkt') + def _exportChildren(self, outfile, level, namespaceprefix_='nsMedien_und_Trassen:', namespacedef_='xmlns:nsMedien_und_Trassen="http://www.plan-pro.org/modell/Medien_und_Trassen/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CKabel_Verteilpunkt', fromsubclass_=False, pretty_print=True): + super(CKabel_Verteilpunkt, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Bezeichnung is not None: + namespaceprefix_ = self.Bezeichnung_nsprefix_ + ':' if (UseCapturedNS_ and self.Bezeichnung_nsprefix_) else '' + self.Bezeichnung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Bezeichnung', pretty_print=pretty_print) + if self.ID_Unterbringung is not None: + namespaceprefix_ = self.ID_Unterbringung_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Unterbringung_nsprefix_) else '' + self.ID_Unterbringung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Unterbringung', pretty_print=pretty_print) + if self.Kabel_Verteilpunkt_Art is not None: + namespaceprefix_ = self.Kabel_Verteilpunkt_Art_nsprefix_ + ':' if (UseCapturedNS_ and self.Kabel_Verteilpunkt_Art_nsprefix_) else '' + self.Kabel_Verteilpunkt_Art.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Kabel_Verteilpunkt_Art', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CKabel_Verteilpunkt, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Bezeichnung': + obj_ = CKabel_Verteilpunkt_Bezeichnung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Bezeichnung = obj_ + obj_.original_tagname_ = 'Bezeichnung' + elif nodeName_ == 'ID_Unterbringung': + obj_ = TCID_Unterbringung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Unterbringung = obj_ + obj_.original_tagname_ = 'ID_Unterbringung' + elif nodeName_ == 'Kabel_Verteilpunkt_Art': + obj_ = TCKabel_Verteilpunkt_Art.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Kabel_Verteilpunkt_Art = obj_ + obj_.original_tagname_ = 'Kabel_Verteilpunkt_Art' + super(CKabel_Verteilpunkt, self)._buildChildren(child_, node, nodeName_, True) +# end class CKabel_Verteilpunkt + + +class CKabel_Element(GeneratedsSuper): + """Ader_Reserve -- Anzahl der Reserveadern. Bsp.: 3x4x1,4 (4). + Die unter Anzahl_Verseilelemente angebbare Aderanzahl muss auch als Reserve angebbar sein (freigeschaltetes Kabel). + Anzahl_Verseilelemente -- Anzahl der Verseilelemente. Bsp.: 3x4x1,4. + Verseilart -- Verseilart (4 = Viererverseilung; 1 = adrige Verseilung). Bsp.: 3x4x1,4. + Ader_Durchmesser -- Bei Signalkabeln: Durchmesser der Kabeladern in mm. Bsp.: 3x4x1,4. + Ader_Querschnitt -- Bei Kabeln zur rein elektrischen Energie + ü + bertragung: Querschnitt der Kabeladern in Quadratmillimetern. Bsp.: 2x1,5. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Ader_Reserve=None, Anzahl_Verseilelemente=None, Verseilart=None, Ader_Durchmesser=None, Ader_Querschnitt=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Ader_Reserve = Ader_Reserve + self.Ader_Reserve_nsprefix_ = None + self.Anzahl_Verseilelemente = Anzahl_Verseilelemente + self.Anzahl_Verseilelemente_nsprefix_ = None + self.Verseilart = Verseilart + self.Verseilart_nsprefix_ = None + self.Ader_Durchmesser = Ader_Durchmesser + self.Ader_Durchmesser_nsprefix_ = None + self.Ader_Querschnitt = Ader_Querschnitt + self.Ader_Querschnitt_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CKabel_Element) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CKabel_Element.subclass: + return CKabel_Element.subclass(*args_, **kwargs_) + else: + return CKabel_Element(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Ader_Reserve(self): + return self.Ader_Reserve + def set_Ader_Reserve(self, Ader_Reserve): + self.Ader_Reserve = Ader_Reserve + def get_Anzahl_Verseilelemente(self): + return self.Anzahl_Verseilelemente + def set_Anzahl_Verseilelemente(self, Anzahl_Verseilelemente): + self.Anzahl_Verseilelemente = Anzahl_Verseilelemente + def get_Verseilart(self): + return self.Verseilart + def set_Verseilart(self, Verseilart): + self.Verseilart = Verseilart + def get_Ader_Durchmesser(self): + return self.Ader_Durchmesser + def set_Ader_Durchmesser(self, Ader_Durchmesser): + self.Ader_Durchmesser = Ader_Durchmesser + def get_Ader_Querschnitt(self): + return self.Ader_Querschnitt + def set_Ader_Querschnitt(self, Ader_Querschnitt): + self.Ader_Querschnitt = Ader_Querschnitt + def has__content(self): + if ( + self.Ader_Reserve is not None or + self.Anzahl_Verseilelemente is not None or + self.Verseilart is not None or + self.Ader_Durchmesser is not None or + self.Ader_Querschnitt is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsMedien_und_Trassen:', namespacedef_='xmlns:nsMedien_und_Trassen="http://www.plan-pro.org/modell/Medien_und_Trassen/1.10.0"', name_='CKabel_Element', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CKabel_Element') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CKabel_Element': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CKabel_Element') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CKabel_Element', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsMedien_und_Trassen:', name_='CKabel_Element'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsMedien_und_Trassen:', namespacedef_='xmlns:nsMedien_und_Trassen="http://www.plan-pro.org/modell/Medien_und_Trassen/1.10.0"', name_='CKabel_Element', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Ader_Reserve is not None: + namespaceprefix_ = self.Ader_Reserve_nsprefix_ + ':' if (UseCapturedNS_ and self.Ader_Reserve_nsprefix_) else '' + self.Ader_Reserve.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Ader_Reserve', pretty_print=pretty_print) + if self.Anzahl_Verseilelemente is not None: + namespaceprefix_ = self.Anzahl_Verseilelemente_nsprefix_ + ':' if (UseCapturedNS_ and self.Anzahl_Verseilelemente_nsprefix_) else '' + self.Anzahl_Verseilelemente.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Anzahl_Verseilelemente', pretty_print=pretty_print) + if self.Verseilart is not None: + namespaceprefix_ = self.Verseilart_nsprefix_ + ':' if (UseCapturedNS_ and self.Verseilart_nsprefix_) else '' + self.Verseilart.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Verseilart', pretty_print=pretty_print) + if self.Ader_Durchmesser is not None: + namespaceprefix_ = self.Ader_Durchmesser_nsprefix_ + ':' if (UseCapturedNS_ and self.Ader_Durchmesser_nsprefix_) else '' + self.Ader_Durchmesser.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Ader_Durchmesser', pretty_print=pretty_print) + if self.Ader_Querschnitt is not None: + namespaceprefix_ = self.Ader_Querschnitt_nsprefix_ + ':' if (UseCapturedNS_ and self.Ader_Querschnitt_nsprefix_) else '' + self.Ader_Querschnitt.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Ader_Querschnitt', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Ader_Reserve': + obj_ = TCAder_Reserve.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Ader_Reserve = obj_ + obj_.original_tagname_ = 'Ader_Reserve' + elif nodeName_ == 'Anzahl_Verseilelemente': + obj_ = TCAnzahl_Verseilelemente.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Anzahl_Verseilelemente = obj_ + obj_.original_tagname_ = 'Anzahl_Verseilelemente' + elif nodeName_ == 'Verseilart': + obj_ = TCVerseilart.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Verseilart = obj_ + obj_.original_tagname_ = 'Verseilart' + elif nodeName_ == 'Ader_Durchmesser': + obj_ = TCAder_Durchmesser.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Ader_Durchmesser = obj_ + obj_.original_tagname_ = 'Ader_Durchmesser' + elif nodeName_ == 'Ader_Querschnitt': + obj_ = TCAder_Querschnitt.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Ader_Querschnitt = obj_ + obj_.original_tagname_ = 'Ader_Querschnitt' +# end class CKabel_Element + + +class TCKabel_Typ(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCKabel_Typ"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TKabel_Typ(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCKabel_Typ) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCKabel_Typ.subclass: + return TCKabel_Typ.subclass(*args_, **kwargs_) + else: + return TCKabel_Typ(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TKabel_Typ(self, value): + result = True + # Validate type TKabel_Typ, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TKabel_Typ_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TKabel_Typ_patterns_, )) + result = False + return result + validate_TKabel_Typ_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCKabel_Typ, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsMedien_und_Trassen:', namespacedef_='xmlns:nsMedien_und_Trassen="http://www.plan-pro.org/modell/Medien_und_Trassen/1.10.0"', name_='TCKabel_Typ', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCKabel_Typ') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCKabel_Typ': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCKabel_Typ') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCKabel_Typ', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsMedien_und_Trassen:', name_='TCKabel_Typ'): + super(TCKabel_Typ, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCKabel_Typ') + def _exportChildren(self, outfile, level, namespaceprefix_='nsMedien_und_Trassen:', namespacedef_='xmlns:nsMedien_und_Trassen="http://www.plan-pro.org/modell/Medien_und_Trassen/1.10.0"', name_='TCKabel_Typ', fromsubclass_=False, pretty_print=True): + super(TCKabel_Typ, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCKabel_Typ, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TKabel_Typ + self.validate_TKabel_Typ(self.Wert) + super(TCKabel_Typ, self)._buildChildren(child_, node, nodeName_, True) +# end class TCKabel_Typ + + +class CKabel_Bezeichnung(GeneratedsSuper): + """Bezeichnung_Kabel -- Bezeichnung des Kabels. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Bezeichnung_Kabel=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Bezeichnung_Kabel = Bezeichnung_Kabel + self.Bezeichnung_Kabel_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CKabel_Bezeichnung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CKabel_Bezeichnung.subclass: + return CKabel_Bezeichnung.subclass(*args_, **kwargs_) + else: + return CKabel_Bezeichnung(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Bezeichnung_Kabel(self): + return self.Bezeichnung_Kabel + def set_Bezeichnung_Kabel(self, Bezeichnung_Kabel): + self.Bezeichnung_Kabel = Bezeichnung_Kabel + def has__content(self): + if ( + self.Bezeichnung_Kabel is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsMedien_und_Trassen:', namespacedef_='xmlns:nsMedien_und_Trassen="http://www.plan-pro.org/modell/Medien_und_Trassen/1.10.0"', name_='CKabel_Bezeichnung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CKabel_Bezeichnung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CKabel_Bezeichnung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CKabel_Bezeichnung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CKabel_Bezeichnung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsMedien_und_Trassen:', name_='CKabel_Bezeichnung'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsMedien_und_Trassen:', namespacedef_='xmlns:nsMedien_und_Trassen="http://www.plan-pro.org/modell/Medien_und_Trassen/1.10.0"', name_='CKabel_Bezeichnung', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Bezeichnung_Kabel is not None: + namespaceprefix_ = self.Bezeichnung_Kabel_nsprefix_ + ':' if (UseCapturedNS_ and self.Bezeichnung_Kabel_nsprefix_) else '' + self.Bezeichnung_Kabel.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Bezeichnung_Kabel', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Bezeichnung_Kabel': + obj_ = TCBezeichnung_Kabel.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Bezeichnung_Kabel = obj_ + obj_.original_tagname_ = 'Bezeichnung_Kabel' +# end class CKabel_Bezeichnung + + +class TCTrasse_Knoten_Art(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCTrasse_Knoten_Art"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMTrasse_Knoten_Art(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCTrasse_Knoten_Art) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCTrasse_Knoten_Art.subclass: + return TCTrasse_Knoten_Art.subclass(*args_, **kwargs_) + else: + return TCTrasse_Knoten_Art(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMTrasse_Knoten_Art(self, value): + result = True + # Validate type ENUMTrasse_Knoten_Art, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['Schacht', 'sonstige', 'Trassenabzweig', 'Trassenaenderung', 'Trassenauslass', 'Trassenende'] + 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 ENUMTrasse_Knoten_Art' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCTrasse_Knoten_Art, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsMedien_und_Trassen:', namespacedef_='xmlns:nsMedien_und_Trassen="http://www.plan-pro.org/modell/Medien_und_Trassen/1.10.0"', name_='TCTrasse_Knoten_Art', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCTrasse_Knoten_Art') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCTrasse_Knoten_Art': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCTrasse_Knoten_Art') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCTrasse_Knoten_Art', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsMedien_und_Trassen:', name_='TCTrasse_Knoten_Art'): + super(TCTrasse_Knoten_Art, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCTrasse_Knoten_Art') + def _exportChildren(self, outfile, level, namespaceprefix_='nsMedien_und_Trassen:', namespacedef_='xmlns:nsMedien_und_Trassen="http://www.plan-pro.org/modell/Medien_und_Trassen/1.10.0"', name_='TCTrasse_Knoten_Art', fromsubclass_=False, pretty_print=True): + super(TCTrasse_Knoten_Art, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCTrasse_Knoten_Art, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMTrasse_Knoten_Art + self.validate_ENUMTrasse_Knoten_Art(self.Wert) + super(TCTrasse_Knoten_Art, self)._buildChildren(child_, node, nodeName_, True) +# end class TCTrasse_Knoten_Art + + +class TCAder_Reserve(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCAder_Reserve"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TAder_Reserve(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCAder_Reserve) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCAder_Reserve.subclass: + return TCAder_Reserve.subclass(*args_, **kwargs_) + else: + return TCAder_Reserve(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TAder_Reserve(self, value): + result = True + # Validate type TAder_Reserve, a restriction on xs:integer. + 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_TAder_Reserve_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TAder_Reserve_patterns_, )) + result = False + return result + validate_TAder_Reserve_patterns_ = [['^([1-9][0-9]{0,1}|[1][0-9]{2}|200)$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCAder_Reserve, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsMedien_und_Trassen:', namespacedef_='xmlns:nsMedien_und_Trassen="http://www.plan-pro.org/modell/Medien_und_Trassen/1.10.0"', name_='TCAder_Reserve', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCAder_Reserve') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCAder_Reserve': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCAder_Reserve') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCAder_Reserve', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsMedien_und_Trassen:', name_='TCAder_Reserve'): + super(TCAder_Reserve, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCAder_Reserve') + def _exportChildren(self, outfile, level, namespaceprefix_='nsMedien_und_Trassen:', namespacedef_='xmlns:nsMedien_und_Trassen="http://www.plan-pro.org/modell/Medien_und_Trassen/1.10.0"', name_='TCAder_Reserve', fromsubclass_=False, pretty_print=True): + super(TCAder_Reserve, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_integer(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCAder_Reserve, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + ival_ = self.gds_parse_integer(sval_, node, 'Wert') + ival_ = self.gds_validate_integer(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + # validate type TAder_Reserve + self.validate_TAder_Reserve(self.Wert) + super(TCAder_Reserve, self)._buildChildren(child_, node, nodeName_, True) +# end class TCAder_Reserve + + +class TCBezeichnung_Kabel(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCBezeichnung_Kabel"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TBezeichnung_Kabel(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCBezeichnung_Kabel) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCBezeichnung_Kabel.subclass: + return TCBezeichnung_Kabel.subclass(*args_, **kwargs_) + else: + return TCBezeichnung_Kabel(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TBezeichnung_Kabel(self, value): + result = True + # Validate type TBezeichnung_Kabel, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TBezeichnung_Kabel_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TBezeichnung_Kabel_patterns_, )) + result = False + return result + validate_TBezeichnung_Kabel_patterns_ = [['^([1-9]|1[0-6])$'], ['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCBezeichnung_Kabel, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsMedien_und_Trassen:', namespacedef_='xmlns:nsMedien_und_Trassen="http://www.plan-pro.org/modell/Medien_und_Trassen/1.10.0"', name_='TCBezeichnung_Kabel', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCBezeichnung_Kabel') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCBezeichnung_Kabel': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBezeichnung_Kabel') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCBezeichnung_Kabel', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsMedien_und_Trassen:', name_='TCBezeichnung_Kabel'): + super(TCBezeichnung_Kabel, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBezeichnung_Kabel') + def _exportChildren(self, outfile, level, namespaceprefix_='nsMedien_und_Trassen:', namespacedef_='xmlns:nsMedien_und_Trassen="http://www.plan-pro.org/modell/Medien_und_Trassen/1.10.0"', name_='TCBezeichnung_Kabel', fromsubclass_=False, pretty_print=True): + super(TCBezeichnung_Kabel, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCBezeichnung_Kabel, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TBezeichnung_Kabel + self.validate_TBezeichnung_Kabel(self.Wert) + super(TCBezeichnung_Kabel, self)._buildChildren(child_, node, nodeName_, True) +# end class TCBezeichnung_Kabel + + +class TCAnzahl_Verseilelemente(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCAnzahl_Verseilelemente"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TAnzahl_Verseilelemente(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCAnzahl_Verseilelemente) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCAnzahl_Verseilelemente.subclass: + return TCAnzahl_Verseilelemente.subclass(*args_, **kwargs_) + else: + return TCAnzahl_Verseilelemente(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TAnzahl_Verseilelemente(self, value): + result = True + # Validate type TAnzahl_Verseilelemente, a restriction on xs:integer. + 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_TAnzahl_Verseilelemente_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TAnzahl_Verseilelemente_patterns_, )) + result = False + return result + validate_TAnzahl_Verseilelemente_patterns_ = [['^([1-9][0-9]{0,1}|[1][0-9]{2}|200)$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCAnzahl_Verseilelemente, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsMedien_und_Trassen:', namespacedef_='xmlns:nsMedien_und_Trassen="http://www.plan-pro.org/modell/Medien_und_Trassen/1.10.0"', name_='TCAnzahl_Verseilelemente', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCAnzahl_Verseilelemente') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCAnzahl_Verseilelemente': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCAnzahl_Verseilelemente') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCAnzahl_Verseilelemente', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsMedien_und_Trassen:', name_='TCAnzahl_Verseilelemente'): + super(TCAnzahl_Verseilelemente, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCAnzahl_Verseilelemente') + def _exportChildren(self, outfile, level, namespaceprefix_='nsMedien_und_Trassen:', namespacedef_='xmlns:nsMedien_und_Trassen="http://www.plan-pro.org/modell/Medien_und_Trassen/1.10.0"', name_='TCAnzahl_Verseilelemente', fromsubclass_=False, pretty_print=True): + super(TCAnzahl_Verseilelemente, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_integer(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCAnzahl_Verseilelemente, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + ival_ = self.gds_parse_integer(sval_, node, 'Wert') + ival_ = self.gds_validate_integer(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + # validate type TAnzahl_Verseilelemente + self.validate_TAnzahl_Verseilelemente(self.Wert) + super(TCAnzahl_Verseilelemente, self)._buildChildren(child_, node, nodeName_, True) +# end class TCAnzahl_Verseilelemente + + +class TCAder_Durchmesser(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCAder_Durchmesser"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TAder_Durchmesser(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCAder_Durchmesser) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCAder_Durchmesser.subclass: + return TCAder_Durchmesser.subclass(*args_, **kwargs_) + else: + return TCAder_Durchmesser(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TAder_Durchmesser(self, value): + result = True + # Validate type TAder_Durchmesser, 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 not self.gds_validate_simple_patterns( + self.validate_TAder_Durchmesser_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TAder_Durchmesser_patterns_, )) + result = False + return result + validate_TAder_Durchmesser_patterns_ = [['^([01][.][1-8]|[0][.][9]|[1][.][0])$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCAder_Durchmesser, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsMedien_und_Trassen:', namespacedef_='xmlns:nsMedien_und_Trassen="http://www.plan-pro.org/modell/Medien_und_Trassen/1.10.0"', name_='TCAder_Durchmesser', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCAder_Durchmesser') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCAder_Durchmesser': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCAder_Durchmesser') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCAder_Durchmesser', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsMedien_und_Trassen:', name_='TCAder_Durchmesser'): + super(TCAder_Durchmesser, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCAder_Durchmesser') + def _exportChildren(self, outfile, level, namespaceprefix_='nsMedien_und_Trassen:', namespacedef_='xmlns:nsMedien_und_Trassen="http://www.plan-pro.org/modell/Medien_und_Trassen/1.10.0"', name_='TCAder_Durchmesser', fromsubclass_=False, pretty_print=True): + super(TCAder_Durchmesser, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_decimal(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCAder_Durchmesser, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + fval_ = self.gds_parse_decimal(sval_, node, 'Wert') + fval_ = self.gds_validate_decimal(fval_, node, 'Wert') + self.Wert = fval_ + self.Wert_nsprefix_ = child_.prefix + # validate type TAder_Durchmesser + self.validate_TAder_Durchmesser(self.Wert) + super(TCAder_Durchmesser, self)._buildChildren(child_, node, nodeName_, True) +# end class TCAder_Durchmesser + + +class CKabel(CBasis_Objekt): + """CKabel -- Medium zur + Ü + bermittlung von Energie und/oder Information. + ID_Trasse_Kante -- Verweis auf die Trassen-Kante des Kabel-Gef + ä + ß + systems, in dem das Kabel verlegt werden soll bzw. ist. Kurze Verbindungen sind auch ohne Kabelgef + ä + ß + system m + ö + glich, z. B. zwischen zwei benachbarten Schaltk + ä + sten. + Kabel_Element -- Attributgruppe zur Angabe der Kabeleigenschaften je Verseilart. Bei kombinierten Signalkabeln wird die Attributgruppe zweimal instanziiert, sonst einmal. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasis_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, Bezeichnung=None, ID_Trasse_Kante=None, Kabel_Allg=None, Kabel_Element=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CKabel"), self).__init__(Identitaet, Basis_Objekt_Allg, ID_Bearbeitungsvermerk, ID_Oertlichkeit_Ausgabe, Objektreferenzen, **kwargs_) + self.Bezeichnung = Bezeichnung + self.Bezeichnung_nsprefix_ = None + if ID_Trasse_Kante is None: + self.ID_Trasse_Kante = [] + else: + self.ID_Trasse_Kante = ID_Trasse_Kante + self.ID_Trasse_Kante_nsprefix_ = None + self.Kabel_Allg = Kabel_Allg + self.Kabel_Allg_nsprefix_ = None + if Kabel_Element is None: + self.Kabel_Element = [] + else: + self.Kabel_Element = Kabel_Element + self.Kabel_Element_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CKabel) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CKabel.subclass: + return CKabel.subclass(*args_, **kwargs_) + else: + return CKabel(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Bezeichnung(self): + return self.Bezeichnung + def set_Bezeichnung(self, Bezeichnung): + self.Bezeichnung = Bezeichnung + def get_ID_Trasse_Kante(self): + return self.ID_Trasse_Kante + def set_ID_Trasse_Kante(self, ID_Trasse_Kante): + self.ID_Trasse_Kante = ID_Trasse_Kante + def add_ID_Trasse_Kante(self, value): + self.ID_Trasse_Kante.append(value) + def insert_ID_Trasse_Kante_at(self, index, value): + self.ID_Trasse_Kante.insert(index, value) + def replace_ID_Trasse_Kante_at(self, index, value): + self.ID_Trasse_Kante[index] = value + def get_Kabel_Allg(self): + return self.Kabel_Allg + def set_Kabel_Allg(self, Kabel_Allg): + self.Kabel_Allg = Kabel_Allg + def get_Kabel_Element(self): + return self.Kabel_Element + def set_Kabel_Element(self, Kabel_Element): + self.Kabel_Element = Kabel_Element + def add_Kabel_Element(self, value): + self.Kabel_Element.append(value) + def insert_Kabel_Element_at(self, index, value): + self.Kabel_Element.insert(index, value) + def replace_Kabel_Element_at(self, index, value): + self.Kabel_Element[index] = value + def has__content(self): + if ( + self.Bezeichnung is not None or + self.ID_Trasse_Kante or + self.Kabel_Allg is not None or + self.Kabel_Element or + super(CKabel, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsMedien_und_Trassen:', namespacedef_='xmlns:nsMedien_und_Trassen="http://www.plan-pro.org/modell/Medien_und_Trassen/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CKabel', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CKabel') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CKabel': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CKabel') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CKabel', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsMedien_und_Trassen:', name_='CKabel'): + super(CKabel, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CKabel') + def _exportChildren(self, outfile, level, namespaceprefix_='nsMedien_und_Trassen:', namespacedef_='xmlns:nsMedien_und_Trassen="http://www.plan-pro.org/modell/Medien_und_Trassen/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CKabel', fromsubclass_=False, pretty_print=True): + super(CKabel, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Bezeichnung is not None: + namespaceprefix_ = self.Bezeichnung_nsprefix_ + ':' if (UseCapturedNS_ and self.Bezeichnung_nsprefix_) else '' + self.Bezeichnung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Bezeichnung', pretty_print=pretty_print) + for ID_Trasse_Kante_ in self.ID_Trasse_Kante: + namespaceprefix_ = self.ID_Trasse_Kante_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Trasse_Kante_nsprefix_) else '' + ID_Trasse_Kante_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Trasse_Kante', pretty_print=pretty_print) + if self.Kabel_Allg is not None: + namespaceprefix_ = self.Kabel_Allg_nsprefix_ + ':' if (UseCapturedNS_ and self.Kabel_Allg_nsprefix_) else '' + self.Kabel_Allg.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Kabel_Allg', pretty_print=pretty_print) + for Kabel_Element_ in self.Kabel_Element: + namespaceprefix_ = self.Kabel_Element_nsprefix_ + ':' if (UseCapturedNS_ and self.Kabel_Element_nsprefix_) else '' + Kabel_Element_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Kabel_Element', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CKabel, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Bezeichnung': + obj_ = CKabel_Bezeichnung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Bezeichnung = obj_ + obj_.original_tagname_ = 'Bezeichnung' + elif nodeName_ == 'ID_Trasse_Kante': + obj_ = TCID_Trasse_Kante.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Trasse_Kante.append(obj_) + obj_.original_tagname_ = 'ID_Trasse_Kante' + elif nodeName_ == 'Kabel_Allg': + obj_ = CKabel_Allg.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Kabel_Allg = obj_ + obj_.original_tagname_ = 'Kabel_Allg' + elif nodeName_ == 'Kabel_Element': + obj_ = CKabel_Element.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Kabel_Element.append(obj_) + obj_.original_tagname_ = 'Kabel_Element' + super(CKabel, self)._buildChildren(child_, node, nodeName_, True) +# end class CKabel + + +class TCVerseilart(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCVerseilart"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TVerseilart(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCVerseilart) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCVerseilart.subclass: + return TCVerseilart.subclass(*args_, **kwargs_) + else: + return TCVerseilart(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TVerseilart(self, value): + result = True + # Validate type TVerseilart, a restriction on xs:integer. + 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_TVerseilart_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TVerseilart_patterns_, )) + result = False + return result + validate_TVerseilart_patterns_ = [['^([1|4])$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCVerseilart, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsMedien_und_Trassen:', namespacedef_='xmlns:nsMedien_und_Trassen="http://www.plan-pro.org/modell/Medien_und_Trassen/1.10.0"', name_='TCVerseilart', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCVerseilart') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCVerseilart': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCVerseilart') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCVerseilart', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsMedien_und_Trassen:', name_='TCVerseilart'): + super(TCVerseilart, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCVerseilart') + def _exportChildren(self, outfile, level, namespaceprefix_='nsMedien_und_Trassen:', namespacedef_='xmlns:nsMedien_und_Trassen="http://www.plan-pro.org/modell/Medien_und_Trassen/1.10.0"', name_='TCVerseilart', fromsubclass_=False, pretty_print=True): + super(TCVerseilart, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_integer(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCVerseilart, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + ival_ = self.gds_parse_integer(sval_, node, 'Wert') + ival_ = self.gds_validate_integer(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + # validate type TVerseilart + self.validate_TVerseilart(self.Wert) + super(TCVerseilart, self)._buildChildren(child_, node, nodeName_, True) +# end class TCVerseilart + + +class TCAder_Querschnitt(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCAder_Querschnitt"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TAder_Querschnitt(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCAder_Querschnitt) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCAder_Querschnitt.subclass: + return TCAder_Querschnitt.subclass(*args_, **kwargs_) + else: + return TCAder_Querschnitt(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TAder_Querschnitt(self, value): + result = True + # Validate type TAder_Querschnitt, 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 not self.gds_validate_simple_patterns( + self.validate_TAder_Querschnitt_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TAder_Querschnitt_patterns_, )) + result = False + return result + validate_TAder_Querschnitt_patterns_ = [['^([1-9][0-9]?([.][1-9])?)$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCAder_Querschnitt, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsMedien_und_Trassen:', namespacedef_='xmlns:nsMedien_und_Trassen="http://www.plan-pro.org/modell/Medien_und_Trassen/1.10.0"', name_='TCAder_Querschnitt', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCAder_Querschnitt') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCAder_Querschnitt': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCAder_Querschnitt') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCAder_Querschnitt', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsMedien_und_Trassen:', name_='TCAder_Querschnitt'): + super(TCAder_Querschnitt, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCAder_Querschnitt') + def _exportChildren(self, outfile, level, namespaceprefix_='nsMedien_und_Trassen:', namespacedef_='xmlns:nsMedien_und_Trassen="http://www.plan-pro.org/modell/Medien_und_Trassen/1.10.0"', name_='TCAder_Querschnitt', fromsubclass_=False, pretty_print=True): + super(TCAder_Querschnitt, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_decimal(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCAder_Querschnitt, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + fval_ = self.gds_parse_decimal(sval_, node, 'Wert') + fval_ = self.gds_validate_decimal(fval_, node, 'Wert') + self.Wert = fval_ + self.Wert_nsprefix_ = child_.prefix + # validate type TAder_Querschnitt + self.validate_TAder_Querschnitt(self.Wert) + super(TCAder_Querschnitt, self)._buildChildren(child_, node, nodeName_, True) +# end class TCAder_Querschnitt + + +class CTrasse_Knoten(CBasis_Objekt): + """CTrasse_Knoten -- Knoten des topologischen Knoten-Kanten-Modells zur Darstellung des Kabelgef + ä + ß + systems (Kabeltrasse) oder gleichartiger Medientrassen. Der Trasse_Knoten verweist auf einen GEO_Knoten. Die Anzahl der an den Trasse_Knoten anschlie + ß + enden topologischen Kanten ist je nach Art des Trasse_Knoten unterschiedlich und muss mit der Anzahl der an den zugeh + ö + rigen GEO Knoten anschlie + ß + enden GEO_Kanten + ü + bereinstimmen. + ID_Anschluss_Element -- Verweis auf das Anschluss-Element, das durch den Trassen-Knoten repr + ä + sentiert wird. Der Verweis wird nicht gef + ü + llt bei Schacht, Trassenabzweig, Trassen + ä + nderung, ggf. auch nicht bei Trassenende. Die Medientrasse kann ggf.wenige Meter vor dem Anschlusselement enden, wenn f + ü + r den Weg bis zum Anschlusselement eine freie Verlegung (z. B. im Schotter) vorgesehen ist. + ID_GEO_Knoten -- Verweis auf den zugeh + ö + rigen GEO_Knoten, + ü + ber den mittelbar (GEO_Punkt) auch eine Verortung erfolgen kann. + Trasse_Knoten_Art -- Art des Trassenknotens, z. B. Trassenende oder -abzweig. Beim Wechsel der Trassen(kanten)art ist ein Trassenknoten der Art \"Trassenaenderung\" vorzusehen. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasis_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, ID_Anschluss_Element=None, ID_GEO_Knoten=None, Trasse_Knoten_Art=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CTrasse_Knoten"), self).__init__(Identitaet, Basis_Objekt_Allg, ID_Bearbeitungsvermerk, ID_Oertlichkeit_Ausgabe, Objektreferenzen, **kwargs_) + if ID_Anschluss_Element is None: + self.ID_Anschluss_Element = [] + else: + self.ID_Anschluss_Element = ID_Anschluss_Element + self.ID_Anschluss_Element_nsprefix_ = None + self.ID_GEO_Knoten = ID_GEO_Knoten + self.ID_GEO_Knoten_nsprefix_ = None + self.Trasse_Knoten_Art = Trasse_Knoten_Art + self.Trasse_Knoten_Art_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CTrasse_Knoten) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CTrasse_Knoten.subclass: + return CTrasse_Knoten.subclass(*args_, **kwargs_) + else: + return CTrasse_Knoten(*args_, **kwargs_) + factory = staticmethod(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_Anschluss_Element(self): + return self.ID_Anschluss_Element + def set_ID_Anschluss_Element(self, ID_Anschluss_Element): + self.ID_Anschluss_Element = ID_Anschluss_Element + def add_ID_Anschluss_Element(self, value): + self.ID_Anschluss_Element.append(value) + def insert_ID_Anschluss_Element_at(self, index, value): + self.ID_Anschluss_Element.insert(index, value) + def replace_ID_Anschluss_Element_at(self, index, value): + self.ID_Anschluss_Element[index] = value + def get_ID_GEO_Knoten(self): + return self.ID_GEO_Knoten + def set_ID_GEO_Knoten(self, ID_GEO_Knoten): + self.ID_GEO_Knoten = ID_GEO_Knoten + def get_Trasse_Knoten_Art(self): + return self.Trasse_Knoten_Art + def set_Trasse_Knoten_Art(self, Trasse_Knoten_Art): + self.Trasse_Knoten_Art = Trasse_Knoten_Art + def has__content(self): + if ( + self.ID_Anschluss_Element or + self.ID_GEO_Knoten is not None or + self.Trasse_Knoten_Art is not None or + super(CTrasse_Knoten, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsMedien_und_Trassen:', namespacedef_='xmlns:nsMedien_und_Trassen="http://www.plan-pro.org/modell/Medien_und_Trassen/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CTrasse_Knoten', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CTrasse_Knoten') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CTrasse_Knoten': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CTrasse_Knoten') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CTrasse_Knoten', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsMedien_und_Trassen:', name_='CTrasse_Knoten'): + super(CTrasse_Knoten, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CTrasse_Knoten') + def _exportChildren(self, outfile, level, namespaceprefix_='nsMedien_und_Trassen:', namespacedef_='xmlns:nsMedien_und_Trassen="http://www.plan-pro.org/modell/Medien_und_Trassen/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CTrasse_Knoten', fromsubclass_=False, pretty_print=True): + super(CTrasse_Knoten, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Anschluss_Element_ in self.ID_Anschluss_Element: + namespaceprefix_ = self.ID_Anschluss_Element_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Anschluss_Element_nsprefix_) else '' + ID_Anschluss_Element_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Anschluss_Element', pretty_print=pretty_print) + if self.ID_GEO_Knoten is not None: + namespaceprefix_ = self.ID_GEO_Knoten_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_GEO_Knoten_nsprefix_) else '' + self.ID_GEO_Knoten.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_GEO_Knoten', pretty_print=pretty_print) + if self.Trasse_Knoten_Art is not None: + namespaceprefix_ = self.Trasse_Knoten_Art_nsprefix_ + ':' if (UseCapturedNS_ and self.Trasse_Knoten_Art_nsprefix_) else '' + self.Trasse_Knoten_Art.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Trasse_Knoten_Art', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CTrasse_Knoten, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Anschluss_Element': + obj_ = TCID_Anschluss_Element.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Anschluss_Element.append(obj_) + obj_.original_tagname_ = 'ID_Anschluss_Element' + elif nodeName_ == 'ID_GEO_Knoten': + obj_ = TCID_GEO_Knoten.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_GEO_Knoten = obj_ + obj_.original_tagname_ = 'ID_GEO_Knoten' + elif nodeName_ == 'Trasse_Knoten_Art': + obj_ = TCTrasse_Knoten_Art.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Trasse_Knoten_Art = obj_ + obj_.original_tagname_ = 'Trasse_Knoten_Art' + super(CTrasse_Knoten, self)._buildChildren(child_, node, nodeName_, True) +# end class CTrasse_Knoten + + +class CKabel_Allg(GeneratedsSuper): + """Induktionsschutz -- Induktionsschutz-Klasse rx (16,7 Hz). + Kabel_Art -- Art des Kabels, z. B. Signalkabel oder Lichtwellenleiter (LWL). + Kabel_Laenge -- L + ä + nge des Kabels in m. + Kabel_Typ -- Typ des Kabels. Eine Liste der zugelassenen Kabeltypen soll + ü + ber Planungswerkzeug vorgegeben werden. + Nagetierschutz -- Angabe, ob das Kabel mit einem Nagetierschutz zu versehen ist (true). Der Wert false wird nicht verwendet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Induktionsschutz=None, Kabel_Art=None, Kabel_Laenge=None, Kabel_Typ=None, Nagetierschutz=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Induktionsschutz = Induktionsschutz + self.Induktionsschutz_nsprefix_ = None + self.Kabel_Art = Kabel_Art + self.Kabel_Art_nsprefix_ = None + self.Kabel_Laenge = Kabel_Laenge + self.Kabel_Laenge_nsprefix_ = None + self.Kabel_Typ = Kabel_Typ + self.Kabel_Typ_nsprefix_ = None + self.Nagetierschutz = Nagetierschutz + self.Nagetierschutz_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CKabel_Allg) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CKabel_Allg.subclass: + return CKabel_Allg.subclass(*args_, **kwargs_) + else: + return CKabel_Allg(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Induktionsschutz(self): + return self.Induktionsschutz + def set_Induktionsschutz(self, Induktionsschutz): + self.Induktionsschutz = Induktionsschutz + def get_Kabel_Art(self): + return self.Kabel_Art + def set_Kabel_Art(self, Kabel_Art): + self.Kabel_Art = Kabel_Art + def get_Kabel_Laenge(self): + return self.Kabel_Laenge + def set_Kabel_Laenge(self, Kabel_Laenge): + self.Kabel_Laenge = Kabel_Laenge + def get_Kabel_Typ(self): + return self.Kabel_Typ + def set_Kabel_Typ(self, Kabel_Typ): + self.Kabel_Typ = Kabel_Typ + def get_Nagetierschutz(self): + return self.Nagetierschutz + def set_Nagetierschutz(self, Nagetierschutz): + self.Nagetierschutz = Nagetierschutz + def has__content(self): + if ( + self.Induktionsschutz is not None or + self.Kabel_Art is not None or + self.Kabel_Laenge is not None or + self.Kabel_Typ is not None or + self.Nagetierschutz is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsMedien_und_Trassen:', namespacedef_='xmlns:nsMedien_und_Trassen="http://www.plan-pro.org/modell/Medien_und_Trassen/1.10.0"', name_='CKabel_Allg', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CKabel_Allg') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CKabel_Allg': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CKabel_Allg') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CKabel_Allg', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsMedien_und_Trassen:', name_='CKabel_Allg'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsMedien_und_Trassen:', namespacedef_='xmlns:nsMedien_und_Trassen="http://www.plan-pro.org/modell/Medien_und_Trassen/1.10.0"', name_='CKabel_Allg', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Induktionsschutz is not None: + namespaceprefix_ = self.Induktionsschutz_nsprefix_ + ':' if (UseCapturedNS_ and self.Induktionsschutz_nsprefix_) else '' + self.Induktionsschutz.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Induktionsschutz', pretty_print=pretty_print) + if self.Kabel_Art is not None: + namespaceprefix_ = self.Kabel_Art_nsprefix_ + ':' if (UseCapturedNS_ and self.Kabel_Art_nsprefix_) else '' + self.Kabel_Art.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Kabel_Art', pretty_print=pretty_print) + if self.Kabel_Laenge is not None: + namespaceprefix_ = self.Kabel_Laenge_nsprefix_ + ':' if (UseCapturedNS_ and self.Kabel_Laenge_nsprefix_) else '' + self.Kabel_Laenge.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Kabel_Laenge', pretty_print=pretty_print) + if self.Kabel_Typ is not None: + namespaceprefix_ = self.Kabel_Typ_nsprefix_ + ':' if (UseCapturedNS_ and self.Kabel_Typ_nsprefix_) else '' + self.Kabel_Typ.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Kabel_Typ', pretty_print=pretty_print) + if self.Nagetierschutz is not None: + namespaceprefix_ = self.Nagetierschutz_nsprefix_ + ':' if (UseCapturedNS_ and self.Nagetierschutz_nsprefix_) else '' + self.Nagetierschutz.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Nagetierschutz', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Induktionsschutz': + obj_ = TCInduktionsschutz.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Induktionsschutz = obj_ + obj_.original_tagname_ = 'Induktionsschutz' + elif nodeName_ == 'Kabel_Art': + obj_ = TCKabel_Art.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Kabel_Art = obj_ + obj_.original_tagname_ = 'Kabel_Art' + elif nodeName_ == 'Kabel_Laenge': + obj_ = TCKabel_Laenge.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Kabel_Laenge = obj_ + obj_.original_tagname_ = 'Kabel_Laenge' + elif nodeName_ == 'Kabel_Typ': + obj_ = TCKabel_Typ.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Kabel_Typ = obj_ + obj_.original_tagname_ = 'Kabel_Typ' + elif nodeName_ == 'Nagetierschutz': + obj_ = TCNagetierschutz.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Nagetierschutz = obj_ + obj_.original_tagname_ = 'Nagetierschutz' +# end class CKabel_Allg + + +class TCKabel_Art(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCKabel_Art"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMKabel_Art(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCKabel_Art) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCKabel_Art.subclass: + return TCKabel_Art.subclass(*args_, **kwargs_) + else: + return TCKabel_Art(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMKabel_Art(self, value): + result = True + # Validate type ENUMKabel_Art, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['Balisenkabel', 'Energie 400V AC', 'Energie 750V DC', 'LWL', 'Signalkabel adrig', 'Signalkabel kombiniert', 'Signalkabel Sternvierer', 'sonstige'] + 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 ENUMKabel_Art' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCKabel_Art, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsMedien_und_Trassen:', namespacedef_='xmlns:nsMedien_und_Trassen="http://www.plan-pro.org/modell/Medien_und_Trassen/1.10.0"', name_='TCKabel_Art', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCKabel_Art') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCKabel_Art': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCKabel_Art') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCKabel_Art', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsMedien_und_Trassen:', name_='TCKabel_Art'): + super(TCKabel_Art, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCKabel_Art') + def _exportChildren(self, outfile, level, namespaceprefix_='nsMedien_und_Trassen:', namespacedef_='xmlns:nsMedien_und_Trassen="http://www.plan-pro.org/modell/Medien_und_Trassen/1.10.0"', name_='TCKabel_Art', fromsubclass_=False, pretty_print=True): + super(TCKabel_Art, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCKabel_Art, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMKabel_Art + self.validate_ENUMKabel_Art(self.Wert) + super(TCKabel_Art, self)._buildChildren(child_, node, nodeName_, True) +# end class TCKabel_Art + + +class TCBezeichnung_Kabel_Verteilpunkt(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCBezeichnung_Kabel_Verteilpunkt"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TBezeichnung_Kabel_Verteilpunkt(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCBezeichnung_Kabel_Verteilpunkt) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCBezeichnung_Kabel_Verteilpunkt.subclass: + return TCBezeichnung_Kabel_Verteilpunkt.subclass(*args_, **kwargs_) + else: + return TCBezeichnung_Kabel_Verteilpunkt(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TBezeichnung_Kabel_Verteilpunkt(self, value): + result = True + # Validate type TBezeichnung_Kabel_Verteilpunkt, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TBezeichnung_Kabel_Verteilpunkt_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TBezeichnung_Kabel_Verteilpunkt_patterns_, )) + result = False + return result + validate_TBezeichnung_Kabel_Verteilpunkt_patterns_ = [['^([1-9]|1[0-9]|20)$'], ['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCBezeichnung_Kabel_Verteilpunkt, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsMedien_und_Trassen:', namespacedef_='xmlns:nsMedien_und_Trassen="http://www.plan-pro.org/modell/Medien_und_Trassen/1.10.0"', name_='TCBezeichnung_Kabel_Verteilpunkt', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCBezeichnung_Kabel_Verteilpunkt') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCBezeichnung_Kabel_Verteilpunkt': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBezeichnung_Kabel_Verteilpunkt') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCBezeichnung_Kabel_Verteilpunkt', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsMedien_und_Trassen:', name_='TCBezeichnung_Kabel_Verteilpunkt'): + super(TCBezeichnung_Kabel_Verteilpunkt, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBezeichnung_Kabel_Verteilpunkt') + def _exportChildren(self, outfile, level, namespaceprefix_='nsMedien_und_Trassen:', namespacedef_='xmlns:nsMedien_und_Trassen="http://www.plan-pro.org/modell/Medien_und_Trassen/1.10.0"', name_='TCBezeichnung_Kabel_Verteilpunkt', fromsubclass_=False, pretty_print=True): + super(TCBezeichnung_Kabel_Verteilpunkt, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCBezeichnung_Kabel_Verteilpunkt, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TBezeichnung_Kabel_Verteilpunkt + self.validate_TBezeichnung_Kabel_Verteilpunkt(self.Wert) + super(TCBezeichnung_Kabel_Verteilpunkt, self)._buildChildren(child_, node, nodeName_, True) +# end class TCBezeichnung_Kabel_Verteilpunkt + + +class TCNagetierschutz(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCNagetierschutz"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCNagetierschutz) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCNagetierschutz.subclass: + return TCNagetierschutz.subclass(*args_, **kwargs_) + else: + return TCNagetierschutz(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def has__content(self): + if ( + self.Wert is not None or + super(TCNagetierschutz, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsMedien_und_Trassen:', namespacedef_='xmlns:nsMedien_und_Trassen="http://www.plan-pro.org/modell/Medien_und_Trassen/1.10.0"', name_='TCNagetierschutz', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCNagetierschutz') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCNagetierschutz': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCNagetierschutz') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCNagetierschutz', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsMedien_und_Trassen:', name_='TCNagetierschutz'): + super(TCNagetierschutz, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCNagetierschutz') + def _exportChildren(self, outfile, level, namespaceprefix_='nsMedien_und_Trassen:', namespacedef_='xmlns:nsMedien_und_Trassen="http://www.plan-pro.org/modell/Medien_und_Trassen/1.10.0"', name_='TCNagetierschutz', fromsubclass_=False, pretty_print=True): + super(TCNagetierschutz, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_boolean(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCNagetierschutz, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + sval_ = child_.text + ival_ = self.gds_parse_boolean(sval_, node, 'Wert') + ival_ = self.gds_validate_boolean(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + super(TCNagetierschutz, self)._buildChildren(child_, node, nodeName_, True) +# end class TCNagetierschutz + + +class TCLichtraumprofil(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCLichtraumprofil"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMLichtraumprofil(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCLichtraumprofil) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCLichtraumprofil.subclass: + return TCLichtraumprofil.subclass(*args_, **kwargs_) + else: + return TCLichtraumprofil(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMLichtraumprofil(self, value): + result = True + # Validate type ENUMLichtraumprofil, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['1SMDR', 'GC', 'SBahn_80003', 'SBahn_Berlin', 'sonstige'] + 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 ENUMLichtraumprofil' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCLichtraumprofil, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsGleis:', namespacedef_='xmlns:nsGleis="http://www.plan-pro.org/modell/Gleis/1.10.0"', name_='TCLichtraumprofil', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCLichtraumprofil') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCLichtraumprofil': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCLichtraumprofil') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCLichtraumprofil', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsGleis:', name_='TCLichtraumprofil'): + super(TCLichtraumprofil, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCLichtraumprofil') + def _exportChildren(self, outfile, level, namespaceprefix_='nsGleis:', namespacedef_='xmlns:nsGleis="http://www.plan-pro.org/modell/Gleis/1.10.0"', name_='TCLichtraumprofil', fromsubclass_=False, pretty_print=True): + super(TCLichtraumprofil, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCLichtraumprofil, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMLichtraumprofil + self.validate_ENUMLichtraumprofil(self.Wert) + super(TCLichtraumprofil, self)._buildChildren(child_, node, nodeName_, True) +# end class TCLichtraumprofil + + +class TCFahrstrom(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCFahrstrom"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TFahrstrom(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCFahrstrom) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCFahrstrom.subclass: + return TCFahrstrom.subclass(*args_, **kwargs_) + else: + return TCFahrstrom(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TFahrstrom(self, value): + result = True + # Validate type TFahrstrom, a restriction on nsBasisTypen:ENUMFahrstrom. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['1200V_DC_Stromschiene', '1500V_DC', '15kV_16_7Hz', '2400V_DC', '25kV_50Hz', '3000V_DC', '750V_DC_Stromschiene', 'sonstige'] + 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 TFahrstrom' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCFahrstrom, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsGleis:', namespacedef_='xmlns:nsGleis="http://www.plan-pro.org/modell/Gleis/1.10.0"', name_='TCFahrstrom', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCFahrstrom') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCFahrstrom': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCFahrstrom') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCFahrstrom', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsGleis:', name_='TCFahrstrom'): + super(TCFahrstrom, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCFahrstrom') + def _exportChildren(self, outfile, level, namespaceprefix_='nsGleis:', namespacedef_='xmlns:nsGleis="http://www.plan-pro.org/modell/Gleis/1.10.0"', name_='TCFahrstrom', fromsubclass_=False, pretty_print=True): + super(TCFahrstrom, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCFahrstrom, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TFahrstrom + self.validate_TFahrstrom(self.Wert) + super(TCFahrstrom, self)._buildChildren(child_, node, nodeName_, True) +# end class TCFahrstrom + + +class TCGleisart(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCGleisart"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMGleisart(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCGleisart) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCGleisart.subclass: + return TCGleisart.subclass(*args_, **kwargs_) + else: + return TCGleisart(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMGleisart(self, value): + result = True + # Validate type ENUMGleisart, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['Anschlussgleis', 'Durchgehendes_Hauptgleis', 'Hauptgleis', 'Nebengleis', 'sonstige', 'Streckengleis'] + 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 ENUMGleisart' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCGleisart, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsGleis:', namespacedef_='xmlns:nsGleis="http://www.plan-pro.org/modell/Gleis/1.10.0"', name_='TCGleisart', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCGleisart') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCGleisart': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCGleisart') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCGleisart', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsGleis:', name_='TCGleisart'): + super(TCGleisart, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCGleisart') + def _exportChildren(self, outfile, level, namespaceprefix_='nsGleis:', namespacedef_='xmlns:nsGleis="http://www.plan-pro.org/modell/Gleis/1.10.0"', name_='TCGleisart', fromsubclass_=False, pretty_print=True): + super(TCGleisart, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCGleisart, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMGleisart + self.validate_ENUMGleisart(self.Wert) + super(TCGleisart, self)._buildChildren(child_, node, nodeName_, True) +# end class TCGleisart + + +class CGleis_Bezeichnung_Bezeichnung(GeneratedsSuper): + """Bez_Gleis_Bezeichnung -- Bezeichnung des Gleises entsprechend der betrieblichen Vorgaben ( + ü + blicherweise Ziffern bzw. Zahlen). + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Bez_Gleis_Bezeichnung=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Bez_Gleis_Bezeichnung = Bez_Gleis_Bezeichnung + self.Bez_Gleis_Bezeichnung_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CGleis_Bezeichnung_Bezeichnung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CGleis_Bezeichnung_Bezeichnung.subclass: + return CGleis_Bezeichnung_Bezeichnung.subclass(*args_, **kwargs_) + else: + return CGleis_Bezeichnung_Bezeichnung(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Bez_Gleis_Bezeichnung(self): + return self.Bez_Gleis_Bezeichnung + def set_Bez_Gleis_Bezeichnung(self, Bez_Gleis_Bezeichnung): + self.Bez_Gleis_Bezeichnung = Bez_Gleis_Bezeichnung + def has__content(self): + if ( + self.Bez_Gleis_Bezeichnung is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsGleis:', namespacedef_='xmlns:nsGleis="http://www.plan-pro.org/modell/Gleis/1.10.0"', name_='CGleis_Bezeichnung_Bezeichnung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CGleis_Bezeichnung_Bezeichnung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CGleis_Bezeichnung_Bezeichnung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CGleis_Bezeichnung_Bezeichnung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CGleis_Bezeichnung_Bezeichnung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsGleis:', name_='CGleis_Bezeichnung_Bezeichnung'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsGleis:', namespacedef_='xmlns:nsGleis="http://www.plan-pro.org/modell/Gleis/1.10.0"', name_='CGleis_Bezeichnung_Bezeichnung', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Bez_Gleis_Bezeichnung is not None: + namespaceprefix_ = self.Bez_Gleis_Bezeichnung_nsprefix_ + ':' if (UseCapturedNS_ and self.Bez_Gleis_Bezeichnung_nsprefix_) else '' + self.Bez_Gleis_Bezeichnung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Bez_Gleis_Bezeichnung', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Bez_Gleis_Bezeichnung': + obj_ = TCBez_Gleis_Bezeichnung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Bez_Gleis_Bezeichnung = obj_ + obj_.original_tagname_ = 'Bez_Gleis_Bezeichnung' +# end class CGleis_Bezeichnung_Bezeichnung + + +class TCBez_Gleis_Bezeichnung(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCBez_Gleis_Bezeichnung"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TBez_Gleis_Bezeichnung(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCBez_Gleis_Bezeichnung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCBez_Gleis_Bezeichnung.subclass: + return TCBez_Gleis_Bezeichnung.subclass(*args_, **kwargs_) + else: + return TCBez_Gleis_Bezeichnung(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TBez_Gleis_Bezeichnung(self, value): + result = True + # Validate type TBez_Gleis_Bezeichnung, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TBez_Gleis_Bezeichnung_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TBez_Gleis_Bezeichnung_patterns_, )) + result = False + return result + validate_TBez_Gleis_Bezeichnung_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCBez_Gleis_Bezeichnung, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsGleis:', namespacedef_='xmlns:nsGleis="http://www.plan-pro.org/modell/Gleis/1.10.0"', name_='TCBez_Gleis_Bezeichnung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCBez_Gleis_Bezeichnung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCBez_Gleis_Bezeichnung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBez_Gleis_Bezeichnung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCBez_Gleis_Bezeichnung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsGleis:', name_='TCBez_Gleis_Bezeichnung'): + super(TCBez_Gleis_Bezeichnung, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBez_Gleis_Bezeichnung') + def _exportChildren(self, outfile, level, namespaceprefix_='nsGleis:', namespacedef_='xmlns:nsGleis="http://www.plan-pro.org/modell/Gleis/1.10.0"', name_='TCBez_Gleis_Bezeichnung', fromsubclass_=False, pretty_print=True): + super(TCBez_Gleis_Bezeichnung, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCBez_Gleis_Bezeichnung, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TBez_Gleis_Bezeichnung + self.validate_TBez_Gleis_Bezeichnung(self.Wert) + super(TCBez_Gleis_Bezeichnung, self)._buildChildren(child_, node, nodeName_, True) +# end class TCBez_Gleis_Bezeichnung + + +class TCKonstruktion(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCKonstruktion"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMKonstruktion(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCKonstruktion) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCKonstruktion.subclass: + return TCKonstruktion.subclass(*args_, **kwargs_) + else: + return TCKonstruktion(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMKonstruktion(self, value): + result = True + # Validate type ENUMKonstruktion, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['Feste_Fahrbahn', 'Schutzschiene_links', 'Schutzschiene_rechts', 'sonstige'] + 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 ENUMKonstruktion' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCKonstruktion, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsGleis:', namespacedef_='xmlns:nsGleis="http://www.plan-pro.org/modell/Gleis/1.10.0"', name_='TCKonstruktion', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCKonstruktion') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCKonstruktion': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCKonstruktion') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCKonstruktion', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsGleis:', name_='TCKonstruktion'): + super(TCKonstruktion, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCKonstruktion') + def _exportChildren(self, outfile, level, namespaceprefix_='nsGleis:', namespacedef_='xmlns:nsGleis="http://www.plan-pro.org/modell/Gleis/1.10.0"', name_='TCKonstruktion', fromsubclass_=False, pretty_print=True): + super(TCKonstruktion, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCKonstruktion, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMKonstruktion + self.validate_ENUMKonstruktion(self.Wert) + super(TCKonstruktion, self)._buildChildren(child_, node, nodeName_, True) +# end class TCKonstruktion + + +class TCBaubereich_Art(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCBaubereich_Art"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMBaubereich_Art(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCBaubereich_Art) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCBaubereich_Art.subclass: + return TCBaubereich_Art.subclass(*args_, **kwargs_) + else: + return TCBaubereich_Art(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMBaubereich_Art(self, value): + result = True + # Validate type ENUMBaubereich_Art, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['ausgebaut', 'Baugleis', 'gesperrt', 'sonstige'] + 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 ENUMBaubereich_Art' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCBaubereich_Art, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsGleis:', namespacedef_='xmlns:nsGleis="http://www.plan-pro.org/modell/Gleis/1.10.0"', name_='TCBaubereich_Art', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCBaubereich_Art') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCBaubereich_Art': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBaubereich_Art') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCBaubereich_Art', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsGleis:', name_='TCBaubereich_Art'): + super(TCBaubereich_Art, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBaubereich_Art') + def _exportChildren(self, outfile, level, namespaceprefix_='nsGleis:', namespacedef_='xmlns:nsGleis="http://www.plan-pro.org/modell/Gleis/1.10.0"', name_='TCBaubereich_Art', fromsubclass_=False, pretty_print=True): + super(TCBaubereich_Art, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCBaubereich_Art, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMBaubereich_Art + self.validate_ENUMBaubereich_Art(self.Wert) + super(TCBaubereich_Art, self)._buildChildren(child_, node, nodeName_, True) +# end class TCBaubereich_Art + + +class TCGeschwindigkeit(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCGeschwindigkeit"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TGeschwindigkeit(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCGeschwindigkeit) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCGeschwindigkeit.subclass: + return TCGeschwindigkeit.subclass(*args_, **kwargs_) + else: + return TCGeschwindigkeit(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TGeschwindigkeit(self, value): + result = True + # Validate type TGeschwindigkeit, a restriction on xs:integer. + 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_TGeschwindigkeit_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGeschwindigkeit_patterns_, )) + result = False + return result + validate_TGeschwindigkeit_patterns_ = [['^(0|[1-9][0-9]{0,1}|[1-4][0-9]{2}|500)$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCGeschwindigkeit, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsGleis:', namespacedef_='xmlns:nsGleis="http://www.plan-pro.org/modell/Gleis/1.10.0"', name_='TCGeschwindigkeit', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCGeschwindigkeit') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCGeschwindigkeit': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCGeschwindigkeit') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCGeschwindigkeit', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsGleis:', name_='TCGeschwindigkeit'): + super(TCGeschwindigkeit, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCGeschwindigkeit') + def _exportChildren(self, outfile, level, namespaceprefix_='nsGleis:', namespacedef_='xmlns:nsGleis="http://www.plan-pro.org/modell/Gleis/1.10.0"', name_='TCGeschwindigkeit', fromsubclass_=False, pretty_print=True): + super(TCGeschwindigkeit, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_integer(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCGeschwindigkeit, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + ival_ = self.gds_parse_integer(sval_, node, 'Wert') + ival_ = self.gds_validate_integer(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGeschwindigkeit + self.validate_TGeschwindigkeit(self.Wert) + super(TCGeschwindigkeit, self)._buildChildren(child_, node, nodeName_, True) +# end class TCGeschwindigkeit + + +class TCElektrischer_Antrieb_Anzahl(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCElektrischer_Antrieb_Anzahl"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TElektrischer_Antrieb_Anzahl(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCElektrischer_Antrieb_Anzahl) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCElektrischer_Antrieb_Anzahl.subclass: + return TCElektrischer_Antrieb_Anzahl.subclass(*args_, **kwargs_) + else: + return TCElektrischer_Antrieb_Anzahl(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TElektrischer_Antrieb_Anzahl(self, value): + result = True + # Validate type TElektrischer_Antrieb_Anzahl, a restriction on xs:integer. + 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_TElektrischer_Antrieb_Anzahl_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TElektrischer_Antrieb_Anzahl_patterns_, )) + result = False + return result + validate_TElektrischer_Antrieb_Anzahl_patterns_ = [['^([0-9]|1[0-5])$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCElektrischer_Antrieb_Anzahl, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsWeichen_und_Gleissperren:', namespacedef_='xmlns:nsWeichen_und_Gleissperren="http://www.plan-pro.org/modell/Weichen_und_Gleissperren/1.10.0"', name_='TCElektrischer_Antrieb_Anzahl', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCElektrischer_Antrieb_Anzahl') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCElektrischer_Antrieb_Anzahl': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCElektrischer_Antrieb_Anzahl') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCElektrischer_Antrieb_Anzahl', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsWeichen_und_Gleissperren:', name_='TCElektrischer_Antrieb_Anzahl'): + super(TCElektrischer_Antrieb_Anzahl, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCElektrischer_Antrieb_Anzahl') + def _exportChildren(self, outfile, level, namespaceprefix_='nsWeichen_und_Gleissperren:', namespacedef_='xmlns:nsWeichen_und_Gleissperren="http://www.plan-pro.org/modell/Weichen_und_Gleissperren/1.10.0"', name_='TCElektrischer_Antrieb_Anzahl', fromsubclass_=False, pretty_print=True): + super(TCElektrischer_Antrieb_Anzahl, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_integer(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCElektrischer_Antrieb_Anzahl, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + ival_ = self.gds_parse_integer(sval_, node, 'Wert') + ival_ = self.gds_validate_integer(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + # validate type TElektrischer_Antrieb_Anzahl + self.validate_TElektrischer_Antrieb_Anzahl(self.Wert) + super(TCElektrischer_Antrieb_Anzahl, self)._buildChildren(child_, node, nodeName_, True) +# end class TCElektrischer_Antrieb_Anzahl + + +class TCKreuzungsgleis(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCKreuzungsgleis"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TKreuzungsgleis(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCKreuzungsgleis) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCKreuzungsgleis.subclass: + return TCKreuzungsgleis.subclass(*args_, **kwargs_) + else: + return TCKreuzungsgleis(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TKreuzungsgleis(self, value): + result = True + # Validate type TKreuzungsgleis, a restriction on nsBasisTypen:TLinksRechts. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['links', 'rechts'] + 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 TKreuzungsgleis' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCKreuzungsgleis, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsWeichen_und_Gleissperren:', namespacedef_='xmlns:nsWeichen_und_Gleissperren="http://www.plan-pro.org/modell/Weichen_und_Gleissperren/1.10.0"', name_='TCKreuzungsgleis', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCKreuzungsgleis') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCKreuzungsgleis': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCKreuzungsgleis') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCKreuzungsgleis', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsWeichen_und_Gleissperren:', name_='TCKreuzungsgleis'): + super(TCKreuzungsgleis, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCKreuzungsgleis') + def _exportChildren(self, outfile, level, namespaceprefix_='nsWeichen_und_Gleissperren:', namespacedef_='xmlns:nsWeichen_und_Gleissperren="http://www.plan-pro.org/modell/Weichen_und_Gleissperren/1.10.0"', name_='TCKreuzungsgleis', fromsubclass_=False, pretty_print=True): + super(TCKreuzungsgleis, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCKreuzungsgleis, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TKreuzungsgleis + self.validate_TKreuzungsgleis(self.Wert) + super(TCKreuzungsgleis, self)._buildChildren(child_, node, nodeName_, True) +# end class TCKreuzungsgleis + + +class TCGeschwindigkeit_R(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCGeschwindigkeit_R"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TGeschwindigkeit_R(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCGeschwindigkeit_R) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCGeschwindigkeit_R.subclass: + return TCGeschwindigkeit_R.subclass(*args_, **kwargs_) + else: + return TCGeschwindigkeit_R(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TGeschwindigkeit_R(self, value): + result = True + # Validate type TGeschwindigkeit_R, a restriction on nsBasisTypen:TGeschwindigkeit. + 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_TGeschwindigkeit_R_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGeschwindigkeit_R_patterns_, )) + result = False + return result + validate_TGeschwindigkeit_R_patterns_ = [['^(0|[1-9][0-9]{0,1}|[1-4][0-9]{2}|500)$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCGeschwindigkeit_R, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsWeichen_und_Gleissperren:', namespacedef_='xmlns:nsWeichen_und_Gleissperren="http://www.plan-pro.org/modell/Weichen_und_Gleissperren/1.10.0"', name_='TCGeschwindigkeit_R', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCGeschwindigkeit_R') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCGeschwindigkeit_R': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCGeschwindigkeit_R') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCGeschwindigkeit_R', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsWeichen_und_Gleissperren:', name_='TCGeschwindigkeit_R'): + super(TCGeschwindigkeit_R, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCGeschwindigkeit_R') + def _exportChildren(self, outfile, level, namespaceprefix_='nsWeichen_und_Gleissperren:', namespacedef_='xmlns:nsWeichen_und_Gleissperren="http://www.plan-pro.org/modell/Weichen_und_Gleissperren/1.10.0"', name_='TCGeschwindigkeit_R', fromsubclass_=False, pretty_print=True): + super(TCGeschwindigkeit_R, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_integer(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCGeschwindigkeit_R, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + ival_ = self.gds_parse_integer(sval_, node, 'Wert') + ival_ = self.gds_validate_integer(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGeschwindigkeit_R + self.validate_TGeschwindigkeit_R(self.Wert) + super(TCGeschwindigkeit_R, self)._buildChildren(child_, node, nodeName_, True) +# end class TCGeschwindigkeit_R + + +class TCIsolierfall(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCIsolierfall"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TIsolierfall(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCIsolierfall) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCIsolierfall.subclass: + return TCIsolierfall.subclass(*args_, **kwargs_) + else: + return TCIsolierfall(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TIsolierfall(self, value): + result = True + # Validate type TIsolierfall, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TIsolierfall_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TIsolierfall_patterns_, )) + result = False + return result + validate_TIsolierfall_patterns_ = [['^(.{1,20})$'], ['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCIsolierfall, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsWeichen_und_Gleissperren:', namespacedef_='xmlns:nsWeichen_und_Gleissperren="http://www.plan-pro.org/modell/Weichen_und_Gleissperren/1.10.0"', name_='TCIsolierfall', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCIsolierfall') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCIsolierfall': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCIsolierfall') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCIsolierfall', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsWeichen_und_Gleissperren:', name_='TCIsolierfall'): + super(TCIsolierfall, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCIsolierfall') + def _exportChildren(self, outfile, level, namespaceprefix_='nsWeichen_und_Gleissperren:', namespacedef_='xmlns:nsWeichen_und_Gleissperren="http://www.plan-pro.org/modell/Weichen_und_Gleissperren/1.10.0"', name_='TCIsolierfall', fromsubclass_=False, pretty_print=True): + super(TCIsolierfall, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCIsolierfall, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TIsolierfall + self.validate_TIsolierfall(self.Wert) + super(TCIsolierfall, self)._buildChildren(child_, node, nodeName_, True) +# end class TCIsolierfall + + +class CWeichenlaufkette_Zuordnung(CBasis_Objekt): + """CWeichenlaufkette_Zuordnung -- Logisches Objekt f + ü + r die Zuordnung zwischen Weichenlaufketten und Signalen. Das Objekt ist in der Realit + ä + t des Stellwerkes nicht vorhanden. Die Weichenlaufkette_Zuordnung hat keine Attributgruppe \"..._Allgemeine_Merkmale\". + ID_Signal -- Verweis auf das Signal, dem die Weichenlaufkette zugeordnet wird. + ID_Weichenlaufkette -- Verweis auf die Weichenlaufkette, die dem Signal zugeordnet wird. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasis_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, ID_Signal=None, ID_Weichenlaufkette=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CWeichenlaufkette_Zuordnung"), self).__init__(Identitaet, Basis_Objekt_Allg, ID_Bearbeitungsvermerk, ID_Oertlichkeit_Ausgabe, Objektreferenzen, **kwargs_) + self.ID_Signal = ID_Signal + self.ID_Signal_nsprefix_ = None + self.ID_Weichenlaufkette = ID_Weichenlaufkette + self.ID_Weichenlaufkette_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CWeichenlaufkette_Zuordnung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CWeichenlaufkette_Zuordnung.subclass: + return CWeichenlaufkette_Zuordnung.subclass(*args_, **kwargs_) + else: + return CWeichenlaufkette_Zuordnung(*args_, **kwargs_) + factory = staticmethod(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_Signal(self): + return self.ID_Signal + def set_ID_Signal(self, ID_Signal): + self.ID_Signal = ID_Signal + def get_ID_Weichenlaufkette(self): + return self.ID_Weichenlaufkette + def set_ID_Weichenlaufkette(self, ID_Weichenlaufkette): + self.ID_Weichenlaufkette = ID_Weichenlaufkette + def has__content(self): + if ( + self.ID_Signal is not None or + self.ID_Weichenlaufkette is not None or + super(CWeichenlaufkette_Zuordnung, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsWeichen_und_Gleissperren:', namespacedef_='xmlns:nsWeichen_und_Gleissperren="http://www.plan-pro.org/modell/Weichen_und_Gleissperren/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CWeichenlaufkette_Zuordnung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CWeichenlaufkette_Zuordnung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CWeichenlaufkette_Zuordnung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CWeichenlaufkette_Zuordnung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CWeichenlaufkette_Zuordnung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsWeichen_und_Gleissperren:', name_='CWeichenlaufkette_Zuordnung'): + super(CWeichenlaufkette_Zuordnung, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CWeichenlaufkette_Zuordnung') + def _exportChildren(self, outfile, level, namespaceprefix_='nsWeichen_und_Gleissperren:', namespacedef_='xmlns:nsWeichen_und_Gleissperren="http://www.plan-pro.org/modell/Weichen_und_Gleissperren/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CWeichenlaufkette_Zuordnung', fromsubclass_=False, pretty_print=True): + super(CWeichenlaufkette_Zuordnung, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.ID_Signal is not None: + namespaceprefix_ = self.ID_Signal_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Signal_nsprefix_) else '' + self.ID_Signal.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Signal', pretty_print=pretty_print) + if self.ID_Weichenlaufkette is not None: + namespaceprefix_ = self.ID_Weichenlaufkette_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Weichenlaufkette_nsprefix_) else '' + self.ID_Weichenlaufkette.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Weichenlaufkette', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CWeichenlaufkette_Zuordnung, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Signal': + obj_ = TCID_Signal.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Signal = obj_ + obj_.original_tagname_ = 'ID_Signal' + elif nodeName_ == 'ID_Weichenlaufkette': + obj_ = TCID_Weichenlaufkette.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Weichenlaufkette = obj_ + obj_.original_tagname_ = 'ID_Weichenlaufkette' + super(CWeichenlaufkette_Zuordnung, self)._buildChildren(child_, node, nodeName_, True) +# end class CWeichenlaufkette_Zuordnung + + +class CW_Kr_Gsp_Element(CBasis_Objekt): + """CW_Kr_Gsp_Element -- Einzeln stellbarer Teil einer Weichenanlage oder einer Gleissperre, der h + ö + chstens zwei Stellungen (Fahrrichtung rechts oder links bzw. Entgleisungsschuh aufgelegt oder abgelegt) annehmen kann. Weichenanlagen bekommen 1 bzw. 2 Weichenelemente zugeordnet. Jedes Weichenelement besteht aus mindestens einer (ggf. mehreren) Komponenten (Zungenpaare), die die technische Sicht darstellen. Eine Kreuzung hat zwei Weichenelemente (A- und B-Seite). Im Fall beweglicher doppelter Herzst + ü + ckspitzen hat die Kreuzung auch zwei Endlagen. Eine starre Kreuzung hat keine Regelzeichnung, da diese keinen Antrieb besitzt. Gleissperren haben kein Objekt im Sinn einer Anlage. Die Attributgruppen GZ_Freimeldung_R bzw. GZ_Freimeldung_L werden nur angegeben, wenn der rechte bzw. linke Schenkel einer Weiche nicht grenzzeichenfrei freigemeldet ist. Wenn das Element weder f + ü + r eine Weiche oder Gleissperre genutzt wird (z.B. Verrrieglung einer beweglichen Br + ü + cke oder eines Tors), werden die Attributgruppen Gleissperre_Element und Weiche_Element nicht verwendet (optionale Choice). Siehe auch Modellierung Weichen. DB-Regelwerk Weichen werden gem + ä + ß + Richtlinie 800.0120 gebaut. F + ü + r die Anordnung der Bauteile (einschlie + ß + lich Antriebe) an einer Weiche und der Gleissperren existieren Regelzeichnungen der Gruppe S 73xx. F + ü + r die Planung von Weichen ist das Regelwerk 819.0401 zu beachten. + Bezeichnung -- Attributgruppe zur Bezeichnung von Stell- und sonstigen Elementen. Sofern ausreichend, wird an dieser Stelle + ü + ber Vererbung die Basisattributgruppe Bezeichnung Element eingebunden. Ist die Abbildung mit den Attributen der Basisattributgruppe nicht m + ö + glich (z. B. wegen spezieller Patternvorgabe) oder nicht sinnvoll (z. B. weil eine Unterscheidung nach Bezeichnung_Lageplan_..., Bezeichnung_Tabelle und Bezeichnung_Aussenanlage (Pflichtattribute!) nicht notwendig ist), werden in der Attributgruppe Bezeichnung entsprechende objektspezifische Bezeichnungsattribute modelliert. Diese sind nach dem Schema Bezeichnung_[Objektname] zu benennen. Zudem ist es m + ö + glich, gleichzeitig die Basisattributgruppe Bezeichnung Element und objektspezifische Attribute einzubinden. Siehe auch Bildung der Bezeichnungen. DB-Regelwerk Sicherungstechnischer Lage- und + Ü + bersichtsplan, B + Ü + -Lageplan Planungstabellen + ID_Regelzeichnung -- Verweis auf ein Objekt Regelzeichnung, sofern bei einer Weiche (z. B. DKW) oder Gleissperre (z. B. gekuppelte Gleissperre) mehrere Komponenten in einer Regelzeichnung zusammengefasst sind. + ID_Stellelement -- Verweis auf das Objekt Stellelement zur Zusammenfassung von Eigenschaften der Objekte BUE Schnittstelle, PZB Element, Schluesselsperre, Signal, W Kr Gsp Element. Das Stellelement enth + ä + lt Informationen + ü + ber den energetischen und logischen Anschluss der Objekte. F + ü + r das PZB Element ist der Verweis nur zu f + ü + llen, wenn das PZB_Element eine G + Ü + ist. DB-Regelwerk Bisher ohne eindeutige Darstellung + ID_W_Kr_Anlage -- Verweis auf die W_Kr_Anlage, deren Bestandteil das W_Kr_Gsp_Element ist. Der Verweis wird nur f + ü + r Weichen und Keuzungen verwendet. Er darf nicht bei Gleissperren verwendet werden. + ID_Weichenlaufkette -- Verweis auf die Weichenlaufkette, in der das Weichenelement enthalten ist. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasis_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, Bezeichnung=None, ID_Regelzeichnung=None, ID_Stellelement=None, ID_W_Kr_Anlage=None, ID_Weichenlaufkette=None, W_Kr_Gsp_Element_Allg=None, Gleissperre_Element=None, Weiche_Element=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CW_Kr_Gsp_Element"), self).__init__(Identitaet, Basis_Objekt_Allg, ID_Bearbeitungsvermerk, ID_Oertlichkeit_Ausgabe, Objektreferenzen, **kwargs_) + self.Bezeichnung = Bezeichnung + self.Bezeichnung_nsprefix_ = None + self.ID_Regelzeichnung = ID_Regelzeichnung + self.ID_Regelzeichnung_nsprefix_ = None + self.ID_Stellelement = ID_Stellelement + self.ID_Stellelement_nsprefix_ = None + self.ID_W_Kr_Anlage = ID_W_Kr_Anlage + self.ID_W_Kr_Anlage_nsprefix_ = None + self.ID_Weichenlaufkette = ID_Weichenlaufkette + self.ID_Weichenlaufkette_nsprefix_ = None + self.W_Kr_Gsp_Element_Allg = W_Kr_Gsp_Element_Allg + self.W_Kr_Gsp_Element_Allg_nsprefix_ = None + self.Gleissperre_Element = Gleissperre_Element + self.Gleissperre_Element_nsprefix_ = None + self.Weiche_Element = Weiche_Element + self.Weiche_Element_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CW_Kr_Gsp_Element) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CW_Kr_Gsp_Element.subclass: + return CW_Kr_Gsp_Element.subclass(*args_, **kwargs_) + else: + return CW_Kr_Gsp_Element(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Bezeichnung(self): + return self.Bezeichnung + def set_Bezeichnung(self, Bezeichnung): + self.Bezeichnung = Bezeichnung + def get_ID_Regelzeichnung(self): + return self.ID_Regelzeichnung + def set_ID_Regelzeichnung(self, ID_Regelzeichnung): + self.ID_Regelzeichnung = ID_Regelzeichnung + def get_ID_Stellelement(self): + return self.ID_Stellelement + def set_ID_Stellelement(self, ID_Stellelement): + self.ID_Stellelement = ID_Stellelement + def get_ID_W_Kr_Anlage(self): + return self.ID_W_Kr_Anlage + def set_ID_W_Kr_Anlage(self, ID_W_Kr_Anlage): + self.ID_W_Kr_Anlage = ID_W_Kr_Anlage + def get_ID_Weichenlaufkette(self): + return self.ID_Weichenlaufkette + def set_ID_Weichenlaufkette(self, ID_Weichenlaufkette): + self.ID_Weichenlaufkette = ID_Weichenlaufkette + def get_W_Kr_Gsp_Element_Allg(self): + return self.W_Kr_Gsp_Element_Allg + def set_W_Kr_Gsp_Element_Allg(self, W_Kr_Gsp_Element_Allg): + self.W_Kr_Gsp_Element_Allg = W_Kr_Gsp_Element_Allg + def get_Gleissperre_Element(self): + return self.Gleissperre_Element + def set_Gleissperre_Element(self, Gleissperre_Element): + self.Gleissperre_Element = Gleissperre_Element + def get_Weiche_Element(self): + return self.Weiche_Element + def set_Weiche_Element(self, Weiche_Element): + self.Weiche_Element = Weiche_Element + def has__content(self): + if ( + self.Bezeichnung is not None or + self.ID_Regelzeichnung is not None or + self.ID_Stellelement is not None or + self.ID_W_Kr_Anlage is not None or + self.ID_Weichenlaufkette is not None or + self.W_Kr_Gsp_Element_Allg is not None or + self.Gleissperre_Element is not None or + self.Weiche_Element is not None or + super(CW_Kr_Gsp_Element, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsWeichen_und_Gleissperren:', namespacedef_='xmlns:nsWeichen_und_Gleissperren="http://www.plan-pro.org/modell/Weichen_und_Gleissperren/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CW_Kr_Gsp_Element', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CW_Kr_Gsp_Element') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CW_Kr_Gsp_Element': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CW_Kr_Gsp_Element') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CW_Kr_Gsp_Element', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsWeichen_und_Gleissperren:', name_='CW_Kr_Gsp_Element'): + super(CW_Kr_Gsp_Element, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CW_Kr_Gsp_Element') + def _exportChildren(self, outfile, level, namespaceprefix_='nsWeichen_und_Gleissperren:', namespacedef_='xmlns:nsWeichen_und_Gleissperren="http://www.plan-pro.org/modell/Weichen_und_Gleissperren/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CW_Kr_Gsp_Element', fromsubclass_=False, pretty_print=True): + super(CW_Kr_Gsp_Element, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Bezeichnung is not None: + namespaceprefix_ = self.Bezeichnung_nsprefix_ + ':' if (UseCapturedNS_ and self.Bezeichnung_nsprefix_) else '' + self.Bezeichnung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Bezeichnung', pretty_print=pretty_print) + if self.ID_Regelzeichnung is not None: + namespaceprefix_ = self.ID_Regelzeichnung_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Regelzeichnung_nsprefix_) else '' + self.ID_Regelzeichnung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Regelzeichnung', pretty_print=pretty_print) + if self.ID_Stellelement is not None: + namespaceprefix_ = self.ID_Stellelement_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Stellelement_nsprefix_) else '' + self.ID_Stellelement.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Stellelement', pretty_print=pretty_print) + if self.ID_W_Kr_Anlage is not None: + namespaceprefix_ = self.ID_W_Kr_Anlage_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_W_Kr_Anlage_nsprefix_) else '' + self.ID_W_Kr_Anlage.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_W_Kr_Anlage', pretty_print=pretty_print) + if self.ID_Weichenlaufkette is not None: + namespaceprefix_ = self.ID_Weichenlaufkette_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Weichenlaufkette_nsprefix_) else '' + self.ID_Weichenlaufkette.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Weichenlaufkette', pretty_print=pretty_print) + if self.W_Kr_Gsp_Element_Allg is not None: + namespaceprefix_ = self.W_Kr_Gsp_Element_Allg_nsprefix_ + ':' if (UseCapturedNS_ and self.W_Kr_Gsp_Element_Allg_nsprefix_) else '' + self.W_Kr_Gsp_Element_Allg.export(outfile, level, namespaceprefix_, namespacedef_='', name_='W_Kr_Gsp_Element_Allg', pretty_print=pretty_print) + if self.Gleissperre_Element is not None: + namespaceprefix_ = self.Gleissperre_Element_nsprefix_ + ':' if (UseCapturedNS_ and self.Gleissperre_Element_nsprefix_) else '' + self.Gleissperre_Element.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Gleissperre_Element', pretty_print=pretty_print) + if self.Weiche_Element is not None: + namespaceprefix_ = self.Weiche_Element_nsprefix_ + ':' if (UseCapturedNS_ and self.Weiche_Element_nsprefix_) else '' + self.Weiche_Element.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Weiche_Element', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CW_Kr_Gsp_Element, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Bezeichnung': + obj_ = CBezeichnung_Element.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Bezeichnung = obj_ + obj_.original_tagname_ = 'Bezeichnung' + elif nodeName_ == 'ID_Regelzeichnung': + obj_ = TCID_Regelzeichnung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Regelzeichnung = obj_ + obj_.original_tagname_ = 'ID_Regelzeichnung' + elif nodeName_ == 'ID_Stellelement': + obj_ = TCID_Stellelement.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Stellelement = obj_ + obj_.original_tagname_ = 'ID_Stellelement' + elif nodeName_ == 'ID_W_Kr_Anlage': + obj_ = TCID_W_Kr_Anlage.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_W_Kr_Anlage = obj_ + obj_.original_tagname_ = 'ID_W_Kr_Anlage' + elif nodeName_ == 'ID_Weichenlaufkette': + obj_ = TCID_Weichenlaufkette.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Weichenlaufkette = obj_ + obj_.original_tagname_ = 'ID_Weichenlaufkette' + elif nodeName_ == 'W_Kr_Gsp_Element_Allg': + obj_ = CW_Kr_Gsp_Element_Allg.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.W_Kr_Gsp_Element_Allg = obj_ + obj_.original_tagname_ = 'W_Kr_Gsp_Element_Allg' + elif nodeName_ == 'Gleissperre_Element': + obj_ = CGleissperre_Element.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Gleissperre_Element = obj_ + obj_.original_tagname_ = 'Gleissperre_Element' + elif nodeName_ == 'Weiche_Element': + obj_ = CWeiche_Element.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Weiche_Element = obj_ + obj_.original_tagname_ = 'Weiche_Element' + super(CW_Kr_Gsp_Element, self)._buildChildren(child_, node, nodeName_, True) +# end class CW_Kr_Gsp_Element + + +class CW_Kr_Anlage(CBasis_Objekt): + """CW_Kr_Anlage -- Bauliche Gesamtheit des Objektes Weiche oder Kreuzung einschlie + ß + lich der f + ü + r seine Funktion unmittelbar und in der N + ä + he vorhandenen Stell-, Steuer- und + Ü + berwachungseinrichtungen. Typische Grundformen der Weichenanlagen sind: einfache Weiche (EW), einfache Kreuzungsweiche (EKW), doppelte Kreuzungsweiche (DKW), starre Kreuzung (KR) und Flachkreuzungen mit doppelten Herzst + ü + cken und beweglichen Spitzen (KR). Grundlage der Bezeichnungen ist die Ril 800.0120 in Verbindung mit den zugeh + ö + rigen Anlagen. Weichenanlagen werden unterteilt in die einzelnen Elemente (Weichenelement). Die Elemente besitzen eine oder mehrere Komponenten (Weichenkomponente). Diese Objekte beschreiben in Verbindung mit Regelzeichnungen weitere Eigenschaften (z.B. Antriebe und Endlagenpr + ü + fer) der Weichenanlage. Siehe auch Modellierung Weichen. DB-Regelwerk Ril 800.0120 + ID_Anhang_DWS -- Verweis auf die zugeh + ö + rige Digitale Weichenskizze, die als Dateianhang mittels des Objektes Anhang eingebunden wird. DB-Regelwerk Die Digitale Weichenskizze wird f + ü + r alle neu zu beschaffenden Weichen nach Ril 823.0700 erstellt. Sie enth + ä + lt alle konstruktiven Daten der zu beschaffenden Weiche. Die relevanten Daten f + ü + r die signaltechnischen Planungen werden k + ü + nftig der DWS entnommen bzw. mit dieser Datei abgeglichen. Die f + ü + r die LST-Planung relevanten Daten werden in entsprechende Attribute der allgemeinen Merkmale eingetragen. + ID_Signal -- Verweis auf ein Signal, welches den Zustand der W_Kr_Anlage signalisiert (z. B. R + ü + ckfallweichensignal). + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasis_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, ID_Anhang_DWS=None, ID_Signal=None, W_Kr_Anlage_Allg=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CW_Kr_Anlage"), self).__init__(Identitaet, Basis_Objekt_Allg, ID_Bearbeitungsvermerk, ID_Oertlichkeit_Ausgabe, Objektreferenzen, **kwargs_) + self.ID_Anhang_DWS = ID_Anhang_DWS + self.ID_Anhang_DWS_nsprefix_ = None + self.ID_Signal = ID_Signal + self.ID_Signal_nsprefix_ = None + self.W_Kr_Anlage_Allg = W_Kr_Anlage_Allg + self.W_Kr_Anlage_Allg_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CW_Kr_Anlage) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CW_Kr_Anlage.subclass: + return CW_Kr_Anlage.subclass(*args_, **kwargs_) + else: + return CW_Kr_Anlage(*args_, **kwargs_) + factory = staticmethod(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_Anhang_DWS(self): + return self.ID_Anhang_DWS + def set_ID_Anhang_DWS(self, ID_Anhang_DWS): + self.ID_Anhang_DWS = ID_Anhang_DWS + def get_ID_Signal(self): + return self.ID_Signal + def set_ID_Signal(self, ID_Signal): + self.ID_Signal = ID_Signal + def get_W_Kr_Anlage_Allg(self): + return self.W_Kr_Anlage_Allg + def set_W_Kr_Anlage_Allg(self, W_Kr_Anlage_Allg): + self.W_Kr_Anlage_Allg = W_Kr_Anlage_Allg + def has__content(self): + if ( + self.ID_Anhang_DWS is not None or + self.ID_Signal is not None or + self.W_Kr_Anlage_Allg is not None or + super(CW_Kr_Anlage, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsWeichen_und_Gleissperren:', namespacedef_='xmlns:nsWeichen_und_Gleissperren="http://www.plan-pro.org/modell/Weichen_und_Gleissperren/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CW_Kr_Anlage', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CW_Kr_Anlage') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CW_Kr_Anlage': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CW_Kr_Anlage') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CW_Kr_Anlage', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsWeichen_und_Gleissperren:', name_='CW_Kr_Anlage'): + super(CW_Kr_Anlage, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CW_Kr_Anlage') + def _exportChildren(self, outfile, level, namespaceprefix_='nsWeichen_und_Gleissperren:', namespacedef_='xmlns:nsWeichen_und_Gleissperren="http://www.plan-pro.org/modell/Weichen_und_Gleissperren/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CW_Kr_Anlage', fromsubclass_=False, pretty_print=True): + super(CW_Kr_Anlage, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.ID_Anhang_DWS is not None: + namespaceprefix_ = self.ID_Anhang_DWS_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Anhang_DWS_nsprefix_) else '' + self.ID_Anhang_DWS.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Anhang_DWS', pretty_print=pretty_print) + if self.ID_Signal is not None: + namespaceprefix_ = self.ID_Signal_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Signal_nsprefix_) else '' + self.ID_Signal.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Signal', pretty_print=pretty_print) + if self.W_Kr_Anlage_Allg is not None: + namespaceprefix_ = self.W_Kr_Anlage_Allg_nsprefix_ + ':' if (UseCapturedNS_ and self.W_Kr_Anlage_Allg_nsprefix_) else '' + self.W_Kr_Anlage_Allg.export(outfile, level, namespaceprefix_, namespacedef_='', name_='W_Kr_Anlage_Allg', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CW_Kr_Anlage, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Anhang_DWS': + obj_ = TCID_Anhang.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Anhang_DWS = obj_ + obj_.original_tagname_ = 'ID_Anhang_DWS' + elif nodeName_ == 'ID_Signal': + obj_ = TCID_Signal.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Signal = obj_ + obj_.original_tagname_ = 'ID_Signal' + elif nodeName_ == 'W_Kr_Anlage_Allg': + obj_ = CW_Kr_Anlage_Allg.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.W_Kr_Anlage_Allg = obj_ + obj_.original_tagname_ = 'W_Kr_Anlage_Allg' + super(CW_Kr_Anlage, self)._buildChildren(child_, node, nodeName_, True) +# end class CW_Kr_Anlage + + +class TCGleissperre_Vorzugslage(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCGleissperre_Vorzugslage"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMGleissperre_Vorzugslage(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCGleissperre_Vorzugslage) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCGleissperre_Vorzugslage.subclass: + return TCGleissperre_Vorzugslage.subclass(*args_, **kwargs_) + else: + return TCGleissperre_Vorzugslage(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMGleissperre_Vorzugslage(self, value): + result = True + # Validate type ENUMGleissperre_Vorzugslage, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['abgelegt', 'aufgelegt'] + 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 ENUMGleissperre_Vorzugslage' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCGleissperre_Vorzugslage, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsWeichen_und_Gleissperren:', namespacedef_='xmlns:nsWeichen_und_Gleissperren="http://www.plan-pro.org/modell/Weichen_und_Gleissperren/1.10.0"', name_='TCGleissperre_Vorzugslage', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCGleissperre_Vorzugslage') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCGleissperre_Vorzugslage': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCGleissperre_Vorzugslage') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCGleissperre_Vorzugslage', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsWeichen_und_Gleissperren:', name_='TCGleissperre_Vorzugslage'): + super(TCGleissperre_Vorzugslage, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCGleissperre_Vorzugslage') + def _exportChildren(self, outfile, level, namespaceprefix_='nsWeichen_und_Gleissperren:', namespacedef_='xmlns:nsWeichen_und_Gleissperren="http://www.plan-pro.org/modell/Weichen_und_Gleissperren/1.10.0"', name_='TCGleissperre_Vorzugslage', fromsubclass_=False, pretty_print=True): + super(TCGleissperre_Vorzugslage, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCGleissperre_Vorzugslage, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMGleissperre_Vorzugslage + self.validate_ENUMGleissperre_Vorzugslage(self.Wert) + super(TCGleissperre_Vorzugslage, self)._buildChildren(child_, node, nodeName_, True) +# end class TCGleissperre_Vorzugslage + + +class CGleissperre_Element(GeneratedsSuper): + """Gleissperre_Betriebsart -- Neben dem Normalbetrieb (Element ist stellbar) kann das Element durch den Betriebsartenstecker in einer definierten Lage festgelegt werden. + Gleissperre_Vorzugslage -- Vorzugslage der Gleissperre (Grundstellung). Dieses Attribut enth + ä + lt den Eintrag abgelegt oder aufgelegt. Mit dem Attribut Vorzugslage Automatik kann festgelegt werden, dass diese Vorzugslage automatisch hergestellt wird. In gro + ß + en Rangierbahnh + ö + fen wird u. U. auf die Festlegung einer Vorzugslage verzichtet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Gleissperre_Betriebsart=None, Gleissperre_Vorzugslage=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Gleissperre_Betriebsart = Gleissperre_Betriebsart + self.Gleissperre_Betriebsart_nsprefix_ = None + self.Gleissperre_Vorzugslage = Gleissperre_Vorzugslage + self.Gleissperre_Vorzugslage_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CGleissperre_Element) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CGleissperre_Element.subclass: + return CGleissperre_Element.subclass(*args_, **kwargs_) + else: + return CGleissperre_Element(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Gleissperre_Betriebsart(self): + return self.Gleissperre_Betriebsart + def set_Gleissperre_Betriebsart(self, Gleissperre_Betriebsart): + self.Gleissperre_Betriebsart = Gleissperre_Betriebsart + def get_Gleissperre_Vorzugslage(self): + return self.Gleissperre_Vorzugslage + def set_Gleissperre_Vorzugslage(self, Gleissperre_Vorzugslage): + self.Gleissperre_Vorzugslage = Gleissperre_Vorzugslage + def has__content(self): + if ( + self.Gleissperre_Betriebsart is not None or + self.Gleissperre_Vorzugslage is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsWeichen_und_Gleissperren:', namespacedef_='xmlns:nsWeichen_und_Gleissperren="http://www.plan-pro.org/modell/Weichen_und_Gleissperren/1.10.0"', name_='CGleissperre_Element', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CGleissperre_Element') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CGleissperre_Element': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CGleissperre_Element') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CGleissperre_Element', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsWeichen_und_Gleissperren:', name_='CGleissperre_Element'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsWeichen_und_Gleissperren:', namespacedef_='xmlns:nsWeichen_und_Gleissperren="http://www.plan-pro.org/modell/Weichen_und_Gleissperren/1.10.0"', name_='CGleissperre_Element', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Gleissperre_Betriebsart is not None: + namespaceprefix_ = self.Gleissperre_Betriebsart_nsprefix_ + ':' if (UseCapturedNS_ and self.Gleissperre_Betriebsart_nsprefix_) else '' + self.Gleissperre_Betriebsart.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Gleissperre_Betriebsart', pretty_print=pretty_print) + if self.Gleissperre_Vorzugslage is not None: + namespaceprefix_ = self.Gleissperre_Vorzugslage_nsprefix_ + ':' if (UseCapturedNS_ and self.Gleissperre_Vorzugslage_nsprefix_) else '' + self.Gleissperre_Vorzugslage.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Gleissperre_Vorzugslage', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Gleissperre_Betriebsart': + obj_ = TCGleissperre_Betriebsart.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Gleissperre_Betriebsart = obj_ + obj_.original_tagname_ = 'Gleissperre_Betriebsart' + elif nodeName_ == 'Gleissperre_Vorzugslage': + obj_ = TCGleissperre_Vorzugslage.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Gleissperre_Vorzugslage = obj_ + obj_.original_tagname_ = 'Gleissperre_Vorzugslage' +# end class CGleissperre_Element + + +class TCZungenpruefkontakt_Anzahl(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCZungenpruefkontakt_Anzahl"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TZungenpruefkontakt_Anzahl(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCZungenpruefkontakt_Anzahl) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCZungenpruefkontakt_Anzahl.subclass: + return TCZungenpruefkontakt_Anzahl.subclass(*args_, **kwargs_) + else: + return TCZungenpruefkontakt_Anzahl(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TZungenpruefkontakt_Anzahl(self, value): + result = True + # Validate type TZungenpruefkontakt_Anzahl, a restriction on xs:integer. + 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_TZungenpruefkontakt_Anzahl_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TZungenpruefkontakt_Anzahl_patterns_, )) + result = False + return result + validate_TZungenpruefkontakt_Anzahl_patterns_ = [['^([0-9]|1[0-5])$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCZungenpruefkontakt_Anzahl, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsWeichen_und_Gleissperren:', namespacedef_='xmlns:nsWeichen_und_Gleissperren="http://www.plan-pro.org/modell/Weichen_und_Gleissperren/1.10.0"', name_='TCZungenpruefkontakt_Anzahl', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCZungenpruefkontakt_Anzahl') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCZungenpruefkontakt_Anzahl': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCZungenpruefkontakt_Anzahl') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCZungenpruefkontakt_Anzahl', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsWeichen_und_Gleissperren:', name_='TCZungenpruefkontakt_Anzahl'): + super(TCZungenpruefkontakt_Anzahl, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCZungenpruefkontakt_Anzahl') + def _exportChildren(self, outfile, level, namespaceprefix_='nsWeichen_und_Gleissperren:', namespacedef_='xmlns:nsWeichen_und_Gleissperren="http://www.plan-pro.org/modell/Weichen_und_Gleissperren/1.10.0"', name_='TCZungenpruefkontakt_Anzahl', fromsubclass_=False, pretty_print=True): + super(TCZungenpruefkontakt_Anzahl, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_integer(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCZungenpruefkontakt_Anzahl, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + ival_ = self.gds_parse_integer(sval_, node, 'Wert') + ival_ = self.gds_validate_integer(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + # validate type TZungenpruefkontakt_Anzahl + self.validate_TZungenpruefkontakt_Anzahl(self.Wert) + super(TCZungenpruefkontakt_Anzahl, self)._buildChildren(child_, node, nodeName_, True) +# end class TCZungenpruefkontakt_Anzahl + + +class TCHerzstueck_Antriebe(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCHerzstueck_Antriebe"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_THerzstueck_Antriebe(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCHerzstueck_Antriebe) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCHerzstueck_Antriebe.subclass: + return TCHerzstueck_Antriebe.subclass(*args_, **kwargs_) + else: + return TCHerzstueck_Antriebe(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_THerzstueck_Antriebe(self, value): + result = True + # Validate type THerzstueck_Antriebe, a restriction on xs:integer. + 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_THerzstueck_Antriebe_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_THerzstueck_Antriebe_patterns_, )) + result = False + return result + validate_THerzstueck_Antriebe_patterns_ = [['^([1-9]|1[0-5])$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCHerzstueck_Antriebe, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsWeichen_und_Gleissperren:', namespacedef_='xmlns:nsWeichen_und_Gleissperren="http://www.plan-pro.org/modell/Weichen_und_Gleissperren/1.10.0"', name_='TCHerzstueck_Antriebe', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCHerzstueck_Antriebe') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCHerzstueck_Antriebe': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCHerzstueck_Antriebe') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCHerzstueck_Antriebe', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsWeichen_und_Gleissperren:', name_='TCHerzstueck_Antriebe'): + super(TCHerzstueck_Antriebe, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCHerzstueck_Antriebe') + def _exportChildren(self, outfile, level, namespaceprefix_='nsWeichen_und_Gleissperren:', namespacedef_='xmlns:nsWeichen_und_Gleissperren="http://www.plan-pro.org/modell/Weichen_und_Gleissperren/1.10.0"', name_='TCHerzstueck_Antriebe', fromsubclass_=False, pretty_print=True): + super(TCHerzstueck_Antriebe, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_integer(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCHerzstueck_Antriebe, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + ival_ = self.gds_parse_integer(sval_, node, 'Wert') + ival_ = self.gds_validate_integer(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + # validate type THerzstueck_Antriebe + self.validate_THerzstueck_Antriebe(self.Wert) + super(TCHerzstueck_Antriebe, self)._buildChildren(child_, node, nodeName_, True) +# end class TCHerzstueck_Antriebe + + +class TCWeichensignal(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCWeichensignal"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMWeichensignal(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCWeichensignal) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCWeichensignal.subclass: + return TCWeichensignal.subclass(*args_, **kwargs_) + else: + return TCWeichensignal(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMWeichensignal(self, value): + result = True + # Validate type ENUMWeichensignal, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['innenbeleuchtet', 'reflektierend'] + 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 ENUMWeichensignal' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCWeichensignal, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsWeichen_und_Gleissperren:', namespacedef_='xmlns:nsWeichen_und_Gleissperren="http://www.plan-pro.org/modell/Weichen_und_Gleissperren/1.10.0"', name_='TCWeichensignal', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCWeichensignal') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCWeichensignal': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCWeichensignal') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCWeichensignal', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsWeichen_und_Gleissperren:', name_='TCWeichensignal'): + super(TCWeichensignal, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCWeichensignal') + def _exportChildren(self, outfile, level, namespaceprefix_='nsWeichen_und_Gleissperren:', namespacedef_='xmlns:nsWeichen_und_Gleissperren="http://www.plan-pro.org/modell/Weichen_und_Gleissperren/1.10.0"', name_='TCWeichensignal', fromsubclass_=False, pretty_print=True): + super(TCWeichensignal, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCWeichensignal, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMWeichensignal + self.validate_ENUMWeichensignal(self.Wert) + super(TCWeichensignal, self)._buildChildren(child_, node, nodeName_, True) +# end class TCWeichensignal + + +class TCAuffahrortung(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCAuffahrortung"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCAuffahrortung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCAuffahrortung.subclass: + return TCAuffahrortung.subclass(*args_, **kwargs_) + else: + return TCAuffahrortung(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def has__content(self): + if ( + self.Wert is not None or + super(TCAuffahrortung, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsWeichen_und_Gleissperren:', namespacedef_='xmlns:nsWeichen_und_Gleissperren="http://www.plan-pro.org/modell/Weichen_und_Gleissperren/1.10.0"', name_='TCAuffahrortung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCAuffahrortung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCAuffahrortung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCAuffahrortung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCAuffahrortung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsWeichen_und_Gleissperren:', name_='TCAuffahrortung'): + super(TCAuffahrortung, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCAuffahrortung') + def _exportChildren(self, outfile, level, namespaceprefix_='nsWeichen_und_Gleissperren:', namespacedef_='xmlns:nsWeichen_und_Gleissperren="http://www.plan-pro.org/modell/Weichen_und_Gleissperren/1.10.0"', name_='TCAuffahrortung', fromsubclass_=False, pretty_print=True): + super(TCAuffahrortung, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_boolean(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCAuffahrortung, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + sval_ = child_.text + ival_ = self.gds_parse_boolean(sval_, node, 'Wert') + ival_ = self.gds_validate_boolean(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + super(TCAuffahrortung, self)._buildChildren(child_, node, nodeName_, True) +# end class TCAuffahrortung + + +class TCWeiche_Betriebsart(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCWeiche_Betriebsart"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMWeiche_Betriebsart(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCWeiche_Betriebsart) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCWeiche_Betriebsart.subclass: + return TCWeiche_Betriebsart.subclass(*args_, **kwargs_) + else: + return TCWeiche_Betriebsart(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMWeiche_Betriebsart(self, value): + result = True + # Validate type ENUMWeiche_Betriebsart, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['Betrieb', 'links', 'rechts'] + 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 ENUMWeiche_Betriebsart' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCWeiche_Betriebsart, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsWeichen_und_Gleissperren:', namespacedef_='xmlns:nsWeichen_und_Gleissperren="http://www.plan-pro.org/modell/Weichen_und_Gleissperren/1.10.0"', name_='TCWeiche_Betriebsart', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCWeiche_Betriebsart') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCWeiche_Betriebsart': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCWeiche_Betriebsart') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCWeiche_Betriebsart', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsWeichen_und_Gleissperren:', name_='TCWeiche_Betriebsart'): + super(TCWeiche_Betriebsart, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCWeiche_Betriebsart') + def _exportChildren(self, outfile, level, namespaceprefix_='nsWeichen_und_Gleissperren:', namespacedef_='xmlns:nsWeichen_und_Gleissperren="http://www.plan-pro.org/modell/Weichen_und_Gleissperren/1.10.0"', name_='TCWeiche_Betriebsart', fromsubclass_=False, pretty_print=True): + super(TCWeiche_Betriebsart, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCWeiche_Betriebsart, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMWeiche_Betriebsart + self.validate_ENUMWeiche_Betriebsart(self.Wert) + super(TCWeiche_Betriebsart, self)._buildChildren(child_, node, nodeName_, True) +# end class TCWeiche_Betriebsart + + +class TCAuswurfrichtung(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCAuswurfrichtung"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_CAuswurfrichtung(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCAuswurfrichtung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCAuswurfrichtung.subclass: + return TCAuswurfrichtung.subclass(*args_, **kwargs_) + else: + return TCAuswurfrichtung(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_CAuswurfrichtung(self, value): + result = True + # Validate type CAuswurfrichtung, a restriction on nsBasisTypen:TLinksRechts. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['links', 'rechts'] + 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 CAuswurfrichtung' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCAuswurfrichtung, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsWeichen_und_Gleissperren:', namespacedef_='xmlns:nsWeichen_und_Gleissperren="http://www.plan-pro.org/modell/Weichen_und_Gleissperren/1.10.0"', name_='TCAuswurfrichtung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCAuswurfrichtung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCAuswurfrichtung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCAuswurfrichtung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCAuswurfrichtung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsWeichen_und_Gleissperren:', name_='TCAuswurfrichtung'): + super(TCAuswurfrichtung, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCAuswurfrichtung') + def _exportChildren(self, outfile, level, namespaceprefix_='nsWeichen_und_Gleissperren:', namespacedef_='xmlns:nsWeichen_und_Gleissperren="http://www.plan-pro.org/modell/Weichen_und_Gleissperren/1.10.0"', name_='TCAuswurfrichtung', fromsubclass_=False, pretty_print=True): + super(TCAuswurfrichtung, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCAuswurfrichtung, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type CAuswurfrichtung + self.validate_CAuswurfrichtung(self.Wert) + super(TCAuswurfrichtung, self)._buildChildren(child_, node, nodeName_, True) +# end class TCAuswurfrichtung + + +class TCW_Kr_Gsp_Stellart(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCW_Kr_Gsp_Stellart"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMW_Kr_Gsp_Stellart(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCW_Kr_Gsp_Stellart) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCW_Kr_Gsp_Stellart.subclass: + return TCW_Kr_Gsp_Stellart.subclass(*args_, **kwargs_) + else: + return TCW_Kr_Gsp_Stellart(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMW_Kr_Gsp_Stellart(self, value): + result = True + # Validate type ENUMW_Kr_Gsp_Stellart, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['elektrisch_ferngestellt', 'elektrisch_ortsgestellt', 'mechanisch_ferngestellt', 'mechanisch_ortsgestellt', 'nicht_stellbar', 'Rueckfallweiche', 'sonstige', 'stillgelegt_links', 'stillgelegt_rechts', 'unbestimmt'] + 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 ENUMW_Kr_Gsp_Stellart' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCW_Kr_Gsp_Stellart, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsWeichen_und_Gleissperren:', namespacedef_='xmlns:nsWeichen_und_Gleissperren="http://www.plan-pro.org/modell/Weichen_und_Gleissperren/1.10.0"', name_='TCW_Kr_Gsp_Stellart', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCW_Kr_Gsp_Stellart') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCW_Kr_Gsp_Stellart': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCW_Kr_Gsp_Stellart') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCW_Kr_Gsp_Stellart', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsWeichen_und_Gleissperren:', name_='TCW_Kr_Gsp_Stellart'): + super(TCW_Kr_Gsp_Stellart, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCW_Kr_Gsp_Stellart') + def _exportChildren(self, outfile, level, namespaceprefix_='nsWeichen_und_Gleissperren:', namespacedef_='xmlns:nsWeichen_und_Gleissperren="http://www.plan-pro.org/modell/Weichen_und_Gleissperren/1.10.0"', name_='TCW_Kr_Gsp_Stellart', fromsubclass_=False, pretty_print=True): + super(TCW_Kr_Gsp_Stellart, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCW_Kr_Gsp_Stellart, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMW_Kr_Gsp_Stellart + self.validate_ENUMW_Kr_Gsp_Stellart(self.Wert) + super(TCW_Kr_Gsp_Stellart, self)._buildChildren(child_, node, nodeName_, True) +# end class TCW_Kr_Gsp_Stellart + + +class CGZ_Freimeldung_R(GeneratedsSuper): + """Element_Lage -- Angabe bei nicht grenzzeichenfreier Freimeldung eines Weichenschenkels, in welcher Lage das angrenzende Fahrwegelement (Gleis oder Weiche) zur Freipr + ü + fung herangezogen wird. Wenn die Grenzzeichenfreiheit durch die Freipr + ü + fung eines angrenzenden Fahrwegelementes erkannt wird, das ein Gleisabschnitt ist, wird Abschnitt, eine Weiche ist, die unabh + ä + ngig von ihrer Lage herangezogen wird, wird Weiche, eine Weiche ist, die nur in Linkslage herangezogen wird, wird WeicheL, eine Weiche ist, die nur in Rechtslage herangezogen wird, wird WeicheR als ENUM-Wert verwendet. + ID_Element -- Verweis auf das angrenzende W_Kr_Gsp_Element bzw. den angrenzenden Gleis_Abschnitt, das/der zum Pr + ü + fen der Grenzzeichenfreiheit des rechten bzw. linken Weichenschenkels herangezogen wird. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Element_Lage=None, ID_Element=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Element_Lage = Element_Lage + self.Element_Lage_nsprefix_ = None + self.ID_Element = ID_Element + self.ID_Element_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CGZ_Freimeldung_R) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CGZ_Freimeldung_R.subclass: + return CGZ_Freimeldung_R.subclass(*args_, **kwargs_) + else: + return CGZ_Freimeldung_R(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Element_Lage(self): + return self.Element_Lage + def set_Element_Lage(self, Element_Lage): + self.Element_Lage = Element_Lage + def get_ID_Element(self): + return self.ID_Element + def set_ID_Element(self, ID_Element): + self.ID_Element = ID_Element + def has__content(self): + if ( + self.Element_Lage is not None or + self.ID_Element is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsWeichen_und_Gleissperren:', namespacedef_='xmlns:nsWeichen_und_Gleissperren="http://www.plan-pro.org/modell/Weichen_und_Gleissperren/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CGZ_Freimeldung_R', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CGZ_Freimeldung_R') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CGZ_Freimeldung_R': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CGZ_Freimeldung_R') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CGZ_Freimeldung_R', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsWeichen_und_Gleissperren:', name_='CGZ_Freimeldung_R'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsWeichen_und_Gleissperren:', namespacedef_='xmlns:nsWeichen_und_Gleissperren="http://www.plan-pro.org/modell/Weichen_und_Gleissperren/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CGZ_Freimeldung_R', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Element_Lage is not None: + namespaceprefix_ = self.Element_Lage_nsprefix_ + ':' if (UseCapturedNS_ and self.Element_Lage_nsprefix_) else '' + self.Element_Lage.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Element_Lage', pretty_print=pretty_print) + if self.ID_Element is not None: + namespaceprefix_ = self.ID_Element_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Element_nsprefix_) else '' + self.ID_Element.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Element', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Element_Lage': + obj_ = TCElement_Lage.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Element_Lage = obj_ + obj_.original_tagname_ = 'Element_Lage' + elif nodeName_ == 'ID_Element': + obj_ = TCID_Element.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Element = obj_ + obj_.original_tagname_ = 'ID_Element' +# end class CGZ_Freimeldung_R + + +class CEntgleisungsschuh(GeneratedsSuper): + """Auswurfrichtung -- Entgleisungsrichtung eines Fahrzeugs, das + ü + ber den Entgleisungsschuh f + ä + hrt. Die Entgleisungsrichtung ist in Bewegungsrichtung des Fahrzeuges auf den Entgleisungsschuhs zu sehen und ist nicht auf die Wirkrichtung der topologischen Kante bezogen. Da das zugeh + ö + rige Objekt (W_Kr_Gsp_Komponente) als Punktobjekt auf eine Fahrschiene des Gleises (Topologiekante) verortet ist, kann daraus ebenfalls die Auswurfrichtung ermittelt werden. Achtung: Die Angabe ist redundant zu den Angaben im Punktobjekt bez + ü + glich der Attribute Seitliche Lage und Wirkrichtung und soll daher zuk + ü + nftig entfallen. + Gleissperrensignal -- Angabe, ob und in welcher Auspr + ä + gung ein Gleissperrensignal vorzusehen ist. + Schutzschiene -- F + ü + r die Gleissperre ist eine Schutzschiene vorgesehen. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Auswurfrichtung=None, Gleissperrensignal=None, Schutzschiene=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Auswurfrichtung = Auswurfrichtung + self.Auswurfrichtung_nsprefix_ = None + self.Gleissperrensignal = Gleissperrensignal + self.Gleissperrensignal_nsprefix_ = None + self.Schutzschiene = Schutzschiene + self.Schutzschiene_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CEntgleisungsschuh) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CEntgleisungsschuh.subclass: + return CEntgleisungsschuh.subclass(*args_, **kwargs_) + else: + return CEntgleisungsschuh(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Auswurfrichtung(self): + return self.Auswurfrichtung + def set_Auswurfrichtung(self, Auswurfrichtung): + self.Auswurfrichtung = Auswurfrichtung + def get_Gleissperrensignal(self): + return self.Gleissperrensignal + def set_Gleissperrensignal(self, Gleissperrensignal): + self.Gleissperrensignal = Gleissperrensignal + def get_Schutzschiene(self): + return self.Schutzschiene + def set_Schutzschiene(self, Schutzschiene): + self.Schutzschiene = Schutzschiene + def has__content(self): + if ( + self.Auswurfrichtung is not None or + self.Gleissperrensignal is not None or + self.Schutzschiene is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsWeichen_und_Gleissperren:', namespacedef_='xmlns:nsWeichen_und_Gleissperren="http://www.plan-pro.org/modell/Weichen_und_Gleissperren/1.10.0"', name_='CEntgleisungsschuh', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CEntgleisungsschuh') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CEntgleisungsschuh': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CEntgleisungsschuh') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CEntgleisungsschuh', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsWeichen_und_Gleissperren:', name_='CEntgleisungsschuh'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsWeichen_und_Gleissperren:', namespacedef_='xmlns:nsWeichen_und_Gleissperren="http://www.plan-pro.org/modell/Weichen_und_Gleissperren/1.10.0"', name_='CEntgleisungsschuh', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Auswurfrichtung is not None: + namespaceprefix_ = self.Auswurfrichtung_nsprefix_ + ':' if (UseCapturedNS_ and self.Auswurfrichtung_nsprefix_) else '' + self.Auswurfrichtung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Auswurfrichtung', pretty_print=pretty_print) + if self.Gleissperrensignal is not None: + namespaceprefix_ = self.Gleissperrensignal_nsprefix_ + ':' if (UseCapturedNS_ and self.Gleissperrensignal_nsprefix_) else '' + self.Gleissperrensignal.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Gleissperrensignal', pretty_print=pretty_print) + if self.Schutzschiene is not None: + namespaceprefix_ = self.Schutzschiene_nsprefix_ + ':' if (UseCapturedNS_ and self.Schutzschiene_nsprefix_) else '' + self.Schutzschiene.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Schutzschiene', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Auswurfrichtung': + obj_ = TCAuswurfrichtung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Auswurfrichtung = obj_ + obj_.original_tagname_ = 'Auswurfrichtung' + elif nodeName_ == 'Gleissperrensignal': + obj_ = TCGleissperrensignal.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Gleissperrensignal = obj_ + obj_.original_tagname_ = 'Gleissperrensignal' + elif nodeName_ == 'Schutzschiene': + obj_ = TCSchutzschiene.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Schutzschiene = obj_ + obj_.original_tagname_ = 'Schutzschiene' +# end class CEntgleisungsschuh + + +class CKreuzung(GeneratedsSuper): + """Elektrischer_Antrieb_Anzahl -- Anzahl der f + ü + r die W Kr Gsp Komponente vorgesehenen elektrischen Antriebe. Die Anordnung der Weichenantriebe erfolgt nach der angegebenen Regelzeichnung. Mechanische Weichenantriebe sind durch die Stellart bestimmt. Die Anzahl der elektrischen Antribe w + ä + re dann 0! Mechanische Pr + ü + fer und Riegel werden durch die entsprechende Regelzeichnung zugeordnet. F + ü + r eine Kreuzung ist die Anzahl der elektrischen Antrieb mit 0 anzugeben. Bei einer Flachkreuzung, die aus 2 Kreuzungsseiten besteht, werden die Antriebe den jeweiligen Kreuzungsseiten A und B beiden zugeordnet, die jeweils 0 oder 1 Antrieb haben k + ö + nnen. Die Lage der Antriebe ergibt sich aus der Regelzeichnung. F + ü + r eine EKW werden die Antriebe ebenfalls f + ü + r die beiden Kreuzungsseiten A und B getrennt (0 oder 1) angegeben. Die konkrete Lage der Antriebe ergibt sich aus der Regelzeichnung. F + ü + r eine DKW werden die Antriebe f + ü + r die Seiten AB und CD getrennt angegeben. Da im allgemeinen die Zungenpaare (W_Kr_Gsp_Komponente) einer Kreuzungsseite gemeinsam angetrieben werden, ist es bedeutungslos, ob der zugeh + ö + rige Antrieb an dem Zungenpaar A oder B bzw. C oder D angeordnet wird. Die konkrete Lage der Antrieb ergibt sich aus der Regelzeichnung. + Elektrischer_Antrieb_Lage -- Lage des Antriebs vom Kreuzungsmittelpunkt aus gesehen. + Geschwindigkeit_L -- Zul + ä + ssige Geschwindigkeit + ü + ber den linken Weichenschenkel. Die Geschwindigkeit kann geringer sein als die aus der Weichengeometrie abgeleitete. Die Angabe erfolgt in km/h. + Geschwindigkeit_R -- Zul + ä + ssige Geschwindigkeit + ü + ber den rechten Weichenschenkel. Die Geschwindigkeit kann geringer sein als die aus der Weichengeometrie abgeleitete. Die Angabe erfolgt in km/h. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Elektrischer_Antrieb_Anzahl=None, Elektrischer_Antrieb_Lage=None, Geschwindigkeit_L=None, Geschwindigkeit_R=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Elektrischer_Antrieb_Anzahl = Elektrischer_Antrieb_Anzahl + self.Elektrischer_Antrieb_Anzahl_nsprefix_ = None + self.Elektrischer_Antrieb_Lage = Elektrischer_Antrieb_Lage + self.Elektrischer_Antrieb_Lage_nsprefix_ = None + self.Geschwindigkeit_L = Geschwindigkeit_L + self.Geschwindigkeit_L_nsprefix_ = None + self.Geschwindigkeit_R = Geschwindigkeit_R + self.Geschwindigkeit_R_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CKreuzung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CKreuzung.subclass: + return CKreuzung.subclass(*args_, **kwargs_) + else: + return CKreuzung(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Elektrischer_Antrieb_Anzahl(self): + return self.Elektrischer_Antrieb_Anzahl + def set_Elektrischer_Antrieb_Anzahl(self, Elektrischer_Antrieb_Anzahl): + self.Elektrischer_Antrieb_Anzahl = Elektrischer_Antrieb_Anzahl + def get_Elektrischer_Antrieb_Lage(self): + return self.Elektrischer_Antrieb_Lage + def set_Elektrischer_Antrieb_Lage(self, Elektrischer_Antrieb_Lage): + self.Elektrischer_Antrieb_Lage = Elektrischer_Antrieb_Lage + def get_Geschwindigkeit_L(self): + return self.Geschwindigkeit_L + def set_Geschwindigkeit_L(self, Geschwindigkeit_L): + self.Geschwindigkeit_L = Geschwindigkeit_L + def get_Geschwindigkeit_R(self): + return self.Geschwindigkeit_R + def set_Geschwindigkeit_R(self, Geschwindigkeit_R): + self.Geschwindigkeit_R = Geschwindigkeit_R + def has__content(self): + if ( + self.Elektrischer_Antrieb_Anzahl is not None or + self.Elektrischer_Antrieb_Lage is not None or + self.Geschwindigkeit_L is not None or + self.Geschwindigkeit_R is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsWeichen_und_Gleissperren:', namespacedef_='xmlns:nsWeichen_und_Gleissperren="http://www.plan-pro.org/modell/Weichen_und_Gleissperren/1.10.0"', name_='CKreuzung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CKreuzung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CKreuzung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CKreuzung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CKreuzung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsWeichen_und_Gleissperren:', name_='CKreuzung'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsWeichen_und_Gleissperren:', namespacedef_='xmlns:nsWeichen_und_Gleissperren="http://www.plan-pro.org/modell/Weichen_und_Gleissperren/1.10.0"', name_='CKreuzung', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Elektrischer_Antrieb_Anzahl is not None: + namespaceprefix_ = self.Elektrischer_Antrieb_Anzahl_nsprefix_ + ':' if (UseCapturedNS_ and self.Elektrischer_Antrieb_Anzahl_nsprefix_) else '' + self.Elektrischer_Antrieb_Anzahl.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Elektrischer_Antrieb_Anzahl', pretty_print=pretty_print) + if self.Elektrischer_Antrieb_Lage is not None: + namespaceprefix_ = self.Elektrischer_Antrieb_Lage_nsprefix_ + ':' if (UseCapturedNS_ and self.Elektrischer_Antrieb_Lage_nsprefix_) else '' + self.Elektrischer_Antrieb_Lage.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Elektrischer_Antrieb_Lage', pretty_print=pretty_print) + if self.Geschwindigkeit_L is not None: + namespaceprefix_ = self.Geschwindigkeit_L_nsprefix_ + ':' if (UseCapturedNS_ and self.Geschwindigkeit_L_nsprefix_) else '' + self.Geschwindigkeit_L.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Geschwindigkeit_L', pretty_print=pretty_print) + if self.Geschwindigkeit_R is not None: + namespaceprefix_ = self.Geschwindigkeit_R_nsprefix_ + ':' if (UseCapturedNS_ and self.Geschwindigkeit_R_nsprefix_) else '' + self.Geschwindigkeit_R.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Geschwindigkeit_R', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Elektrischer_Antrieb_Anzahl': + obj_ = TCElektrischer_Antrieb_Anzahl.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Elektrischer_Antrieb_Anzahl = obj_ + obj_.original_tagname_ = 'Elektrischer_Antrieb_Anzahl' + elif nodeName_ == 'Elektrischer_Antrieb_Lage': + obj_ = TCElektrischer_Antrieb_Lage.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Elektrischer_Antrieb_Lage = obj_ + obj_.original_tagname_ = 'Elektrischer_Antrieb_Lage' + elif nodeName_ == 'Geschwindigkeit_L': + obj_ = TCGeschwindigkeit_L.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Geschwindigkeit_L = obj_ + obj_.original_tagname_ = 'Geschwindigkeit_L' + elif nodeName_ == 'Geschwindigkeit_R': + obj_ = TCGeschwindigkeit_R.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Geschwindigkeit_R = obj_ + obj_.original_tagname_ = 'Geschwindigkeit_R' +# end class CKreuzung + + +class TCSchutzschiene(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCSchutzschiene"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCSchutzschiene) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCSchutzschiene.subclass: + return TCSchutzschiene.subclass(*args_, **kwargs_) + else: + return TCSchutzschiene(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def has__content(self): + if ( + self.Wert is not None or + super(TCSchutzschiene, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsWeichen_und_Gleissperren:', namespacedef_='xmlns:nsWeichen_und_Gleissperren="http://www.plan-pro.org/modell/Weichen_und_Gleissperren/1.10.0"', name_='TCSchutzschiene', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCSchutzschiene') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCSchutzschiene': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCSchutzschiene') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCSchutzschiene', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsWeichen_und_Gleissperren:', name_='TCSchutzschiene'): + super(TCSchutzschiene, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCSchutzschiene') + def _exportChildren(self, outfile, level, namespaceprefix_='nsWeichen_und_Gleissperren:', namespacedef_='xmlns:nsWeichen_und_Gleissperren="http://www.plan-pro.org/modell/Weichen_und_Gleissperren/1.10.0"', name_='TCSchutzschiene', fromsubclass_=False, pretty_print=True): + super(TCSchutzschiene, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_boolean(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCSchutzschiene, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + sval_ = child_.text + ival_ = self.gds_parse_boolean(sval_, node, 'Wert') + ival_ = self.gds_validate_boolean(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + super(TCSchutzschiene, self)._buildChildren(child_, node, nodeName_, True) +# end class TCSchutzschiene + + +class CW_Kr_Gsp_Element_Allg(GeneratedsSuper): + """Kr_KrW_Seitenzuordnung -- Bei unsymmetrischen Kreuzungen (Kr) und Kreuzungsweichen (KrW): Zuordnung der Seite Links/Rechts gem + ä + ß + Ril 800.0120. Die Angabe wird nachfolgend f + ü + r das korrekte Zeichnen der Weichendreiecke in ma + ß + st + ä + blichen Lagepl + ä + nen ben + ö + tigt. + Vorzugslage_Automatik -- Automatischer R + ü + cklauf des Elements (Weiche oder Gleissperre) in seine Vorzugslage, sobald die Beanspruchung durch eine Fahrstra + ß + e endet. Zus + ä + tzlich muss auch das Attribut Weiche Vorzugslage oder Gleissperre Vorzugslage angegeben werden. + W_Kr_Gsp_Stellart -- Art, wie das W Kr Gsp Element zu stellen ist. Der ENUM-Wert \"nicht_stellbar\" wird f + ü + r die Abbildung der Kreuzung verwendet. F + ü + r stillgelegte Weichen gem + ä + ß + Iow wird die befahrbare Weichenlage angegeben. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Kr_KrW_Seitenzuordnung=None, Vorzugslage_Automatik=None, W_Kr_Gsp_Stellart=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Kr_KrW_Seitenzuordnung = Kr_KrW_Seitenzuordnung + self.Kr_KrW_Seitenzuordnung_nsprefix_ = None + self.Vorzugslage_Automatik = Vorzugslage_Automatik + self.Vorzugslage_Automatik_nsprefix_ = None + self.W_Kr_Gsp_Stellart = W_Kr_Gsp_Stellart + self.W_Kr_Gsp_Stellart_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CW_Kr_Gsp_Element_Allg) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CW_Kr_Gsp_Element_Allg.subclass: + return CW_Kr_Gsp_Element_Allg.subclass(*args_, **kwargs_) + else: + return CW_Kr_Gsp_Element_Allg(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Kr_KrW_Seitenzuordnung(self): + return self.Kr_KrW_Seitenzuordnung + def set_Kr_KrW_Seitenzuordnung(self, Kr_KrW_Seitenzuordnung): + self.Kr_KrW_Seitenzuordnung = Kr_KrW_Seitenzuordnung + def get_Vorzugslage_Automatik(self): + return self.Vorzugslage_Automatik + def set_Vorzugslage_Automatik(self, Vorzugslage_Automatik): + self.Vorzugslage_Automatik = Vorzugslage_Automatik + def get_W_Kr_Gsp_Stellart(self): + return self.W_Kr_Gsp_Stellart + def set_W_Kr_Gsp_Stellart(self, W_Kr_Gsp_Stellart): + self.W_Kr_Gsp_Stellart = W_Kr_Gsp_Stellart + def has__content(self): + if ( + self.Kr_KrW_Seitenzuordnung is not None or + self.Vorzugslage_Automatik is not None or + self.W_Kr_Gsp_Stellart is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsWeichen_und_Gleissperren:', namespacedef_='xmlns:nsWeichen_und_Gleissperren="http://www.plan-pro.org/modell/Weichen_und_Gleissperren/1.10.0"', name_='CW_Kr_Gsp_Element_Allg', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CW_Kr_Gsp_Element_Allg') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CW_Kr_Gsp_Element_Allg': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CW_Kr_Gsp_Element_Allg') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CW_Kr_Gsp_Element_Allg', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsWeichen_und_Gleissperren:', name_='CW_Kr_Gsp_Element_Allg'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsWeichen_und_Gleissperren:', namespacedef_='xmlns:nsWeichen_und_Gleissperren="http://www.plan-pro.org/modell/Weichen_und_Gleissperren/1.10.0"', name_='CW_Kr_Gsp_Element_Allg', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Kr_KrW_Seitenzuordnung is not None: + namespaceprefix_ = self.Kr_KrW_Seitenzuordnung_nsprefix_ + ':' if (UseCapturedNS_ and self.Kr_KrW_Seitenzuordnung_nsprefix_) else '' + self.Kr_KrW_Seitenzuordnung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Kr_KrW_Seitenzuordnung', pretty_print=pretty_print) + if self.Vorzugslage_Automatik is not None: + namespaceprefix_ = self.Vorzugslage_Automatik_nsprefix_ + ':' if (UseCapturedNS_ and self.Vorzugslage_Automatik_nsprefix_) else '' + self.Vorzugslage_Automatik.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Vorzugslage_Automatik', pretty_print=pretty_print) + if self.W_Kr_Gsp_Stellart is not None: + namespaceprefix_ = self.W_Kr_Gsp_Stellart_nsprefix_ + ':' if (UseCapturedNS_ and self.W_Kr_Gsp_Stellart_nsprefix_) else '' + self.W_Kr_Gsp_Stellart.export(outfile, level, namespaceprefix_, namespacedef_='', name_='W_Kr_Gsp_Stellart', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Kr_KrW_Seitenzuordnung': + obj_ = TCKr_KrW_Seitenzuordnung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Kr_KrW_Seitenzuordnung = obj_ + obj_.original_tagname_ = 'Kr_KrW_Seitenzuordnung' + elif nodeName_ == 'Vorzugslage_Automatik': + obj_ = TCVorzugslage_Automatik.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Vorzugslage_Automatik = obj_ + obj_.original_tagname_ = 'Vorzugslage_Automatik' + elif nodeName_ == 'W_Kr_Gsp_Stellart': + obj_ = TCW_Kr_Gsp_Stellart.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.W_Kr_Gsp_Stellart = obj_ + obj_.original_tagname_ = 'W_Kr_Gsp_Stellart' +# end class CW_Kr_Gsp_Element_Allg + + +class CZungenpaar(GeneratedsSuper): + """Elektrischer_Antrieb_Anzahl -- Anzahl der f + ü + r die W Kr Gsp Komponente vorgesehenen elektrischen Antriebe. Die Anordnung der Weichenantriebe erfolgt nach der angegebenen Regelzeichnung. Mechanische Weichenantriebe sind durch die Stellart bestimmt. Die Anzahl der elektrischen Antribe w + ä + re dann 0! Mechanische Pr + ü + fer und Riegel werden durch die entsprechende Regelzeichnung zugeordnet. F + ü + r eine Kreuzung ist die Anzahl der elektrischen Antrieb mit 0 anzugeben. Bei einer Flachkreuzung, die aus 2 Kreuzungsseiten besteht, werden die Antriebe den jeweiligen Kreuzungsseiten A und B beiden zugeordnet, die jeweils 0 oder 1 Antrieb haben k + ö + nnen. Die Lage der Antriebe ergibt sich aus der Regelzeichnung. F + ü + r eine EKW werden die Antriebe ebenfalls f + ü + r die beiden Kreuzungsseiten A und B getrennt (0 oder 1) angegeben. Die konkrete Lage der Antriebe ergibt sich aus der Regelzeichnung. F + ü + r eine DKW werden die Antriebe f + ü + r die Seiten AB und CD getrennt angegeben. Da im allgemeinen die Zungenpaare (W_Kr_Gsp_Komponente) einer Kreuzungsseite gemeinsam angetrieben werden, ist es bedeutungslos, ob der zugeh + ö + rige Antrieb an dem Zungenpaar A oder B bzw. C oder D angeordnet wird. Die konkrete Lage der Antrieb ergibt sich aus der Regelzeichnung. + Elektrischer_Antrieb_Lage -- Lage des Antriebs von der Weichenspitze aus gesehen. + Geschwindigkeit_L -- Zul + ä + ssige Geschwindigkeit + ü + ber den linken Weichenschenkel. Die Geschwindigkeit kann geringer sein als die aus der Weichengeometrie abgeleitete. Die Angabe erfolgt in km/h. + Geschwindigkeit_R -- Zul + ä + ssige Geschwindigkeit + ü + ber den rechten Weichenschenkel. Die Geschwindigkeit kann geringer sein als die aus der Weichengeometrie abgeleitete. Die Angabe erfolgt in km/h. + Herzstueck_Antriebe -- Anzahl der Antriebe am Herzst + ü + ck einer Weiche. Das Attribut entf + ä + llt, wenn keine bewegliche Herzst + ü + ckspitze vorhanden ist. + Kreuzungsgleis -- Lage der TOP Kante, die bei EKW und DKW vom zugeh + ö + rigen Zungenpaar in Richtung des Kreuzungsmittelpunktes f + ü + hrt. Das Attribut muss bei EKW und DKW angegeben werden, um eine lagerichtige Zuordnung der Kanteneigenschaften in dem Ausgabetabellen sicherzustellen. + Stammgleis -- Lage der TOP Kante, die das Stammgleis repr + ä + sentiert (Blickrichtung von der Weichenspitze zum Weichenstumpf bzw. Kreuzungsmittelpunkt). + Weichensignal -- Existenz eines (Weichen)-Signals, was konstruktiv (mechanisch) mit der Weichenkomponente verbunden ist. Der Begriff, der am Weichensignal anzeigbar ist, wird nicht modelliert. Die konstruktive Ausbildung des Weichensignals wird dem ENUM entnommen. Bei EKW und DKW wird f + ü + r alle Weichenkomponenten das Attribut gef + ü + llt, auch wenn die Lage der Zungenpaare in einem Anzeiger abgebildet werden. Kreuzungen und Kreuzungen mit beweglichen Doppelherzst + ü + ckspitzen (auch Flachkreuzungen genannt) haben grunds + ä + tzlich kein Weichensignal. Wenn die Weichenanlage ein gesondertes (Weichen)-Signal besitzt (z. B. Weichenlagemelder mit Lichtpunkten oder R + ü + ckfallweichensignale), wird ein eigenes Signal modelliert. Die Weichenanlage bzw. das Weichenelement hat dann einen Elementbezug zum entsprechenden Signal. Als Punkt Objekt wird das Signal gesondert verortet. Achtung: Weichensignale mit Lichtpunkten sind nur in EOW-Bereichen zul + ä + ssig. F + ü + r diese Signale existieren keine Regelzeichnungen! DB-Regelwerk Regelzeichnungen + Zungenpruefkontakt_Anzahl -- Anzahl der f + ü + r diese Komponente vorgesehenen elektrischen Zungenpr + ü + fkontakte (Zprk). Ein Zungenpr + ü + fer innerhalb eines Weichenantriebes wird nicht ber + ü + cksichtigt. Die Anordnung der Zungenpr + ü + fkontakte erfolgt nach der angegebenen Regelzeichnung. Mechanische Weichenantriebe sind durch die Stellart bestimmt. Mechanische Pr + ü + fer und Riegel werden durch die entsprechende Regelzeichnung zugeordnet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Elektrischer_Antrieb_Anzahl=None, Elektrischer_Antrieb_Lage=None, Geschwindigkeit_L=None, Geschwindigkeit_R=None, Herzstueck_Antriebe=None, Kreuzungsgleis=None, Stammgleis=None, Weichensignal=None, Zungenpruefkontakt_Anzahl=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Elektrischer_Antrieb_Anzahl = Elektrischer_Antrieb_Anzahl + self.Elektrischer_Antrieb_Anzahl_nsprefix_ = None + self.Elektrischer_Antrieb_Lage = Elektrischer_Antrieb_Lage + self.Elektrischer_Antrieb_Lage_nsprefix_ = None + self.Geschwindigkeit_L = Geschwindigkeit_L + self.Geschwindigkeit_L_nsprefix_ = None + self.Geschwindigkeit_R = Geschwindigkeit_R + self.Geschwindigkeit_R_nsprefix_ = None + self.Herzstueck_Antriebe = Herzstueck_Antriebe + self.Herzstueck_Antriebe_nsprefix_ = None + self.Kreuzungsgleis = Kreuzungsgleis + self.Kreuzungsgleis_nsprefix_ = None + self.Stammgleis = Stammgleis + self.Stammgleis_nsprefix_ = None + self.Weichensignal = Weichensignal + self.Weichensignal_nsprefix_ = None + self.Zungenpruefkontakt_Anzahl = Zungenpruefkontakt_Anzahl + self.Zungenpruefkontakt_Anzahl_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CZungenpaar) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CZungenpaar.subclass: + return CZungenpaar.subclass(*args_, **kwargs_) + else: + return CZungenpaar(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Elektrischer_Antrieb_Anzahl(self): + return self.Elektrischer_Antrieb_Anzahl + def set_Elektrischer_Antrieb_Anzahl(self, Elektrischer_Antrieb_Anzahl): + self.Elektrischer_Antrieb_Anzahl = Elektrischer_Antrieb_Anzahl + def get_Elektrischer_Antrieb_Lage(self): + return self.Elektrischer_Antrieb_Lage + def set_Elektrischer_Antrieb_Lage(self, Elektrischer_Antrieb_Lage): + self.Elektrischer_Antrieb_Lage = Elektrischer_Antrieb_Lage + def get_Geschwindigkeit_L(self): + return self.Geschwindigkeit_L + def set_Geschwindigkeit_L(self, Geschwindigkeit_L): + self.Geschwindigkeit_L = Geschwindigkeit_L + def get_Geschwindigkeit_R(self): + return self.Geschwindigkeit_R + def set_Geschwindigkeit_R(self, Geschwindigkeit_R): + self.Geschwindigkeit_R = Geschwindigkeit_R + def get_Herzstueck_Antriebe(self): + return self.Herzstueck_Antriebe + def set_Herzstueck_Antriebe(self, Herzstueck_Antriebe): + self.Herzstueck_Antriebe = Herzstueck_Antriebe + def get_Kreuzungsgleis(self): + return self.Kreuzungsgleis + def set_Kreuzungsgleis(self, Kreuzungsgleis): + self.Kreuzungsgleis = Kreuzungsgleis + def get_Stammgleis(self): + return self.Stammgleis + def set_Stammgleis(self, Stammgleis): + self.Stammgleis = Stammgleis + def get_Weichensignal(self): + return self.Weichensignal + def set_Weichensignal(self, Weichensignal): + self.Weichensignal = Weichensignal + def get_Zungenpruefkontakt_Anzahl(self): + return self.Zungenpruefkontakt_Anzahl + def set_Zungenpruefkontakt_Anzahl(self, Zungenpruefkontakt_Anzahl): + self.Zungenpruefkontakt_Anzahl = Zungenpruefkontakt_Anzahl + def has__content(self): + if ( + self.Elektrischer_Antrieb_Anzahl is not None or + self.Elektrischer_Antrieb_Lage is not None or + self.Geschwindigkeit_L is not None or + self.Geschwindigkeit_R is not None or + self.Herzstueck_Antriebe is not None or + self.Kreuzungsgleis is not None or + self.Stammgleis is not None or + self.Weichensignal is not None or + self.Zungenpruefkontakt_Anzahl is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsWeichen_und_Gleissperren:', namespacedef_='xmlns:nsWeichen_und_Gleissperren="http://www.plan-pro.org/modell/Weichen_und_Gleissperren/1.10.0"', name_='CZungenpaar', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CZungenpaar') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CZungenpaar': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CZungenpaar') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CZungenpaar', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsWeichen_und_Gleissperren:', name_='CZungenpaar'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsWeichen_und_Gleissperren:', namespacedef_='xmlns:nsWeichen_und_Gleissperren="http://www.plan-pro.org/modell/Weichen_und_Gleissperren/1.10.0"', name_='CZungenpaar', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Elektrischer_Antrieb_Anzahl is not None: + namespaceprefix_ = self.Elektrischer_Antrieb_Anzahl_nsprefix_ + ':' if (UseCapturedNS_ and self.Elektrischer_Antrieb_Anzahl_nsprefix_) else '' + self.Elektrischer_Antrieb_Anzahl.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Elektrischer_Antrieb_Anzahl', pretty_print=pretty_print) + if self.Elektrischer_Antrieb_Lage is not None: + namespaceprefix_ = self.Elektrischer_Antrieb_Lage_nsprefix_ + ':' if (UseCapturedNS_ and self.Elektrischer_Antrieb_Lage_nsprefix_) else '' + self.Elektrischer_Antrieb_Lage.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Elektrischer_Antrieb_Lage', pretty_print=pretty_print) + if self.Geschwindigkeit_L is not None: + namespaceprefix_ = self.Geschwindigkeit_L_nsprefix_ + ':' if (UseCapturedNS_ and self.Geschwindigkeit_L_nsprefix_) else '' + self.Geschwindigkeit_L.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Geschwindigkeit_L', pretty_print=pretty_print) + if self.Geschwindigkeit_R is not None: + namespaceprefix_ = self.Geschwindigkeit_R_nsprefix_ + ':' if (UseCapturedNS_ and self.Geschwindigkeit_R_nsprefix_) else '' + self.Geschwindigkeit_R.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Geschwindigkeit_R', pretty_print=pretty_print) + if self.Herzstueck_Antriebe is not None: + namespaceprefix_ = self.Herzstueck_Antriebe_nsprefix_ + ':' if (UseCapturedNS_ and self.Herzstueck_Antriebe_nsprefix_) else '' + self.Herzstueck_Antriebe.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Herzstueck_Antriebe', pretty_print=pretty_print) + if self.Kreuzungsgleis is not None: + namespaceprefix_ = self.Kreuzungsgleis_nsprefix_ + ':' if (UseCapturedNS_ and self.Kreuzungsgleis_nsprefix_) else '' + self.Kreuzungsgleis.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Kreuzungsgleis', pretty_print=pretty_print) + if self.Stammgleis is not None: + namespaceprefix_ = self.Stammgleis_nsprefix_ + ':' if (UseCapturedNS_ and self.Stammgleis_nsprefix_) else '' + self.Stammgleis.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Stammgleis', pretty_print=pretty_print) + if self.Weichensignal is not None: + namespaceprefix_ = self.Weichensignal_nsprefix_ + ':' if (UseCapturedNS_ and self.Weichensignal_nsprefix_) else '' + self.Weichensignal.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Weichensignal', pretty_print=pretty_print) + if self.Zungenpruefkontakt_Anzahl is not None: + namespaceprefix_ = self.Zungenpruefkontakt_Anzahl_nsprefix_ + ':' if (UseCapturedNS_ and self.Zungenpruefkontakt_Anzahl_nsprefix_) else '' + self.Zungenpruefkontakt_Anzahl.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Zungenpruefkontakt_Anzahl', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Elektrischer_Antrieb_Anzahl': + obj_ = TCElektrischer_Antrieb_Anzahl.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Elektrischer_Antrieb_Anzahl = obj_ + obj_.original_tagname_ = 'Elektrischer_Antrieb_Anzahl' + elif nodeName_ == 'Elektrischer_Antrieb_Lage': + obj_ = TCElektrischer_Antrieb_Lage.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Elektrischer_Antrieb_Lage = obj_ + obj_.original_tagname_ = 'Elektrischer_Antrieb_Lage' + elif nodeName_ == 'Geschwindigkeit_L': + obj_ = TCGeschwindigkeit_L.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Geschwindigkeit_L = obj_ + obj_.original_tagname_ = 'Geschwindigkeit_L' + elif nodeName_ == 'Geschwindigkeit_R': + obj_ = TCGeschwindigkeit_R.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Geschwindigkeit_R = obj_ + obj_.original_tagname_ = 'Geschwindigkeit_R' + elif nodeName_ == 'Herzstueck_Antriebe': + obj_ = TCHerzstueck_Antriebe.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Herzstueck_Antriebe = obj_ + obj_.original_tagname_ = 'Herzstueck_Antriebe' + elif nodeName_ == 'Kreuzungsgleis': + obj_ = TCKreuzungsgleis.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Kreuzungsgleis = obj_ + obj_.original_tagname_ = 'Kreuzungsgleis' + elif nodeName_ == 'Stammgleis': + obj_ = TCStammgleis.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Stammgleis = obj_ + obj_.original_tagname_ = 'Stammgleis' + elif nodeName_ == 'Weichensignal': + obj_ = TCWeichensignal.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Weichensignal = obj_ + obj_.original_tagname_ = 'Weichensignal' + elif nodeName_ == 'Zungenpruefkontakt_Anzahl': + obj_ = TCZungenpruefkontakt_Anzahl.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Zungenpruefkontakt_Anzahl = obj_ + obj_.original_tagname_ = 'Zungenpruefkontakt_Anzahl' +# end class CZungenpaar + + +class TCVorzugslage_Automatik(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCVorzugslage_Automatik"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCVorzugslage_Automatik) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCVorzugslage_Automatik.subclass: + return TCVorzugslage_Automatik.subclass(*args_, **kwargs_) + else: + return TCVorzugslage_Automatik(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def has__content(self): + if ( + self.Wert is not None or + super(TCVorzugslage_Automatik, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsWeichen_und_Gleissperren:', namespacedef_='xmlns:nsWeichen_und_Gleissperren="http://www.plan-pro.org/modell/Weichen_und_Gleissperren/1.10.0"', name_='TCVorzugslage_Automatik', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCVorzugslage_Automatik') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCVorzugslage_Automatik': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCVorzugslage_Automatik') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCVorzugslage_Automatik', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsWeichen_und_Gleissperren:', name_='TCVorzugslage_Automatik'): + super(TCVorzugslage_Automatik, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCVorzugslage_Automatik') + def _exportChildren(self, outfile, level, namespaceprefix_='nsWeichen_und_Gleissperren:', namespacedef_='xmlns:nsWeichen_und_Gleissperren="http://www.plan-pro.org/modell/Weichen_und_Gleissperren/1.10.0"', name_='TCVorzugslage_Automatik', fromsubclass_=False, pretty_print=True): + super(TCVorzugslage_Automatik, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_boolean(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCVorzugslage_Automatik, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + sval_ = child_.text + ival_ = self.gds_parse_boolean(sval_, node, 'Wert') + ival_ = self.gds_validate_boolean(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + super(TCVorzugslage_Automatik, self)._buildChildren(child_, node, nodeName_, True) +# end class TCVorzugslage_Automatik + + +class TCW_Kr_Art(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCW_Kr_Art"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMW_Kr_Art(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCW_Kr_Art) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCW_Kr_Art.subclass: + return TCW_Kr_Art.subclass(*args_, **kwargs_) + else: + return TCW_Kr_Art(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMW_Kr_Art(self, value): + result = True + # Validate type ENUMW_Kr_Art, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['ABW', 'DKW', 'DW', 'EKW', 'EW', 'Flachkreuzung', 'IBW', 'Klothoidenweiche', 'Korbbogenweiche', 'Kr', 'sonstige'] + 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 ENUMW_Kr_Art' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCW_Kr_Art, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsWeichen_und_Gleissperren:', namespacedef_='xmlns:nsWeichen_und_Gleissperren="http://www.plan-pro.org/modell/Weichen_und_Gleissperren/1.10.0"', name_='TCW_Kr_Art', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCW_Kr_Art') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCW_Kr_Art': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCW_Kr_Art') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCW_Kr_Art', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsWeichen_und_Gleissperren:', name_='TCW_Kr_Art'): + super(TCW_Kr_Art, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCW_Kr_Art') + def _exportChildren(self, outfile, level, namespaceprefix_='nsWeichen_und_Gleissperren:', namespacedef_='xmlns:nsWeichen_und_Gleissperren="http://www.plan-pro.org/modell/Weichen_und_Gleissperren/1.10.0"', name_='TCW_Kr_Art', fromsubclass_=False, pretty_print=True): + super(TCW_Kr_Art, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCW_Kr_Art, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMW_Kr_Art + self.validate_ENUMW_Kr_Art(self.Wert) + super(TCW_Kr_Art, self)._buildChildren(child_, node, nodeName_, True) +# end class TCW_Kr_Art + + +class CWeiche_Element(GeneratedsSuper): + """Auffahrortung -- F + ü + r das technisch nicht auffahrbare Weichenelement sind spezielle Sensoren zur Auffahrortung anzubringen. Ist diese Funktionalit + ä + t erforderlich ist, wird das Attribut auf true gesetzt. Ansonsten entf + ä + llt es. + GZ_Freimeldung_L -- Angabe, ob die Freimeldung im linken Weichenschenkel grenzzeichenfrei realisiert ist (true) oder nicht (false). + GZ_Freimeldung_R -- Angabe, ob die Freimeldung im rechten Weichenschenkel grenzzeichenfrei realisiert ist (true) oder nicht (false). + ID_Grenzzeichen -- Verweis auf ein Signal, was das zugeh + ö + rige Grenzzeichen dieser Weiche ist. + ID_Signal -- Verweis auf ein Signal, welches den Zustand des W_Kr_Gsp_Element signalisiert (z. B. Weichenlagemelder). + Weiche_Betriebsart -- Neben dem Normalbetrieb (Element ist stellbar) kann das Element durch den Betriebsartenstecker in einer definierten Lage festgelegt werden. + Weiche_Vorzugslage -- Vorzugslage des Weichenelements. Sofern die Angabe erforderlich ist, enth + ä + lt dieses Attribut den Eintrag links oder rechts bez + ü + glich der Fahrtrichtung mit Blick von der Weichenspitze. Ist dieses Attribut nicht angegeben, so ist auch keine Vorzugslage vorhanden. Das Attribut Vorzugslage Automatik darf dann nicht bef + ü + llt sein. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Auffahrortung=None, GZ_Freimeldung_L=None, GZ_Freimeldung_R=None, ID_Grenzzeichen=None, ID_Signal=None, Weiche_Betriebsart=None, Weiche_Vorzugslage=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Auffahrortung = Auffahrortung + self.Auffahrortung_nsprefix_ = None + self.GZ_Freimeldung_L = GZ_Freimeldung_L + self.GZ_Freimeldung_L_nsprefix_ = None + self.GZ_Freimeldung_R = GZ_Freimeldung_R + self.GZ_Freimeldung_R_nsprefix_ = None + self.ID_Grenzzeichen = ID_Grenzzeichen + self.ID_Grenzzeichen_nsprefix_ = None + self.ID_Signal = ID_Signal + self.ID_Signal_nsprefix_ = None + self.Weiche_Betriebsart = Weiche_Betriebsart + self.Weiche_Betriebsart_nsprefix_ = None + self.Weiche_Vorzugslage = Weiche_Vorzugslage + self.Weiche_Vorzugslage_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CWeiche_Element) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CWeiche_Element.subclass: + return CWeiche_Element.subclass(*args_, **kwargs_) + else: + return CWeiche_Element(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Auffahrortung(self): + return self.Auffahrortung + def set_Auffahrortung(self, Auffahrortung): + self.Auffahrortung = Auffahrortung + def get_GZ_Freimeldung_L(self): + return self.GZ_Freimeldung_L + def set_GZ_Freimeldung_L(self, GZ_Freimeldung_L): + self.GZ_Freimeldung_L = GZ_Freimeldung_L + def get_GZ_Freimeldung_R(self): + return self.GZ_Freimeldung_R + def set_GZ_Freimeldung_R(self, GZ_Freimeldung_R): + self.GZ_Freimeldung_R = GZ_Freimeldung_R + def get_ID_Grenzzeichen(self): + return self.ID_Grenzzeichen + def set_ID_Grenzzeichen(self, ID_Grenzzeichen): + self.ID_Grenzzeichen = ID_Grenzzeichen + def get_ID_Signal(self): + return self.ID_Signal + def set_ID_Signal(self, ID_Signal): + self.ID_Signal = ID_Signal + def get_Weiche_Betriebsart(self): + return self.Weiche_Betriebsart + def set_Weiche_Betriebsart(self, Weiche_Betriebsart): + self.Weiche_Betriebsart = Weiche_Betriebsart + def get_Weiche_Vorzugslage(self): + return self.Weiche_Vorzugslage + def set_Weiche_Vorzugslage(self, Weiche_Vorzugslage): + self.Weiche_Vorzugslage = Weiche_Vorzugslage + def has__content(self): + if ( + self.Auffahrortung is not None or + self.GZ_Freimeldung_L is not None or + self.GZ_Freimeldung_R is not None or + self.ID_Grenzzeichen is not None or + self.ID_Signal is not None or + self.Weiche_Betriebsart is not None or + self.Weiche_Vorzugslage is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsWeichen_und_Gleissperren:', namespacedef_='xmlns:nsWeichen_und_Gleissperren="http://www.plan-pro.org/modell/Weichen_und_Gleissperren/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CWeiche_Element', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CWeiche_Element') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CWeiche_Element': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CWeiche_Element') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CWeiche_Element', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsWeichen_und_Gleissperren:', name_='CWeiche_Element'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsWeichen_und_Gleissperren:', namespacedef_='xmlns:nsWeichen_und_Gleissperren="http://www.plan-pro.org/modell/Weichen_und_Gleissperren/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CWeiche_Element', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Auffahrortung is not None: + namespaceprefix_ = self.Auffahrortung_nsprefix_ + ':' if (UseCapturedNS_ and self.Auffahrortung_nsprefix_) else '' + self.Auffahrortung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Auffahrortung', pretty_print=pretty_print) + if self.GZ_Freimeldung_L is not None: + namespaceprefix_ = self.GZ_Freimeldung_L_nsprefix_ + ':' if (UseCapturedNS_ and self.GZ_Freimeldung_L_nsprefix_) else '' + self.GZ_Freimeldung_L.export(outfile, level, namespaceprefix_, namespacedef_='', name_='GZ_Freimeldung_L', pretty_print=pretty_print) + if self.GZ_Freimeldung_R is not None: + namespaceprefix_ = self.GZ_Freimeldung_R_nsprefix_ + ':' if (UseCapturedNS_ and self.GZ_Freimeldung_R_nsprefix_) else '' + self.GZ_Freimeldung_R.export(outfile, level, namespaceprefix_, namespacedef_='', name_='GZ_Freimeldung_R', pretty_print=pretty_print) + if self.ID_Grenzzeichen is not None: + namespaceprefix_ = self.ID_Grenzzeichen_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Grenzzeichen_nsprefix_) else '' + self.ID_Grenzzeichen.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Grenzzeichen', pretty_print=pretty_print) + if self.ID_Signal is not None: + namespaceprefix_ = self.ID_Signal_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Signal_nsprefix_) else '' + self.ID_Signal.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Signal', pretty_print=pretty_print) + if self.Weiche_Betriebsart is not None: + namespaceprefix_ = self.Weiche_Betriebsart_nsprefix_ + ':' if (UseCapturedNS_ and self.Weiche_Betriebsart_nsprefix_) else '' + self.Weiche_Betriebsart.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Weiche_Betriebsart', pretty_print=pretty_print) + if self.Weiche_Vorzugslage is not None: + namespaceprefix_ = self.Weiche_Vorzugslage_nsprefix_ + ':' if (UseCapturedNS_ and self.Weiche_Vorzugslage_nsprefix_) else '' + self.Weiche_Vorzugslage.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Weiche_Vorzugslage', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Auffahrortung': + obj_ = TCAuffahrortung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Auffahrortung = obj_ + obj_.original_tagname_ = 'Auffahrortung' + elif nodeName_ == 'GZ_Freimeldung_L': + obj_ = CGZ_Freimeldung_L.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.GZ_Freimeldung_L = obj_ + obj_.original_tagname_ = 'GZ_Freimeldung_L' + elif nodeName_ == 'GZ_Freimeldung_R': + obj_ = CGZ_Freimeldung_R.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.GZ_Freimeldung_R = obj_ + obj_.original_tagname_ = 'GZ_Freimeldung_R' + elif nodeName_ == 'ID_Grenzzeichen': + obj_ = TCID_Grenzzeichen.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Grenzzeichen = obj_ + obj_.original_tagname_ = 'ID_Grenzzeichen' + elif nodeName_ == 'ID_Signal': + obj_ = TCID_Signal.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Signal = obj_ + obj_.original_tagname_ = 'ID_Signal' + elif nodeName_ == 'Weiche_Betriebsart': + obj_ = TCWeiche_Betriebsart.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Weiche_Betriebsart = obj_ + obj_.original_tagname_ = 'Weiche_Betriebsart' + elif nodeName_ == 'Weiche_Vorzugslage': + obj_ = TCWeiche_Vorzugslage.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Weiche_Vorzugslage = obj_ + obj_.original_tagname_ = 'Weiche_Vorzugslage' +# end class CWeiche_Element + + +class TCElement_Lage(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCElement_Lage"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMElement_Lage(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCElement_Lage) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCElement_Lage.subclass: + return TCElement_Lage.subclass(*args_, **kwargs_) + else: + return TCElement_Lage(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMElement_Lage(self, value): + result = True + # Validate type ENUMElement_Lage, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['Abschnitt', 'Weiche', 'WeicheL', 'WeicheR'] + 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 ENUMElement_Lage' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCElement_Lage, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsWeichen_und_Gleissperren:', namespacedef_='xmlns:nsWeichen_und_Gleissperren="http://www.plan-pro.org/modell/Weichen_und_Gleissperren/1.10.0"', name_='TCElement_Lage', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCElement_Lage') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCElement_Lage': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCElement_Lage') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCElement_Lage', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsWeichen_und_Gleissperren:', name_='TCElement_Lage'): + super(TCElement_Lage, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCElement_Lage') + def _exportChildren(self, outfile, level, namespaceprefix_='nsWeichen_und_Gleissperren:', namespacedef_='xmlns:nsWeichen_und_Gleissperren="http://www.plan-pro.org/modell/Weichen_und_Gleissperren/1.10.0"', name_='TCElement_Lage', fromsubclass_=False, pretty_print=True): + super(TCElement_Lage, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCElement_Lage, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMElement_Lage + self.validate_ENUMElement_Lage(self.Wert) + super(TCElement_Lage, self)._buildChildren(child_, node, nodeName_, True) +# end class TCElement_Lage + + +class TCWeiche_Vorzugslage(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCWeiche_Vorzugslage"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TWeiche_Vorzugslage(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCWeiche_Vorzugslage) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCWeiche_Vorzugslage.subclass: + return TCWeiche_Vorzugslage.subclass(*args_, **kwargs_) + else: + return TCWeiche_Vorzugslage(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TWeiche_Vorzugslage(self, value): + result = True + # Validate type TWeiche_Vorzugslage, a restriction on nsBasisTypen:TLinksRechts. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['links', 'rechts'] + 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 TWeiche_Vorzugslage' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCWeiche_Vorzugslage, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsWeichen_und_Gleissperren:', namespacedef_='xmlns:nsWeichen_und_Gleissperren="http://www.plan-pro.org/modell/Weichen_und_Gleissperren/1.10.0"', name_='TCWeiche_Vorzugslage', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCWeiche_Vorzugslage') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCWeiche_Vorzugslage': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCWeiche_Vorzugslage') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCWeiche_Vorzugslage', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsWeichen_und_Gleissperren:', name_='TCWeiche_Vorzugslage'): + super(TCWeiche_Vorzugslage, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCWeiche_Vorzugslage') + def _exportChildren(self, outfile, level, namespaceprefix_='nsWeichen_und_Gleissperren:', namespacedef_='xmlns:nsWeichen_und_Gleissperren="http://www.plan-pro.org/modell/Weichen_und_Gleissperren/1.10.0"', name_='TCWeiche_Vorzugslage', fromsubclass_=False, pretty_print=True): + super(TCWeiche_Vorzugslage, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCWeiche_Vorzugslage, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TWeiche_Vorzugslage + self.validate_TWeiche_Vorzugslage(self.Wert) + super(TCWeiche_Vorzugslage, self)._buildChildren(child_, node, nodeName_, True) +# end class TCWeiche_Vorzugslage + + +class TCElektrischer_Antrieb_Lage(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCElektrischer_Antrieb_Lage"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TElektrischer_Antrieb_Lage(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCElektrischer_Antrieb_Lage) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCElektrischer_Antrieb_Lage.subclass: + return TCElektrischer_Antrieb_Lage.subclass(*args_, **kwargs_) + else: + return TCElektrischer_Antrieb_Lage(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TElektrischer_Antrieb_Lage(self, value): + result = True + # Validate type TElektrischer_Antrieb_Lage, a restriction on nsBasisTypen:TLinksRechts. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['links', 'rechts'] + 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 TElektrischer_Antrieb_Lage' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCElektrischer_Antrieb_Lage, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsWeichen_und_Gleissperren:', namespacedef_='xmlns:nsWeichen_und_Gleissperren="http://www.plan-pro.org/modell/Weichen_und_Gleissperren/1.10.0"', name_='TCElektrischer_Antrieb_Lage', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCElektrischer_Antrieb_Lage') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCElektrischer_Antrieb_Lage': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCElektrischer_Antrieb_Lage') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCElektrischer_Antrieb_Lage', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsWeichen_und_Gleissperren:', name_='TCElektrischer_Antrieb_Lage'): + super(TCElektrischer_Antrieb_Lage, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCElektrischer_Antrieb_Lage') + def _exportChildren(self, outfile, level, namespaceprefix_='nsWeichen_und_Gleissperren:', namespacedef_='xmlns:nsWeichen_und_Gleissperren="http://www.plan-pro.org/modell/Weichen_und_Gleissperren/1.10.0"', name_='TCElektrischer_Antrieb_Lage', fromsubclass_=False, pretty_print=True): + super(TCElektrischer_Antrieb_Lage, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCElektrischer_Antrieb_Lage, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TElektrischer_Antrieb_Lage + self.validate_TElektrischer_Antrieb_Lage(self.Wert) + super(TCElektrischer_Antrieb_Lage, self)._buildChildren(child_, node, nodeName_, True) +# end class TCElektrischer_Antrieb_Lage + + +class TCW_Kr_Grundform(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCW_Kr_Grundform"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TW_Kr_Grundform(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCW_Kr_Grundform) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCW_Kr_Grundform.subclass: + return TCW_Kr_Grundform.subclass(*args_, **kwargs_) + else: + return TCW_Kr_Grundform(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TW_Kr_Grundform(self, value): + result = True + # Validate type TW_Kr_Grundform, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TW_Kr_Grundform_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TW_Kr_Grundform_patterns_, )) + result = False + return result + validate_TW_Kr_Grundform_patterns_ = [['^(.{1,50})$'], ['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCW_Kr_Grundform, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsWeichen_und_Gleissperren:', namespacedef_='xmlns:nsWeichen_und_Gleissperren="http://www.plan-pro.org/modell/Weichen_und_Gleissperren/1.10.0"', name_='TCW_Kr_Grundform', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCW_Kr_Grundform') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCW_Kr_Grundform': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCW_Kr_Grundform') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCW_Kr_Grundform', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsWeichen_und_Gleissperren:', name_='TCW_Kr_Grundform'): + super(TCW_Kr_Grundform, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCW_Kr_Grundform') + def _exportChildren(self, outfile, level, namespaceprefix_='nsWeichen_und_Gleissperren:', namespacedef_='xmlns:nsWeichen_und_Gleissperren="http://www.plan-pro.org/modell/Weichen_und_Gleissperren/1.10.0"', name_='TCW_Kr_Grundform', fromsubclass_=False, pretty_print=True): + super(TCW_Kr_Grundform, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCW_Kr_Grundform, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TW_Kr_Grundform + self.validate_TW_Kr_Grundform(self.Wert) + super(TCW_Kr_Grundform, self)._buildChildren(child_, node, nodeName_, True) +# end class TCW_Kr_Grundform + + +class TCKr_KrW_Seitenzuordnung(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCKr_KrW_Seitenzuordnung"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TKr_KrW_Seitenzuordnung(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCKr_KrW_Seitenzuordnung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCKr_KrW_Seitenzuordnung.subclass: + return TCKr_KrW_Seitenzuordnung.subclass(*args_, **kwargs_) + else: + return TCKr_KrW_Seitenzuordnung(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TKr_KrW_Seitenzuordnung(self, value): + result = True + # Validate type TKr_KrW_Seitenzuordnung, a restriction on nsBasisTypen:TLinksRechts. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['links', 'rechts'] + 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 TKr_KrW_Seitenzuordnung' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCKr_KrW_Seitenzuordnung, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsWeichen_und_Gleissperren:', namespacedef_='xmlns:nsWeichen_und_Gleissperren="http://www.plan-pro.org/modell/Weichen_und_Gleissperren/1.10.0"', name_='TCKr_KrW_Seitenzuordnung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCKr_KrW_Seitenzuordnung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCKr_KrW_Seitenzuordnung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCKr_KrW_Seitenzuordnung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCKr_KrW_Seitenzuordnung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsWeichen_und_Gleissperren:', name_='TCKr_KrW_Seitenzuordnung'): + super(TCKr_KrW_Seitenzuordnung, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCKr_KrW_Seitenzuordnung') + def _exportChildren(self, outfile, level, namespaceprefix_='nsWeichen_und_Gleissperren:', namespacedef_='xmlns:nsWeichen_und_Gleissperren="http://www.plan-pro.org/modell/Weichen_und_Gleissperren/1.10.0"', name_='TCKr_KrW_Seitenzuordnung', fromsubclass_=False, pretty_print=True): + super(TCKr_KrW_Seitenzuordnung, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCKr_KrW_Seitenzuordnung, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TKr_KrW_Seitenzuordnung + self.validate_TKr_KrW_Seitenzuordnung(self.Wert) + super(TCKr_KrW_Seitenzuordnung, self)._buildChildren(child_, node, nodeName_, True) +# end class TCKr_KrW_Seitenzuordnung + + +class TCBesonderes_Fahrwegelement(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCBesonderes_Fahrwegelement"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMBesonderes_Fahrwegelement(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCBesonderes_Fahrwegelement) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCBesonderes_Fahrwegelement.subclass: + return TCBesonderes_Fahrwegelement.subclass(*args_, **kwargs_) + else: + return TCBesonderes_Fahrwegelement(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMBesonderes_Fahrwegelement(self, value): + result = True + # Validate type ENUMBesonderes_Fahrwegelement, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['abklappbarer Prellbock', 'bewegliche Brücke', 'sonstige', 'Wehrkammertor'] + 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 ENUMBesonderes_Fahrwegelement' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCBesonderes_Fahrwegelement, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsWeichen_und_Gleissperren:', namespacedef_='xmlns:nsWeichen_und_Gleissperren="http://www.plan-pro.org/modell/Weichen_und_Gleissperren/1.10.0"', name_='TCBesonderes_Fahrwegelement', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCBesonderes_Fahrwegelement') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCBesonderes_Fahrwegelement': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBesonderes_Fahrwegelement') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCBesonderes_Fahrwegelement', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsWeichen_und_Gleissperren:', name_='TCBesonderes_Fahrwegelement'): + super(TCBesonderes_Fahrwegelement, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBesonderes_Fahrwegelement') + def _exportChildren(self, outfile, level, namespaceprefix_='nsWeichen_und_Gleissperren:', namespacedef_='xmlns:nsWeichen_und_Gleissperren="http://www.plan-pro.org/modell/Weichen_und_Gleissperren/1.10.0"', name_='TCBesonderes_Fahrwegelement', fromsubclass_=False, pretty_print=True): + super(TCBesonderes_Fahrwegelement, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCBesonderes_Fahrwegelement, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMBesonderes_Fahrwegelement + self.validate_ENUMBesonderes_Fahrwegelement(self.Wert) + super(TCBesonderes_Fahrwegelement, self)._buildChildren(child_, node, nodeName_, True) +# end class TCBesonderes_Fahrwegelement + + +class CWeichenlaufkette(CBasis_Objekt): + """CWeichenlaufkette -- Logisches Objekt von mehreren durch Antriebe stellbaren Fahrwegelementen (Weichen, Gleissperren, sonstigen stellbaren Elementen), deren Umlauf automatisch bei einer entsprechenden Anforderung (z.B. Fahrstra + ß + e) erfolgt. Diese stellbaren Elemente k + ö + nnen nur dann automatisch gestellt werden, wenn sie auch einer Weichenlaufkette (WLK) zugeordnet sind. Jedes stellbare Element wird genau einer WLK zugeordnet. Durch Sperren der WLK kann dieser automatische Umlauf verhindert werden. Innerhalb von Weichenlaufketten sind dabei folgende Elemente zul + ä + ssig: Weichen, Gleissperren und Sonderelemente, die automatisch umlaufen sollen. F + ü + r die Bedienung von Ersatzauftr + ä + gen des Typs 2 (EE2, VE2, LE2) an Hauptsignalen m + ü + ssen eine oder mehrere Weichenlaufketten gesperrt werden. Zur Reduzierung betrieblicher Behinderungen werden oftmals mehrere Weichenlaufketten in einer Betriebsstelle eingerichtet. DB-Regelwerk Die Bezeichnung der Weichenlaufkette wird gem + ä + ß + Ril 819.0603 in der Form LKn (n = laufende Nummer) gebildet und in der Attributgruppe Bezeichnung abgebildet. + Bezeichnung -- Attributgruppe zur Bezeichnung von Stell- und sonstigen Elementen. Sofern ausreichend, wird an dieser Stelle + ü + ber Vererbung die Basisattributgruppe Bezeichnung Element eingebunden. Ist die Abbildung mit den Attributen der Basisattributgruppe nicht m + ö + glich (z. B. wegen spezieller Patternvorgabe) oder nicht sinnvoll (z. B. weil eine Unterscheidung nach Bezeichnung_Lageplan_..., Bezeichnung_Tabelle und Bezeichnung_Aussenanlage (Pflichtattribute!) nicht notwendig ist), werden in der Attributgruppe Bezeichnung entsprechende objektspezifische Bezeichnungsattribute modelliert. Diese sind nach dem Schema Bezeichnung_[Objektname] zu benennen. Zudem ist es m + ö + glich, gleichzeitig die Basisattributgruppe Bezeichnung Element und objektspezifische Attribute einzubinden. Siehe auch Bildung der Bezeichnungen. DB-Regelwerk Sicherungstechnischer Lage- und + Ü + bersichtsplan, B + Ü + -Lageplan Planungstabellen + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasis_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, Bezeichnung=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CWeichenlaufkette"), self).__init__(Identitaet, Basis_Objekt_Allg, ID_Bearbeitungsvermerk, ID_Oertlichkeit_Ausgabe, Objektreferenzen, **kwargs_) + self.Bezeichnung = Bezeichnung + self.Bezeichnung_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CWeichenlaufkette) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CWeichenlaufkette.subclass: + return CWeichenlaufkette.subclass(*args_, **kwargs_) + else: + return CWeichenlaufkette(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Bezeichnung(self): + return self.Bezeichnung + def set_Bezeichnung(self, Bezeichnung): + self.Bezeichnung = Bezeichnung + def has__content(self): + if ( + self.Bezeichnung is not None or + super(CWeichenlaufkette, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsWeichen_und_Gleissperren:', namespacedef_='xmlns:nsWeichen_und_Gleissperren="http://www.plan-pro.org/modell/Weichen_und_Gleissperren/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='CWeichenlaufkette', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CWeichenlaufkette') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CWeichenlaufkette': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CWeichenlaufkette') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CWeichenlaufkette', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsWeichen_und_Gleissperren:', name_='CWeichenlaufkette'): + super(CWeichenlaufkette, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CWeichenlaufkette') + def _exportChildren(self, outfile, level, namespaceprefix_='nsWeichen_und_Gleissperren:', namespacedef_='xmlns:nsWeichen_und_Gleissperren="http://www.plan-pro.org/modell/Weichen_und_Gleissperren/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='CWeichenlaufkette', fromsubclass_=False, pretty_print=True): + super(CWeichenlaufkette, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Bezeichnung is not None: + namespaceprefix_ = self.Bezeichnung_nsprefix_ + ':' if (UseCapturedNS_ and self.Bezeichnung_nsprefix_) else '' + self.Bezeichnung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Bezeichnung', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CWeichenlaufkette, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Bezeichnung': + obj_ = CBezeichnung_Element.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Bezeichnung = obj_ + obj_.original_tagname_ = 'Bezeichnung' + super(CWeichenlaufkette, self)._buildChildren(child_, node, nodeName_, True) +# end class CWeichenlaufkette + + +class CGZ_Freimeldung_L(GeneratedsSuper): + """Element_Lage -- Angabe bei nicht grenzzeichenfreier Freimeldung eines Weichenschenkels, in welcher Lage das angrenzende Fahrwegelement (Gleis oder Weiche) zur Freipr + ü + fung herangezogen wird. Wenn die Grenzzeichenfreiheit durch die Freipr + ü + fung eines angrenzenden Fahrwegelementes erkannt wird, das ein Gleisabschnitt ist, wird Abschnitt, eine Weiche ist, die unabh + ä + ngig von ihrer Lage herangezogen wird, wird Weiche, eine Weiche ist, die nur in Linkslage herangezogen wird, wird WeicheL, eine Weiche ist, die nur in Rechtslage herangezogen wird, wird WeicheR als ENUM-Wert verwendet. + ID_Element -- Verweis auf das angrenzende W_Kr_Gsp_Element bzw. den angrenzenden Gleis_Abschnitt, das/der zum Pr + ü + fen der Grenzzeichenfreiheit des rechten bzw. linken Weichenschenkels herangezogen wird. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Element_Lage=None, ID_Element=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Element_Lage = Element_Lage + self.Element_Lage_nsprefix_ = None + self.ID_Element = ID_Element + self.ID_Element_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CGZ_Freimeldung_L) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CGZ_Freimeldung_L.subclass: + return CGZ_Freimeldung_L.subclass(*args_, **kwargs_) + else: + return CGZ_Freimeldung_L(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Element_Lage(self): + return self.Element_Lage + def set_Element_Lage(self, Element_Lage): + self.Element_Lage = Element_Lage + def get_ID_Element(self): + return self.ID_Element + def set_ID_Element(self, ID_Element): + self.ID_Element = ID_Element + def has__content(self): + if ( + self.Element_Lage is not None or + self.ID_Element is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsWeichen_und_Gleissperren:', namespacedef_='xmlns:nsWeichen_und_Gleissperren="http://www.plan-pro.org/modell/Weichen_und_Gleissperren/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CGZ_Freimeldung_L', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CGZ_Freimeldung_L') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CGZ_Freimeldung_L': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CGZ_Freimeldung_L') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CGZ_Freimeldung_L', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsWeichen_und_Gleissperren:', name_='CGZ_Freimeldung_L'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsWeichen_und_Gleissperren:', namespacedef_='xmlns:nsWeichen_und_Gleissperren="http://www.plan-pro.org/modell/Weichen_und_Gleissperren/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CGZ_Freimeldung_L', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Element_Lage is not None: + namespaceprefix_ = self.Element_Lage_nsprefix_ + ':' if (UseCapturedNS_ and self.Element_Lage_nsprefix_) else '' + self.Element_Lage.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Element_Lage', pretty_print=pretty_print) + if self.ID_Element is not None: + namespaceprefix_ = self.ID_Element_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Element_nsprefix_) else '' + self.ID_Element.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Element', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Element_Lage': + obj_ = TCElement_Lage.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Element_Lage = obj_ + obj_.original_tagname_ = 'Element_Lage' + elif nodeName_ == 'ID_Element': + obj_ = TCID_Element.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Element = obj_ + obj_.original_tagname_ = 'ID_Element' +# end class CGZ_Freimeldung_L + + +class TCGleis_Abschluss_Art(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCGleis_Abschluss_Art"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMGleis_Abschluss_Art(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCGleis_Abschluss_Art) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCGleis_Abschluss_Art.subclass: + return TCGleis_Abschluss_Art.subclass(*args_, **kwargs_) + else: + return TCGleis_Abschluss_Art(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMGleis_Abschluss_Art(self, value): + result = True + # Validate type ENUMGleis_Abschluss_Art, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['Bremsprellbock', 'Drehscheibe', 'Faehranleger', 'Festprellbock', 'Infrastrukturgrenze', 'Kopframpe', 'Schiebebuehne', 'Schwellenkreuz', 'sonstige'] + 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 ENUMGleis_Abschluss_Art' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCGleis_Abschluss_Art, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsWeichen_und_Gleissperren:', namespacedef_='xmlns:nsWeichen_und_Gleissperren="http://www.plan-pro.org/modell/Weichen_und_Gleissperren/1.10.0"', name_='TCGleis_Abschluss_Art', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCGleis_Abschluss_Art') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCGleis_Abschluss_Art': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCGleis_Abschluss_Art') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCGleis_Abschluss_Art', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsWeichen_und_Gleissperren:', name_='TCGleis_Abschluss_Art'): + super(TCGleis_Abschluss_Art, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCGleis_Abschluss_Art') + def _exportChildren(self, outfile, level, namespaceprefix_='nsWeichen_und_Gleissperren:', namespacedef_='xmlns:nsWeichen_und_Gleissperren="http://www.plan-pro.org/modell/Weichen_und_Gleissperren/1.10.0"', name_='TCGleis_Abschluss_Art', fromsubclass_=False, pretty_print=True): + super(TCGleis_Abschluss_Art, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCGleis_Abschluss_Art, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMGleis_Abschluss_Art + self.validate_ENUMGleis_Abschluss_Art(self.Wert) + super(TCGleis_Abschluss_Art, self)._buildChildren(child_, node, nodeName_, True) +# end class TCGleis_Abschluss_Art + + +class TCStammgleis(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCStammgleis"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TStammgleis(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCStammgleis) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCStammgleis.subclass: + return TCStammgleis.subclass(*args_, **kwargs_) + else: + return TCStammgleis(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TStammgleis(self, value): + result = True + # Validate type TStammgleis, a restriction on nsBasisTypen:TLinksRechts. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['links', 'rechts'] + 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 TStammgleis' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCStammgleis, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsWeichen_und_Gleissperren:', namespacedef_='xmlns:nsWeichen_und_Gleissperren="http://www.plan-pro.org/modell/Weichen_und_Gleissperren/1.10.0"', name_='TCStammgleis', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCStammgleis') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCStammgleis': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCStammgleis') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCStammgleis', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsWeichen_und_Gleissperren:', name_='TCStammgleis'): + super(TCStammgleis, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCStammgleis') + def _exportChildren(self, outfile, level, namespaceprefix_='nsWeichen_und_Gleissperren:', namespacedef_='xmlns:nsWeichen_und_Gleissperren="http://www.plan-pro.org/modell/Weichen_und_Gleissperren/1.10.0"', name_='TCStammgleis', fromsubclass_=False, pretty_print=True): + super(TCStammgleis, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCStammgleis, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TStammgleis + self.validate_TStammgleis(self.Wert) + super(TCStammgleis, self)._buildChildren(child_, node, nodeName_, True) +# end class TCStammgleis + + +class CW_Kr_Anlage_Allg(GeneratedsSuper): + """Isolierfall -- Art der Isolierung der Weiche. Es wird bei der Verwendung von Gleisstromkreisen zur Freimeldung die Bezeichnung des Isolierfalls gem + ä + ß + dem Katalog der Weichenisolierung angegeben. + W_Kr_Art -- Beschreibt die W Kr Anlage bez + ü + glich ihrer konstruktiven Art. Bei Auswahl von \"sonstige\" ist ein Bearbeitungsvermerk mit entsprechenden Erl + ä + uterungen anzuf + ü + gen. + W_Kr_Grundform -- Angabe der vollst + ä + ndigen Weichengrundform gem + ä + ß + Ril. 800.0120. Die Schreibweise erfolgt grunds + ä + tzlich mit Leerzeichen! Beispiele: EW 60 - 1200 - 1:18,5 - fb; Kr 54 - 1:18,5; DKW 49 - 190 - 1:9. DB-Regerwerk Ril. 800.0120 + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Isolierfall=None, W_Kr_Art=None, W_Kr_Grundform=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Isolierfall = Isolierfall + self.Isolierfall_nsprefix_ = None + self.W_Kr_Art = W_Kr_Art + self.W_Kr_Art_nsprefix_ = None + self.W_Kr_Grundform = W_Kr_Grundform + self.W_Kr_Grundform_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CW_Kr_Anlage_Allg) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CW_Kr_Anlage_Allg.subclass: + return CW_Kr_Anlage_Allg.subclass(*args_, **kwargs_) + else: + return CW_Kr_Anlage_Allg(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Isolierfall(self): + return self.Isolierfall + def set_Isolierfall(self, Isolierfall): + self.Isolierfall = Isolierfall + def get_W_Kr_Art(self): + return self.W_Kr_Art + def set_W_Kr_Art(self, W_Kr_Art): + self.W_Kr_Art = W_Kr_Art + def get_W_Kr_Grundform(self): + return self.W_Kr_Grundform + def set_W_Kr_Grundform(self, W_Kr_Grundform): + self.W_Kr_Grundform = W_Kr_Grundform + def has__content(self): + if ( + self.Isolierfall is not None or + self.W_Kr_Art is not None or + self.W_Kr_Grundform is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsWeichen_und_Gleissperren:', namespacedef_='xmlns:nsWeichen_und_Gleissperren="http://www.plan-pro.org/modell/Weichen_und_Gleissperren/1.10.0"', name_='CW_Kr_Anlage_Allg', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CW_Kr_Anlage_Allg') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CW_Kr_Anlage_Allg': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CW_Kr_Anlage_Allg') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CW_Kr_Anlage_Allg', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsWeichen_und_Gleissperren:', name_='CW_Kr_Anlage_Allg'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsWeichen_und_Gleissperren:', namespacedef_='xmlns:nsWeichen_und_Gleissperren="http://www.plan-pro.org/modell/Weichen_und_Gleissperren/1.10.0"', name_='CW_Kr_Anlage_Allg', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Isolierfall is not None: + namespaceprefix_ = self.Isolierfall_nsprefix_ + ':' if (UseCapturedNS_ and self.Isolierfall_nsprefix_) else '' + self.Isolierfall.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Isolierfall', pretty_print=pretty_print) + if self.W_Kr_Art is not None: + namespaceprefix_ = self.W_Kr_Art_nsprefix_ + ':' if (UseCapturedNS_ and self.W_Kr_Art_nsprefix_) else '' + self.W_Kr_Art.export(outfile, level, namespaceprefix_, namespacedef_='', name_='W_Kr_Art', pretty_print=pretty_print) + if self.W_Kr_Grundform is not None: + namespaceprefix_ = self.W_Kr_Grundform_nsprefix_ + ':' if (UseCapturedNS_ and self.W_Kr_Grundform_nsprefix_) else '' + self.W_Kr_Grundform.export(outfile, level, namespaceprefix_, namespacedef_='', name_='W_Kr_Grundform', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Isolierfall': + obj_ = TCIsolierfall.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Isolierfall = obj_ + obj_.original_tagname_ = 'Isolierfall' + elif nodeName_ == 'W_Kr_Art': + obj_ = TCW_Kr_Art.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.W_Kr_Art = obj_ + obj_.original_tagname_ = 'W_Kr_Art' + elif nodeName_ == 'W_Kr_Grundform': + obj_ = TCW_Kr_Grundform.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.W_Kr_Grundform = obj_ + obj_.original_tagname_ = 'W_Kr_Grundform' +# end class CW_Kr_Anlage_Allg + + +class TCGleissperre_Betriebsart(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCGleissperre_Betriebsart"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMGleissperre_Betriebsart(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCGleissperre_Betriebsart) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCGleissperre_Betriebsart.subclass: + return TCGleissperre_Betriebsart.subclass(*args_, **kwargs_) + else: + return TCGleissperre_Betriebsart(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMGleissperre_Betriebsart(self, value): + result = True + # Validate type ENUMGleissperre_Betriebsart, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['abgelegt', 'aufgelegt', 'Betrieb'] + 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 ENUMGleissperre_Betriebsart' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCGleissperre_Betriebsart, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsWeichen_und_Gleissperren:', namespacedef_='xmlns:nsWeichen_und_Gleissperren="http://www.plan-pro.org/modell/Weichen_und_Gleissperren/1.10.0"', name_='TCGleissperre_Betriebsart', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCGleissperre_Betriebsart') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCGleissperre_Betriebsart': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCGleissperre_Betriebsart') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCGleissperre_Betriebsart', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsWeichen_und_Gleissperren:', name_='TCGleissperre_Betriebsart'): + super(TCGleissperre_Betriebsart, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCGleissperre_Betriebsart') + def _exportChildren(self, outfile, level, namespaceprefix_='nsWeichen_und_Gleissperren:', namespacedef_='xmlns:nsWeichen_und_Gleissperren="http://www.plan-pro.org/modell/Weichen_und_Gleissperren/1.10.0"', name_='TCGleissperre_Betriebsart', fromsubclass_=False, pretty_print=True): + super(TCGleissperre_Betriebsart, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCGleissperre_Betriebsart, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMGleissperre_Betriebsart + self.validate_ENUMGleissperre_Betriebsart(self.Wert) + super(TCGleissperre_Betriebsart, self)._buildChildren(child_, node, nodeName_, True) +# end class TCGleissperre_Betriebsart + + +class TCGeschwindigkeit_L(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCGeschwindigkeit_L"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TGeschwindigkeit_L(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCGeschwindigkeit_L) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCGeschwindigkeit_L.subclass: + return TCGeschwindigkeit_L.subclass(*args_, **kwargs_) + else: + return TCGeschwindigkeit_L(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TGeschwindigkeit_L(self, value): + result = True + # Validate type TGeschwindigkeit_L, a restriction on nsBasisTypen:TGeschwindigkeit. + 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_TGeschwindigkeit_L_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGeschwindigkeit_L_patterns_, )) + result = False + return result + validate_TGeschwindigkeit_L_patterns_ = [['^(0|[1-9][0-9]{0,1}|[1-4][0-9]{2}|500)$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCGeschwindigkeit_L, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsWeichen_und_Gleissperren:', namespacedef_='xmlns:nsWeichen_und_Gleissperren="http://www.plan-pro.org/modell/Weichen_und_Gleissperren/1.10.0"', name_='TCGeschwindigkeit_L', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCGeschwindigkeit_L') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCGeschwindigkeit_L': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCGeschwindigkeit_L') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCGeschwindigkeit_L', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsWeichen_und_Gleissperren:', name_='TCGeschwindigkeit_L'): + super(TCGeschwindigkeit_L, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCGeschwindigkeit_L') + def _exportChildren(self, outfile, level, namespaceprefix_='nsWeichen_und_Gleissperren:', namespacedef_='xmlns:nsWeichen_und_Gleissperren="http://www.plan-pro.org/modell/Weichen_und_Gleissperren/1.10.0"', name_='TCGeschwindigkeit_L', fromsubclass_=False, pretty_print=True): + super(TCGeschwindigkeit_L, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_integer(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCGeschwindigkeit_L, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + ival_ = self.gds_parse_integer(sval_, node, 'Wert') + ival_ = self.gds_validate_integer(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGeschwindigkeit_L + self.validate_TGeschwindigkeit_L(self.Wert) + super(TCGeschwindigkeit_L, self)._buildChildren(child_, node, nodeName_, True) +# end class TCGeschwindigkeit_L + + +class TCGleissperrensignal(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCGleissperrensignal"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMGleissperrensignal(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCGleissperrensignal) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCGleissperrensignal.subclass: + return TCGleissperrensignal.subclass(*args_, **kwargs_) + else: + return TCGleissperrensignal(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMGleissperrensignal(self, value): + result = True + # Validate type ENUMGleissperrensignal, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['innenbeleuchtet_beidseitig', 'innenbeleuchtet_einseitig', 'reflektierend_beidseitig', 'reflektierend_einseitig'] + 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 ENUMGleissperrensignal' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCGleissperrensignal, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsWeichen_und_Gleissperren:', namespacedef_='xmlns:nsWeichen_und_Gleissperren="http://www.plan-pro.org/modell/Weichen_und_Gleissperren/1.10.0"', name_='TCGleissperrensignal', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCGleissperrensignal') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCGleissperrensignal': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCGleissperrensignal') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCGleissperrensignal', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsWeichen_und_Gleissperren:', name_='TCGleissperrensignal'): + super(TCGleissperrensignal, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCGleissperrensignal') + def _exportChildren(self, outfile, level, namespaceprefix_='nsWeichen_und_Gleissperren:', namespacedef_='xmlns:nsWeichen_und_Gleissperren="http://www.plan-pro.org/modell/Weichen_und_Gleissperren/1.10.0"', name_='TCGleissperrensignal', fromsubclass_=False, pretty_print=True): + super(TCGleissperrensignal, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCGleissperrensignal, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMGleissperrensignal + self.validate_ENUMGleissperrensignal(self.Wert) + super(TCGleissperrensignal, self)._buildChildren(child_, node, nodeName_, True) +# end class TCGleissperrensignal + + +class TCAustausch_Antriebe(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCAustausch_Antriebe"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCAustausch_Antriebe) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCAustausch_Antriebe.subclass: + return TCAustausch_Antriebe.subclass(*args_, **kwargs_) + else: + return TCAustausch_Antriebe(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def has__content(self): + if ( + self.Wert is not None or + super(TCAustausch_Antriebe, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsWeichen_und_Gleissperren:', namespacedef_='xmlns:nsWeichen_und_Gleissperren="http://www.plan-pro.org/modell/Weichen_und_Gleissperren/1.10.0"', name_='TCAustausch_Antriebe', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCAustausch_Antriebe') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCAustausch_Antriebe': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCAustausch_Antriebe') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCAustausch_Antriebe', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsWeichen_und_Gleissperren:', name_='TCAustausch_Antriebe'): + super(TCAustausch_Antriebe, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCAustausch_Antriebe') + def _exportChildren(self, outfile, level, namespaceprefix_='nsWeichen_und_Gleissperren:', namespacedef_='xmlns:nsWeichen_und_Gleissperren="http://www.plan-pro.org/modell/Weichen_und_Gleissperren/1.10.0"', name_='TCAustausch_Antriebe', fromsubclass_=False, pretty_print=True): + super(TCAustausch_Antriebe, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_boolean(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCAustausch_Antriebe, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + sval_ = child_.text + ival_ = self.gds_parse_boolean(sval_, node, 'Wert') + ival_ = self.gds_validate_boolean(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + super(TCAustausch_Antriebe, self)._buildChildren(child_, node, nodeName_, True) +# end class TCAustausch_Antriebe + + +class TCGK_X(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCGK_X"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TGK_X(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCGK_X) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCGK_X.subclass: + return TCGK_X.subclass(*args_, **kwargs_) + else: + return TCGK_X(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TGK_X(self, value): + result = True + # Validate type TGK_X, 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 not self.gds_validate_simple_patterns( + self.validate_TGK_X_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGK_X_patterns_, )) + result = False + return result + validate_TGK_X_patterns_ = [['^(((0|(-?[1-9][0-9]{0,}))\\.[0-9]{5})|(-0\\.([1-9][0-9]{4}|[0-9][1-9][0-9]{3}|[0-9]{2}[1-9][0-9]{2}|[0-9]{3}[1-9][0-9]|[0-9]{4}[1-9])))$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCGK_X, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsGeodaten:', namespacedef_='xmlns:nsGeodaten="http://www.plan-pro.org/modell/Geodaten/1.10.0"', name_='TCGK_X', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCGK_X') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCGK_X': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCGK_X') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCGK_X', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsGeodaten:', name_='TCGK_X'): + super(TCGK_X, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCGK_X') + def _exportChildren(self, outfile, level, namespaceprefix_='nsGeodaten:', namespacedef_='xmlns:nsGeodaten="http://www.plan-pro.org/modell/Geodaten/1.10.0"', name_='TCGK_X', fromsubclass_=False, pretty_print=True): + super(TCGK_X, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_decimal(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCGK_X, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + fval_ = self.gds_parse_decimal(sval_, node, 'Wert') + fval_ = self.gds_validate_decimal(fval_, node, 'Wert') + self.Wert = fval_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGK_X + self.validate_TGK_X(self.Wert) + super(TCGK_X, self)._buildChildren(child_, node, nodeName_, True) +# end class TCGK_X + + +class CStrecke_Bezeichnung(GeneratedsSuper): + """Bezeichnung_Strecke -- Streckenbezeichnung der DB AG. Streckenbezeichnungen sind i. d. R vierstellig. Ist aber z. B. der Verlauf der beiden Gleise einer zweigleisigen Strecke so unterschiedlich, dass eine getrennte Kilometrierung notwendig ist, wird der vierstelligen Bezeichnung noch eine Kennung (-1) angeh + ä + ngt. Beispiel: Stecke 6240 ist zweigleisig. Bedingt durch einen anderen Verlauf der linken und rechten Gleislage, bekommt z. B. das linke Gleis eine andere Kilometrierung. Strecke 6240 (Rechts); Strecke 6240-1 (Links). DB-Regelwerk 885.6002A03 + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Bezeichnung_Strecke=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Bezeichnung_Strecke = Bezeichnung_Strecke + self.Bezeichnung_Strecke_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CStrecke_Bezeichnung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CStrecke_Bezeichnung.subclass: + return CStrecke_Bezeichnung.subclass(*args_, **kwargs_) + else: + return CStrecke_Bezeichnung(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Bezeichnung_Strecke(self): + return self.Bezeichnung_Strecke + def set_Bezeichnung_Strecke(self, Bezeichnung_Strecke): + self.Bezeichnung_Strecke = Bezeichnung_Strecke + def has__content(self): + if ( + self.Bezeichnung_Strecke is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsGeodaten:', namespacedef_='xmlns:nsGeodaten="http://www.plan-pro.org/modell/Geodaten/1.10.0"', name_='CStrecke_Bezeichnung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CStrecke_Bezeichnung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CStrecke_Bezeichnung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CStrecke_Bezeichnung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CStrecke_Bezeichnung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsGeodaten:', name_='CStrecke_Bezeichnung'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsGeodaten:', namespacedef_='xmlns:nsGeodaten="http://www.plan-pro.org/modell/Geodaten/1.10.0"', name_='CStrecke_Bezeichnung', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Bezeichnung_Strecke is not None: + namespaceprefix_ = self.Bezeichnung_Strecke_nsprefix_ + ':' if (UseCapturedNS_ and self.Bezeichnung_Strecke_nsprefix_) else '' + self.Bezeichnung_Strecke.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Bezeichnung_Strecke', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Bezeichnung_Strecke': + obj_ = TCBezeichnung_Strecke.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Bezeichnung_Strecke = obj_ + obj_.original_tagname_ = 'Bezeichnung_Strecke' +# end class CStrecke_Bezeichnung + + +class TCTP_Art(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCTP_Art"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMTP_Art(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCTP_Art) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCTP_Art.subclass: + return TCTP_Art.subclass(*args_, **kwargs_) + else: + return TCTP_Art(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMTP_Art(self, value): + result = True + # Validate type ENUMTP_Art, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['Bahnsteigmonitor', 'Bahnsteigspiegel', 'Gebaeude', 'Mast', 'sonstige', 'Zughaltesensor'] + 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 ENUMTP_Art' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCTP_Art, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsGeodaten:', namespacedef_='xmlns:nsGeodaten="http://www.plan-pro.org/modell/Geodaten/1.10.0"', name_='TCTP_Art', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCTP_Art') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCTP_Art': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCTP_Art') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCTP_Art', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsGeodaten:', name_='TCTP_Art'): + super(TCTP_Art, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCTP_Art') + def _exportChildren(self, outfile, level, namespaceprefix_='nsGeodaten:', namespacedef_='xmlns:nsGeodaten="http://www.plan-pro.org/modell/Geodaten/1.10.0"', name_='TCTP_Art', fromsubclass_=False, pretty_print=True): + super(TCTP_Art, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCTP_Art, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMTP_Art + self.validate_ENUMTP_Art(self.Wert) + super(TCTP_Art, self)._buildChildren(child_, node, nodeName_, True) +# end class TCTP_Art + + +class CGEO_Kante(CBasis_Objekt): + """CGEO_Kante -- Kante des topografischen Knoten-Kanten-Modells. Die GEO_Kante ist vom GEO_Knoten A zum GEO_Knoten B gerichtet (GEO Richtungswinkel) und muss immer an zwei GEO_Knoten enden. Die L + ä + nge einer GEO_Kante zwischen den GEO_Knoten A und B entspricht der realen Gleisl + ä + nge zwischen diesen Knoten und wird im Attribut GEO Laenge gespeichert. Mit Bezug auf die Regeln zu den Gleisnetzdaten (GND) ist die L + ä + nge einer GEO_Kante stets kleiner 10 km. Eine GEO_Kante besitzt eine geometrische Form, die durch GEO Form beschrieben wird. GEO_Kanten werden f + ü + r die Abbildung der Gleislinie und der Kilometrierungslinie verwendet. Eine Unterscheidung dieser Anwendung erfolgt durch den Verweis ID GEO Art. Der GEO_Radius (GEO Radius A und GEO Radius B) ist negativ, wenn die GEO_Kante vom GEO_Knoten_A in einem Linksbogen f + ü + hrt und ist positiv, wenn diese in einen Rechtsbogen f + ü + hrt. Die beiden Radien sind jeweils der Radius an der A- bzw. B-Seite der GEO_Kante. Bei einem Kreisbogen wird nur der GEO Radius A angegeben. F + ü + r eine Gerade wird dieser Radius mit 0.000 definiert. Ein Algorithmus zur Darstellung eines Punktes auf einem + Ü + bergangsbogen kann der folgenden Literaturquelle entnommen werden: Media:Literatur Uebergangsbogen.pdf. + ID_GEO_Art -- Durch den Verweis auf eine TOP_Kante wird die GEO_Kante als Gleislinie, beim Verweis auf eine Strecke als Kilometrierungslinie und beim Verweis auf eine Trasse_Kante als Kabel- bzw. Medientrassenlinie definiert. Der Startpunkt einer TOP-Kante ist + ü + ber die Verweise auf einen TOP-Knoten A und anschlie + ß + end auf einen GEO-Knoten A oder GEO-Knoten B identifizierbar. Wenn der Verweis auf GEO-Knoten A f + ä + llt, liegt der Verlauf der GEO-Kante in Richtung der TOP-Kante, andernfalls in Gegenrichtung. Weitere GEO-Kanten werden mit End- und Anfangs-Knoten verbunden, bis auf den End-Knoten einer GEO-Kante wiederum von einem TOP-Knoten B verwiesen wird. DIe Verfahrensweise ist bei Trassen-Kanten analog. + ID_GEO_Knoten_A -- Verweis auf den GEO Knoten am Anfang der GEO Kante. Durch die Angabe des Anfangs- sowie des Endknotens wird die Richtung der GEO Kante definiert. + ID_GEO_Knoten_B -- Verweis auf den GEO Knoten am Ende der GEO Kante. Durch die Angabe des Anfangs- sowie des Endknotens wird die Richtung der GEO Kante definiert. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasis_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, GEO_Kante_Allg=None, ID_GEO_Art=None, ID_GEO_Knoten_A=None, ID_GEO_Knoten_B=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CGEO_Kante"), self).__init__(Identitaet, Basis_Objekt_Allg, ID_Bearbeitungsvermerk, ID_Oertlichkeit_Ausgabe, Objektreferenzen, **kwargs_) + self.GEO_Kante_Allg = GEO_Kante_Allg + self.GEO_Kante_Allg_nsprefix_ = None + self.ID_GEO_Art = ID_GEO_Art + self.ID_GEO_Art_nsprefix_ = None + self.ID_GEO_Knoten_A = ID_GEO_Knoten_A + self.ID_GEO_Knoten_A_nsprefix_ = None + self.ID_GEO_Knoten_B = ID_GEO_Knoten_B + self.ID_GEO_Knoten_B_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CGEO_Kante) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CGEO_Kante.subclass: + return CGEO_Kante.subclass(*args_, **kwargs_) + else: + return CGEO_Kante(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_GEO_Kante_Allg(self): + return self.GEO_Kante_Allg + def set_GEO_Kante_Allg(self, GEO_Kante_Allg): + self.GEO_Kante_Allg = GEO_Kante_Allg + def get_ID_GEO_Art(self): + return self.ID_GEO_Art + def set_ID_GEO_Art(self, ID_GEO_Art): + self.ID_GEO_Art = ID_GEO_Art + def get_ID_GEO_Knoten_A(self): + return self.ID_GEO_Knoten_A + def set_ID_GEO_Knoten_A(self, ID_GEO_Knoten_A): + self.ID_GEO_Knoten_A = ID_GEO_Knoten_A + def get_ID_GEO_Knoten_B(self): + return self.ID_GEO_Knoten_B + def set_ID_GEO_Knoten_B(self, ID_GEO_Knoten_B): + self.ID_GEO_Knoten_B = ID_GEO_Knoten_B + def has__content(self): + if ( + self.GEO_Kante_Allg is not None or + self.ID_GEO_Art is not None or + self.ID_GEO_Knoten_A is not None or + self.ID_GEO_Knoten_B is not None or + super(CGEO_Kante, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsGeodaten:', namespacedef_='xmlns:nsGeodaten="http://www.plan-pro.org/modell/Geodaten/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CGEO_Kante', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CGEO_Kante') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CGEO_Kante': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CGEO_Kante') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CGEO_Kante', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsGeodaten:', name_='CGEO_Kante'): + super(CGEO_Kante, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CGEO_Kante') + def _exportChildren(self, outfile, level, namespaceprefix_='nsGeodaten:', namespacedef_='xmlns:nsGeodaten="http://www.plan-pro.org/modell/Geodaten/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CGEO_Kante', fromsubclass_=False, pretty_print=True): + super(CGEO_Kante, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.GEO_Kante_Allg is not None: + namespaceprefix_ = self.GEO_Kante_Allg_nsprefix_ + ':' if (UseCapturedNS_ and self.GEO_Kante_Allg_nsprefix_) else '' + self.GEO_Kante_Allg.export(outfile, level, namespaceprefix_, namespacedef_='', name_='GEO_Kante_Allg', pretty_print=pretty_print) + if self.ID_GEO_Art is not None: + namespaceprefix_ = self.ID_GEO_Art_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_GEO_Art_nsprefix_) else '' + self.ID_GEO_Art.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_GEO_Art', pretty_print=pretty_print) + if self.ID_GEO_Knoten_A is not None: + namespaceprefix_ = self.ID_GEO_Knoten_A_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_GEO_Knoten_A_nsprefix_) else '' + self.ID_GEO_Knoten_A.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_GEO_Knoten_A', pretty_print=pretty_print) + if self.ID_GEO_Knoten_B is not None: + namespaceprefix_ = self.ID_GEO_Knoten_B_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_GEO_Knoten_B_nsprefix_) else '' + self.ID_GEO_Knoten_B.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_GEO_Knoten_B', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CGEO_Kante, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'GEO_Kante_Allg': + obj_ = CGEO_Kante_Allg.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.GEO_Kante_Allg = obj_ + obj_.original_tagname_ = 'GEO_Kante_Allg' + elif nodeName_ == 'ID_GEO_Art': + obj_ = TCID_GEO_Art.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_GEO_Art = obj_ + obj_.original_tagname_ = 'ID_GEO_Art' + elif nodeName_ == 'ID_GEO_Knoten_A': + obj_ = TCID_GEO_Knoten.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_GEO_Knoten_A = obj_ + obj_.original_tagname_ = 'ID_GEO_Knoten_A' + elif nodeName_ == 'ID_GEO_Knoten_B': + obj_ = TCID_GEO_Knoten.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_GEO_Knoten_B = obj_ + obj_.original_tagname_ = 'ID_GEO_Knoten_B' + super(CGEO_Kante, self)._buildChildren(child_, node, nodeName_, True) +# end class CGEO_Kante + + +class TCGK_Y(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCGK_Y"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TGK_Y(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCGK_Y) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCGK_Y.subclass: + return TCGK_Y.subclass(*args_, **kwargs_) + else: + return TCGK_Y(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TGK_Y(self, value): + result = True + # Validate type TGK_Y, 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 not self.gds_validate_simple_patterns( + self.validate_TGK_Y_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGK_Y_patterns_, )) + result = False + return result + validate_TGK_Y_patterns_ = [['^(((0|(-?[1-9][0-9]{0,}))\\.[0-9]{5})|(-0\\.([1-9][0-9]{4}|[0-9][1-9][0-9]{3}|[0-9]{2}[1-9][0-9]{2}|[0-9]{3}[1-9][0-9]|[0-9]{4}[1-9])))$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCGK_Y, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsGeodaten:', namespacedef_='xmlns:nsGeodaten="http://www.plan-pro.org/modell/Geodaten/1.10.0"', name_='TCGK_Y', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCGK_Y') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCGK_Y': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCGK_Y') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCGK_Y', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsGeodaten:', name_='TCGK_Y'): + super(TCGK_Y, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCGK_Y') + def _exportChildren(self, outfile, level, namespaceprefix_='nsGeodaten:', namespacedef_='xmlns:nsGeodaten="http://www.plan-pro.org/modell/Geodaten/1.10.0"', name_='TCGK_Y', fromsubclass_=False, pretty_print=True): + super(TCGK_Y, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_decimal(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCGK_Y, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + fval_ = self.gds_parse_decimal(sval_, node, 'Wert') + fval_ = self.gds_validate_decimal(fval_, node, 'Wert') + self.Wert = fval_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGK_Y + self.validate_TGK_Y(self.Wert) + super(TCGK_Y, self)._buildChildren(child_, node, nodeName_, True) +# end class TCGK_Y + + +class TCUeberhoehungslinie_Laenge(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCUeberhoehungslinie_Laenge"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TUeberhoehungslinie_Laenge(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCUeberhoehungslinie_Laenge) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCUeberhoehungslinie_Laenge.subclass: + return TCUeberhoehungslinie_Laenge.subclass(*args_, **kwargs_) + else: + return TCUeberhoehungslinie_Laenge(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TUeberhoehungslinie_Laenge(self, value): + result = True + # Validate type TUeberhoehungslinie_Laenge, a restriction on nsBasisTypen:TMeter. + 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 not self.gds_validate_simple_patterns( + self.validate_TUeberhoehungslinie_Laenge_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TUeberhoehungslinie_Laenge_patterns_, )) + result = False + return result + validate_TUeberhoehungslinie_Laenge_patterns_ = [['^((0|[1-9][0-9]{0,4})\\.[0-9]{3})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCUeberhoehungslinie_Laenge, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsGeodaten:', namespacedef_='xmlns:nsGeodaten="http://www.plan-pro.org/modell/Geodaten/1.10.0"', name_='TCUeberhoehungslinie_Laenge', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCUeberhoehungslinie_Laenge') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCUeberhoehungslinie_Laenge': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCUeberhoehungslinie_Laenge') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCUeberhoehungslinie_Laenge', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsGeodaten:', name_='TCUeberhoehungslinie_Laenge'): + super(TCUeberhoehungslinie_Laenge, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCUeberhoehungslinie_Laenge') + def _exportChildren(self, outfile, level, namespaceprefix_='nsGeodaten:', namespacedef_='xmlns:nsGeodaten="http://www.plan-pro.org/modell/Geodaten/1.10.0"', name_='TCUeberhoehungslinie_Laenge', fromsubclass_=False, pretty_print=True): + super(TCUeberhoehungslinie_Laenge, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_decimal(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCUeberhoehungslinie_Laenge, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + fval_ = self.gds_parse_decimal(sval_, node, 'Wert') + fval_ = self.gds_validate_decimal(fval_, node, 'Wert') + self.Wert = fval_ + self.Wert_nsprefix_ = child_.prefix + # validate type TUeberhoehungslinie_Laenge + self.validate_TUeberhoehungslinie_Laenge(self.Wert) + super(TCUeberhoehungslinie_Laenge, self)._buildChildren(child_, node, nodeName_, True) +# end class TCUeberhoehungslinie_Laenge + + +class CTOP_Kante(CBasis_Objekt): + """CTOP_Kante -- Kante des topologischen Knoten-Kanten-Modells zur Darstellung der Gleislinien. Die TOP_Kante ist vom Knoten A zum Knoten B gerichtet und muss immer an zwei TOP Knoten enden. Eine TOP_Kante kann mehrere topographische Kanten (GEO_Kanten) beinhalten, die + ü + ber GEO Knoten fortlaufend miteinander verbunden sind. Ein TOP Knoten ist immer auch ein GEO Knoten. Die L + ä + nge einer TOP Kante zwischen den Knoten A und B entspricht der Summe der GEO_Kanten zwischen A und B (reale Gleisl + ä + nge) und wird auf Millimetergenauigkeit gerundet. Die maximale L + ä + nge einer TOP_Kante ist im Modell auf 99999,999 m (\u0026lt;100 km) begrenzt. Um ein eindeutiges Routing im topologischen Modell zu erm + ö + glichen, sind die Anschlussarten der Kante an den beiden Knoten A und B anzugeben (siehe Attribute TOP_Anschluss_A bzw. TOP_Anschluss_B). Hierbei ist zu beachten, dass ein Routing + ü + ber die Verbindung Anschluss Links - Rechts ausgeschlossen ist. + ID_TOP_Knoten_A -- Verweis auf den TOP Knoten am Anfang der Kante. Beginn der laufenden L + ä + nge, d. h. laufende L + ä + nge == 0. + ID_TOP_Knoten_B -- Verweis auf den TOP Knoten am Ende der Kante. Ende der laufenden L + ä + nge, d. h. laufende L + ä + nge = TOP Laenge. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasis_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, ID_TOP_Knoten_A=None, ID_TOP_Knoten_B=None, TOP_Kante_Allg=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CTOP_Kante"), self).__init__(Identitaet, Basis_Objekt_Allg, ID_Bearbeitungsvermerk, ID_Oertlichkeit_Ausgabe, Objektreferenzen, **kwargs_) + self.ID_TOP_Knoten_A = ID_TOP_Knoten_A + self.ID_TOP_Knoten_A_nsprefix_ = None + self.ID_TOP_Knoten_B = ID_TOP_Knoten_B + self.ID_TOP_Knoten_B_nsprefix_ = None + self.TOP_Kante_Allg = TOP_Kante_Allg + self.TOP_Kante_Allg_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CTOP_Kante) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CTOP_Kante.subclass: + return CTOP_Kante.subclass(*args_, **kwargs_) + else: + return CTOP_Kante(*args_, **kwargs_) + factory = staticmethod(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_TOP_Knoten_A(self): + return self.ID_TOP_Knoten_A + def set_ID_TOP_Knoten_A(self, ID_TOP_Knoten_A): + self.ID_TOP_Knoten_A = ID_TOP_Knoten_A + def get_ID_TOP_Knoten_B(self): + return self.ID_TOP_Knoten_B + def set_ID_TOP_Knoten_B(self, ID_TOP_Knoten_B): + self.ID_TOP_Knoten_B = ID_TOP_Knoten_B + def get_TOP_Kante_Allg(self): + return self.TOP_Kante_Allg + def set_TOP_Kante_Allg(self, TOP_Kante_Allg): + self.TOP_Kante_Allg = TOP_Kante_Allg + def has__content(self): + if ( + self.ID_TOP_Knoten_A is not None or + self.ID_TOP_Knoten_B is not None or + self.TOP_Kante_Allg is not None or + super(CTOP_Kante, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsGeodaten:', namespacedef_='xmlns:nsGeodaten="http://www.plan-pro.org/modell/Geodaten/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CTOP_Kante', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CTOP_Kante') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CTOP_Kante': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CTOP_Kante') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CTOP_Kante', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsGeodaten:', name_='CTOP_Kante'): + super(CTOP_Kante, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CTOP_Kante') + def _exportChildren(self, outfile, level, namespaceprefix_='nsGeodaten:', namespacedef_='xmlns:nsGeodaten="http://www.plan-pro.org/modell/Geodaten/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CTOP_Kante', fromsubclass_=False, pretty_print=True): + super(CTOP_Kante, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.ID_TOP_Knoten_A is not None: + namespaceprefix_ = self.ID_TOP_Knoten_A_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_TOP_Knoten_A_nsprefix_) else '' + self.ID_TOP_Knoten_A.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_TOP_Knoten_A', pretty_print=pretty_print) + if self.ID_TOP_Knoten_B is not None: + namespaceprefix_ = self.ID_TOP_Knoten_B_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_TOP_Knoten_B_nsprefix_) else '' + self.ID_TOP_Knoten_B.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_TOP_Knoten_B', pretty_print=pretty_print) + if self.TOP_Kante_Allg is not None: + namespaceprefix_ = self.TOP_Kante_Allg_nsprefix_ + ':' if (UseCapturedNS_ and self.TOP_Kante_Allg_nsprefix_) else '' + self.TOP_Kante_Allg.export(outfile, level, namespaceprefix_, namespacedef_='', name_='TOP_Kante_Allg', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CTOP_Kante, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_TOP_Knoten_A': + obj_ = TCID_TOP_Knoten.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_TOP_Knoten_A = obj_ + obj_.original_tagname_ = 'ID_TOP_Knoten_A' + elif nodeName_ == 'ID_TOP_Knoten_B': + obj_ = TCID_TOP_Knoten.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_TOP_Knoten_B = obj_ + obj_.original_tagname_ = 'ID_TOP_Knoten_B' + elif nodeName_ == 'TOP_Kante_Allg': + obj_ = CTOP_Kante_Allg.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.TOP_Kante_Allg = obj_ + obj_.original_tagname_ = 'TOP_Kante_Allg' + super(CTOP_Kante, self)._buildChildren(child_, node, nodeName_, True) +# end class CTOP_Kante + + +class TCKnotenname(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCKnotenname"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TKnotenname(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCKnotenname) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCKnotenname.subclass: + return TCKnotenname.subclass(*args_, **kwargs_) + else: + return TCKnotenname(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TKnotenname(self, value): + result = True + # Validate type TKnotenname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TKnotenname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TKnotenname_patterns_, )) + result = False + return result + validate_TKnotenname_patterns_ = [['^(.{1,20})$'], ['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCKnotenname, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsGeodaten:', namespacedef_='xmlns:nsGeodaten="http://www.plan-pro.org/modell/Geodaten/1.10.0"', name_='TCKnotenname', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCKnotenname') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCKnotenname': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCKnotenname') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCKnotenname', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsGeodaten:', name_='TCKnotenname'): + super(TCKnotenname, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCKnotenname') + def _exportChildren(self, outfile, level, namespaceprefix_='nsGeodaten:', namespacedef_='xmlns:nsGeodaten="http://www.plan-pro.org/modell/Geodaten/1.10.0"', name_='TCKnotenname', fromsubclass_=False, pretty_print=True): + super(TCKnotenname, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCKnotenname, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TKnotenname + self.validate_TKnotenname(self.Wert) + super(TCKnotenname, self)._buildChildren(child_, node, nodeName_, True) +# end class TCKnotenname + + +class TCUeberhoehung_Datum(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCUeberhoehung_Datum"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + if isinstance(Wert, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Wert, '%Y-%m-%d').date() + else: + initvalue_ = Wert + self.Wert = initvalue_ + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCUeberhoehung_Datum) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCUeberhoehung_Datum.subclass: + return TCUeberhoehung_Datum.subclass(*args_, **kwargs_) + else: + return TCUeberhoehung_Datum(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def has__content(self): + if ( + self.Wert is not None or + super(TCUeberhoehung_Datum, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsGeodaten:', namespacedef_='xmlns:nsGeodaten="http://www.plan-pro.org/modell/Geodaten/1.10.0"', name_='TCUeberhoehung_Datum', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCUeberhoehung_Datum') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCUeberhoehung_Datum': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCUeberhoehung_Datum') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCUeberhoehung_Datum', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsGeodaten:', name_='TCUeberhoehung_Datum'): + super(TCUeberhoehung_Datum, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCUeberhoehung_Datum') + def _exportChildren(self, outfile, level, namespaceprefix_='nsGeodaten:', namespacedef_='xmlns:nsGeodaten="http://www.plan-pro.org/modell/Geodaten/1.10.0"', name_='TCUeberhoehung_Datum', fromsubclass_=False, pretty_print=True): + super(TCUeberhoehung_Datum, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_date(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCUeberhoehung_Datum, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + sval_ = child_.text + dval_ = self.gds_parse_date(sval_) + self.Wert = dval_ + self.Wert_nsprefix_ = child_.prefix + super(TCUeberhoehung_Datum, self)._buildChildren(child_, node, nodeName_, True) +# end class TCUeberhoehung_Datum + + +class TCTB_Beschreibung(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCTB_Beschreibung"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TTB_Beschreibung(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCTB_Beschreibung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCTB_Beschreibung.subclass: + return TCTB_Beschreibung.subclass(*args_, **kwargs_) + else: + return TCTB_Beschreibung(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TTB_Beschreibung(self, value): + result = True + # Validate type TTB_Beschreibung, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TTB_Beschreibung_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TTB_Beschreibung_patterns_, )) + result = False + return result + validate_TTB_Beschreibung_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCTB_Beschreibung, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsGeodaten:', namespacedef_='xmlns:nsGeodaten="http://www.plan-pro.org/modell/Geodaten/1.10.0"', name_='TCTB_Beschreibung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCTB_Beschreibung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCTB_Beschreibung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCTB_Beschreibung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCTB_Beschreibung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsGeodaten:', name_='TCTB_Beschreibung'): + super(TCTB_Beschreibung, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCTB_Beschreibung') + def _exportChildren(self, outfile, level, namespaceprefix_='nsGeodaten:', namespacedef_='xmlns:nsGeodaten="http://www.plan-pro.org/modell/Geodaten/1.10.0"', name_='TCTB_Beschreibung', fromsubclass_=False, pretty_print=True): + super(TCTB_Beschreibung, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCTB_Beschreibung, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TTB_Beschreibung + self.validate_TTB_Beschreibung(self.Wert) + super(TCTB_Beschreibung, self)._buildChildren(child_, node, nodeName_, True) +# end class TCTB_Beschreibung + + +class CGEO_Punkt_Allg(GeneratedsSuper): + """GEO_Koordinatensystem -- Angabe der topographischen Koordinaten des Geo-Punkts, in der Regel in LSys-Koordinaten. Neben den eigentlichen Koordinaten (x, y, z) wird auch das konkrete Koordinatensystem in der Bezeichnung dargestellt. Bei + ü + bergreifenden Koordinaten in Grenzbereichen, die nicht mit LSys darstellbar sind, ist der Wert \"sonstige\" zu verwenden und das Koordinatensystem mittels Bearbeitungsvermerk anzugeben. Folgende Wertigkeiten (3 Zeichen) liefert das Attribut LSys (s. a. Spezifikation Gleisnetzdaten der DB): 1. Zeichen: C Meridianstreifen 6 + ° + ö + stliche L + ä + nge; D Meridianstreifen 9 + ° + ö + stliche L + ä + nge; E Meridianstreifen 12 + ° + ö + stliche L + ä + nge; F Meridianstreifen 15 + ° + ö + stliche L + ä + nge. 2. Zeichen: A System RD/83 - Bessel-Ellipsoid, Datumspunkt Rauenberg (westliche Bundesl + ä + nder, Sachsen); B System PD/83 - Bessel-Ellipsoid, Datumspunkt Potsdam (Th + ü + ringen); C System 42/83 - Krassowski-Ellipsoid, Datumspunkt Pulkowo (Brandenburg, Mecklenburg, Sachsen-Anhalt); R DB-Referenzsystem (Kartesische Koordinaten); S System Soldner - Netz 88, Datumspunkt M + ü + ggelberg (Berlin). 3. Zeichen: 0 DB-GIS Bezugsystem; A..9 Sonstige kartesische Koordinaten. + GK_X -- Ost-Wert, Rechtswert oder Latitude des definierten Koordinatensystems. + GK_Y -- Nord-Wert, Hochwert oder Longitude des definierten Koordinatensystems. + GK_Z -- H + ö + hen-Wert oder Altitude des definierten Koordinatensystems. Aktuell steht die z-Koordinate dem System nicht zur Verf + ü + gung. Die z-Koordinate f + ü + r den GEO_Punkt k + ö + nnte durch Interpolation vorhandener H + ö + henpunkte Links und Rechts generiert werden. Wenn zu einem sp + ä + teren Zeitpunkt die z-Koordinaten mitgeliefert werden, k + ö + nnten die H + ö + henpunkte durch die z-Koordinaten ersetzt werden. + Plan_Quelle -- Quelle der Geo-Kante, des Geo-Knotens, des H + ö + henpunkts, der H + ö + henlinie, der + Ü + berh + ö + hung bzw. der + Ü + berh + ö + hungslinie. Bei Auswahl von + „ + sonstige + “ + ist zwingend ein Bearbeitungsvermerk anzugeben. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, GEO_Koordinatensystem=None, GK_X=None, GK_Y=None, GK_Z=None, Plan_Quelle=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.GEO_Koordinatensystem = GEO_Koordinatensystem + self.GEO_Koordinatensystem_nsprefix_ = None + self.GK_X = GK_X + self.GK_X_nsprefix_ = None + self.GK_Y = GK_Y + self.GK_Y_nsprefix_ = None + self.GK_Z = GK_Z + self.GK_Z_nsprefix_ = None + self.Plan_Quelle = Plan_Quelle + self.Plan_Quelle_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CGEO_Punkt_Allg) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CGEO_Punkt_Allg.subclass: + return CGEO_Punkt_Allg.subclass(*args_, **kwargs_) + else: + return CGEO_Punkt_Allg(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_GEO_Koordinatensystem(self): + return self.GEO_Koordinatensystem + def set_GEO_Koordinatensystem(self, GEO_Koordinatensystem): + self.GEO_Koordinatensystem = GEO_Koordinatensystem + def get_GK_X(self): + return self.GK_X + def set_GK_X(self, GK_X): + self.GK_X = GK_X + def get_GK_Y(self): + return self.GK_Y + def set_GK_Y(self, GK_Y): + self.GK_Y = GK_Y + def get_GK_Z(self): + return self.GK_Z + def set_GK_Z(self, GK_Z): + self.GK_Z = GK_Z + def get_Plan_Quelle(self): + return self.Plan_Quelle + def set_Plan_Quelle(self, Plan_Quelle): + self.Plan_Quelle = Plan_Quelle + def has__content(self): + if ( + self.GEO_Koordinatensystem is not None or + self.GK_X is not None or + self.GK_Y is not None or + self.GK_Z is not None or + self.Plan_Quelle is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsGeodaten:', namespacedef_='xmlns:nsGeodaten="http://www.plan-pro.org/modell/Geodaten/1.10.0"', name_='CGEO_Punkt_Allg', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CGEO_Punkt_Allg') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CGEO_Punkt_Allg': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CGEO_Punkt_Allg') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CGEO_Punkt_Allg', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsGeodaten:', name_='CGEO_Punkt_Allg'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsGeodaten:', namespacedef_='xmlns:nsGeodaten="http://www.plan-pro.org/modell/Geodaten/1.10.0"', name_='CGEO_Punkt_Allg', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.GEO_Koordinatensystem is not None: + namespaceprefix_ = self.GEO_Koordinatensystem_nsprefix_ + ':' if (UseCapturedNS_ and self.GEO_Koordinatensystem_nsprefix_) else '' + self.GEO_Koordinatensystem.export(outfile, level, namespaceprefix_, namespacedef_='', name_='GEO_Koordinatensystem', pretty_print=pretty_print) + if self.GK_X is not None: + namespaceprefix_ = self.GK_X_nsprefix_ + ':' if (UseCapturedNS_ and self.GK_X_nsprefix_) else '' + self.GK_X.export(outfile, level, namespaceprefix_, namespacedef_='', name_='GK_X', pretty_print=pretty_print) + if self.GK_Y is not None: + namespaceprefix_ = self.GK_Y_nsprefix_ + ':' if (UseCapturedNS_ and self.GK_Y_nsprefix_) else '' + self.GK_Y.export(outfile, level, namespaceprefix_, namespacedef_='', name_='GK_Y', pretty_print=pretty_print) + if self.GK_Z is not None: + namespaceprefix_ = self.GK_Z_nsprefix_ + ':' if (UseCapturedNS_ and self.GK_Z_nsprefix_) else '' + self.GK_Z.export(outfile, level, namespaceprefix_, namespacedef_='', name_='GK_Z', pretty_print=pretty_print) + if self.Plan_Quelle is not None: + namespaceprefix_ = self.Plan_Quelle_nsprefix_ + ':' if (UseCapturedNS_ and self.Plan_Quelle_nsprefix_) else '' + self.Plan_Quelle.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Plan_Quelle', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'GEO_Koordinatensystem': + obj_ = TCGEO_Koordinatensystem.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.GEO_Koordinatensystem = obj_ + obj_.original_tagname_ = 'GEO_Koordinatensystem' + elif nodeName_ == 'GK_X': + obj_ = TCGK_X.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.GK_X = obj_ + obj_.original_tagname_ = 'GK_X' + elif nodeName_ == 'GK_Y': + obj_ = TCGK_Y.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.GK_Y = obj_ + obj_.original_tagname_ = 'GK_Y' + elif nodeName_ == 'GK_Z': + obj_ = TCGK_Z.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.GK_Z = obj_ + obj_.original_tagname_ = 'GK_Z' + elif nodeName_ == 'Plan_Quelle': + obj_ = TCPlan_Quelle.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Plan_Quelle = obj_ + obj_.original_tagname_ = 'Plan_Quelle' +# end class CGEO_Punkt_Allg + + +class TCGeschwindigkeit3(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCGeschwindigkeit3"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TGeschwindigkeit(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCGeschwindigkeit3) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCGeschwindigkeit3.subclass: + return TCGeschwindigkeit3.subclass(*args_, **kwargs_) + else: + return TCGeschwindigkeit3(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TGeschwindigkeit(self, value): + result = True + # Validate type TGeschwindigkeit, a restriction on xs:integer. + 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_TGeschwindigkeit_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGeschwindigkeit_patterns_, )) + result = False + return result + validate_TGeschwindigkeit_patterns_ = [['^(0|[1-9][0-9]{0,1}|[1-4][0-9]{2}|500)$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCGeschwindigkeit3, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsGeodaten:', namespacedef_='xmlns:nsGeodaten="http://www.plan-pro.org/modell/Geodaten/1.10.0"', name_='TCGeschwindigkeit3', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCGeschwindigkeit3') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCGeschwindigkeit3': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCGeschwindigkeit3') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCGeschwindigkeit3', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsGeodaten:', name_='TCGeschwindigkeit3'): + super(TCGeschwindigkeit3, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCGeschwindigkeit3') + def _exportChildren(self, outfile, level, namespaceprefix_='nsGeodaten:', namespacedef_='xmlns:nsGeodaten="http://www.plan-pro.org/modell/Geodaten/1.10.0"', name_='TCGeschwindigkeit3', fromsubclass_=False, pretty_print=True): + super(TCGeschwindigkeit3, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_integer(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCGeschwindigkeit3, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + ival_ = self.gds_parse_integer(sval_, node, 'Wert') + ival_ = self.gds_validate_integer(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGeschwindigkeit + self.validate_TGeschwindigkeit(self.Wert) + super(TCGeschwindigkeit3, self)._buildChildren(child_, node, nodeName_, True) +# end class TCGeschwindigkeit3 + + +class TCAnzeigegefuehrt_ES_Kategorie(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCAnzeigegefuehrt_ES_Kategorie"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TAnzeigegefuehrt_ES_Kategorie(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCAnzeigegefuehrt_ES_Kategorie) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCAnzeigegefuehrt_ES_Kategorie.subclass: + return TCAnzeigegefuehrt_ES_Kategorie.subclass(*args_, **kwargs_) + else: + return TCAnzeigegefuehrt_ES_Kategorie(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TAnzeigegefuehrt_ES_Kategorie(self, value): + result = True + # Validate type TAnzeigegefuehrt_ES_Kategorie, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TAnzeigegefuehrt_ES_Kategorie_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TAnzeigegefuehrt_ES_Kategorie_patterns_, )) + result = False + return result + validate_TAnzeigegefuehrt_ES_Kategorie_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCAnzeigegefuehrt_ES_Kategorie, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsGeodaten:', namespacedef_='xmlns:nsGeodaten="http://www.plan-pro.org/modell/Geodaten/1.10.0"', name_='TCAnzeigegefuehrt_ES_Kategorie', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCAnzeigegefuehrt_ES_Kategorie') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCAnzeigegefuehrt_ES_Kategorie': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCAnzeigegefuehrt_ES_Kategorie') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCAnzeigegefuehrt_ES_Kategorie', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsGeodaten:', name_='TCAnzeigegefuehrt_ES_Kategorie'): + super(TCAnzeigegefuehrt_ES_Kategorie, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCAnzeigegefuehrt_ES_Kategorie') + def _exportChildren(self, outfile, level, namespaceprefix_='nsGeodaten:', namespacedef_='xmlns:nsGeodaten="http://www.plan-pro.org/modell/Geodaten/1.10.0"', name_='TCAnzeigegefuehrt_ES_Kategorie', fromsubclass_=False, pretty_print=True): + super(TCAnzeigegefuehrt_ES_Kategorie, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCAnzeigegefuehrt_ES_Kategorie, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TAnzeigegefuehrt_ES_Kategorie + self.validate_TAnzeigegefuehrt_ES_Kategorie(self.Wert) + super(TCAnzeigegefuehrt_ES_Kategorie, self)._buildChildren(child_, node, nodeName_, True) +# end class TCAnzeigegefuehrt_ES_Kategorie + + +class CUeberhoehungslinie(CBasis_Objekt): + """CUeberhoehungslinie -- Ü + berh + ö + hungsverlauf zwischen zwei + Ü + berh + ö + hungspunkten. + ID_Ueberhoehung_A -- Verweis auf die Ueberhoehung am Anfang der Ueberhoehungslinie. Durch die Angabe des Anfangs- sowie des Endpunkts wird die Richtung der Ueberhoehungslinie definiert. + ID_Ueberhoehung_B -- Verweis auf die Ueberhoehung am Ende der Ueberhoehungslinie. Durch die Angabe des Anfangs- sowie des Endpunkts wird die Richtung der Ueberhoehungslinie definiert. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasis_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, ID_Ueberhoehung_A=None, ID_Ueberhoehung_B=None, Ueberhoehungslinie_Allg=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CUeberhoehungslinie"), self).__init__(Identitaet, Basis_Objekt_Allg, ID_Bearbeitungsvermerk, ID_Oertlichkeit_Ausgabe, Objektreferenzen, **kwargs_) + self.ID_Ueberhoehung_A = ID_Ueberhoehung_A + self.ID_Ueberhoehung_A_nsprefix_ = None + self.ID_Ueberhoehung_B = ID_Ueberhoehung_B + self.ID_Ueberhoehung_B_nsprefix_ = None + self.Ueberhoehungslinie_Allg = Ueberhoehungslinie_Allg + self.Ueberhoehungslinie_Allg_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CUeberhoehungslinie) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CUeberhoehungslinie.subclass: + return CUeberhoehungslinie.subclass(*args_, **kwargs_) + else: + return CUeberhoehungslinie(*args_, **kwargs_) + factory = staticmethod(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_Ueberhoehung_A(self): + return self.ID_Ueberhoehung_A + def set_ID_Ueberhoehung_A(self, ID_Ueberhoehung_A): + self.ID_Ueberhoehung_A = ID_Ueberhoehung_A + def get_ID_Ueberhoehung_B(self): + return self.ID_Ueberhoehung_B + def set_ID_Ueberhoehung_B(self, ID_Ueberhoehung_B): + self.ID_Ueberhoehung_B = ID_Ueberhoehung_B + def get_Ueberhoehungslinie_Allg(self): + return self.Ueberhoehungslinie_Allg + def set_Ueberhoehungslinie_Allg(self, Ueberhoehungslinie_Allg): + self.Ueberhoehungslinie_Allg = Ueberhoehungslinie_Allg + def has__content(self): + if ( + self.ID_Ueberhoehung_A is not None or + self.ID_Ueberhoehung_B is not None or + self.Ueberhoehungslinie_Allg is not None or + super(CUeberhoehungslinie, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsGeodaten:', namespacedef_='xmlns:nsGeodaten="http://www.plan-pro.org/modell/Geodaten/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CUeberhoehungslinie', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CUeberhoehungslinie') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CUeberhoehungslinie': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CUeberhoehungslinie') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CUeberhoehungslinie', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsGeodaten:', name_='CUeberhoehungslinie'): + super(CUeberhoehungslinie, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CUeberhoehungslinie') + def _exportChildren(self, outfile, level, namespaceprefix_='nsGeodaten:', namespacedef_='xmlns:nsGeodaten="http://www.plan-pro.org/modell/Geodaten/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CUeberhoehungslinie', fromsubclass_=False, pretty_print=True): + super(CUeberhoehungslinie, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.ID_Ueberhoehung_A is not None: + namespaceprefix_ = self.ID_Ueberhoehung_A_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Ueberhoehung_A_nsprefix_) else '' + self.ID_Ueberhoehung_A.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Ueberhoehung_A', pretty_print=pretty_print) + if self.ID_Ueberhoehung_B is not None: + namespaceprefix_ = self.ID_Ueberhoehung_B_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Ueberhoehung_B_nsprefix_) else '' + self.ID_Ueberhoehung_B.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Ueberhoehung_B', pretty_print=pretty_print) + if self.Ueberhoehungslinie_Allg is not None: + namespaceprefix_ = self.Ueberhoehungslinie_Allg_nsprefix_ + ':' if (UseCapturedNS_ and self.Ueberhoehungslinie_Allg_nsprefix_) else '' + self.Ueberhoehungslinie_Allg.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Ueberhoehungslinie_Allg', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CUeberhoehungslinie, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Ueberhoehung_A': + obj_ = TCID_Ueberhoehung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Ueberhoehung_A = obj_ + obj_.original_tagname_ = 'ID_Ueberhoehung_A' + elif nodeName_ == 'ID_Ueberhoehung_B': + obj_ = TCID_Ueberhoehung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Ueberhoehung_B = obj_ + obj_.original_tagname_ = 'ID_Ueberhoehung_B' + elif nodeName_ == 'Ueberhoehungslinie_Allg': + obj_ = CUeberhoehungslinie_Allg.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Ueberhoehungslinie_Allg = obj_ + obj_.original_tagname_ = 'Ueberhoehungslinie_Allg' + super(CUeberhoehungslinie, self)._buildChildren(child_, node, nodeName_, True) +# end class CUeberhoehungslinie + + +class TCV_Profil_Art(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCV_Profil_Art"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMV_Profil_Art(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCV_Profil_Art) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCV_Profil_Art.subclass: + return TCV_Profil_Art.subclass(*args_, **kwargs_) + else: + return TCV_Profil_Art(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMV_Profil_Art(self, value): + result = True + # Validate type ENUMV_Profil_Art, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['anzeigegeführt', 'anzeigegeführt ES', 'signalgeführt', 'signalgeführt ES', 'sonstige', 'windabhängig'] + 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 ENUMV_Profil_Art' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCV_Profil_Art, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsGeodaten:', namespacedef_='xmlns:nsGeodaten="http://www.plan-pro.org/modell/Geodaten/1.10.0"', name_='TCV_Profil_Art', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCV_Profil_Art') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCV_Profil_Art': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCV_Profil_Art') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCV_Profil_Art', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsGeodaten:', name_='TCV_Profil_Art'): + super(TCV_Profil_Art, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCV_Profil_Art') + def _exportChildren(self, outfile, level, namespaceprefix_='nsGeodaten:', namespacedef_='xmlns:nsGeodaten="http://www.plan-pro.org/modell/Geodaten/1.10.0"', name_='TCV_Profil_Art', fromsubclass_=False, pretty_print=True): + super(TCV_Profil_Art, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCV_Profil_Art, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMV_Profil_Art + self.validate_ENUMV_Profil_Art(self.Wert) + super(TCV_Profil_Art, self)._buildChildren(child_, node, nodeName_, True) +# end class TCV_Profil_Art + + +class CGEO_Punkt(CBasis_Objekt): + """CGEO_Punkt -- Topographischer Punkt im Koordinatensystem zur eindeutige Zuordnung im realen Gel + ä + nde. Alle Objekte, die einen entsprechenden Bezug erfordern, werden + ü + ber andere Objekte (z.B Verortung an der Topologie) oder auch direkt auf dieses Objekt abgebildet. + ID_GEO_Kante -- Verweis auf eine GEO_Kante, wenn der GEO_Punkt als St + ü + tzpunkt einer Polylinie fungiert. Eine Polylinie kann durch bis zu 999 + GEO_Punkte beschrieben werden. Es ist jedoch auch zul + ä + ssig, eine virtuelle Polylinie ohne GEO_Punkte + darzustellen. + ID_GEO_Knoten -- ID des GEO_Knoten, auf den dieser GEO Punkt verweist. Einem GEO Knoten k + ö + nnen + ü + ber diesen Verweis mehrere GEO_Punkte zugewiesen werden. Das ist erforderlich, wenn ein GEO_Knoten in unterschiedlichen Koordinatensystemen zugeordnet ist. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasis_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, GEO_Punkt_Allg=None, ID_GEO_Kante=None, ID_GEO_Knoten=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CGEO_Punkt"), self).__init__(Identitaet, Basis_Objekt_Allg, ID_Bearbeitungsvermerk, ID_Oertlichkeit_Ausgabe, Objektreferenzen, **kwargs_) + self.GEO_Punkt_Allg = GEO_Punkt_Allg + self.GEO_Punkt_Allg_nsprefix_ = None + self.ID_GEO_Kante = ID_GEO_Kante + self.ID_GEO_Kante_nsprefix_ = None + self.ID_GEO_Knoten = ID_GEO_Knoten + self.ID_GEO_Knoten_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CGEO_Punkt) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CGEO_Punkt.subclass: + return CGEO_Punkt.subclass(*args_, **kwargs_) + else: + return CGEO_Punkt(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_GEO_Punkt_Allg(self): + return self.GEO_Punkt_Allg + def set_GEO_Punkt_Allg(self, GEO_Punkt_Allg): + self.GEO_Punkt_Allg = GEO_Punkt_Allg + def get_ID_GEO_Kante(self): + return self.ID_GEO_Kante + def set_ID_GEO_Kante(self, ID_GEO_Kante): + self.ID_GEO_Kante = ID_GEO_Kante + def get_ID_GEO_Knoten(self): + return self.ID_GEO_Knoten + def set_ID_GEO_Knoten(self, ID_GEO_Knoten): + self.ID_GEO_Knoten = ID_GEO_Knoten + def has__content(self): + if ( + self.GEO_Punkt_Allg is not None or + self.ID_GEO_Kante is not None or + self.ID_GEO_Knoten is not None or + super(CGEO_Punkt, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsGeodaten:', namespacedef_='xmlns:nsGeodaten="http://www.plan-pro.org/modell/Geodaten/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CGEO_Punkt', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CGEO_Punkt') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CGEO_Punkt': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CGEO_Punkt') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CGEO_Punkt', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsGeodaten:', name_='CGEO_Punkt'): + super(CGEO_Punkt, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CGEO_Punkt') + def _exportChildren(self, outfile, level, namespaceprefix_='nsGeodaten:', namespacedef_='xmlns:nsGeodaten="http://www.plan-pro.org/modell/Geodaten/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CGEO_Punkt', fromsubclass_=False, pretty_print=True): + super(CGEO_Punkt, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.GEO_Punkt_Allg is not None: + namespaceprefix_ = self.GEO_Punkt_Allg_nsprefix_ + ':' if (UseCapturedNS_ and self.GEO_Punkt_Allg_nsprefix_) else '' + self.GEO_Punkt_Allg.export(outfile, level, namespaceprefix_, namespacedef_='', name_='GEO_Punkt_Allg', pretty_print=pretty_print) + if self.ID_GEO_Kante is not None: + namespaceprefix_ = self.ID_GEO_Kante_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_GEO_Kante_nsprefix_) else '' + self.ID_GEO_Kante.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_GEO_Kante', pretty_print=pretty_print) + if self.ID_GEO_Knoten is not None: + namespaceprefix_ = self.ID_GEO_Knoten_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_GEO_Knoten_nsprefix_) else '' + self.ID_GEO_Knoten.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_GEO_Knoten', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CGEO_Punkt, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'GEO_Punkt_Allg': + obj_ = CGEO_Punkt_Allg.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.GEO_Punkt_Allg = obj_ + obj_.original_tagname_ = 'GEO_Punkt_Allg' + elif nodeName_ == 'ID_GEO_Kante': + obj_ = TCID_GEO_Kante.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_GEO_Kante = obj_ + obj_.original_tagname_ = 'ID_GEO_Kante' + elif nodeName_ == 'ID_GEO_Knoten': + obj_ = TCID_GEO_Knoten.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_GEO_Knoten = obj_ + obj_.original_tagname_ = 'ID_GEO_Knoten' + super(CGEO_Punkt, self)._buildChildren(child_, node, nodeName_, True) +# end class CGEO_Punkt + + +class TCOertlichkeit_Gueltig_Ab(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCOertlichkeit_Gueltig_Ab"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + if isinstance(Wert, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Wert, '%Y-%m-%d').date() + else: + initvalue_ = Wert + self.Wert = initvalue_ + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCOertlichkeit_Gueltig_Ab) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCOertlichkeit_Gueltig_Ab.subclass: + return TCOertlichkeit_Gueltig_Ab.subclass(*args_, **kwargs_) + else: + return TCOertlichkeit_Gueltig_Ab(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def has__content(self): + if ( + self.Wert is not None or + super(TCOertlichkeit_Gueltig_Ab, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsGeodaten:', namespacedef_='xmlns:nsGeodaten="http://www.plan-pro.org/modell/Geodaten/1.10.0"', name_='TCOertlichkeit_Gueltig_Ab', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCOertlichkeit_Gueltig_Ab') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCOertlichkeit_Gueltig_Ab': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCOertlichkeit_Gueltig_Ab') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCOertlichkeit_Gueltig_Ab', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsGeodaten:', name_='TCOertlichkeit_Gueltig_Ab'): + super(TCOertlichkeit_Gueltig_Ab, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCOertlichkeit_Gueltig_Ab') + def _exportChildren(self, outfile, level, namespaceprefix_='nsGeodaten:', namespacedef_='xmlns:nsGeodaten="http://www.plan-pro.org/modell/Geodaten/1.10.0"', name_='TCOertlichkeit_Gueltig_Ab', fromsubclass_=False, pretty_print=True): + super(TCOertlichkeit_Gueltig_Ab, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_date(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCOertlichkeit_Gueltig_Ab, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + sval_ = child_.text + dval_ = self.gds_parse_date(sval_) + self.Wert = dval_ + self.Wert_nsprefix_ = child_.prefix + super(TCOertlichkeit_Gueltig_Ab, self)._buildChildren(child_, node, nodeName_, True) +# end class TCOertlichkeit_Gueltig_Ab + + +class TCGEO_Richtungswinkel(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCGEO_Richtungswinkel"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TGEO_Richtungswinkel(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCGEO_Richtungswinkel) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCGEO_Richtungswinkel.subclass: + return TCGEO_Richtungswinkel.subclass(*args_, **kwargs_) + else: + return TCGEO_Richtungswinkel(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TGEO_Richtungswinkel(self, value): + result = True + # Validate type TGEO_Richtungswinkel, 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 not self.gds_validate_simple_patterns( + self.validate_TGEO_Richtungswinkel_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGEO_Richtungswinkel_patterns_, )) + result = False + return result + validate_TGEO_Richtungswinkel_patterns_ = [['^((0|[1-9][0-9]{0,1}|[1-3][0-9]{2})\\.[0-9]{5})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCGEO_Richtungswinkel, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsGeodaten:', namespacedef_='xmlns:nsGeodaten="http://www.plan-pro.org/modell/Geodaten/1.10.0"', name_='TCGEO_Richtungswinkel', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCGEO_Richtungswinkel') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCGEO_Richtungswinkel': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCGEO_Richtungswinkel') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCGEO_Richtungswinkel', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsGeodaten:', name_='TCGEO_Richtungswinkel'): + super(TCGEO_Richtungswinkel, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCGEO_Richtungswinkel') + def _exportChildren(self, outfile, level, namespaceprefix_='nsGeodaten:', namespacedef_='xmlns:nsGeodaten="http://www.plan-pro.org/modell/Geodaten/1.10.0"', name_='TCGEO_Richtungswinkel', fromsubclass_=False, pretty_print=True): + super(TCGEO_Richtungswinkel, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_decimal(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCGEO_Richtungswinkel, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + fval_ = self.gds_parse_decimal(sval_, node, 'Wert') + fval_ = self.gds_validate_decimal(fval_, node, 'Wert') + self.Wert = fval_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGEO_Richtungswinkel + self.validate_TGEO_Richtungswinkel(self.Wert) + super(TCGEO_Richtungswinkel, self)._buildChildren(child_, node, nodeName_, True) +# end class TCGEO_Richtungswinkel + + +class TCGK_Z(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCGK_Z"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TGK_Z(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCGK_Z) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCGK_Z.subclass: + return TCGK_Z.subclass(*args_, **kwargs_) + else: + return TCGK_Z(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TGK_Z(self, value): + result = True + # Validate type TGK_Z, 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 not self.gds_validate_simple_patterns( + self.validate_TGK_Z_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGK_Z_patterns_, )) + result = False + return result + validate_TGK_Z_patterns_ = [['^(((0|(-?[1-9][0-9]{0,}))\\.[0-9]{5})|(-0\\.([1-9][0-9]{4}|[0-9][1-9][0-9]{3}|[0-9]{2}[1-9][0-9]{2}|[0-9]{3}[1-9][0-9]|[0-9]{4}[1-9])))$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCGK_Z, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsGeodaten:', namespacedef_='xmlns:nsGeodaten="http://www.plan-pro.org/modell/Geodaten/1.10.0"', name_='TCGK_Z', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCGK_Z') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCGK_Z': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCGK_Z') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCGK_Z', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsGeodaten:', name_='TCGK_Z'): + super(TCGK_Z, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCGK_Z') + def _exportChildren(self, outfile, level, namespaceprefix_='nsGeodaten:', namespacedef_='xmlns:nsGeodaten="http://www.plan-pro.org/modell/Geodaten/1.10.0"', name_='TCGK_Z', fromsubclass_=False, pretty_print=True): + super(TCGK_Z, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_decimal(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCGK_Z, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + fval_ = self.gds_parse_decimal(sval_, node, 'Wert') + fval_ = self.gds_validate_decimal(fval_, node, 'Wert') + self.Wert = fval_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGK_Z + self.validate_TGK_Z(self.Wert) + super(TCGK_Z, self)._buildChildren(child_, node, nodeName_, True) +# end class TCGK_Z + + +class TCBremsweg(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCBremsweg"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TBremsweg(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCBremsweg) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCBremsweg.subclass: + return TCBremsweg.subclass(*args_, **kwargs_) + else: + return TCBremsweg(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TBremsweg(self, value): + result = True + # Validate type TBremsweg, a restriction on nsBasisTypen:ENUMBremsweg. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['1000', '400', '700', 'sonstige'] + 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 TBremsweg' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCBremsweg, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsGeodaten:', namespacedef_='xmlns:nsGeodaten="http://www.plan-pro.org/modell/Geodaten/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCBremsweg', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCBremsweg') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCBremsweg': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBremsweg') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCBremsweg', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsGeodaten:', name_='TCBremsweg'): + super(TCBremsweg, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBremsweg') + def _exportChildren(self, outfile, level, namespaceprefix_='nsGeodaten:', namespacedef_='xmlns:nsGeodaten="http://www.plan-pro.org/modell/Geodaten/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCBremsweg', fromsubclass_=False, pretty_print=True): + super(TCBremsweg, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCBremsweg, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TBremsweg + self.validate_TBremsweg(self.Wert) + super(TCBremsweg, self)._buildChildren(child_, node, nodeName_, True) +# end class TCBremsweg + + +class TCKantenname(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCKantenname"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TKantenname(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCKantenname) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCKantenname.subclass: + return TCKantenname.subclass(*args_, **kwargs_) + else: + return TCKantenname(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TKantenname(self, value): + result = True + # Validate type TKantenname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TKantenname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TKantenname_patterns_, )) + result = False + return result + validate_TKantenname_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCKantenname, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsGeodaten:', namespacedef_='xmlns:nsGeodaten="http://www.plan-pro.org/modell/Geodaten/1.10.0"', name_='TCKantenname', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCKantenname') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCKantenname': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCKantenname') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCKantenname', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsGeodaten:', name_='TCKantenname'): + super(TCKantenname, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCKantenname') + def _exportChildren(self, outfile, level, namespaceprefix_='nsGeodaten:', namespacedef_='xmlns:nsGeodaten="http://www.plan-pro.org/modell/Geodaten/1.10.0"', name_='TCKantenname', fromsubclass_=False, pretty_print=True): + super(TCKantenname, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCKantenname, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TKantenname + self.validate_TKantenname(self.Wert) + super(TCKantenname, self)._buildChildren(child_, node, nodeName_, True) +# end class TCKantenname + + +class COertlichkeit(CBasis_Objekt): + """COertlichkeit -- Bahnanlagen und Betriebsstellen des Netzes. Die + Ö + rtlichkeit muss eine g + ü + ltige Bezeichnung nach Ril 100 beinhalten und kann mittels ID Strecke Punkt mehreren Strecken mit Bezugskilometer zugeordnet sein. DB-Regelwerk Richtlinie 100.0001 Abschnitt 1 (1) + ID_Oertlichkeit -- Verweis zur (betrieblichen) Zuordnung von Bahnhofsteilen zu Bahnh + ö + fen und von Betriebsstellen untereinander. + ID_Oertlichkeit_Awanst_Bedient -- Bei Awanst: Angabe der + Ö + rtlichkeit, von der die Awanst bedient wird. + ID_Strecke_Punkt -- Verweis auf einen bzw. mehrere Streckenpunkt(e) zur Lokalisierung der + Ö + rtlichkeit im Netz. Die Information wird f + ü + r die Erstellung der Ausgabeformate ben + ö + tigt. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasis_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, Bezeichnung=None, ID_Oertlichkeit=None, ID_Oertlichkeit_Awanst_Bedient=None, ID_Strecke_Punkt=None, Oertlichkeit_Allg=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("COertlichkeit"), self).__init__(Identitaet, Basis_Objekt_Allg, ID_Bearbeitungsvermerk, ID_Oertlichkeit_Ausgabe, Objektreferenzen, **kwargs_) + self.Bezeichnung = Bezeichnung + self.Bezeichnung_nsprefix_ = None + self.ID_Oertlichkeit = ID_Oertlichkeit + self.ID_Oertlichkeit_nsprefix_ = None + self.ID_Oertlichkeit_Awanst_Bedient = ID_Oertlichkeit_Awanst_Bedient + self.ID_Oertlichkeit_Awanst_Bedient_nsprefix_ = None + if ID_Strecke_Punkt is None: + self.ID_Strecke_Punkt = [] + else: + self.ID_Strecke_Punkt = ID_Strecke_Punkt + self.ID_Strecke_Punkt_nsprefix_ = None + self.Oertlichkeit_Allg = Oertlichkeit_Allg + self.Oertlichkeit_Allg_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, COertlichkeit) + if subclass is not None: + return subclass(*args_, **kwargs_) + if COertlichkeit.subclass: + return COertlichkeit.subclass(*args_, **kwargs_) + else: + return COertlichkeit(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Bezeichnung(self): + return self.Bezeichnung + def set_Bezeichnung(self, Bezeichnung): + self.Bezeichnung = Bezeichnung + def get_ID_Oertlichkeit(self): + return self.ID_Oertlichkeit + def set_ID_Oertlichkeit(self, ID_Oertlichkeit): + self.ID_Oertlichkeit = ID_Oertlichkeit + def get_ID_Oertlichkeit_Awanst_Bedient(self): + return self.ID_Oertlichkeit_Awanst_Bedient + def set_ID_Oertlichkeit_Awanst_Bedient(self, ID_Oertlichkeit_Awanst_Bedient): + self.ID_Oertlichkeit_Awanst_Bedient = ID_Oertlichkeit_Awanst_Bedient + def get_ID_Strecke_Punkt(self): + return self.ID_Strecke_Punkt + def set_ID_Strecke_Punkt(self, ID_Strecke_Punkt): + self.ID_Strecke_Punkt = ID_Strecke_Punkt + def add_ID_Strecke_Punkt(self, value): + self.ID_Strecke_Punkt.append(value) + def insert_ID_Strecke_Punkt_at(self, index, value): + self.ID_Strecke_Punkt.insert(index, value) + def replace_ID_Strecke_Punkt_at(self, index, value): + self.ID_Strecke_Punkt[index] = value + def get_Oertlichkeit_Allg(self): + return self.Oertlichkeit_Allg + def set_Oertlichkeit_Allg(self, Oertlichkeit_Allg): + self.Oertlichkeit_Allg = Oertlichkeit_Allg + def has__content(self): + if ( + self.Bezeichnung is not None or + self.ID_Oertlichkeit is not None or + self.ID_Oertlichkeit_Awanst_Bedient is not None or + self.ID_Strecke_Punkt or + self.Oertlichkeit_Allg is not None or + super(COertlichkeit, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsGeodaten:', namespacedef_='xmlns:nsGeodaten="http://www.plan-pro.org/modell/Geodaten/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='COertlichkeit', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('COertlichkeit') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'COertlichkeit': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='COertlichkeit') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='COertlichkeit', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsGeodaten:', name_='COertlichkeit'): + super(COertlichkeit, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='COertlichkeit') + def _exportChildren(self, outfile, level, namespaceprefix_='nsGeodaten:', namespacedef_='xmlns:nsGeodaten="http://www.plan-pro.org/modell/Geodaten/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='COertlichkeit', fromsubclass_=False, pretty_print=True): + super(COertlichkeit, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Bezeichnung is not None: + namespaceprefix_ = self.Bezeichnung_nsprefix_ + ':' if (UseCapturedNS_ and self.Bezeichnung_nsprefix_) else '' + self.Bezeichnung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Bezeichnung', pretty_print=pretty_print) + if self.ID_Oertlichkeit is not None: + namespaceprefix_ = self.ID_Oertlichkeit_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Oertlichkeit_nsprefix_) else '' + self.ID_Oertlichkeit.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Oertlichkeit', pretty_print=pretty_print) + if self.ID_Oertlichkeit_Awanst_Bedient is not None: + namespaceprefix_ = self.ID_Oertlichkeit_Awanst_Bedient_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Oertlichkeit_Awanst_Bedient_nsprefix_) else '' + self.ID_Oertlichkeit_Awanst_Bedient.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Oertlichkeit_Awanst_Bedient', pretty_print=pretty_print) + for ID_Strecke_Punkt_ in self.ID_Strecke_Punkt: + namespaceprefix_ = self.ID_Strecke_Punkt_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Strecke_Punkt_nsprefix_) else '' + ID_Strecke_Punkt_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Strecke_Punkt', pretty_print=pretty_print) + if self.Oertlichkeit_Allg is not None: + namespaceprefix_ = self.Oertlichkeit_Allg_nsprefix_ + ':' if (UseCapturedNS_ and self.Oertlichkeit_Allg_nsprefix_) else '' + self.Oertlichkeit_Allg.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Oertlichkeit_Allg', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(COertlichkeit, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Bezeichnung': + obj_ = COertlichkeit_Bezeichnung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Bezeichnung = obj_ + obj_.original_tagname_ = 'Bezeichnung' + elif nodeName_ == 'ID_Oertlichkeit': + obj_ = TCID_Oertlichkeit.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Oertlichkeit = obj_ + obj_.original_tagname_ = 'ID_Oertlichkeit' + elif nodeName_ == 'ID_Oertlichkeit_Awanst_Bedient': + obj_ = TCID_Oertlichkeit.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Oertlichkeit_Awanst_Bedient = obj_ + obj_.original_tagname_ = 'ID_Oertlichkeit_Awanst_Bedient' + elif nodeName_ == 'ID_Strecke_Punkt': + obj_ = TCID_Strecke_Punkt.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Strecke_Punkt.append(obj_) + obj_.original_tagname_ = 'ID_Strecke_Punkt' + elif nodeName_ == 'Oertlichkeit_Allg': + obj_ = COertlichkeit_Allg.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Oertlichkeit_Allg = obj_ + obj_.original_tagname_ = 'Oertlichkeit_Allg' + super(COertlichkeit, self)._buildChildren(child_, node, nodeName_, True) +# end class COertlichkeit + + +class TCNeigung(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCNeigung"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TNeigung(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCNeigung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCNeigung.subclass: + return TCNeigung.subclass(*args_, **kwargs_) + else: + return TCNeigung(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TNeigung(self, value): + result = True + # Validate type TNeigung, 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 not self.gds_validate_simple_patterns( + self.validate_TNeigung_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TNeigung_patterns_, )) + result = False + return result + validate_TNeigung_patterns_ = [['^(0\\.000|([1-9][0-9]{0,1}\\.[0-9]{3})|(0\\.[1-9][0-9]{2}|0\\.0[1-9][0-9]|0\\.0[0-9][1-9])|((0|[1-9][0-9]{0,1})\\.[0-9]{3})|100\\.000)$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCNeigung, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsGeodaten:', namespacedef_='xmlns:nsGeodaten="http://www.plan-pro.org/modell/Geodaten/1.10.0"', name_='TCNeigung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCNeigung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCNeigung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCNeigung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCNeigung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsGeodaten:', name_='TCNeigung'): + super(TCNeigung, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCNeigung') + def _exportChildren(self, outfile, level, namespaceprefix_='nsGeodaten:', namespacedef_='xmlns:nsGeodaten="http://www.plan-pro.org/modell/Geodaten/1.10.0"', name_='TCNeigung', fromsubclass_=False, pretty_print=True): + super(TCNeigung, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_decimal(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCNeigung, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + fval_ = self.gds_parse_decimal(sval_, node, 'Wert') + fval_ = self.gds_validate_decimal(fval_, node, 'Wert') + self.Wert = fval_ + self.Wert_nsprefix_ = child_.prefix + # validate type TNeigung + self.validate_TNeigung(self.Wert) + super(TCNeigung, self)._buildChildren(child_, node, nodeName_, True) +# end class TCNeigung + + +class TCStrecke_Richtung(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCStrecke_Richtung"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMStrecke_Richtung(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCStrecke_Richtung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCStrecke_Richtung.subclass: + return TCStrecke_Richtung.subclass(*args_, **kwargs_) + else: + return TCStrecke_Richtung(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMStrecke_Richtung(self, value): + result = True + # Validate type ENUMStrecke_Richtung, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['a', 'b', 'sonstige'] + 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 ENUMStrecke_Richtung' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCStrecke_Richtung, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsGeodaten:', namespacedef_='xmlns:nsGeodaten="http://www.plan-pro.org/modell/Geodaten/1.10.0"', name_='TCStrecke_Richtung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCStrecke_Richtung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCStrecke_Richtung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCStrecke_Richtung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCStrecke_Richtung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsGeodaten:', name_='TCStrecke_Richtung'): + super(TCStrecke_Richtung, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCStrecke_Richtung') + def _exportChildren(self, outfile, level, namespaceprefix_='nsGeodaten:', namespacedef_='xmlns:nsGeodaten="http://www.plan-pro.org/modell/Geodaten/1.10.0"', name_='TCStrecke_Richtung', fromsubclass_=False, pretty_print=True): + super(TCStrecke_Richtung, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCStrecke_Richtung, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMStrecke_Richtung + self.validate_ENUMStrecke_Richtung(self.Wert) + super(TCStrecke_Richtung, self)._buildChildren(child_, node, nodeName_, True) +# end class TCStrecke_Richtung + + +class TCGEO_Koordinatensystem(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCGEO_Koordinatensystem"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMGEO_Koordinatensystem(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCGEO_Koordinatensystem) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCGEO_Koordinatensystem.subclass: + return TCGEO_Koordinatensystem.subclass(*args_, **kwargs_) + else: + return TCGEO_Koordinatensystem(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMGEO_Koordinatensystem(self, value): + result = True + # Validate type ENUMGEO_Koordinatensystem, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['CR0', 'DR0', 'ER0', 'FR0', 'sonstige'] + 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 ENUMGEO_Koordinatensystem' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCGEO_Koordinatensystem, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsGeodaten:', namespacedef_='xmlns:nsGeodaten="http://www.plan-pro.org/modell/Geodaten/1.10.0"', name_='TCGEO_Koordinatensystem', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCGEO_Koordinatensystem') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCGEO_Koordinatensystem': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCGEO_Koordinatensystem') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCGEO_Koordinatensystem', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsGeodaten:', name_='TCGEO_Koordinatensystem'): + super(TCGEO_Koordinatensystem, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCGEO_Koordinatensystem') + def _exportChildren(self, outfile, level, namespaceprefix_='nsGeodaten:', namespacedef_='xmlns:nsGeodaten="http://www.plan-pro.org/modell/Geodaten/1.10.0"', name_='TCGEO_Koordinatensystem', fromsubclass_=False, pretty_print=True): + super(TCGEO_Koordinatensystem, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCGEO_Koordinatensystem, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMGEO_Koordinatensystem + self.validate_ENUMGEO_Koordinatensystem(self.Wert) + super(TCGEO_Koordinatensystem, self)._buildChildren(child_, node, nodeName_, True) +# end class TCGEO_Koordinatensystem + + +class TCBezeichnung_Strecke(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCBezeichnung_Strecke"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TBezeichnung_Strecke(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCBezeichnung_Strecke) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCBezeichnung_Strecke.subclass: + return TCBezeichnung_Strecke.subclass(*args_, **kwargs_) + else: + return TCBezeichnung_Strecke(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TBezeichnung_Strecke(self, value): + result = True + # Validate type TBezeichnung_Strecke, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TBezeichnung_Strecke_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TBezeichnung_Strecke_patterns_, )) + result = False + return result + validate_TBezeichnung_Strecke_patterns_ = [['^([0-9]{4}(\\-[a-zA-Z0-9])?)$'], ['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCBezeichnung_Strecke, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsGeodaten:', namespacedef_='xmlns:nsGeodaten="http://www.plan-pro.org/modell/Geodaten/1.10.0"', name_='TCBezeichnung_Strecke', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCBezeichnung_Strecke') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCBezeichnung_Strecke': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBezeichnung_Strecke') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCBezeichnung_Strecke', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsGeodaten:', name_='TCBezeichnung_Strecke'): + super(TCBezeichnung_Strecke, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBezeichnung_Strecke') + def _exportChildren(self, outfile, level, namespaceprefix_='nsGeodaten:', namespacedef_='xmlns:nsGeodaten="http://www.plan-pro.org/modell/Geodaten/1.10.0"', name_='TCBezeichnung_Strecke', fromsubclass_=False, pretty_print=True): + super(TCBezeichnung_Strecke, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCBezeichnung_Strecke, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TBezeichnung_Strecke + self.validate_TBezeichnung_Strecke(self.Wert) + super(TCBezeichnung_Strecke, self)._buildChildren(child_, node, nodeName_, True) +# end class TCBezeichnung_Strecke + + +class CGEO_Kante_Allg(GeneratedsSuper): + """GEO_Form -- Beschreibung der geometrischen Form der Gleis-Kante. In Abh + ä + ngigkeit von der Geo_Form werden die Attribute GEO Radius A und GEO Radius B mit entsprechenden Werten bef + ü + llt oder bleiben LEER. Beispiel: GEO_Form: Gerade GEO_Radius_A = LEER GEO_Radius_B = LEER GEO_Form: BOGEN GEO_Radius_A = Radius GEO_Radius_B = LEER + GEO_KAD -- Bezeichnung der topografischen Kantenadresse. Aktuell ist eine Verwendung bei der + Ü + bernahme von Trassierungsdaten (ASCIBAHN) vorgesehen. + GEO_Laenge -- L + ä + nge der GEO Kante. Die L + ä + nge wird aus den DB-GIS-Daten oder einem Trassierungsentwurf mit der dort vorhandenen Genauigkeit entnommen. + GEO_Radius_A -- Zugeh + ö + rige Parameter f + ü + r die GEO_Form Gerade: kein zus + ä + tzlicher Parameter erforderlich oder 0.00000 angeben; Bogen: GEO_Radius_A enth + ä + lt den Radius (Anfangsradius = Endradius) in [m]; Richtgerade Knick am Ende: GEO_Radius_A enth + ä + lt den Brechungswinkel am Ende in [gon]; Alle anderen Kanten: GEO_Radius_A enth + ä + lt den Anfangsradius in [m]. In Abh + ä + ngigkeit der Bogenrichtung am GEO_Knoten_A wird der Radius bei einem Linksbogen negativ und bei einem Rechtsbogen positiv angegeben. + GEO_Radius_B -- Zugeh + ö + rige Parameter f + ü + r die GEO_Form Gerade: kein zus + ä + tzlicher Parameter; Bogen: kein zus + ä + tzlicher Parameter; Richtgerade Knick am Ende: kein zus + ä + tzlicher Parameter; Alle anderen Kanten: GEO_Bogen_B enth + ä + lt den Endradius in [m]. In Abh + ä + ngigkeit der Bogenrichtung am GEO_Knoten_A wird der Radius bei einem Linksbogen negativ und bei einem Rechtsbogen positiv angegeben. Die Bogenrichtung ist immer identisch zum GEO_Radius_A. + GEO_Richtungswinkel -- Parameter f + ü + r eine GEO Kante, der den Bezugswinkel (Tangente) am Anfang einer GEO_Kante darstellt. Das Attribut GEO_Richtungswinkel enth + ä + lt den Richtungswinkel der Geo-Kante am Anfang in [gon]. Es gilt nachfolgende Zuordnung der Richtung: Nord = 0,0 gon Ost = 100,0 gon S + ü + d = 200,0 gon West = 300,0 gon originale negative Werte werden durch Addition von 400.0 gon normalisiert. + Plan_Quelle -- Quelle der Geo-Kante, des Geo-Knotens, des H + ö + henpunkts, der H + ö + henlinie, der + Ü + berh + ö + hung bzw. der + Ü + berh + ö + hungslinie. Bei Auswahl von + „ + sonstige + “ + ist zwingend ein Bearbeitungsvermerk anzugeben. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, GEO_Form=None, GEO_KAD=None, GEO_Laenge=None, GEO_Radius_A=None, GEO_Radius_B=None, GEO_Richtungswinkel=None, Plan_Quelle=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.GEO_Form = GEO_Form + self.GEO_Form_nsprefix_ = None + self.GEO_KAD = GEO_KAD + self.GEO_KAD_nsprefix_ = None + self.GEO_Laenge = GEO_Laenge + self.GEO_Laenge_nsprefix_ = None + self.GEO_Radius_A = GEO_Radius_A + self.GEO_Radius_A_nsprefix_ = None + self.GEO_Radius_B = GEO_Radius_B + self.GEO_Radius_B_nsprefix_ = None + self.GEO_Richtungswinkel = GEO_Richtungswinkel + self.GEO_Richtungswinkel_nsprefix_ = None + self.Plan_Quelle = Plan_Quelle + self.Plan_Quelle_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CGEO_Kante_Allg) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CGEO_Kante_Allg.subclass: + return CGEO_Kante_Allg.subclass(*args_, **kwargs_) + else: + return CGEO_Kante_Allg(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_GEO_Form(self): + return self.GEO_Form + def set_GEO_Form(self, GEO_Form): + self.GEO_Form = GEO_Form + def get_GEO_KAD(self): + return self.GEO_KAD + def set_GEO_KAD(self, GEO_KAD): + self.GEO_KAD = GEO_KAD + def get_GEO_Laenge(self): + return self.GEO_Laenge + def set_GEO_Laenge(self, GEO_Laenge): + self.GEO_Laenge = GEO_Laenge + def get_GEO_Radius_A(self): + return self.GEO_Radius_A + def set_GEO_Radius_A(self, GEO_Radius_A): + self.GEO_Radius_A = GEO_Radius_A + def get_GEO_Radius_B(self): + return self.GEO_Radius_B + def set_GEO_Radius_B(self, GEO_Radius_B): + self.GEO_Radius_B = GEO_Radius_B + def get_GEO_Richtungswinkel(self): + return self.GEO_Richtungswinkel + def set_GEO_Richtungswinkel(self, GEO_Richtungswinkel): + self.GEO_Richtungswinkel = GEO_Richtungswinkel + def get_Plan_Quelle(self): + return self.Plan_Quelle + def set_Plan_Quelle(self, Plan_Quelle): + self.Plan_Quelle = Plan_Quelle + def has__content(self): + if ( + self.GEO_Form is not None or + self.GEO_KAD is not None or + self.GEO_Laenge is not None or + self.GEO_Radius_A is not None or + self.GEO_Radius_B is not None or + self.GEO_Richtungswinkel is not None or + self.Plan_Quelle is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsGeodaten:', namespacedef_='xmlns:nsGeodaten="http://www.plan-pro.org/modell/Geodaten/1.10.0"', name_='CGEO_Kante_Allg', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CGEO_Kante_Allg') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CGEO_Kante_Allg': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CGEO_Kante_Allg') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CGEO_Kante_Allg', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsGeodaten:', name_='CGEO_Kante_Allg'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsGeodaten:', namespacedef_='xmlns:nsGeodaten="http://www.plan-pro.org/modell/Geodaten/1.10.0"', name_='CGEO_Kante_Allg', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.GEO_Form is not None: + namespaceprefix_ = self.GEO_Form_nsprefix_ + ':' if (UseCapturedNS_ and self.GEO_Form_nsprefix_) else '' + self.GEO_Form.export(outfile, level, namespaceprefix_, namespacedef_='', name_='GEO_Form', pretty_print=pretty_print) + if self.GEO_KAD is not None: + namespaceprefix_ = self.GEO_KAD_nsprefix_ + ':' if (UseCapturedNS_ and self.GEO_KAD_nsprefix_) else '' + self.GEO_KAD.export(outfile, level, namespaceprefix_, namespacedef_='', name_='GEO_KAD', pretty_print=pretty_print) + if self.GEO_Laenge is not None: + namespaceprefix_ = self.GEO_Laenge_nsprefix_ + ':' if (UseCapturedNS_ and self.GEO_Laenge_nsprefix_) else '' + self.GEO_Laenge.export(outfile, level, namespaceprefix_, namespacedef_='', name_='GEO_Laenge', pretty_print=pretty_print) + if self.GEO_Radius_A is not None: + namespaceprefix_ = self.GEO_Radius_A_nsprefix_ + ':' if (UseCapturedNS_ and self.GEO_Radius_A_nsprefix_) else '' + self.GEO_Radius_A.export(outfile, level, namespaceprefix_, namespacedef_='', name_='GEO_Radius_A', pretty_print=pretty_print) + if self.GEO_Radius_B is not None: + namespaceprefix_ = self.GEO_Radius_B_nsprefix_ + ':' if (UseCapturedNS_ and self.GEO_Radius_B_nsprefix_) else '' + self.GEO_Radius_B.export(outfile, level, namespaceprefix_, namespacedef_='', name_='GEO_Radius_B', pretty_print=pretty_print) + if self.GEO_Richtungswinkel is not None: + namespaceprefix_ = self.GEO_Richtungswinkel_nsprefix_ + ':' if (UseCapturedNS_ and self.GEO_Richtungswinkel_nsprefix_) else '' + self.GEO_Richtungswinkel.export(outfile, level, namespaceprefix_, namespacedef_='', name_='GEO_Richtungswinkel', pretty_print=pretty_print) + if self.Plan_Quelle is not None: + namespaceprefix_ = self.Plan_Quelle_nsprefix_ + ':' if (UseCapturedNS_ and self.Plan_Quelle_nsprefix_) else '' + self.Plan_Quelle.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Plan_Quelle', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'GEO_Form': + obj_ = TCGEO_Form.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.GEO_Form = obj_ + obj_.original_tagname_ = 'GEO_Form' + elif nodeName_ == 'GEO_KAD': + obj_ = TCGEO_KAD.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.GEO_KAD = obj_ + obj_.original_tagname_ = 'GEO_KAD' + elif nodeName_ == 'GEO_Laenge': + obj_ = TCGEO_Laenge.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.GEO_Laenge = obj_ + obj_.original_tagname_ = 'GEO_Laenge' + elif nodeName_ == 'GEO_Radius_A': + obj_ = TCGEO_Radius_A.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.GEO_Radius_A = obj_ + obj_.original_tagname_ = 'GEO_Radius_A' + elif nodeName_ == 'GEO_Radius_B': + obj_ = TCGEO_Radius_B.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.GEO_Radius_B = obj_ + obj_.original_tagname_ = 'GEO_Radius_B' + elif nodeName_ == 'GEO_Richtungswinkel': + obj_ = TCGEO_Richtungswinkel.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.GEO_Richtungswinkel = obj_ + obj_.original_tagname_ = 'GEO_Richtungswinkel' + elif nodeName_ == 'Plan_Quelle': + obj_ = TCPlan_Quelle.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Plan_Quelle = obj_ + obj_.original_tagname_ = 'Plan_Quelle' +# end class CGEO_Kante_Allg + + +class CUeberhoehung_Allg(GeneratedsSuper): + """GEO_PAD -- Bezeichnung der topografischen Punktadresse. Die Punktadresse wird aus dem DB-GIS f + ü + r jeden Vermessungspunkt bereitgestellt. Eine PAD kann in verschiedenen Koordinatensystemen liegen (GEO_Punkt). Die Verwendung ist zum Abgleich mit dem GIS-System der DB Netz AG erforderlich. Bei Neutrassierungen existiert noch keine PAD-Angabe. Dann wird hier die Bezeichnung des Knotens aus dieser Neutrassierung eingetragen. Wenn Daten h + ä + ndisch (z.B. von Ivl-Pl + ä + nen nachgezeichnet) erstellt wurden, wird das Attribut nicht bef + ü + llt. + Plan_Quelle -- Quelle der Geo-Kante, des Geo-Knotens, des H + ö + henpunkts, der H + ö + henlinie, der + Ü + berh + ö + hung bzw. der + Ü + berh + ö + hungslinie. Bei Auswahl von + „ + sonstige + “ + ist zwingend ein Bearbeitungsvermerk anzugeben. + Ueberhoehung_Datum -- Aufnahmedatum der Koordinaten der + Ü + berh + ö + hung. GND: Punktdatum; Ivl und Ivmg: Datum der letzten Bearbeitung; Kopie: Datum aus kopierter H + ö + he; Neutrassierung: Freigabedatum; sonstige: Datum der letzten Bearbeitung. Die Information wird zuk + ü + nftig + ü + ber das Attribut Datum_Regelwerk abgebildet. Das Attribut soll daher langfristig entfallen. + Ueberhoehung_Hoehe -- H + ö + hendifferenz in Querrichtung eines Gleises zwischen beiden Schienen. Genauigkeit: Tausendstel m = 1 mm. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, GEO_PAD=None, Plan_Quelle=None, Ueberhoehung_Datum=None, Ueberhoehung_Hoehe=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.GEO_PAD = GEO_PAD + self.GEO_PAD_nsprefix_ = None + self.Plan_Quelle = Plan_Quelle + self.Plan_Quelle_nsprefix_ = None + self.Ueberhoehung_Datum = Ueberhoehung_Datum + self.Ueberhoehung_Datum_nsprefix_ = None + self.Ueberhoehung_Hoehe = Ueberhoehung_Hoehe + self.Ueberhoehung_Hoehe_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CUeberhoehung_Allg) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CUeberhoehung_Allg.subclass: + return CUeberhoehung_Allg.subclass(*args_, **kwargs_) + else: + return CUeberhoehung_Allg(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_GEO_PAD(self): + return self.GEO_PAD + def set_GEO_PAD(self, GEO_PAD): + self.GEO_PAD = GEO_PAD + def get_Plan_Quelle(self): + return self.Plan_Quelle + def set_Plan_Quelle(self, Plan_Quelle): + self.Plan_Quelle = Plan_Quelle + def get_Ueberhoehung_Datum(self): + return self.Ueberhoehung_Datum + def set_Ueberhoehung_Datum(self, Ueberhoehung_Datum): + self.Ueberhoehung_Datum = Ueberhoehung_Datum + def get_Ueberhoehung_Hoehe(self): + return self.Ueberhoehung_Hoehe + def set_Ueberhoehung_Hoehe(self, Ueberhoehung_Hoehe): + self.Ueberhoehung_Hoehe = Ueberhoehung_Hoehe + def has__content(self): + if ( + self.GEO_PAD is not None or + self.Plan_Quelle is not None or + self.Ueberhoehung_Datum is not None or + self.Ueberhoehung_Hoehe is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsGeodaten:', namespacedef_='xmlns:nsGeodaten="http://www.plan-pro.org/modell/Geodaten/1.10.0"', name_='CUeberhoehung_Allg', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CUeberhoehung_Allg') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CUeberhoehung_Allg': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CUeberhoehung_Allg') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CUeberhoehung_Allg', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsGeodaten:', name_='CUeberhoehung_Allg'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsGeodaten:', namespacedef_='xmlns:nsGeodaten="http://www.plan-pro.org/modell/Geodaten/1.10.0"', name_='CUeberhoehung_Allg', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.GEO_PAD is not None: + namespaceprefix_ = self.GEO_PAD_nsprefix_ + ':' if (UseCapturedNS_ and self.GEO_PAD_nsprefix_) else '' + self.GEO_PAD.export(outfile, level, namespaceprefix_, namespacedef_='', name_='GEO_PAD', pretty_print=pretty_print) + if self.Plan_Quelle is not None: + namespaceprefix_ = self.Plan_Quelle_nsprefix_ + ':' if (UseCapturedNS_ and self.Plan_Quelle_nsprefix_) else '' + self.Plan_Quelle.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Plan_Quelle', pretty_print=pretty_print) + if self.Ueberhoehung_Datum is not None: + namespaceprefix_ = self.Ueberhoehung_Datum_nsprefix_ + ':' if (UseCapturedNS_ and self.Ueberhoehung_Datum_nsprefix_) else '' + self.Ueberhoehung_Datum.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Ueberhoehung_Datum', pretty_print=pretty_print) + if self.Ueberhoehung_Hoehe is not None: + namespaceprefix_ = self.Ueberhoehung_Hoehe_nsprefix_ + ':' if (UseCapturedNS_ and self.Ueberhoehung_Hoehe_nsprefix_) else '' + self.Ueberhoehung_Hoehe.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Ueberhoehung_Hoehe', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'GEO_PAD': + obj_ = TCGEO_PAD.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.GEO_PAD = obj_ + obj_.original_tagname_ = 'GEO_PAD' + elif nodeName_ == 'Plan_Quelle': + obj_ = TCPlan_Quelle.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Plan_Quelle = obj_ + obj_.original_tagname_ = 'Plan_Quelle' + elif nodeName_ == 'Ueberhoehung_Datum': + obj_ = TCUeberhoehung_Datum.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Ueberhoehung_Datum = obj_ + obj_.original_tagname_ = 'Ueberhoehung_Datum' + elif nodeName_ == 'Ueberhoehung_Hoehe': + obj_ = TCUeberhoehung_Hoehe.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Ueberhoehung_Hoehe = obj_ + obj_.original_tagname_ = 'Ueberhoehung_Hoehe' +# end class CUeberhoehung_Allg + + +class TCGEO_Laenge(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCGEO_Laenge"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TGEO_Laenge(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCGEO_Laenge) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCGEO_Laenge.subclass: + return TCGEO_Laenge.subclass(*args_, **kwargs_) + else: + return TCGEO_Laenge(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TGEO_Laenge(self, value): + result = True + # Validate type TGEO_Laenge, a restriction on nsBasisTypen:TMeter. + 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 not self.gds_validate_simple_patterns( + self.validate_TGEO_Laenge_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGEO_Laenge_patterns_, )) + result = False + return result + validate_TGEO_Laenge_patterns_ = [['^(-?(0|[1-9][0-9]{0,3})\\.[0-9]{5})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCGEO_Laenge, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsGeodaten:', namespacedef_='xmlns:nsGeodaten="http://www.plan-pro.org/modell/Geodaten/1.10.0"', name_='TCGEO_Laenge', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCGEO_Laenge') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCGEO_Laenge': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCGEO_Laenge') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCGEO_Laenge', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsGeodaten:', name_='TCGEO_Laenge'): + super(TCGEO_Laenge, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCGEO_Laenge') + def _exportChildren(self, outfile, level, namespaceprefix_='nsGeodaten:', namespacedef_='xmlns:nsGeodaten="http://www.plan-pro.org/modell/Geodaten/1.10.0"', name_='TCGEO_Laenge', fromsubclass_=False, pretty_print=True): + super(TCGEO_Laenge, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_decimal(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCGEO_Laenge, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + fval_ = self.gds_parse_decimal(sval_, node, 'Wert') + fval_ = self.gds_validate_decimal(fval_, node, 'Wert') + self.Wert = fval_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGEO_Laenge + self.validate_TGEO_Laenge(self.Wert) + super(TCGEO_Laenge, self)._buildChildren(child_, node, nodeName_, True) +# end class TCGEO_Laenge + + +class TCOertlichkeit_Gueltig_Bis(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCOertlichkeit_Gueltig_Bis"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + if isinstance(Wert, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Wert, '%Y-%m-%d').date() + else: + initvalue_ = Wert + self.Wert = initvalue_ + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCOertlichkeit_Gueltig_Bis) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCOertlichkeit_Gueltig_Bis.subclass: + return TCOertlichkeit_Gueltig_Bis.subclass(*args_, **kwargs_) + else: + return TCOertlichkeit_Gueltig_Bis(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def has__content(self): + if ( + self.Wert is not None or + super(TCOertlichkeit_Gueltig_Bis, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsGeodaten:', namespacedef_='xmlns:nsGeodaten="http://www.plan-pro.org/modell/Geodaten/1.10.0"', name_='TCOertlichkeit_Gueltig_Bis', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCOertlichkeit_Gueltig_Bis') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCOertlichkeit_Gueltig_Bis': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCOertlichkeit_Gueltig_Bis') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCOertlichkeit_Gueltig_Bis', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsGeodaten:', name_='TCOertlichkeit_Gueltig_Bis'): + super(TCOertlichkeit_Gueltig_Bis, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCOertlichkeit_Gueltig_Bis') + def _exportChildren(self, outfile, level, namespaceprefix_='nsGeodaten:', namespacedef_='xmlns:nsGeodaten="http://www.plan-pro.org/modell/Geodaten/1.10.0"', name_='TCOertlichkeit_Gueltig_Bis', fromsubclass_=False, pretty_print=True): + super(TCOertlichkeit_Gueltig_Bis, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_date(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCOertlichkeit_Gueltig_Bis, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + sval_ = child_.text + dval_ = self.gds_parse_date(sval_) + self.Wert = dval_ + self.Wert_nsprefix_ = child_.prefix + super(TCOertlichkeit_Gueltig_Bis, self)._buildChildren(child_, node, nodeName_, True) +# end class TCOertlichkeit_Gueltig_Bis + + +class TCHoehenpunkt_Hoehe(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCHoehenpunkt_Hoehe"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_THoehenpunkt_Hoehe(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCHoehenpunkt_Hoehe) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCHoehenpunkt_Hoehe.subclass: + return TCHoehenpunkt_Hoehe.subclass(*args_, **kwargs_) + else: + return TCHoehenpunkt_Hoehe(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_THoehenpunkt_Hoehe(self, value): + result = True + # Validate type THoehenpunkt_Hoehe, 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 not self.gds_validate_simple_patterns( + self.validate_THoehenpunkt_Hoehe_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_THoehenpunkt_Hoehe_patterns_, )) + result = False + return result + validate_THoehenpunkt_Hoehe_patterns_ = [['^(-100\\.000|-([1-9][0-9]{0,1}\\.[0-9]{3})|(-0\\.[1-9][0-9]{2}|-0\\.0[1-9][0-9]|-0\\.0[0-9][1-9])|((0|[1-9][0-9]{0,2}|[1-2][0-9]{3})\\.[0-9]{3})|3000\\.000)$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCHoehenpunkt_Hoehe, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsGeodaten:', namespacedef_='xmlns:nsGeodaten="http://www.plan-pro.org/modell/Geodaten/1.10.0"', name_='TCHoehenpunkt_Hoehe', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCHoehenpunkt_Hoehe') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCHoehenpunkt_Hoehe': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCHoehenpunkt_Hoehe') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCHoehenpunkt_Hoehe', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsGeodaten:', name_='TCHoehenpunkt_Hoehe'): + super(TCHoehenpunkt_Hoehe, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCHoehenpunkt_Hoehe') + def _exportChildren(self, outfile, level, namespaceprefix_='nsGeodaten:', namespacedef_='xmlns:nsGeodaten="http://www.plan-pro.org/modell/Geodaten/1.10.0"', name_='TCHoehenpunkt_Hoehe', fromsubclass_=False, pretty_print=True): + super(TCHoehenpunkt_Hoehe, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_decimal(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCHoehenpunkt_Hoehe, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + fval_ = self.gds_parse_decimal(sval_, node, 'Wert') + fval_ = self.gds_validate_decimal(fval_, node, 'Wert') + self.Wert = fval_ + self.Wert_nsprefix_ = child_.prefix + # validate type THoehenpunkt_Hoehe + self.validate_THoehenpunkt_Hoehe(self.Wert) + super(TCHoehenpunkt_Hoehe, self)._buildChildren(child_, node, nodeName_, True) +# end class TCHoehenpunkt_Hoehe + + +class TCHSystem(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCHSystem"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMHSystem(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCHSystem) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCHSystem.subclass: + return TCHSystem.subclass(*args_, **kwargs_) + else: + return TCHSystem(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMHSystem(self, value): + result = True + # Validate type ENUMHSystem, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['DBRH_2003', 'DBRH_2016', 'DHHN_12', 'DHHN_2016', 'DHHN_85', 'DHHN_92', 'HN_56', 'HN_76', 'sonstige'] + 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 ENUMHSystem' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCHSystem, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsGeodaten:', namespacedef_='xmlns:nsGeodaten="http://www.plan-pro.org/modell/Geodaten/1.10.0"', name_='TCHSystem', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCHSystem') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCHSystem': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCHSystem') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCHSystem', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsGeodaten:', name_='TCHSystem'): + super(TCHSystem, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCHSystem') + def _exportChildren(self, outfile, level, namespaceprefix_='nsGeodaten:', namespacedef_='xmlns:nsGeodaten="http://www.plan-pro.org/modell/Geodaten/1.10.0"', name_='TCHSystem', fromsubclass_=False, pretty_print=True): + super(TCHSystem, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCHSystem, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMHSystem + self.validate_ENUMHSystem(self.Wert) + super(TCHSystem, self)._buildChildren(child_, node, nodeName_, True) +# end class TCHSystem + + +class CUeberhoehungslinie_Allg(GeneratedsSuper): + """Plan_Quelle -- Quelle der Geo-Kante, des Geo-Knotens, des H + ö + henpunkts, der H + ö + henlinie, der + Ü + berh + ö + hung bzw. der + Ü + berh + ö + hungslinie. Bei Auswahl von + „ + sonstige + “ + ist zwingend ein Bearbeitungsvermerk anzugeben. + Ueberhoehungslinie_Form -- Form der Ueberhoehungslinie, z. B. gleichbleibend oder gerade Rampe. + Ueberhoehungslinie_Laenge -- L + ä + nge der Ueberhoehungslinie. Genauigkeit: Tausendstel m = 1 mm. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Plan_Quelle=None, Ueberhoehungslinie_Form=None, Ueberhoehungslinie_Laenge=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Plan_Quelle = Plan_Quelle + self.Plan_Quelle_nsprefix_ = None + self.Ueberhoehungslinie_Form = Ueberhoehungslinie_Form + self.Ueberhoehungslinie_Form_nsprefix_ = None + self.Ueberhoehungslinie_Laenge = Ueberhoehungslinie_Laenge + self.Ueberhoehungslinie_Laenge_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CUeberhoehungslinie_Allg) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CUeberhoehungslinie_Allg.subclass: + return CUeberhoehungslinie_Allg.subclass(*args_, **kwargs_) + else: + return CUeberhoehungslinie_Allg(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Plan_Quelle(self): + return self.Plan_Quelle + def set_Plan_Quelle(self, Plan_Quelle): + self.Plan_Quelle = Plan_Quelle + def get_Ueberhoehungslinie_Form(self): + return self.Ueberhoehungslinie_Form + def set_Ueberhoehungslinie_Form(self, Ueberhoehungslinie_Form): + self.Ueberhoehungslinie_Form = Ueberhoehungslinie_Form + def get_Ueberhoehungslinie_Laenge(self): + return self.Ueberhoehungslinie_Laenge + def set_Ueberhoehungslinie_Laenge(self, Ueberhoehungslinie_Laenge): + self.Ueberhoehungslinie_Laenge = Ueberhoehungslinie_Laenge + def has__content(self): + if ( + self.Plan_Quelle is not None or + self.Ueberhoehungslinie_Form is not None or + self.Ueberhoehungslinie_Laenge is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsGeodaten:', namespacedef_='xmlns:nsGeodaten="http://www.plan-pro.org/modell/Geodaten/1.10.0"', name_='CUeberhoehungslinie_Allg', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CUeberhoehungslinie_Allg') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CUeberhoehungslinie_Allg': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CUeberhoehungslinie_Allg') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CUeberhoehungslinie_Allg', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsGeodaten:', name_='CUeberhoehungslinie_Allg'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsGeodaten:', namespacedef_='xmlns:nsGeodaten="http://www.plan-pro.org/modell/Geodaten/1.10.0"', name_='CUeberhoehungslinie_Allg', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Plan_Quelle is not None: + namespaceprefix_ = self.Plan_Quelle_nsprefix_ + ':' if (UseCapturedNS_ and self.Plan_Quelle_nsprefix_) else '' + self.Plan_Quelle.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Plan_Quelle', pretty_print=pretty_print) + if self.Ueberhoehungslinie_Form is not None: + namespaceprefix_ = self.Ueberhoehungslinie_Form_nsprefix_ + ':' if (UseCapturedNS_ and self.Ueberhoehungslinie_Form_nsprefix_) else '' + self.Ueberhoehungslinie_Form.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Ueberhoehungslinie_Form', pretty_print=pretty_print) + if self.Ueberhoehungslinie_Laenge is not None: + namespaceprefix_ = self.Ueberhoehungslinie_Laenge_nsprefix_ + ':' if (UseCapturedNS_ and self.Ueberhoehungslinie_Laenge_nsprefix_) else '' + self.Ueberhoehungslinie_Laenge.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Ueberhoehungslinie_Laenge', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Plan_Quelle': + obj_ = TCPlan_Quelle.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Plan_Quelle = obj_ + obj_.original_tagname_ = 'Plan_Quelle' + elif nodeName_ == 'Ueberhoehungslinie_Form': + obj_ = TCUeberhoehungslinie_Form.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Ueberhoehungslinie_Form = obj_ + obj_.original_tagname_ = 'Ueberhoehungslinie_Form' + elif nodeName_ == 'Ueberhoehungslinie_Laenge': + obj_ = TCUeberhoehungslinie_Laenge.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Ueberhoehungslinie_Laenge = obj_ + obj_.original_tagname_ = 'Ueberhoehungslinie_Laenge' +# end class CUeberhoehungslinie_Allg + + +class TCOertlichkeit_Abkuerzung(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCOertlichkeit_Abkuerzung"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TOertlichkeit_Abkuerzung(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCOertlichkeit_Abkuerzung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCOertlichkeit_Abkuerzung.subclass: + return TCOertlichkeit_Abkuerzung.subclass(*args_, **kwargs_) + else: + return TCOertlichkeit_Abkuerzung(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TOertlichkeit_Abkuerzung(self, value): + result = True + # Validate type TOertlichkeit_Abkuerzung, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TOertlichkeit_Abkuerzung_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TOertlichkeit_Abkuerzung_patterns_, )) + result = False + return result + validate_TOertlichkeit_Abkuerzung_patterns_ = [['^([A-Z][A-Z0-9 ]{1,4})$'], ['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCOertlichkeit_Abkuerzung, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsGeodaten:', namespacedef_='xmlns:nsGeodaten="http://www.plan-pro.org/modell/Geodaten/1.10.0"', name_='TCOertlichkeit_Abkuerzung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCOertlichkeit_Abkuerzung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCOertlichkeit_Abkuerzung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCOertlichkeit_Abkuerzung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCOertlichkeit_Abkuerzung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsGeodaten:', name_='TCOertlichkeit_Abkuerzung'): + super(TCOertlichkeit_Abkuerzung, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCOertlichkeit_Abkuerzung') + def _exportChildren(self, outfile, level, namespaceprefix_='nsGeodaten:', namespacedef_='xmlns:nsGeodaten="http://www.plan-pro.org/modell/Geodaten/1.10.0"', name_='TCOertlichkeit_Abkuerzung', fromsubclass_=False, pretty_print=True): + super(TCOertlichkeit_Abkuerzung, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCOertlichkeit_Abkuerzung, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TOertlichkeit_Abkuerzung + self.validate_TOertlichkeit_Abkuerzung(self.Wert) + super(TCOertlichkeit_Abkuerzung, self)._buildChildren(child_, node, nodeName_, True) +# end class TCOertlichkeit_Abkuerzung + + +class TCOertlichkeit_Kurzname(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCOertlichkeit_Kurzname"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TOertlichkeit_Kurzname(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCOertlichkeit_Kurzname) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCOertlichkeit_Kurzname.subclass: + return TCOertlichkeit_Kurzname.subclass(*args_, **kwargs_) + else: + return TCOertlichkeit_Kurzname(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TOertlichkeit_Kurzname(self, value): + result = True + # Validate type TOertlichkeit_Kurzname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TOertlichkeit_Kurzname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TOertlichkeit_Kurzname_patterns_, )) + result = False + return result + validate_TOertlichkeit_Kurzname_patterns_ = [['^(.{1,16})$'], ['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCOertlichkeit_Kurzname, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsGeodaten:', namespacedef_='xmlns:nsGeodaten="http://www.plan-pro.org/modell/Geodaten/1.10.0"', name_='TCOertlichkeit_Kurzname', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCOertlichkeit_Kurzname') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCOertlichkeit_Kurzname': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCOertlichkeit_Kurzname') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCOertlichkeit_Kurzname', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsGeodaten:', name_='TCOertlichkeit_Kurzname'): + super(TCOertlichkeit_Kurzname, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCOertlichkeit_Kurzname') + def _exportChildren(self, outfile, level, namespaceprefix_='nsGeodaten:', namespacedef_='xmlns:nsGeodaten="http://www.plan-pro.org/modell/Geodaten/1.10.0"', name_='TCOertlichkeit_Kurzname', fromsubclass_=False, pretty_print=True): + super(TCOertlichkeit_Kurzname, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCOertlichkeit_Kurzname, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TOertlichkeit_Kurzname + self.validate_TOertlichkeit_Kurzname(self.Wert) + super(TCOertlichkeit_Kurzname, self)._buildChildren(child_, node, nodeName_, True) +# end class TCOertlichkeit_Kurzname + + +class CTrasse_Kante_child(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_, CTrasse_Kante_child) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CTrasse_Kante_child.subclass: + return CTrasse_Kante_child.subclass(*args_, **kwargs_) + else: + return CTrasse_Kante_child(*args_, **kwargs_) + factory = 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_='nsGeodaten:', namespacedef_='xmlns:nsGeodaten="http://www.plan-pro.org/modell/Geodaten/1.10.0"', name_='CTrasse_Kante_child', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CTrasse_Kante_child') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CTrasse_Kante_child': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CTrasse_Kante_child') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CTrasse_Kante_child', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsGeodaten:', name_='CTrasse_Kante_child'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsGeodaten:', namespacedef_='xmlns:nsGeodaten="http://www.plan-pro.org/modell/Geodaten/1.10.0"', name_='CTrasse_Kante_child', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_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 CTrasse_Kante_child + + +class TCPlan_Quelle(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCPlan_Quelle"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMPlan_Quelle(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCPlan_Quelle) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCPlan_Quelle.subclass: + return TCPlan_Quelle.subclass(*args_, **kwargs_) + else: + return TCPlan_Quelle(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMPlan_Quelle(self, value): + result = True + # Validate type ENUMPlan_Quelle, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['Ersatztrassierung', 'GIS', 'GND', 'GND_autokorr', 'GND_mankorr', 'Ivl', 'Ivmg', 'Kopie', 'Neutrassierung', 'Planung', 'PT 2', 'sonstige', 'Vermessung'] + 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 ENUMPlan_Quelle' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCPlan_Quelle, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsGeodaten:', namespacedef_='xmlns:nsGeodaten="http://www.plan-pro.org/modell/Geodaten/1.10.0"', name_='TCPlan_Quelle', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCPlan_Quelle') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCPlan_Quelle': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCPlan_Quelle') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCPlan_Quelle', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsGeodaten:', name_='TCPlan_Quelle'): + super(TCPlan_Quelle, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCPlan_Quelle') + def _exportChildren(self, outfile, level, namespaceprefix_='nsGeodaten:', namespacedef_='xmlns:nsGeodaten="http://www.plan-pro.org/modell/Geodaten/1.10.0"', name_='TCPlan_Quelle', fromsubclass_=False, pretty_print=True): + super(TCPlan_Quelle, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCPlan_Quelle, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMPlan_Quelle + self.validate_ENUMPlan_Quelle(self.Wert) + super(TCPlan_Quelle, self)._buildChildren(child_, node, nodeName_, True) +# end class TCPlan_Quelle + + +class COertlichkeit_Allg(GeneratedsSuper): + """Oertlichkeit_Art -- Art der + Ö + rtlichkeit. Die Bef + ü + llungen sind der ENUM-Liste von Bahnanlagen und Betriebsstellen des Netzes, weiterer + Ö + rtlichkeiten mit Fahrplanzeiten sowie sonstiger Punkte zu entnehmen und m + ü + ssen in der Regel mit der Angabe in der Ril 100 + ü + bereinstimmen. Ab der Version 1.8.0 wird die Schreibweise der ENUM-Werte identisch zur Ril 100 + ü + bernommen, indem Umlaute und Leezeichen verwendet werden. Die im Glossar mit (E) gekennzeichneten Werte entfallen zuk + ü + nftig und sollen daher nicht mehr f + ü + r Neuanwendungen genutzt werden. DB-Regelwerk Die verwendeten Codierungen sind im Anhang 1 Abschnitt 3 der Richtlinie 100.0001 zusammengestellt und in ihrer Bedeutung erkl + ä + rt. + Oertlichkeit_Gueltig_Ab -- G + ü + ltig ab ist eine Angabe zum ersten G + ü + ltigkeitstag der Abk + ü + rzung oder eine andere Angabe gem + ä + ß + Regelwerk. DB-Regelwerk Die Angaben zur G + ü + ltigkeit sind in Richtlinie 100.0001 Abschnitt 4 (2) geregelt. + Oertlichkeit_Gueltig_Bis -- G + ü + ltig bis ist eine Angabe zum letzten G + ü + ltigkeitstag der Abk + ü + rzung oder eine andere Angabe gem + ä + ß + Regelwerk. DB-Regelwerk Die Angaben zur G + ü + ltigkeit sind in Richtlinie 100.0001 Abschnitt 4 (2) geregelt. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Oertlichkeit_Art=None, Oertlichkeit_Gueltig_Ab=None, Oertlichkeit_Gueltig_Bis=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Oertlichkeit_Art = Oertlichkeit_Art + self.Oertlichkeit_Art_nsprefix_ = None + self.Oertlichkeit_Gueltig_Ab = Oertlichkeit_Gueltig_Ab + self.Oertlichkeit_Gueltig_Ab_nsprefix_ = None + self.Oertlichkeit_Gueltig_Bis = Oertlichkeit_Gueltig_Bis + self.Oertlichkeit_Gueltig_Bis_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, COertlichkeit_Allg) + if subclass is not None: + return subclass(*args_, **kwargs_) + if COertlichkeit_Allg.subclass: + return COertlichkeit_Allg.subclass(*args_, **kwargs_) + else: + return COertlichkeit_Allg(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Oertlichkeit_Art(self): + return self.Oertlichkeit_Art + def set_Oertlichkeit_Art(self, Oertlichkeit_Art): + self.Oertlichkeit_Art = Oertlichkeit_Art + def get_Oertlichkeit_Gueltig_Ab(self): + return self.Oertlichkeit_Gueltig_Ab + def set_Oertlichkeit_Gueltig_Ab(self, Oertlichkeit_Gueltig_Ab): + self.Oertlichkeit_Gueltig_Ab = Oertlichkeit_Gueltig_Ab + def get_Oertlichkeit_Gueltig_Bis(self): + return self.Oertlichkeit_Gueltig_Bis + def set_Oertlichkeit_Gueltig_Bis(self, Oertlichkeit_Gueltig_Bis): + self.Oertlichkeit_Gueltig_Bis = Oertlichkeit_Gueltig_Bis + def has__content(self): + if ( + self.Oertlichkeit_Art is not None or + self.Oertlichkeit_Gueltig_Ab is not None or + self.Oertlichkeit_Gueltig_Bis is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsGeodaten:', namespacedef_='xmlns:nsGeodaten="http://www.plan-pro.org/modell/Geodaten/1.10.0"', name_='COertlichkeit_Allg', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('COertlichkeit_Allg') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'COertlichkeit_Allg': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='COertlichkeit_Allg') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='COertlichkeit_Allg', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsGeodaten:', name_='COertlichkeit_Allg'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsGeodaten:', namespacedef_='xmlns:nsGeodaten="http://www.plan-pro.org/modell/Geodaten/1.10.0"', name_='COertlichkeit_Allg', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Oertlichkeit_Art is not None: + namespaceprefix_ = self.Oertlichkeit_Art_nsprefix_ + ':' if (UseCapturedNS_ and self.Oertlichkeit_Art_nsprefix_) else '' + self.Oertlichkeit_Art.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Oertlichkeit_Art', pretty_print=pretty_print) + if self.Oertlichkeit_Gueltig_Ab is not None: + namespaceprefix_ = self.Oertlichkeit_Gueltig_Ab_nsprefix_ + ':' if (UseCapturedNS_ and self.Oertlichkeit_Gueltig_Ab_nsprefix_) else '' + self.Oertlichkeit_Gueltig_Ab.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Oertlichkeit_Gueltig_Ab', pretty_print=pretty_print) + if self.Oertlichkeit_Gueltig_Bis is not None: + namespaceprefix_ = self.Oertlichkeit_Gueltig_Bis_nsprefix_ + ':' if (UseCapturedNS_ and self.Oertlichkeit_Gueltig_Bis_nsprefix_) else '' + self.Oertlichkeit_Gueltig_Bis.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Oertlichkeit_Gueltig_Bis', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Oertlichkeit_Art': + obj_ = TCOertlichkeit_Art.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Oertlichkeit_Art = obj_ + obj_.original_tagname_ = 'Oertlichkeit_Art' + elif nodeName_ == 'Oertlichkeit_Gueltig_Ab': + obj_ = TCOertlichkeit_Gueltig_Ab.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Oertlichkeit_Gueltig_Ab = obj_ + obj_.original_tagname_ = 'Oertlichkeit_Gueltig_Ab' + elif nodeName_ == 'Oertlichkeit_Gueltig_Bis': + obj_ = TCOertlichkeit_Gueltig_Bis.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Oertlichkeit_Gueltig_Bis = obj_ + obj_.original_tagname_ = 'Oertlichkeit_Gueltig_Bis' +# end class COertlichkeit_Allg + + +class CGEO_Knoten(CBasis_Objekt): + """CGEO_Knoten -- Knoten des topografischen Knoten-Kanten-Modells. Die Anzahl der anschlie + ß + enden topografischen Kanten (Gleislinie oder Kilometrierungslinie) ist je nach Art des GEO Knoten bzw. Art des zugeh + ö + rigen TOP Knoten unterschiedlich: F + ü + r die Gleislinie gilt: Eine GEO-Kante: Der GEO_Knoten ist gleichzeitig auch ein TOP Knoten, an dem die Topografie und Topologie endet (z. B. Gleisende, Betrachtungsende oder Digitalisierungsende). Zwei GEO-Kanten: Der GEO_Knoten verweist nicht auf einen TOP Knoten: + Ä + nderung der Geometrie des Gleises oder Vermessungspunkt. Drei GEO-Kanten: Der GEO_Knoten ist gleichzeitig auch ein Knoten, an dem eine Verzweigung der Gleis- oder Kilometrierungslinie vorhanden ist. + Ü + ber einen Verweis von GEO Punkt zu GEO_Knoten werden die realen Koordinaten (ggf. auch von mehreren Koordinatensystemen) dieses Knotens zugeordnet. Weitere F + ä + lle mit 0..1 anschlie + ß + enden GEO-Kanten treten an GEO_Knoten auf, an deren Stelle sich auch ein TOP Knoten der Art Verbindungsknoten befindet (siehe Beschreibung Verbindungsknoten). + GEO_PAD -- Bezeichnung der topografischen Punktadresse. Die Punktadresse wird aus dem DB-GIS f + ü + r jeden Vermessungspunkt bereitgestellt. Eine PAD kann in verschiedenen Koordinatensystemen liegen (GEO_Punkt). Die Verwendung ist zum Abgleich mit dem GIS-System der DB Netz AG erforderlich. Bei Neutrassierungen existiert noch keine PAD-Angabe. Dann wird hier die Bezeichnung des Knotens aus dieser Neutrassierung eingetragen. Wenn Daten h + ä + ndisch (z.B. von Ivl-Pl + ä + nen nachgezeichnet) erstellt wurden, wird das Attribut nicht bef + ü + llt. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasis_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, GEO_PAD=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CGEO_Knoten"), self).__init__(Identitaet, Basis_Objekt_Allg, ID_Bearbeitungsvermerk, ID_Oertlichkeit_Ausgabe, Objektreferenzen, **kwargs_) + self.GEO_PAD = GEO_PAD + self.GEO_PAD_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CGEO_Knoten) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CGEO_Knoten.subclass: + return CGEO_Knoten.subclass(*args_, **kwargs_) + else: + return CGEO_Knoten(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_GEO_PAD(self): + return self.GEO_PAD + def set_GEO_PAD(self, GEO_PAD): + self.GEO_PAD = GEO_PAD + def has__content(self): + if ( + self.GEO_PAD is not None or + super(CGEO_Knoten, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsGeodaten:', namespacedef_='xmlns:nsGeodaten="http://www.plan-pro.org/modell/Geodaten/1.10.0"', name_='CGEO_Knoten', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CGEO_Knoten') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CGEO_Knoten': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CGEO_Knoten') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CGEO_Knoten', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsGeodaten:', name_='CGEO_Knoten'): + super(CGEO_Knoten, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CGEO_Knoten') + def _exportChildren(self, outfile, level, namespaceprefix_='nsGeodaten:', namespacedef_='xmlns:nsGeodaten="http://www.plan-pro.org/modell/Geodaten/1.10.0"', name_='CGEO_Knoten', fromsubclass_=False, pretty_print=True): + super(CGEO_Knoten, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.GEO_PAD is not None: + namespaceprefix_ = self.GEO_PAD_nsprefix_ + ':' if (UseCapturedNS_ and self.GEO_PAD_nsprefix_) else '' + self.GEO_PAD.export(outfile, level, namespaceprefix_, namespacedef_='', name_='GEO_PAD', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CGEO_Knoten, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'GEO_PAD': + obj_ = TCGEO_PAD.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.GEO_PAD = obj_ + obj_.original_tagname_ = 'GEO_PAD' + super(CGEO_Knoten, self)._buildChildren(child_, node, nodeName_, True) +# end class CGEO_Knoten + + +class TCTOP_Anschluss_A(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCTOP_Anschluss_A"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMTOP_Anschluss(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCTOP_Anschluss_A) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCTOP_Anschluss_A.subclass: + return TCTOP_Anschluss_A.subclass(*args_, **kwargs_) + else: + return TCTOP_Anschluss_A(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMTOP_Anschluss(self, value): + result = True + # Validate type ENUMTOP_Anschluss, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['Ende', 'Ende_Bestdig', 'Links', 'Meridiansprung', 'RB_Grenze', 'Rechts', 'Schnitt', 'sonstige', 'Spitze', 'Streckenwechsel', 'Verbindung'] + 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 ENUMTOP_Anschluss' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCTOP_Anschluss_A, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsGeodaten:', namespacedef_='xmlns:nsGeodaten="http://www.plan-pro.org/modell/Geodaten/1.10.0"', name_='TCTOP_Anschluss_A', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCTOP_Anschluss_A') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCTOP_Anschluss_A': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCTOP_Anschluss_A') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCTOP_Anschluss_A', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsGeodaten:', name_='TCTOP_Anschluss_A'): + super(TCTOP_Anschluss_A, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCTOP_Anschluss_A') + def _exportChildren(self, outfile, level, namespaceprefix_='nsGeodaten:', namespacedef_='xmlns:nsGeodaten="http://www.plan-pro.org/modell/Geodaten/1.10.0"', name_='TCTOP_Anschluss_A', fromsubclass_=False, pretty_print=True): + super(TCTOP_Anschluss_A, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCTOP_Anschluss_A, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMTOP_Anschluss + self.validate_ENUMTOP_Anschluss(self.Wert) + super(TCTOP_Anschluss_A, self)._buildChildren(child_, node, nodeName_, True) +# end class TCTOP_Anschluss_A + + +class TCGEO_Radius_B(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCGEO_Radius_B"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TGEO_Radius_B(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCGEO_Radius_B) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCGEO_Radius_B.subclass: + return TCGEO_Radius_B.subclass(*args_, **kwargs_) + else: + return TCGEO_Radius_B(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TGEO_Radius_B(self, value): + result = True + # Validate type TGEO_Radius_B, a restriction on nsBasisTypen:TMeter. + 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 not self.gds_validate_simple_patterns( + self.validate_TGEO_Radius_B_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGEO_Radius_B_patterns_, )) + result = False + return result + validate_TGEO_Radius_B_patterns_ = [['^(0\\.00000|(-?[1-9][0-9]{1,4}\\.[0-9]{5}))$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCGEO_Radius_B, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsGeodaten:', namespacedef_='xmlns:nsGeodaten="http://www.plan-pro.org/modell/Geodaten/1.10.0"', name_='TCGEO_Radius_B', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCGEO_Radius_B') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCGEO_Radius_B': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCGEO_Radius_B') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCGEO_Radius_B', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsGeodaten:', name_='TCGEO_Radius_B'): + super(TCGEO_Radius_B, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCGEO_Radius_B') + def _exportChildren(self, outfile, level, namespaceprefix_='nsGeodaten:', namespacedef_='xmlns:nsGeodaten="http://www.plan-pro.org/modell/Geodaten/1.10.0"', name_='TCGEO_Radius_B', fromsubclass_=False, pretty_print=True): + super(TCGEO_Radius_B, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_decimal(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCGEO_Radius_B, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + fval_ = self.gds_parse_decimal(sval_, node, 'Wert') + fval_ = self.gds_validate_decimal(fval_, node, 'Wert') + self.Wert = fval_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGEO_Radius_B + self.validate_TGEO_Radius_B(self.Wert) + super(TCGEO_Radius_B, self)._buildChildren(child_, node, nodeName_, True) +# end class TCGEO_Radius_B + + +class TCHoehenlinie_Form(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCHoehenlinie_Form"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMHoehenlinie_Form(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCHoehenlinie_Form) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCHoehenlinie_Form.subclass: + return TCHoehenlinie_Form.subclass(*args_, **kwargs_) + else: + return TCHoehenlinie_Form(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMHoehenlinie_Form(self, value): + result = True + # Validate type ENUMHoehenlinie_Form, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['Gerade', 'Parabel', 'Weichenabzweig'] + 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 ENUMHoehenlinie_Form' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCHoehenlinie_Form, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsGeodaten:', namespacedef_='xmlns:nsGeodaten="http://www.plan-pro.org/modell/Geodaten/1.10.0"', name_='TCHoehenlinie_Form', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCHoehenlinie_Form') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCHoehenlinie_Form': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCHoehenlinie_Form') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCHoehenlinie_Form', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsGeodaten:', name_='TCHoehenlinie_Form'): + super(TCHoehenlinie_Form, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCHoehenlinie_Form') + def _exportChildren(self, outfile, level, namespaceprefix_='nsGeodaten:', namespacedef_='xmlns:nsGeodaten="http://www.plan-pro.org/modell/Geodaten/1.10.0"', name_='TCHoehenlinie_Form', fromsubclass_=False, pretty_print=True): + super(TCHoehenlinie_Form, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCHoehenlinie_Form, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMHoehenlinie_Form + self.validate_ENUMHoehenlinie_Form(self.Wert) + super(TCHoehenlinie_Form, self)._buildChildren(child_, node, nodeName_, True) +# end class TCHoehenlinie_Form + + +class TCGEO_PAD(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCGEO_PAD"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TGEO_PAD(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCGEO_PAD) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCGEO_PAD.subclass: + return TCGEO_PAD.subclass(*args_, **kwargs_) + else: + return TCGEO_PAD(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TGEO_PAD(self, value): + result = True + # Validate type TGEO_PAD, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGEO_PAD_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGEO_PAD_patterns_, )) + result = False + return result + validate_TGEO_PAD_patterns_ = [['^(.{1,20})$'], ['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCGEO_PAD, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsGeodaten:', namespacedef_='xmlns:nsGeodaten="http://www.plan-pro.org/modell/Geodaten/1.10.0"', name_='TCGEO_PAD', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCGEO_PAD') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCGEO_PAD': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCGEO_PAD') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCGEO_PAD', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsGeodaten:', name_='TCGEO_PAD'): + super(TCGEO_PAD, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCGEO_PAD') + def _exportChildren(self, outfile, level, namespaceprefix_='nsGeodaten:', namespacedef_='xmlns:nsGeodaten="http://www.plan-pro.org/modell/Geodaten/1.10.0"', name_='TCGEO_PAD', fromsubclass_=False, pretty_print=True): + super(TCGEO_PAD, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCGEO_PAD, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGEO_PAD + self.validate_TGEO_PAD(self.Wert) + super(TCGEO_PAD, self)._buildChildren(child_, node, nodeName_, True) +# end class TCGEO_PAD + + +class TCUeberhoehung_Hoehe(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCUeberhoehung_Hoehe"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TUeberhoehung_Hoehe(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCUeberhoehung_Hoehe) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCUeberhoehung_Hoehe.subclass: + return TCUeberhoehung_Hoehe.subclass(*args_, **kwargs_) + else: + return TCUeberhoehung_Hoehe(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TUeberhoehung_Hoehe(self, value): + result = True + # Validate type TUeberhoehung_Hoehe, a restriction on nsBasisTypen:TMeter. + 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 not self.gds_validate_simple_patterns( + self.validate_TUeberhoehung_Hoehe_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TUeberhoehung_Hoehe_patterns_, )) + result = False + return result + validate_TUeberhoehung_Hoehe_patterns_ = [['^(-?(0\\.[01][0-9][0-9]|0\\.200))$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCUeberhoehung_Hoehe, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsGeodaten:', namespacedef_='xmlns:nsGeodaten="http://www.plan-pro.org/modell/Geodaten/1.10.0"', name_='TCUeberhoehung_Hoehe', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCUeberhoehung_Hoehe') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCUeberhoehung_Hoehe': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCUeberhoehung_Hoehe') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCUeberhoehung_Hoehe', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsGeodaten:', name_='TCUeberhoehung_Hoehe'): + super(TCUeberhoehung_Hoehe, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCUeberhoehung_Hoehe') + def _exportChildren(self, outfile, level, namespaceprefix_='nsGeodaten:', namespacedef_='xmlns:nsGeodaten="http://www.plan-pro.org/modell/Geodaten/1.10.0"', name_='TCUeberhoehung_Hoehe', fromsubclass_=False, pretty_print=True): + super(TCUeberhoehung_Hoehe, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_decimal(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCUeberhoehung_Hoehe, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + fval_ = self.gds_parse_decimal(sval_, node, 'Wert') + fval_ = self.gds_validate_decimal(fval_, node, 'Wert') + self.Wert = fval_ + self.Wert_nsprefix_ = child_.prefix + # validate type TUeberhoehung_Hoehe + self.validate_TUeberhoehung_Hoehe(self.Wert) + super(TCUeberhoehung_Hoehe, self)._buildChildren(child_, node, nodeName_, True) +# end class TCUeberhoehung_Hoehe + + +class TCGEO_Radius_A(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCGEO_Radius_A"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TGEO_Radius_A(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCGEO_Radius_A) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCGEO_Radius_A.subclass: + return TCGEO_Radius_A.subclass(*args_, **kwargs_) + else: + return TCGEO_Radius_A(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TGEO_Radius_A(self, value): + result = True + # Validate type TGEO_Radius_A, a restriction on nsBasisTypen:TMeter. + 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 not self.gds_validate_simple_patterns( + self.validate_TGEO_Radius_A_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGEO_Radius_A_patterns_, )) + result = False + return result + validate_TGEO_Radius_A_patterns_ = [['^(0\\.00000|(-?[1-9][0-9]{1,4}\\.[0-9]{5}))$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCGEO_Radius_A, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsGeodaten:', namespacedef_='xmlns:nsGeodaten="http://www.plan-pro.org/modell/Geodaten/1.10.0"', name_='TCGEO_Radius_A', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCGEO_Radius_A') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCGEO_Radius_A': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCGEO_Radius_A') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCGEO_Radius_A', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsGeodaten:', name_='TCGEO_Radius_A'): + super(TCGEO_Radius_A, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCGEO_Radius_A') + def _exportChildren(self, outfile, level, namespaceprefix_='nsGeodaten:', namespacedef_='xmlns:nsGeodaten="http://www.plan-pro.org/modell/Geodaten/1.10.0"', name_='TCGEO_Radius_A', fromsubclass_=False, pretty_print=True): + super(TCGEO_Radius_A, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_decimal(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCGEO_Radius_A, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + fval_ = self.gds_parse_decimal(sval_, node, 'Wert') + fval_ = self.gds_validate_decimal(fval_, node, 'Wert') + self.Wert = fval_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGEO_Radius_A + self.validate_TGEO_Radius_A(self.Wert) + super(TCGEO_Radius_A, self)._buildChildren(child_, node, nodeName_, True) +# end class TCGEO_Radius_A + + +class TCTOP_Laenge(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCTOP_Laenge"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TTOP_Laenge(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCTOP_Laenge) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCTOP_Laenge.subclass: + return TCTOP_Laenge.subclass(*args_, **kwargs_) + else: + return TCTOP_Laenge(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TTOP_Laenge(self, value): + result = True + # Validate type TTOP_Laenge, a restriction on nsBasisTypen:TMeter. + 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 not self.gds_validate_simple_patterns( + self.validate_TTOP_Laenge_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TTOP_Laenge_patterns_, )) + result = False + return result + validate_TTOP_Laenge_patterns_ = [['^((0|[1-9][0-9]{0,4})\\.[0-9]{3})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCTOP_Laenge, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsGeodaten:', namespacedef_='xmlns:nsGeodaten="http://www.plan-pro.org/modell/Geodaten/1.10.0"', name_='TCTOP_Laenge', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCTOP_Laenge') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCTOP_Laenge': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCTOP_Laenge') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCTOP_Laenge', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsGeodaten:', name_='TCTOP_Laenge'): + super(TCTOP_Laenge, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCTOP_Laenge') + def _exportChildren(self, outfile, level, namespaceprefix_='nsGeodaten:', namespacedef_='xmlns:nsGeodaten="http://www.plan-pro.org/modell/Geodaten/1.10.0"', name_='TCTOP_Laenge', fromsubclass_=False, pretty_print=True): + super(TCTOP_Laenge, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_decimal(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCTOP_Laenge, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + fval_ = self.gds_parse_decimal(sval_, node, 'Wert') + fval_ = self.gds_validate_decimal(fval_, node, 'Wert') + self.Wert = fval_ + self.Wert_nsprefix_ = child_.prefix + # validate type TTOP_Laenge + self.validate_TTOP_Laenge(self.Wert) + super(TCTOP_Laenge, self)._buildChildren(child_, node, nodeName_, True) +# end class TCTOP_Laenge + + +class CHoehenlinie_Allg(GeneratedsSuper): + """Hoehenlinie_Form -- Form der Hoehenlinie, z. B. Gerade. + Hoehenlinie_Laenge -- L + ä + nge der Hoehenlinie. Genauigkeit: Tausendstel m = 1 mm. + Plan_Quelle -- Quelle der Geo-Kante, des Geo-Knotens, des H + ö + henpunkts, der H + ö + henlinie, der + Ü + berh + ö + hung bzw. der + Ü + berh + ö + hungslinie. Bei Auswahl von + „ + sonstige + “ + ist zwingend ein Bearbeitungsvermerk anzugeben. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Hoehenlinie_Form=None, Hoehenlinie_Laenge=None, Plan_Quelle=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Hoehenlinie_Form = Hoehenlinie_Form + self.Hoehenlinie_Form_nsprefix_ = None + self.Hoehenlinie_Laenge = Hoehenlinie_Laenge + self.Hoehenlinie_Laenge_nsprefix_ = None + self.Plan_Quelle = Plan_Quelle + self.Plan_Quelle_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CHoehenlinie_Allg) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CHoehenlinie_Allg.subclass: + return CHoehenlinie_Allg.subclass(*args_, **kwargs_) + else: + return CHoehenlinie_Allg(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Hoehenlinie_Form(self): + return self.Hoehenlinie_Form + def set_Hoehenlinie_Form(self, Hoehenlinie_Form): + self.Hoehenlinie_Form = Hoehenlinie_Form + def get_Hoehenlinie_Laenge(self): + return self.Hoehenlinie_Laenge + def set_Hoehenlinie_Laenge(self, Hoehenlinie_Laenge): + self.Hoehenlinie_Laenge = Hoehenlinie_Laenge + def get_Plan_Quelle(self): + return self.Plan_Quelle + def set_Plan_Quelle(self, Plan_Quelle): + self.Plan_Quelle = Plan_Quelle + def has__content(self): + if ( + self.Hoehenlinie_Form is not None or + self.Hoehenlinie_Laenge is not None or + self.Plan_Quelle is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsGeodaten:', namespacedef_='xmlns:nsGeodaten="http://www.plan-pro.org/modell/Geodaten/1.10.0"', name_='CHoehenlinie_Allg', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CHoehenlinie_Allg') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CHoehenlinie_Allg': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CHoehenlinie_Allg') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CHoehenlinie_Allg', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsGeodaten:', name_='CHoehenlinie_Allg'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsGeodaten:', namespacedef_='xmlns:nsGeodaten="http://www.plan-pro.org/modell/Geodaten/1.10.0"', name_='CHoehenlinie_Allg', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Hoehenlinie_Form is not None: + namespaceprefix_ = self.Hoehenlinie_Form_nsprefix_ + ':' if (UseCapturedNS_ and self.Hoehenlinie_Form_nsprefix_) else '' + self.Hoehenlinie_Form.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Hoehenlinie_Form', pretty_print=pretty_print) + if self.Hoehenlinie_Laenge is not None: + namespaceprefix_ = self.Hoehenlinie_Laenge_nsprefix_ + ':' if (UseCapturedNS_ and self.Hoehenlinie_Laenge_nsprefix_) else '' + self.Hoehenlinie_Laenge.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Hoehenlinie_Laenge', pretty_print=pretty_print) + if self.Plan_Quelle is not None: + namespaceprefix_ = self.Plan_Quelle_nsprefix_ + ':' if (UseCapturedNS_ and self.Plan_Quelle_nsprefix_) else '' + self.Plan_Quelle.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Plan_Quelle', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Hoehenlinie_Form': + obj_ = TCHoehenlinie_Form.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Hoehenlinie_Form = obj_ + obj_.original_tagname_ = 'Hoehenlinie_Form' + elif nodeName_ == 'Hoehenlinie_Laenge': + obj_ = TCHoehenlinie_Laenge.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Hoehenlinie_Laenge = obj_ + obj_.original_tagname_ = 'Hoehenlinie_Laenge' + elif nodeName_ == 'Plan_Quelle': + obj_ = TCPlan_Quelle.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Plan_Quelle = obj_ + obj_.original_tagname_ = 'Plan_Quelle' +# end class CHoehenlinie_Allg + + +class TCHoehenpunkt_Datum(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCHoehenpunkt_Datum"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + if isinstance(Wert, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Wert, '%Y-%m-%d').date() + else: + initvalue_ = Wert + self.Wert = initvalue_ + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCHoehenpunkt_Datum) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCHoehenpunkt_Datum.subclass: + return TCHoehenpunkt_Datum.subclass(*args_, **kwargs_) + else: + return TCHoehenpunkt_Datum(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def has__content(self): + if ( + self.Wert is not None or + super(TCHoehenpunkt_Datum, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsGeodaten:', namespacedef_='xmlns:nsGeodaten="http://www.plan-pro.org/modell/Geodaten/1.10.0"', name_='TCHoehenpunkt_Datum', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCHoehenpunkt_Datum') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCHoehenpunkt_Datum': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCHoehenpunkt_Datum') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCHoehenpunkt_Datum', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsGeodaten:', name_='TCHoehenpunkt_Datum'): + super(TCHoehenpunkt_Datum, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCHoehenpunkt_Datum') + def _exportChildren(self, outfile, level, namespaceprefix_='nsGeodaten:', namespacedef_='xmlns:nsGeodaten="http://www.plan-pro.org/modell/Geodaten/1.10.0"', name_='TCHoehenpunkt_Datum', fromsubclass_=False, pretty_print=True): + super(TCHoehenpunkt_Datum, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_date(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCHoehenpunkt_Datum, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + sval_ = child_.text + dval_ = self.gds_parse_date(sval_) + self.Wert = dval_ + self.Wert_nsprefix_ = child_.prefix + super(TCHoehenpunkt_Datum, self)._buildChildren(child_, node, nodeName_, True) +# end class TCHoehenpunkt_Datum + + +class TCHoehenlinie_Laenge(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCHoehenlinie_Laenge"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_THoehenlinie_Laenge(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCHoehenlinie_Laenge) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCHoehenlinie_Laenge.subclass: + return TCHoehenlinie_Laenge.subclass(*args_, **kwargs_) + else: + return TCHoehenlinie_Laenge(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_THoehenlinie_Laenge(self, value): + result = True + # Validate type THoehenlinie_Laenge, a restriction on nsBasisTypen:TMeter. + 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 not self.gds_validate_simple_patterns( + self.validate_THoehenlinie_Laenge_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_THoehenlinie_Laenge_patterns_, )) + result = False + return result + validate_THoehenlinie_Laenge_patterns_ = [['^((0|[1-9][0-9]{0,4})\\.[0-9]{3})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCHoehenlinie_Laenge, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsGeodaten:', namespacedef_='xmlns:nsGeodaten="http://www.plan-pro.org/modell/Geodaten/1.10.0"', name_='TCHoehenlinie_Laenge', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCHoehenlinie_Laenge') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCHoehenlinie_Laenge': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCHoehenlinie_Laenge') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCHoehenlinie_Laenge', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsGeodaten:', name_='TCHoehenlinie_Laenge'): + super(TCHoehenlinie_Laenge, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCHoehenlinie_Laenge') + def _exportChildren(self, outfile, level, namespaceprefix_='nsGeodaten:', namespacedef_='xmlns:nsGeodaten="http://www.plan-pro.org/modell/Geodaten/1.10.0"', name_='TCHoehenlinie_Laenge', fromsubclass_=False, pretty_print=True): + super(TCHoehenlinie_Laenge, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_decimal(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCHoehenlinie_Laenge, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + fval_ = self.gds_parse_decimal(sval_, node, 'Wert') + fval_ = self.gds_validate_decimal(fval_, node, 'Wert') + self.Wert = fval_ + self.Wert_nsprefix_ = child_.prefix + # validate type THoehenlinie_Laenge + self.validate_THoehenlinie_Laenge(self.Wert) + super(TCHoehenlinie_Laenge, self)._buildChildren(child_, node, nodeName_, True) +# end class TCHoehenlinie_Laenge + + +class CTOP_Kante_Allg(GeneratedsSuper): + """Kantenname -- Bezeichnung f + ü + r die Kante. Die Bezeichnung wird beispielsweise bei Neutrassierungen (ASCIBAHN) + ü + bernommen um eine Verkn + ü + pfung der gelieferten Trassierungsdaten mit den an den LST-Fachplaner + ü + begebenen PlanPro-Geodaten sicherzustellen. + TOP_Anschluss_A -- Art des Anschlusses am Ende A der TOP_Kante. Eine TOP_Kante muss sowohl am Ende A als auch am Ende B auf einem TOP_Knoten verweisen. In der Regel schlie + ß + en an einen TOP_Knoten weitere TOP_Kanten an. Wenn an einem TOP_Knoten nur eine TOP_Kante anschlie + ß + t, endet an diesem Knoten die Topologie des Gleisnetzes. Nachfolgende Arten des Endes einer Topologie sind vorgesehen: Ende - reales Ende einer Gleislinie (z.B. Prellbock, F + ä + hranleger, ...). Ende_Bestdig - tempor + ä + res Ende einer Gleislinie, die real weiterf + ü + hrt, aber deren Weiterf + ü + hrung noch nicht im Modell hinterlegt ist. Schnitt - Anschlusspunkt einer Neutrassierung an einen vorhandenen Bestand der Gleislinie. Im Bestand muss dieser Knoten nur ein GEO Punkt sein. Nach dem Einbinden der Neutrassierung in die Bestandsgleislage entf + ä + llt dieser TOP_Knoten durch eine neue durchlaufende TOP_Kante. Hinweis f + ü + r die Fahrwegfindung (Routing): Endet ein Routing auf LINKS oder RECHTS, darf nur ein Fahrweg (Routing) vom gleichen Knoten + ü + ber die SPITZE gesucht werden. Endet ein Routing auf SPITZE, findet eine Fahrwegverzweigung statt, d.h. vom gleichen Knoten werden zwei getrennte Fahrwege (Routings) + ü + ber LINKS und RECHTS gesucht. Bei einer Kante mit dem Anschluss VERBINDUNG ist die nachfolgende Infrastruktur aufgrund des Zuschnitts des Planungsbereichs nicht verf + ü + gbar. Folgende Werte-Kombinationen entstehen daher f + ü + r TOP_Knoten.Art Besonders (E) und TOP_Kante.TOP_Anschluss_A bzw. ..._B: Art des TOP_Knoten TOP_Knoten.Art Besonders TOP_Kante.TOP_Anschluss_... Verbindungsknoten Verbindung (E) Verbindung Weichenknoten - Links, Rechts, Spitze Infrastrukturende (Gleisabschluss) - Ende Digitalisierungsende Ende_Bestdig (E) Ende_Bestdig + TOP_Anschluss_B -- Art des Anschlusses am Ende B der TOP_Kante. Eine TOP_Kante muss sowohl am Ende A als auch am Ende B auf einem TOP_Knoten verweisen. In der Regel schlie + ß + en an einen TOP_Knoten weitere TOP_Kanten an. Wenn an einem TOP_Knoten nur eine TOP_Kante anschlie + ß + t, endet an diesem Knoten die Topologie des Gleisnetzes. Nachfolgende Arten des Endes einer Topologie sind vorgesehen: Ende - reales Ende einer Gleislinie (z.B. Prellbock, F + ä + hranleger, ...). Ende_Bestdig - tempor + ä + res Ende einer Gleislinie, die real weiterf + ü + hrt, aber deren Weiterf + ü + hrung noch nicht im Modell hinterlegt ist. Schnitt - Anschlusspunkt einer Neutrassierung an einen vorhandenen Bestand der Gleislinie. Im Bestand muss dieser Knoten nur ein GEO Punkt sein. Nach dem Einbinden der Neutrassierung in die Bestandsgleislage entf + ä + llt dieser TOP_Knoten durch eine neue durchlaufende TOP_Kante. Hinweis f + ü + r die Fahrwegfindung (Routing): Endet ein Routing auf LINKS oder RECHTS, darf nur ein Fahrweg (Routing) vom gleichen Knoten + ü + ber die SPITZE gesucht werden. Endet ein Routing auf SPITZE, findet eine Fahrwegverzweigung statt, d.h. vom gleichen Knoten werden zwei getrennte Fahrwege (Routings) + ü + ber LINKS und RECHTS gesucht. Bei einer Kante mit dem Anschluss VERBINDUNG ist die nachfolgende Infrastruktur aufgrund des Zuschnitts des Planungsbereichs nicht verf + ü + gbar. Folgende Werte-Kombinationen entstehen daher f + ü + r TOP_Knoten.Art Besonders (E) und TOP_Kante.TOP_Anschluss_A bzw. ..._B: Art des TOP_Knoten TOP_Knoten.Art Besonders TOP_Kante.TOP_Anschluss_... Verbindungsknoten Verbindung (E) Verbindung Weichenknoten - Links, Rechts, Spitze Infrastrukturende (Gleisabschluss) - Ende Digitalisierungsende Ende_Bestdig (E) Ende_Bestdig + TOP_Laenge -- L + ä + nge der TOP-Kante. Genauigkeit: Tausendstel m = 1 mm. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Kantenname=None, TOP_Anschluss_A=None, TOP_Anschluss_B=None, TOP_Laenge=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Kantenname = Kantenname + self.Kantenname_nsprefix_ = None + self.TOP_Anschluss_A = TOP_Anschluss_A + self.TOP_Anschluss_A_nsprefix_ = None + self.TOP_Anschluss_B = TOP_Anschluss_B + self.TOP_Anschluss_B_nsprefix_ = None + self.TOP_Laenge = TOP_Laenge + self.TOP_Laenge_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CTOP_Kante_Allg) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CTOP_Kante_Allg.subclass: + return CTOP_Kante_Allg.subclass(*args_, **kwargs_) + else: + return CTOP_Kante_Allg(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Kantenname(self): + return self.Kantenname + def set_Kantenname(self, Kantenname): + self.Kantenname = Kantenname + def get_TOP_Anschluss_A(self): + return self.TOP_Anschluss_A + def set_TOP_Anschluss_A(self, TOP_Anschluss_A): + self.TOP_Anschluss_A = TOP_Anschluss_A + def get_TOP_Anschluss_B(self): + return self.TOP_Anschluss_B + def set_TOP_Anschluss_B(self, TOP_Anschluss_B): + self.TOP_Anschluss_B = TOP_Anschluss_B + def get_TOP_Laenge(self): + return self.TOP_Laenge + def set_TOP_Laenge(self, TOP_Laenge): + self.TOP_Laenge = TOP_Laenge + def has__content(self): + if ( + self.Kantenname is not None or + self.TOP_Anschluss_A is not None or + self.TOP_Anschluss_B is not None or + self.TOP_Laenge is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsGeodaten:', namespacedef_='xmlns:nsGeodaten="http://www.plan-pro.org/modell/Geodaten/1.10.0"', name_='CTOP_Kante_Allg', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CTOP_Kante_Allg') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CTOP_Kante_Allg': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CTOP_Kante_Allg') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CTOP_Kante_Allg', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsGeodaten:', name_='CTOP_Kante_Allg'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsGeodaten:', namespacedef_='xmlns:nsGeodaten="http://www.plan-pro.org/modell/Geodaten/1.10.0"', name_='CTOP_Kante_Allg', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Kantenname is not None: + namespaceprefix_ = self.Kantenname_nsprefix_ + ':' if (UseCapturedNS_ and self.Kantenname_nsprefix_) else '' + self.Kantenname.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Kantenname', pretty_print=pretty_print) + if self.TOP_Anschluss_A is not None: + namespaceprefix_ = self.TOP_Anschluss_A_nsprefix_ + ':' if (UseCapturedNS_ and self.TOP_Anschluss_A_nsprefix_) else '' + self.TOP_Anschluss_A.export(outfile, level, namespaceprefix_, namespacedef_='', name_='TOP_Anschluss_A', pretty_print=pretty_print) + if self.TOP_Anschluss_B is not None: + namespaceprefix_ = self.TOP_Anschluss_B_nsprefix_ + ':' if (UseCapturedNS_ and self.TOP_Anschluss_B_nsprefix_) else '' + self.TOP_Anschluss_B.export(outfile, level, namespaceprefix_, namespacedef_='', name_='TOP_Anschluss_B', pretty_print=pretty_print) + if self.TOP_Laenge is not None: + namespaceprefix_ = self.TOP_Laenge_nsprefix_ + ':' if (UseCapturedNS_ and self.TOP_Laenge_nsprefix_) else '' + self.TOP_Laenge.export(outfile, level, namespaceprefix_, namespacedef_='', name_='TOP_Laenge', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Kantenname': + obj_ = TCKantenname.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Kantenname = obj_ + obj_.original_tagname_ = 'Kantenname' + elif nodeName_ == 'TOP_Anschluss_A': + obj_ = TCTOP_Anschluss_A.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.TOP_Anschluss_A = obj_ + obj_.original_tagname_ = 'TOP_Anschluss_A' + elif nodeName_ == 'TOP_Anschluss_B': + obj_ = TCTOP_Anschluss_B.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.TOP_Anschluss_B = obj_ + obj_.original_tagname_ = 'TOP_Anschluss_B' + elif nodeName_ == 'TOP_Laenge': + obj_ = TCTOP_Laenge.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.TOP_Laenge = obj_ + obj_.original_tagname_ = 'TOP_Laenge' +# end class CTOP_Kante_Allg + + +class CHoehenpunkt_Allg(GeneratedsSuper): + """GEO_PAD -- Bezeichnung der topografischen Punktadresse. Die Punktadresse wird aus dem DB-GIS f + ü + r jeden Vermessungspunkt bereitgestellt. Eine PAD kann in verschiedenen Koordinatensystemen liegen (GEO_Punkt). Die Verwendung ist zum Abgleich mit dem GIS-System der DB Netz AG erforderlich. Bei Neutrassierungen existiert noch + keine PAD-Angabe. Dann wird hier die Bezeichnung des Knotens aus dieser Neutrassierung eingetragen. Wenn Daten h + ä + ndisch (z.B. von Ivl-Pl + ä + nen nachgezeichnet) erstellt wurden, wird das Attribut nicht bef + ü + llt. + Hoehenpunkt_Datum -- Aufnahmedatum der H + ö + henwerte des Hoehenpunktes. GND: Punktdatum; Ivl und Ivmg: Datum der letzten Bearbeitung; Kopie: Datum aus kopierter H + ö + he; Neutrassierung: Freigabedatum; sonstige: Datum der letzten Bearbeitung. + Die Information wird zuk + ü + nftig + ü + ber das Attribut Datum_Regelwerk abgebildet. Das Attribut soll daher langfristig entfallen. + Hoehenpunkt_Hoehe -- Angabe der H + ö + he bezogen auf das H + ö + hensystem in Meter. Genauigkeit: Tausendstel m = 1 mm. + HSystem -- Angabe, auf welchem H + ö + hensystem die Angabe der H + ö + he beruht. Bei Auswahl von \"sonstige\" ist ein Bearbeitungsvermerk mit entsprechenden Erl + ä + uterungen anzuf + ü + gen. + Neigung -- Neigung des Gleises bzw. der Hoehenlinie am Ort des Hoehenpunkts. Die Art der Neigung (Steigung/Gef + ä + lle) muss durch Auswertung der Wirkrichtung ermittelt werden. Die Angabe ist nur bei Vorhandensein einer H + ö + henlinie sinnvoll. + Plan_Quelle -- Quelle der Geo-Kante, des Geo-Knotens, des H + ö + henpunkts, der H + ö + henlinie, der + Ü + berh + ö + hung bzw. der + Ü + berh + ö + hungslinie. Bei Auswahl von + „ + sonstige + “ + ist zwingend ein Bearbeitungsvermerk anzugeben. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, GEO_PAD=None, Hoehenpunkt_Datum=None, Hoehenpunkt_Hoehe=None, HSystem=None, Neigung=None, Plan_Quelle=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.GEO_PAD = GEO_PAD + self.GEO_PAD_nsprefix_ = None + self.Hoehenpunkt_Datum = Hoehenpunkt_Datum + self.Hoehenpunkt_Datum_nsprefix_ = None + self.Hoehenpunkt_Hoehe = Hoehenpunkt_Hoehe + self.Hoehenpunkt_Hoehe_nsprefix_ = None + self.HSystem = HSystem + self.HSystem_nsprefix_ = None + self.Neigung = Neigung + self.Neigung_nsprefix_ = None + self.Plan_Quelle = Plan_Quelle + self.Plan_Quelle_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CHoehenpunkt_Allg) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CHoehenpunkt_Allg.subclass: + return CHoehenpunkt_Allg.subclass(*args_, **kwargs_) + else: + return CHoehenpunkt_Allg(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_GEO_PAD(self): + return self.GEO_PAD + def set_GEO_PAD(self, GEO_PAD): + self.GEO_PAD = GEO_PAD + def get_Hoehenpunkt_Datum(self): + return self.Hoehenpunkt_Datum + def set_Hoehenpunkt_Datum(self, Hoehenpunkt_Datum): + self.Hoehenpunkt_Datum = Hoehenpunkt_Datum + def get_Hoehenpunkt_Hoehe(self): + return self.Hoehenpunkt_Hoehe + def set_Hoehenpunkt_Hoehe(self, Hoehenpunkt_Hoehe): + self.Hoehenpunkt_Hoehe = Hoehenpunkt_Hoehe + def get_HSystem(self): + return self.HSystem + def set_HSystem(self, HSystem): + self.HSystem = HSystem + def get_Neigung(self): + return self.Neigung + def set_Neigung(self, Neigung): + self.Neigung = Neigung + def get_Plan_Quelle(self): + return self.Plan_Quelle + def set_Plan_Quelle(self, Plan_Quelle): + self.Plan_Quelle = Plan_Quelle + def has__content(self): + if ( + self.GEO_PAD is not None or + self.Hoehenpunkt_Datum is not None or + self.Hoehenpunkt_Hoehe is not None or + self.HSystem is not None or + self.Neigung is not None or + self.Plan_Quelle is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsGeodaten:', namespacedef_='xmlns:nsGeodaten="http://www.plan-pro.org/modell/Geodaten/1.10.0"', name_='CHoehenpunkt_Allg', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CHoehenpunkt_Allg') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CHoehenpunkt_Allg': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CHoehenpunkt_Allg') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CHoehenpunkt_Allg', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsGeodaten:', name_='CHoehenpunkt_Allg'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsGeodaten:', namespacedef_='xmlns:nsGeodaten="http://www.plan-pro.org/modell/Geodaten/1.10.0"', name_='CHoehenpunkt_Allg', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.GEO_PAD is not None: + namespaceprefix_ = self.GEO_PAD_nsprefix_ + ':' if (UseCapturedNS_ and self.GEO_PAD_nsprefix_) else '' + self.GEO_PAD.export(outfile, level, namespaceprefix_, namespacedef_='', name_='GEO_PAD', pretty_print=pretty_print) + if self.Hoehenpunkt_Datum is not None: + namespaceprefix_ = self.Hoehenpunkt_Datum_nsprefix_ + ':' if (UseCapturedNS_ and self.Hoehenpunkt_Datum_nsprefix_) else '' + self.Hoehenpunkt_Datum.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Hoehenpunkt_Datum', pretty_print=pretty_print) + if self.Hoehenpunkt_Hoehe is not None: + namespaceprefix_ = self.Hoehenpunkt_Hoehe_nsprefix_ + ':' if (UseCapturedNS_ and self.Hoehenpunkt_Hoehe_nsprefix_) else '' + self.Hoehenpunkt_Hoehe.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Hoehenpunkt_Hoehe', pretty_print=pretty_print) + if self.HSystem is not None: + namespaceprefix_ = self.HSystem_nsprefix_ + ':' if (UseCapturedNS_ and self.HSystem_nsprefix_) else '' + self.HSystem.export(outfile, level, namespaceprefix_, namespacedef_='', name_='HSystem', pretty_print=pretty_print) + if self.Neigung is not None: + namespaceprefix_ = self.Neigung_nsprefix_ + ':' if (UseCapturedNS_ and self.Neigung_nsprefix_) else '' + self.Neigung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Neigung', pretty_print=pretty_print) + if self.Plan_Quelle is not None: + namespaceprefix_ = self.Plan_Quelle_nsprefix_ + ':' if (UseCapturedNS_ and self.Plan_Quelle_nsprefix_) else '' + self.Plan_Quelle.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Plan_Quelle', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'GEO_PAD': + obj_ = TCGEO_PAD.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.GEO_PAD = obj_ + obj_.original_tagname_ = 'GEO_PAD' + elif nodeName_ == 'Hoehenpunkt_Datum': + obj_ = TCHoehenpunkt_Datum.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Hoehenpunkt_Datum = obj_ + obj_.original_tagname_ = 'Hoehenpunkt_Datum' + elif nodeName_ == 'Hoehenpunkt_Hoehe': + obj_ = TCHoehenpunkt_Hoehe.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Hoehenpunkt_Hoehe = obj_ + obj_.original_tagname_ = 'Hoehenpunkt_Hoehe' + elif nodeName_ == 'HSystem': + obj_ = TCHSystem.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.HSystem = obj_ + obj_.original_tagname_ = 'HSystem' + elif nodeName_ == 'Neigung': + obj_ = TCNeigung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Neigung = obj_ + obj_.original_tagname_ = 'Neigung' + elif nodeName_ == 'Plan_Quelle': + obj_ = TCPlan_Quelle.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Plan_Quelle = obj_ + obj_.original_tagname_ = 'Plan_Quelle' +# end class CHoehenpunkt_Allg + + +class TCOertlichkeit_Art(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCOertlichkeit_Art"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMOertlichkeit_Art(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCOertlichkeit_Art) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCOertlichkeit_Art.subclass: + return TCOertlichkeit_Art.subclass(*args_, **kwargs_) + else: + return TCOertlichkeit_Art(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMOertlichkeit_Art(self, value): + result = True + # Validate type ENUMOertlichkeit_Art, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['Abzw', 'Abzw Anst', 'Abzw Awanst', 'Anst', 'Anst Bk', 'Awanst', 'Awanst Bk', 'Bf', 'Bf Abzw', 'Bft', 'Bft Abzw', 'Bk', 'BSO', 'BZ', 'Dkst', 'Gp', 'Hp', 'Hp Abzw', 'Hp Abzw Anst', 'Hp Abzw Awanst', 'Hp Anst', 'Hp Anst Bk', 'Hp Awanst', 'Hp Awanst Bk', 'Hp Bft', 'Hp Bk', 'Hp Dkst', 'Hp Üst', 'Hp Üst Anst', 'Hp Üst Awanst', 'LGr', 'NE-Abzw', 'NE-Anst', 'NE-Awanst', 'NE-Bf', 'NE-Bft', 'NE-Bft Abzw', 'NE-Bk', 'NE-Gp', 'NE-Hp', 'NE-Hp Abzw', 'NE-Hp Anst', 'NE-Hp Awanst', 'NE-Hp Bk', 'NE-LGr', 'NE-RBGr', 'NE-Üst', 'PDGr', 'RBGr', 'Sbk', 'sonstige', 'Strw', 'Üst', 'Üst Anst', 'Üst Awanst', 'vp-Abzw', 'vp-Anst', 'vp-Awanst', 'vp-Bf', 'vp-Bft', 'vp-Bk', 'vp-Hp', 'vp-Hp Abzw', 'vp-Hp Anst', 'vp-Hp Anst Bk', 'vp-Hp Awanst', 'vp-LGr', 'vp-RBGr'] + 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 ENUMOertlichkeit_Art' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCOertlichkeit_Art, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsGeodaten:', namespacedef_='xmlns:nsGeodaten="http://www.plan-pro.org/modell/Geodaten/1.10.0"', name_='TCOertlichkeit_Art', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCOertlichkeit_Art') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCOertlichkeit_Art': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCOertlichkeit_Art') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCOertlichkeit_Art', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsGeodaten:', name_='TCOertlichkeit_Art'): + super(TCOertlichkeit_Art, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCOertlichkeit_Art') + def _exportChildren(self, outfile, level, namespaceprefix_='nsGeodaten:', namespacedef_='xmlns:nsGeodaten="http://www.plan-pro.org/modell/Geodaten/1.10.0"', name_='TCOertlichkeit_Art', fromsubclass_=False, pretty_print=True): + super(TCOertlichkeit_Art, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCOertlichkeit_Art, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMOertlichkeit_Art + self.validate_ENUMOertlichkeit_Art(self.Wert) + super(TCOertlichkeit_Art, self)._buildChildren(child_, node, nodeName_, True) +# end class TCOertlichkeit_Art + + +class CHoehenlinie(CBasis_Objekt): + """CHoehenlinie -- H + ö + henverlauf zwischen zwei H + ö + henpunkten. + ID_Hoehenpunkt_A -- Verweis auf den Hoehenpunkt am Anfang der Hoehenlinie. Durch die Angabe des Anfangs- sowie des Endpunkts wird die Richtung der Hoehenlinie definiert. + ID_Hoehenpunkt_B -- Verweis auf den Hoehenpunkt am Ende der Hoehenlinie. Durch die Angabe des Anfangs- sowie des Endpunkts wird die Richtung der Hoehenlinie definiert. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasis_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, Hoehenlinie_Allg=None, ID_Hoehenpunkt_A=None, ID_Hoehenpunkt_B=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CHoehenlinie"), self).__init__(Identitaet, Basis_Objekt_Allg, ID_Bearbeitungsvermerk, ID_Oertlichkeit_Ausgabe, Objektreferenzen, **kwargs_) + self.Hoehenlinie_Allg = Hoehenlinie_Allg + self.Hoehenlinie_Allg_nsprefix_ = None + self.ID_Hoehenpunkt_A = ID_Hoehenpunkt_A + self.ID_Hoehenpunkt_A_nsprefix_ = None + self.ID_Hoehenpunkt_B = ID_Hoehenpunkt_B + self.ID_Hoehenpunkt_B_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CHoehenlinie) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CHoehenlinie.subclass: + return CHoehenlinie.subclass(*args_, **kwargs_) + else: + return CHoehenlinie(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Hoehenlinie_Allg(self): + return self.Hoehenlinie_Allg + def set_Hoehenlinie_Allg(self, Hoehenlinie_Allg): + self.Hoehenlinie_Allg = Hoehenlinie_Allg + def get_ID_Hoehenpunkt_A(self): + return self.ID_Hoehenpunkt_A + def set_ID_Hoehenpunkt_A(self, ID_Hoehenpunkt_A): + self.ID_Hoehenpunkt_A = ID_Hoehenpunkt_A + def get_ID_Hoehenpunkt_B(self): + return self.ID_Hoehenpunkt_B + def set_ID_Hoehenpunkt_B(self, ID_Hoehenpunkt_B): + self.ID_Hoehenpunkt_B = ID_Hoehenpunkt_B + def has__content(self): + if ( + self.Hoehenlinie_Allg is not None or + self.ID_Hoehenpunkt_A is not None or + self.ID_Hoehenpunkt_B is not None or + super(CHoehenlinie, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsGeodaten:', namespacedef_='xmlns:nsGeodaten="http://www.plan-pro.org/modell/Geodaten/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CHoehenlinie', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CHoehenlinie') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CHoehenlinie': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CHoehenlinie') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CHoehenlinie', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsGeodaten:', name_='CHoehenlinie'): + super(CHoehenlinie, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CHoehenlinie') + def _exportChildren(self, outfile, level, namespaceprefix_='nsGeodaten:', namespacedef_='xmlns:nsGeodaten="http://www.plan-pro.org/modell/Geodaten/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CHoehenlinie', fromsubclass_=False, pretty_print=True): + super(CHoehenlinie, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Hoehenlinie_Allg is not None: + namespaceprefix_ = self.Hoehenlinie_Allg_nsprefix_ + ':' if (UseCapturedNS_ and self.Hoehenlinie_Allg_nsprefix_) else '' + self.Hoehenlinie_Allg.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Hoehenlinie_Allg', pretty_print=pretty_print) + if self.ID_Hoehenpunkt_A is not None: + namespaceprefix_ = self.ID_Hoehenpunkt_A_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Hoehenpunkt_A_nsprefix_) else '' + self.ID_Hoehenpunkt_A.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Hoehenpunkt_A', pretty_print=pretty_print) + if self.ID_Hoehenpunkt_B is not None: + namespaceprefix_ = self.ID_Hoehenpunkt_B_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Hoehenpunkt_B_nsprefix_) else '' + self.ID_Hoehenpunkt_B.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Hoehenpunkt_B', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CHoehenlinie, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Hoehenlinie_Allg': + obj_ = CHoehenlinie_Allg.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Hoehenlinie_Allg = obj_ + obj_.original_tagname_ = 'Hoehenlinie_Allg' + elif nodeName_ == 'ID_Hoehenpunkt_A': + obj_ = TCID_Hoehenpunkt.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Hoehenpunkt_A = obj_ + obj_.original_tagname_ = 'ID_Hoehenpunkt_A' + elif nodeName_ == 'ID_Hoehenpunkt_B': + obj_ = TCID_Hoehenpunkt.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Hoehenpunkt_B = obj_ + obj_.original_tagname_ = 'ID_Hoehenpunkt_B' + super(CHoehenlinie, self)._buildChildren(child_, node, nodeName_, True) +# end class CHoehenlinie + + +class CGeschwindigkeitsprofil_Allg(GeneratedsSuper): + """Anzeigegefuehrt_ES_Kategorie -- Kategorie f + ü + r Geschwindigkeitsprofile der Art \"anzeigefef + ü + hrt ES\", z. B. G + ü + ltigkeit f + ü + r Reise- oder G + ü + terz + ü + ge. + Geschwindigkeit -- Zul + ä + ssige Geschwindigkeit nach jeweiligem Geschwindigkeitsprofil. + V_Profil_Art -- Art des Geschwindigkeitsprofils. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anzeigegefuehrt_ES_Kategorie=None, Geschwindigkeit=None, V_Profil_Art=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anzeigegefuehrt_ES_Kategorie = Anzeigegefuehrt_ES_Kategorie + self.Anzeigegefuehrt_ES_Kategorie_nsprefix_ = None + self.Geschwindigkeit = Geschwindigkeit + self.Geschwindigkeit_nsprefix_ = None + self.V_Profil_Art = V_Profil_Art + self.V_Profil_Art_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CGeschwindigkeitsprofil_Allg) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CGeschwindigkeitsprofil_Allg.subclass: + return CGeschwindigkeitsprofil_Allg.subclass(*args_, **kwargs_) + else: + return CGeschwindigkeitsprofil_Allg(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anzeigegefuehrt_ES_Kategorie(self): + return self.Anzeigegefuehrt_ES_Kategorie + def set_Anzeigegefuehrt_ES_Kategorie(self, Anzeigegefuehrt_ES_Kategorie): + self.Anzeigegefuehrt_ES_Kategorie = Anzeigegefuehrt_ES_Kategorie + def get_Geschwindigkeit(self): + return self.Geschwindigkeit + def set_Geschwindigkeit(self, Geschwindigkeit): + self.Geschwindigkeit = Geschwindigkeit + def get_V_Profil_Art(self): + return self.V_Profil_Art + def set_V_Profil_Art(self, V_Profil_Art): + self.V_Profil_Art = V_Profil_Art + def has__content(self): + if ( + self.Anzeigegefuehrt_ES_Kategorie is not None or + self.Geschwindigkeit is not None or + self.V_Profil_Art is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsGeodaten:', namespacedef_='xmlns:nsGeodaten="http://www.plan-pro.org/modell/Geodaten/1.10.0"', name_='CGeschwindigkeitsprofil_Allg', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CGeschwindigkeitsprofil_Allg') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CGeschwindigkeitsprofil_Allg': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CGeschwindigkeitsprofil_Allg') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CGeschwindigkeitsprofil_Allg', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsGeodaten:', name_='CGeschwindigkeitsprofil_Allg'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsGeodaten:', namespacedef_='xmlns:nsGeodaten="http://www.plan-pro.org/modell/Geodaten/1.10.0"', name_='CGeschwindigkeitsprofil_Allg', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Anzeigegefuehrt_ES_Kategorie is not None: + namespaceprefix_ = self.Anzeigegefuehrt_ES_Kategorie_nsprefix_ + ':' if (UseCapturedNS_ and self.Anzeigegefuehrt_ES_Kategorie_nsprefix_) else '' + self.Anzeigegefuehrt_ES_Kategorie.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Anzeigegefuehrt_ES_Kategorie', pretty_print=pretty_print) + if self.Geschwindigkeit is not None: + namespaceprefix_ = self.Geschwindigkeit_nsprefix_ + ':' if (UseCapturedNS_ and self.Geschwindigkeit_nsprefix_) else '' + self.Geschwindigkeit.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Geschwindigkeit', pretty_print=pretty_print) + if self.V_Profil_Art is not None: + namespaceprefix_ = self.V_Profil_Art_nsprefix_ + ':' if (UseCapturedNS_ and self.V_Profil_Art_nsprefix_) else '' + self.V_Profil_Art.export(outfile, level, namespaceprefix_, namespacedef_='', name_='V_Profil_Art', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Anzeigegefuehrt_ES_Kategorie': + obj_ = TCAnzeigegefuehrt_ES_Kategorie.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Anzeigegefuehrt_ES_Kategorie = obj_ + obj_.original_tagname_ = 'Anzeigegefuehrt_ES_Kategorie' + elif nodeName_ == 'Geschwindigkeit': + obj_ = TCGeschwindigkeit.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Geschwindigkeit = obj_ + obj_.original_tagname_ = 'Geschwindigkeit' + elif nodeName_ == 'V_Profil_Art': + obj_ = TCV_Profil_Art.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.V_Profil_Art = obj_ + obj_.original_tagname_ = 'V_Profil_Art' +# end class CGeschwindigkeitsprofil_Allg + + +class TCGEO_KAD(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCGEO_KAD"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TGEO_KAD(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCGEO_KAD) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCGEO_KAD.subclass: + return TCGEO_KAD.subclass(*args_, **kwargs_) + else: + return TCGEO_KAD(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TGEO_KAD(self, value): + result = True + # Validate type TGEO_KAD, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGEO_KAD_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGEO_KAD_patterns_, )) + result = False + return result + validate_TGEO_KAD_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCGEO_KAD, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsGeodaten:', namespacedef_='xmlns:nsGeodaten="http://www.plan-pro.org/modell/Geodaten/1.10.0"', name_='TCGEO_KAD', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCGEO_KAD') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCGEO_KAD': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCGEO_KAD') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCGEO_KAD', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsGeodaten:', name_='TCGEO_KAD'): + super(TCGEO_KAD, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCGEO_KAD') + def _exportChildren(self, outfile, level, namespaceprefix_='nsGeodaten:', namespacedef_='xmlns:nsGeodaten="http://www.plan-pro.org/modell/Geodaten/1.10.0"', name_='TCGEO_KAD', fromsubclass_=False, pretty_print=True): + super(TCGEO_KAD, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCGEO_KAD, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGEO_KAD + self.validate_TGEO_KAD(self.Wert) + super(TCGEO_KAD, self)._buildChildren(child_, node, nodeName_, True) +# end class TCGEO_KAD + + +class CTOP_Knoten(CBasis_Objekt): + """CTOP_Knoten -- Knoten des topologischen Knoten-Kanten-Modells. Der TOP_Knoten verweist auf einen GEO_Knoten. Die Anzahl der an den TOP_Knoten anschlie + ß + enden topologischen Kanten ist je nach Art des TOP_Knoten unterschiedlich und muss mit der Anzahl der an den zugeh + ö + rigen GEO Knoten anschlie + ß + enden GEO_Kanten + ü + bereinstimmen: eine TOP-Kante: Gleisende, Digitalisierungsende, Betrachtungsende; drei TOP-Kanten: verzweigendes Fahrwegelement (siehe Modellierung Weichen). Weitere F + ä + lle mit 0..2 anschlie + ß + enden TOP-Kanten treten am Verbindungsknoten auf (siehe entsprechende Beschreibung). Im Fall eines Meridiansprungs werden zwei TOP_Knoten angelegt, die mit einer TOP_Kante der L + ä + nge Null verbunden werden. an die beiden TOP_Knoten schlie + ß + en also genau zwei TOP_Kanten an. + ID_GEO_Knoten -- Ein TOP_Knoten f + ä + llt immer mit einem GEO_Knoten der Gleislinie zusammen. + Knotenname -- Bezeichnung f + ü + r den Knoten. Die Bezeichnung wird aus dem DB-GIS System + ü + bernommen um die Referenz sicherzustellen. Bei Neutrassierung kann diese Bezeichnung leer bleiben. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasis_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, ID_GEO_Knoten=None, Knotenname=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CTOP_Knoten"), self).__init__(Identitaet, Basis_Objekt_Allg, ID_Bearbeitungsvermerk, ID_Oertlichkeit_Ausgabe, Objektreferenzen, **kwargs_) + self.ID_GEO_Knoten = ID_GEO_Knoten + self.ID_GEO_Knoten_nsprefix_ = None + self.Knotenname = Knotenname + self.Knotenname_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CTOP_Knoten) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CTOP_Knoten.subclass: + return CTOP_Knoten.subclass(*args_, **kwargs_) + else: + return CTOP_Knoten(*args_, **kwargs_) + factory = staticmethod(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_GEO_Knoten(self): + return self.ID_GEO_Knoten + def set_ID_GEO_Knoten(self, ID_GEO_Knoten): + self.ID_GEO_Knoten = ID_GEO_Knoten + def get_Knotenname(self): + return self.Knotenname + def set_Knotenname(self, Knotenname): + self.Knotenname = Knotenname + def has__content(self): + if ( + self.ID_GEO_Knoten is not None or + self.Knotenname is not None or + super(CTOP_Knoten, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsGeodaten:', namespacedef_='xmlns:nsGeodaten="http://www.plan-pro.org/modell/Geodaten/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CTOP_Knoten', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CTOP_Knoten') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CTOP_Knoten': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CTOP_Knoten') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CTOP_Knoten', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsGeodaten:', name_='CTOP_Knoten'): + super(CTOP_Knoten, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CTOP_Knoten') + def _exportChildren(self, outfile, level, namespaceprefix_='nsGeodaten:', namespacedef_='xmlns:nsGeodaten="http://www.plan-pro.org/modell/Geodaten/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CTOP_Knoten', fromsubclass_=False, pretty_print=True): + super(CTOP_Knoten, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.ID_GEO_Knoten is not None: + namespaceprefix_ = self.ID_GEO_Knoten_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_GEO_Knoten_nsprefix_) else '' + self.ID_GEO_Knoten.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_GEO_Knoten', pretty_print=pretty_print) + if self.Knotenname is not None: + namespaceprefix_ = self.Knotenname_nsprefix_ + ':' if (UseCapturedNS_ and self.Knotenname_nsprefix_) else '' + self.Knotenname.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Knotenname', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CTOP_Knoten, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_GEO_Knoten': + obj_ = TCID_GEO_Knoten.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_GEO_Knoten = obj_ + obj_.original_tagname_ = 'ID_GEO_Knoten' + elif nodeName_ == 'Knotenname': + obj_ = TCKnotenname.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Knotenname = obj_ + obj_.original_tagname_ = 'Knotenname' + super(CTOP_Knoten, self)._buildChildren(child_, node, nodeName_, True) +# end class CTOP_Knoten + + +class TCTP_Beschreibung(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCTP_Beschreibung"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TTP_Beschreibung(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCTP_Beschreibung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCTP_Beschreibung.subclass: + return TCTP_Beschreibung.subclass(*args_, **kwargs_) + else: + return TCTP_Beschreibung(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TTP_Beschreibung(self, value): + result = True + # Validate type TTP_Beschreibung, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TTP_Beschreibung_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TTP_Beschreibung_patterns_, )) + result = False + return result + validate_TTP_Beschreibung_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCTP_Beschreibung, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsGeodaten:', namespacedef_='xmlns:nsGeodaten="http://www.plan-pro.org/modell/Geodaten/1.10.0"', name_='TCTP_Beschreibung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCTP_Beschreibung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCTP_Beschreibung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCTP_Beschreibung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCTP_Beschreibung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsGeodaten:', name_='TCTP_Beschreibung'): + super(TCTP_Beschreibung, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCTP_Beschreibung') + def _exportChildren(self, outfile, level, namespaceprefix_='nsGeodaten:', namespacedef_='xmlns:nsGeodaten="http://www.plan-pro.org/modell/Geodaten/1.10.0"', name_='TCTP_Beschreibung', fromsubclass_=False, pretty_print=True): + super(TCTP_Beschreibung, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCTP_Beschreibung, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TTP_Beschreibung + self.validate_TTP_Beschreibung(self.Wert) + super(TCTP_Beschreibung, self)._buildChildren(child_, node, nodeName_, True) +# end class TCTP_Beschreibung + + +class TCTB_Art(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCTB_Art"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMTB_Art(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCTB_Art) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCTB_Art.subclass: + return TCTB_Art.subclass(*args_, **kwargs_) + else: + return TCTB_Art(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMTB_Art(self, value): + result = True + # Validate type ENUMTB_Art, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['Durchlass', 'Bahnsteigabsenkung', 'Eisenbahnkreuzungsbauwerk', 'Eisenbahnueberfuehrung', 'Eisenbahnunterfuehrung', 'Schutzwand_links', 'Schutzwand_rechts', 'sonstige', 'Tunnel', 'Ueberfuehrung_Straße_Weg'] + 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 ENUMTB_Art' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCTB_Art, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsGeodaten:', namespacedef_='xmlns:nsGeodaten="http://www.plan-pro.org/modell/Geodaten/1.10.0"', name_='TCTB_Art', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCTB_Art') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCTB_Art': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCTB_Art') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCTB_Art', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsGeodaten:', name_='TCTB_Art'): + super(TCTB_Art, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCTB_Art') + def _exportChildren(self, outfile, level, namespaceprefix_='nsGeodaten:', namespacedef_='xmlns:nsGeodaten="http://www.plan-pro.org/modell/Geodaten/1.10.0"', name_='TCTB_Art', fromsubclass_=False, pretty_print=True): + super(TCTB_Art, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCTB_Art, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMTB_Art + self.validate_ENUMTB_Art(self.Wert) + super(TCTB_Art, self)._buildChildren(child_, node, nodeName_, True) +# end class TCTB_Art + + +class TCOertlichkeit_Langname(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCOertlichkeit_Langname"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TOertlichkeit_Langname(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCOertlichkeit_Langname) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCOertlichkeit_Langname.subclass: + return TCOertlichkeit_Langname.subclass(*args_, **kwargs_) + else: + return TCOertlichkeit_Langname(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TOertlichkeit_Langname(self, value): + result = True + # Validate type TOertlichkeit_Langname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TOertlichkeit_Langname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TOertlichkeit_Langname_patterns_, )) + result = False + return result + validate_TOertlichkeit_Langname_patterns_ = [['^(.{1,40})$'], ['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCOertlichkeit_Langname, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsGeodaten:', namespacedef_='xmlns:nsGeodaten="http://www.plan-pro.org/modell/Geodaten/1.10.0"', name_='TCOertlichkeit_Langname', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCOertlichkeit_Langname') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCOertlichkeit_Langname': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCOertlichkeit_Langname') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCOertlichkeit_Langname', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsGeodaten:', name_='TCOertlichkeit_Langname'): + super(TCOertlichkeit_Langname, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCOertlichkeit_Langname') + def _exportChildren(self, outfile, level, namespaceprefix_='nsGeodaten:', namespacedef_='xmlns:nsGeodaten="http://www.plan-pro.org/modell/Geodaten/1.10.0"', name_='TCOertlichkeit_Langname', fromsubclass_=False, pretty_print=True): + super(TCOertlichkeit_Langname, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCOertlichkeit_Langname, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TOertlichkeit_Langname + self.validate_TOertlichkeit_Langname(self.Wert) + super(TCOertlichkeit_Langname, self)._buildChildren(child_, node, nodeName_, True) +# end class TCOertlichkeit_Langname + + +class TCStrecke_Meter(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCStrecke_Meter"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TStrecke_Meter(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCStrecke_Meter) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCStrecke_Meter.subclass: + return TCStrecke_Meter.subclass(*args_, **kwargs_) + else: + return TCStrecke_Meter(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TStrecke_Meter(self, value): + result = True + # Validate type TStrecke_Meter, a restriction on nsBasisTypen:TMeter. + 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 not self.gds_validate_simple_patterns( + self.validate_TStrecke_Meter_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TStrecke_Meter_patterns_, )) + result = False + return result + validate_TStrecke_Meter_patterns_ = [['^(-?(0|[1-9][0-9]{0,5})\\.[0-9]{3})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCStrecke_Meter, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsGeodaten:', namespacedef_='xmlns:nsGeodaten="http://www.plan-pro.org/modell/Geodaten/1.10.0"', name_='TCStrecke_Meter', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCStrecke_Meter') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCStrecke_Meter': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCStrecke_Meter') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCStrecke_Meter', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsGeodaten:', name_='TCStrecke_Meter'): + super(TCStrecke_Meter, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCStrecke_Meter') + def _exportChildren(self, outfile, level, namespaceprefix_='nsGeodaten:', namespacedef_='xmlns:nsGeodaten="http://www.plan-pro.org/modell/Geodaten/1.10.0"', name_='TCStrecke_Meter', fromsubclass_=False, pretty_print=True): + super(TCStrecke_Meter, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_decimal(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCStrecke_Meter, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + fval_ = self.gds_parse_decimal(sval_, node, 'Wert') + fval_ = self.gds_validate_decimal(fval_, node, 'Wert') + self.Wert = fval_ + self.Wert_nsprefix_ = child_.prefix + # validate type TStrecke_Meter + self.validate_TStrecke_Meter(self.Wert) + super(TCStrecke_Meter, self)._buildChildren(child_, node, nodeName_, True) +# end class TCStrecke_Meter + + +class TCUeberhoehungslinie_Form(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCUeberhoehungslinie_Form"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMUeberhoehungslinie_Form(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCUeberhoehungslinie_Form) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCUeberhoehungslinie_Form.subclass: + return TCUeberhoehungslinie_Form.subclass(*args_, **kwargs_) + else: + return TCUeberhoehungslinie_Form(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMUeberhoehungslinie_Form(self, value): + result = True + # Validate type ENUMUeberhoehungslinie_Form, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['gleichbleibend', 'Rampe_Bloss', 'Rampe_gerade', 'Rampe_S', 'Schere_Bloss', 'Schere_S'] + 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 ENUMUeberhoehungslinie_Form' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCUeberhoehungslinie_Form, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsGeodaten:', namespacedef_='xmlns:nsGeodaten="http://www.plan-pro.org/modell/Geodaten/1.10.0"', name_='TCUeberhoehungslinie_Form', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCUeberhoehungslinie_Form') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCUeberhoehungslinie_Form': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCUeberhoehungslinie_Form') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCUeberhoehungslinie_Form', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsGeodaten:', name_='TCUeberhoehungslinie_Form'): + super(TCUeberhoehungslinie_Form, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCUeberhoehungslinie_Form') + def _exportChildren(self, outfile, level, namespaceprefix_='nsGeodaten:', namespacedef_='xmlns:nsGeodaten="http://www.plan-pro.org/modell/Geodaten/1.10.0"', name_='TCUeberhoehungslinie_Form', fromsubclass_=False, pretty_print=True): + super(TCUeberhoehungslinie_Form, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCUeberhoehungslinie_Form, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMUeberhoehungslinie_Form + self.validate_ENUMUeberhoehungslinie_Form(self.Wert) + super(TCUeberhoehungslinie_Form, self)._buildChildren(child_, node, nodeName_, True) +# end class TCUeberhoehungslinie_Form + + +class COertlichkeit_Bezeichnung(GeneratedsSuper): + """Oertlichkeit_Abkuerzung -- 2- bis 5-stellige Abk + ü + rzung der + Ö + rtlichkeit gem + ä + ß + Ril 100.0001. Beispiel P-Hausen: PPHN. + Oertlichkeit_Kurzname -- 16-stelliger Name der + Ö + rtlichkeit. Der Kurzname wird der Ril 100 entnommen und muss in der Schreibweise mit dieser + ü + bereinstimmen. DB-Regelwerk Die Bildung des Kurznamens ist in Richtlinie 100.0001 Abschnitt 3 (6) beschrieben. + Oertlichkeit_Langname -- 40-stelliger Name der + Ö + rtlichkeit Der Langname einer + Ö + rtlichkeit wird i. d. R nur dann abweichend zum Kurznamen gebildet, wenn die 16 Zeichen des Kurznamens nicht ausreichend sind. Anderenfalls sind Kurzname und Langname identisch. DB-Regelwerk Die Bildung des Langnamens ist in Richtlinie 100.0001 Abschnitt 3 (6) beschrieben. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Oertlichkeit_Abkuerzung=None, Oertlichkeit_Kurzname=None, Oertlichkeit_Langname=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Oertlichkeit_Abkuerzung = Oertlichkeit_Abkuerzung + self.Oertlichkeit_Abkuerzung_nsprefix_ = None + self.Oertlichkeit_Kurzname = Oertlichkeit_Kurzname + self.Oertlichkeit_Kurzname_nsprefix_ = None + self.Oertlichkeit_Langname = Oertlichkeit_Langname + self.Oertlichkeit_Langname_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, COertlichkeit_Bezeichnung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if COertlichkeit_Bezeichnung.subclass: + return COertlichkeit_Bezeichnung.subclass(*args_, **kwargs_) + else: + return COertlichkeit_Bezeichnung(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Oertlichkeit_Abkuerzung(self): + return self.Oertlichkeit_Abkuerzung + def set_Oertlichkeit_Abkuerzung(self, Oertlichkeit_Abkuerzung): + self.Oertlichkeit_Abkuerzung = Oertlichkeit_Abkuerzung + def get_Oertlichkeit_Kurzname(self): + return self.Oertlichkeit_Kurzname + def set_Oertlichkeit_Kurzname(self, Oertlichkeit_Kurzname): + self.Oertlichkeit_Kurzname = Oertlichkeit_Kurzname + def get_Oertlichkeit_Langname(self): + return self.Oertlichkeit_Langname + def set_Oertlichkeit_Langname(self, Oertlichkeit_Langname): + self.Oertlichkeit_Langname = Oertlichkeit_Langname + def has__content(self): + if ( + self.Oertlichkeit_Abkuerzung is not None or + self.Oertlichkeit_Kurzname is not None or + self.Oertlichkeit_Langname is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsGeodaten:', namespacedef_='xmlns:nsGeodaten="http://www.plan-pro.org/modell/Geodaten/1.10.0"', name_='COertlichkeit_Bezeichnung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('COertlichkeit_Bezeichnung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'COertlichkeit_Bezeichnung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='COertlichkeit_Bezeichnung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='COertlichkeit_Bezeichnung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsGeodaten:', name_='COertlichkeit_Bezeichnung'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsGeodaten:', namespacedef_='xmlns:nsGeodaten="http://www.plan-pro.org/modell/Geodaten/1.10.0"', name_='COertlichkeit_Bezeichnung', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Oertlichkeit_Abkuerzung is not None: + namespaceprefix_ = self.Oertlichkeit_Abkuerzung_nsprefix_ + ':' if (UseCapturedNS_ and self.Oertlichkeit_Abkuerzung_nsprefix_) else '' + self.Oertlichkeit_Abkuerzung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Oertlichkeit_Abkuerzung', pretty_print=pretty_print) + if self.Oertlichkeit_Kurzname is not None: + namespaceprefix_ = self.Oertlichkeit_Kurzname_nsprefix_ + ':' if (UseCapturedNS_ and self.Oertlichkeit_Kurzname_nsprefix_) else '' + self.Oertlichkeit_Kurzname.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Oertlichkeit_Kurzname', pretty_print=pretty_print) + if self.Oertlichkeit_Langname is not None: + namespaceprefix_ = self.Oertlichkeit_Langname_nsprefix_ + ':' if (UseCapturedNS_ and self.Oertlichkeit_Langname_nsprefix_) else '' + self.Oertlichkeit_Langname.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Oertlichkeit_Langname', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Oertlichkeit_Abkuerzung': + obj_ = TCOertlichkeit_Abkuerzung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Oertlichkeit_Abkuerzung = obj_ + obj_.original_tagname_ = 'Oertlichkeit_Abkuerzung' + elif nodeName_ == 'Oertlichkeit_Kurzname': + obj_ = TCOertlichkeit_Kurzname.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Oertlichkeit_Kurzname = obj_ + obj_.original_tagname_ = 'Oertlichkeit_Kurzname' + elif nodeName_ == 'Oertlichkeit_Langname': + obj_ = TCOertlichkeit_Langname.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Oertlichkeit_Langname = obj_ + obj_.original_tagname_ = 'Oertlichkeit_Langname' +# end class COertlichkeit_Bezeichnung + + +class CStrecke_Punkt(CBasis_Objekt): + """CStrecke_Punkt -- Topologischer Punkt auf der zugeh + ö + rigen Streckenlinie mit dem Wert der Streckenkilometrierung in Meterschreibweise. Der Streckenpunkt kann auf einen GEO Knoten verweisen, der + ü + ber einen (oder mehrere) GEO_Punkte geografisch referenziert wird. Ohne diesen Verweis wird der Streckenpunkt nur auf eine Strecke mit Streckenkilometer referenziert. Die GEO Knoten sind + ü + ber GEO_Kanten untereinander verbunden und beschreiben in ihrer Gesamtheit eine Streckenlinie. Jede Strecke hat mindestens zwei Streckenpunkte als Anfang und Ende der Strecke. Der GEO Knoten am Anfang bzw. am Ende einer Streckenlinie hat nur eine GEO Kante, ansonsten sind es zwei. An einem Kilometersprung werden zwei Streckenpunkte (ggf. mit identischen GEO-Koordinaten) gebildet. Die L + ä + nge der verbindende GEO_Kante (- oder +) beinhaltet den Wert des Kilometersprunges. Eine + Ü + berl + ä + nge ist negativ, eine Fehll + ä + nge ist positiv. + ID_GEO_Knoten -- ID des GEO_Knoten, auf den der Strecke_Punkt verweist. Der Verweis ist nur zu bef + ü + llen, wenn auch eine Streckenlinie mit GEO-Daten vorhanden ist. F + ü + r jeden GEO_Knoten der Streckenachse wird dabei ein Strecke_Punkt erstellt. + ID_Strecke -- Zuordnung eines Streckenpunktes zu einer Streckennummer. + Strecke_Meter -- Kilometer an einem Knoten der Streckenlinie in Meterschreibweise. Dieses Attribut ist f + ü + r jeden Streckenpunkt zu bef + ü + llen. Im Datenmodell sind die Werte als TMeter mit 3 Nachkommastellen abgespeichert (Genauigkeit f + ü + r Darstellung in CAD-Systemen: Tausendstel m = 1 mm). + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasis_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, ID_GEO_Knoten=None, ID_Strecke=None, Strecke_Meter=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CStrecke_Punkt"), self).__init__(Identitaet, Basis_Objekt_Allg, ID_Bearbeitungsvermerk, ID_Oertlichkeit_Ausgabe, Objektreferenzen, **kwargs_) + self.ID_GEO_Knoten = ID_GEO_Knoten + self.ID_GEO_Knoten_nsprefix_ = None + self.ID_Strecke = ID_Strecke + self.ID_Strecke_nsprefix_ = None + self.Strecke_Meter = Strecke_Meter + self.Strecke_Meter_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CStrecke_Punkt) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CStrecke_Punkt.subclass: + return CStrecke_Punkt.subclass(*args_, **kwargs_) + else: + return CStrecke_Punkt(*args_, **kwargs_) + factory = staticmethod(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_GEO_Knoten(self): + return self.ID_GEO_Knoten + def set_ID_GEO_Knoten(self, ID_GEO_Knoten): + self.ID_GEO_Knoten = ID_GEO_Knoten + def get_ID_Strecke(self): + return self.ID_Strecke + def set_ID_Strecke(self, ID_Strecke): + self.ID_Strecke = ID_Strecke + def get_Strecke_Meter(self): + return self.Strecke_Meter + def set_Strecke_Meter(self, Strecke_Meter): + self.Strecke_Meter = Strecke_Meter + def has__content(self): + if ( + self.ID_GEO_Knoten is not None or + self.ID_Strecke is not None or + self.Strecke_Meter is not None or + super(CStrecke_Punkt, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsGeodaten:', namespacedef_='xmlns:nsGeodaten="http://www.plan-pro.org/modell/Geodaten/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CStrecke_Punkt', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CStrecke_Punkt') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CStrecke_Punkt': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CStrecke_Punkt') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CStrecke_Punkt', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsGeodaten:', name_='CStrecke_Punkt'): + super(CStrecke_Punkt, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CStrecke_Punkt') + def _exportChildren(self, outfile, level, namespaceprefix_='nsGeodaten:', namespacedef_='xmlns:nsGeodaten="http://www.plan-pro.org/modell/Geodaten/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CStrecke_Punkt', fromsubclass_=False, pretty_print=True): + super(CStrecke_Punkt, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.ID_GEO_Knoten is not None: + namespaceprefix_ = self.ID_GEO_Knoten_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_GEO_Knoten_nsprefix_) else '' + self.ID_GEO_Knoten.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_GEO_Knoten', pretty_print=pretty_print) + if self.ID_Strecke is not None: + namespaceprefix_ = self.ID_Strecke_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Strecke_nsprefix_) else '' + self.ID_Strecke.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Strecke', pretty_print=pretty_print) + if self.Strecke_Meter is not None: + namespaceprefix_ = self.Strecke_Meter_nsprefix_ + ':' if (UseCapturedNS_ and self.Strecke_Meter_nsprefix_) else '' + self.Strecke_Meter.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Strecke_Meter', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CStrecke_Punkt, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_GEO_Knoten': + obj_ = TCID_GEO_Knoten.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_GEO_Knoten = obj_ + obj_.original_tagname_ = 'ID_GEO_Knoten' + elif nodeName_ == 'ID_Strecke': + obj_ = TCID_Strecke.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Strecke = obj_ + obj_.original_tagname_ = 'ID_Strecke' + elif nodeName_ == 'Strecke_Meter': + obj_ = TCStrecke_Meter.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Strecke_Meter = obj_ + obj_.original_tagname_ = 'Strecke_Meter' + super(CStrecke_Punkt, self)._buildChildren(child_, node, nodeName_, True) +# end class CStrecke_Punkt + + +class TCGEO_Form(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCGEO_Form"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMGEO_Form(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCGEO_Form) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCGEO_Form.subclass: + return TCGEO_Form.subclass(*args_, **kwargs_) + else: + return TCGEO_Form(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMGEO_Form(self, value): + result = True + # Validate type ENUMGEO_Form, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['Bogen', 'Blosskurve', 'Bloss_einfach_geschwungen', 'Gerade', 'Klothoide', 'Km_Sprung', 'Polylinie', 'Richtgerade_Knick_am_Ende_200_gon', 'sonstige', 'S_Form_einfach_geschwungen', 'Uebergangsbogen_S_Form'] + 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 ENUMGEO_Form' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCGEO_Form, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsGeodaten:', namespacedef_='xmlns:nsGeodaten="http://www.plan-pro.org/modell/Geodaten/1.10.0"', name_='TCGEO_Form', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCGEO_Form') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCGEO_Form': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCGEO_Form') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCGEO_Form', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsGeodaten:', name_='TCGEO_Form'): + super(TCGEO_Form, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCGEO_Form') + def _exportChildren(self, outfile, level, namespaceprefix_='nsGeodaten:', namespacedef_='xmlns:nsGeodaten="http://www.plan-pro.org/modell/Geodaten/1.10.0"', name_='TCGEO_Form', fromsubclass_=False, pretty_print=True): + super(TCGEO_Form, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCGEO_Form, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMGEO_Form + self.validate_ENUMGEO_Form(self.Wert) + super(TCGEO_Form, self)._buildChildren(child_, node, nodeName_, True) +# end class TCGEO_Form + + +class TCTOP_Anschluss_B(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCTOP_Anschluss_B"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMTOP_Anschluss(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCTOP_Anschluss_B) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCTOP_Anschluss_B.subclass: + return TCTOP_Anschluss_B.subclass(*args_, **kwargs_) + else: + return TCTOP_Anschluss_B(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMTOP_Anschluss(self, value): + result = True + # Validate type ENUMTOP_Anschluss, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['Ende', 'Ende_Bestdig', 'Links', 'Meridiansprung', 'RB_Grenze', 'Rechts', 'Schnitt', 'sonstige', 'Spitze', 'Streckenwechsel', 'Verbindung'] + 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 ENUMTOP_Anschluss' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCTOP_Anschluss_B, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsGeodaten:', namespacedef_='xmlns:nsGeodaten="http://www.plan-pro.org/modell/Geodaten/1.10.0"', name_='TCTOP_Anschluss_B', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCTOP_Anschluss_B') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCTOP_Anschluss_B': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCTOP_Anschluss_B') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCTOP_Anschluss_B', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsGeodaten:', name_='TCTOP_Anschluss_B'): + super(TCTOP_Anschluss_B, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCTOP_Anschluss_B') + def _exportChildren(self, outfile, level, namespaceprefix_='nsGeodaten:', namespacedef_='xmlns:nsGeodaten="http://www.plan-pro.org/modell/Geodaten/1.10.0"', name_='TCTOP_Anschluss_B', fromsubclass_=False, pretty_print=True): + super(TCTOP_Anschluss_B, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCTOP_Anschluss_B, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMTOP_Anschluss + self.validate_ENUMTOP_Anschluss(self.Wert) + super(TCTOP_Anschluss_B, self)._buildChildren(child_, node, nodeName_, True) +# end class TCTOP_Anschluss_B + + +class TCBezeichnung_Markanter_Punkt(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCBezeichnung_Markanter_Punkt"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TBezeichnung_Markanter_Punkt(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCBezeichnung_Markanter_Punkt) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCBezeichnung_Markanter_Punkt.subclass: + return TCBezeichnung_Markanter_Punkt.subclass(*args_, **kwargs_) + else: + return TCBezeichnung_Markanter_Punkt(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TBezeichnung_Markanter_Punkt(self, value): + result = True + # Validate type TBezeichnung_Markanter_Punkt, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TBezeichnung_Markanter_Punkt_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TBezeichnung_Markanter_Punkt_patterns_, )) + result = False + return result + validate_TBezeichnung_Markanter_Punkt_patterns_ = [['^(.{1,30})$'], ['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCBezeichnung_Markanter_Punkt, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsFahrstrasse:', namespacedef_='xmlns:nsFahrstrasse="http://www.plan-pro.org/modell/Fahrstrasse/1.10.0"', name_='TCBezeichnung_Markanter_Punkt', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCBezeichnung_Markanter_Punkt') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCBezeichnung_Markanter_Punkt': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBezeichnung_Markanter_Punkt') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCBezeichnung_Markanter_Punkt', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsFahrstrasse:', name_='TCBezeichnung_Markanter_Punkt'): + super(TCBezeichnung_Markanter_Punkt, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBezeichnung_Markanter_Punkt') + def _exportChildren(self, outfile, level, namespaceprefix_='nsFahrstrasse:', namespacedef_='xmlns:nsFahrstrasse="http://www.plan-pro.org/modell/Fahrstrasse/1.10.0"', name_='TCBezeichnung_Markanter_Punkt', fromsubclass_=False, pretty_print=True): + super(TCBezeichnung_Markanter_Punkt, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCBezeichnung_Markanter_Punkt, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TBezeichnung_Markanter_Punkt + self.validate_TBezeichnung_Markanter_Punkt(self.Wert) + super(TCBezeichnung_Markanter_Punkt, self)._buildChildren(child_, node, nodeName_, True) +# end class TCBezeichnung_Markanter_Punkt + + +class CFstr_Signalisierung(CBasis_Objekt): + """CFstr_Signalisierung -- Je Fahrstra + ß + e zu zeigende Signalisierung, die sich nicht eindeutig aus den Stellwerksfunktionen ergibt. Siehe auch Bildung der Signalbegriffe. DB-Regelwerk Signaltabelle 2, jedoch sind hier alle Signalisierungen angegeben. + ID_Fstr_Zug_Rangier -- Zuordnung des Signalbildes zur jeweiligen Fahrstra + ß + e. DB-Regelwerk Signaltabelle 2, Spalte 1: \"Signalisierungsabschnitt/Zugstra + ß + e\" + ID_Signal_Signalbegriff -- Zuordnung des Signalbegriffs zur jeweiligen Fahrstra + ß + e, u. U. in Abh + ä + ngigkeit von ID Signal Signalbegriff Ziel. DB-Regelwerk Signaltabelle 2: Eintrag der jeweiligen Signalbegriffe + ID_Signal_Signalbegriff_Ziel -- Optionale Bedingung f + ü + r die Anzeige von Fstr_Signalisierung.ID Signal Signalbegriff. Das Zielsignal ist meist das Signal am Fahrstra + ß + enziel, kann aber auch davor (z. B. gestufte Geschwindigkeitssignalisierung) oder dahinter (z. B. nach dem Ende des Weichenbereiches bei Ausfahrten) liegen. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasis_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, ID_Fstr_Zug_Rangier=None, ID_Signal_Signalbegriff=None, ID_Signal_Signalbegriff_Ziel=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CFstr_Signalisierung"), self).__init__(Identitaet, Basis_Objekt_Allg, ID_Bearbeitungsvermerk, ID_Oertlichkeit_Ausgabe, Objektreferenzen, **kwargs_) + self.ID_Fstr_Zug_Rangier = ID_Fstr_Zug_Rangier + self.ID_Fstr_Zug_Rangier_nsprefix_ = None + self.ID_Signal_Signalbegriff = ID_Signal_Signalbegriff + self.ID_Signal_Signalbegriff_nsprefix_ = None + self.ID_Signal_Signalbegriff_Ziel = ID_Signal_Signalbegriff_Ziel + self.ID_Signal_Signalbegriff_Ziel_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CFstr_Signalisierung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CFstr_Signalisierung.subclass: + return CFstr_Signalisierung.subclass(*args_, **kwargs_) + else: + return CFstr_Signalisierung(*args_, **kwargs_) + factory = staticmethod(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_Fstr_Zug_Rangier(self): + return self.ID_Fstr_Zug_Rangier + def set_ID_Fstr_Zug_Rangier(self, ID_Fstr_Zug_Rangier): + self.ID_Fstr_Zug_Rangier = ID_Fstr_Zug_Rangier + def get_ID_Signal_Signalbegriff(self): + return self.ID_Signal_Signalbegriff + def set_ID_Signal_Signalbegriff(self, ID_Signal_Signalbegriff): + self.ID_Signal_Signalbegriff = ID_Signal_Signalbegriff + def get_ID_Signal_Signalbegriff_Ziel(self): + return self.ID_Signal_Signalbegriff_Ziel + def set_ID_Signal_Signalbegriff_Ziel(self, ID_Signal_Signalbegriff_Ziel): + self.ID_Signal_Signalbegriff_Ziel = ID_Signal_Signalbegriff_Ziel + def has__content(self): + if ( + self.ID_Fstr_Zug_Rangier is not None or + self.ID_Signal_Signalbegriff is not None or + self.ID_Signal_Signalbegriff_Ziel is not None or + super(CFstr_Signalisierung, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsFahrstrasse:', namespacedef_='xmlns:nsFahrstrasse="http://www.plan-pro.org/modell/Fahrstrasse/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CFstr_Signalisierung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CFstr_Signalisierung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CFstr_Signalisierung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CFstr_Signalisierung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CFstr_Signalisierung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsFahrstrasse:', name_='CFstr_Signalisierung'): + super(CFstr_Signalisierung, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CFstr_Signalisierung') + def _exportChildren(self, outfile, level, namespaceprefix_='nsFahrstrasse:', namespacedef_='xmlns:nsFahrstrasse="http://www.plan-pro.org/modell/Fahrstrasse/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CFstr_Signalisierung', fromsubclass_=False, pretty_print=True): + super(CFstr_Signalisierung, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.ID_Fstr_Zug_Rangier is not None: + namespaceprefix_ = self.ID_Fstr_Zug_Rangier_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Fstr_Zug_Rangier_nsprefix_) else '' + self.ID_Fstr_Zug_Rangier.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Fstr_Zug_Rangier', pretty_print=pretty_print) + if self.ID_Signal_Signalbegriff is not None: + namespaceprefix_ = self.ID_Signal_Signalbegriff_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Signal_Signalbegriff_nsprefix_) else '' + self.ID_Signal_Signalbegriff.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Signal_Signalbegriff', pretty_print=pretty_print) + if self.ID_Signal_Signalbegriff_Ziel is not None: + namespaceprefix_ = self.ID_Signal_Signalbegriff_Ziel_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Signal_Signalbegriff_Ziel_nsprefix_) else '' + self.ID_Signal_Signalbegriff_Ziel.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Signal_Signalbegriff_Ziel', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CFstr_Signalisierung, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Fstr_Zug_Rangier': + obj_ = TCID_Fstr_Zug_Rangier.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Fstr_Zug_Rangier = obj_ + obj_.original_tagname_ = 'ID_Fstr_Zug_Rangier' + elif nodeName_ == 'ID_Signal_Signalbegriff': + obj_ = TCID_Signal_Signalbegriff.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Signal_Signalbegriff = obj_ + obj_.original_tagname_ = 'ID_Signal_Signalbegriff' + elif nodeName_ == 'ID_Signal_Signalbegriff_Ziel': + obj_ = TCID_Signal_Signalbegriff.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Signal_Signalbegriff_Ziel = obj_ + obj_.original_tagname_ = 'ID_Signal_Signalbegriff_Ziel' + super(CFstr_Signalisierung, self)._buildChildren(child_, node, nodeName_, True) +# end class CFstr_Signalisierung + + +class CFstr_Zug_Rangier(CBasis_Objekt): + """CFstr_Zug_Rangier -- Zug- oder Rangierstra + ß + e. Jeder Zugstra + ß + e ist ein Durchrutschweg (modelliert in Fstr DWeg) zugeordnet. Gibt es Fahrstra + ß + en mit mehreren Durchrutschwegen, so werden daf + ü + r mehrere Zugstra + ß + en angelegt, die auf dem gleichen befahrenen Teil (modelliert in Fstr Fahrweg) basieren. Mit dem Datenmodell werden auch Zentralblockfahrstra + ß + en geplant. Der hiermit verkn + ü + pfte Gefahrpunktabstand wird in Fstr DWeg abgebildet. Eine Zentralblockfahrstra + ß + e (Fstr_Zug_Art==ZB) + ü + ber die ESTW-Zentraleinheit-Grenze wird in zwei Teilblockfahrstra + ß + en (Fstr_Zug_Art==ZB) im Bereich der jeweiligen ESTW-Zentraleinheit geplant. Dabei kann ein befahrener Teil der L + ä + nge Null entstehen, wenn die zweite Teilblockfahrstra + ß + e nur aus dem Durchrutschweg besteht. Zielsignal der ersten ist Startsignal der zweiten Teilblockfahrstra + ß + e. Fahrstra + ß + en + ü + ber eine ESTW-Zentraleinheit-Grenze (FAP) werden als zwei Teilfahrstra + ß + en (Fstr_Zug_Art==ZT/ZTU; Fstr_Rangier_Art==RT/RTU) geplant. Kann die erste Teilfahrstra + ß + e mit mehreren weiteren Teilfahrstra + ß + en fortgesetzt werden, so muss f + ü + r jede geplante Kombination eine eigene Instanz der ersten Teilfahrstra + ß + e angelegt werden (analog der Zuordnung mehrerer Durchrutschwege). Eine Mittelweichenteilfahrstra + ß + e besitzt keinen Durchrutschweg. Eine explizite Verkn + ü + pfung von Mittelweichenteilfahrstra + ß + en untereinander und mit der Zugstra + ß + e erfolgt nicht, da sich diese + ü + ber die Topologie und insbesondere + ü + ber Start und Ziel ergeben. Eine Rangierstra + ß + e besitzt ebenfalls keinen Durchrutschweg. Die speziellen Attribute von Zug-/Rangier-/Mittelweichenteilfahrstra + ß + e werden in eigenen Attributgruppen gespeichert, die sich gegenseitig ausschlie + ß + en. Gruppenausfahrten werden als Zugstra + ß + en ohne besondere Eigenschaft abgebildet. Das Gruppenausfahrsignal wird unter ID Signal Gruppenausfahrt explizit angegeben, die Gruppenausfahrstra + ß + e ist somit eindeutig erkennbar. DB-Regelwerk Zugstra + ß + entabelle (eine Zeile), Rangierstra + ß + entabelle (eine Zeile), Mittelweichenteilfahrstra + ß + entabelle (eine Zeile). + ID_Fstr_Ausschluss_Besonders -- Besonderer Fahrstra + ß + enausschluss, der in Sonderf + ä + llen geplant werden muss, z. B. Rangierstra + ß + e mit paralleler Gruppenausfahrt. Der Ausschluss von Durchfahrten ist hier nicht anzugeben (siehe Signal). + ID_Fstr_Fahrweg -- Zuordnung des Fahrwegs zur Fahrstra + ß + e als befahrener Teil. DB-Regelwerk Zugstra + ß + entabelle, Bezeichnung der Fstr (Start und Ziel) + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasis_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, Fstr_Zug_Rangier_Allg=None, ID_Fstr_Ausschluss_Besonders=None, ID_Fstr_Fahrweg=None, Fstr_Mittel=None, Fstr_Rangier=None, Fstr_Zug=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CFstr_Zug_Rangier"), self).__init__(Identitaet, Basis_Objekt_Allg, ID_Bearbeitungsvermerk, ID_Oertlichkeit_Ausgabe, Objektreferenzen, **kwargs_) + self.Fstr_Zug_Rangier_Allg = Fstr_Zug_Rangier_Allg + self.Fstr_Zug_Rangier_Allg_nsprefix_ = None + if ID_Fstr_Ausschluss_Besonders is None: + self.ID_Fstr_Ausschluss_Besonders = [] + else: + self.ID_Fstr_Ausschluss_Besonders = ID_Fstr_Ausschluss_Besonders + self.ID_Fstr_Ausschluss_Besonders_nsprefix_ = None + self.ID_Fstr_Fahrweg = ID_Fstr_Fahrweg + self.ID_Fstr_Fahrweg_nsprefix_ = None + self.Fstr_Mittel = Fstr_Mittel + self.Fstr_Mittel_nsprefix_ = None + self.Fstr_Rangier = Fstr_Rangier + self.Fstr_Rangier_nsprefix_ = None + self.Fstr_Zug = Fstr_Zug + self.Fstr_Zug_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CFstr_Zug_Rangier) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CFstr_Zug_Rangier.subclass: + return CFstr_Zug_Rangier.subclass(*args_, **kwargs_) + else: + return CFstr_Zug_Rangier(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Fstr_Zug_Rangier_Allg(self): + return self.Fstr_Zug_Rangier_Allg + def set_Fstr_Zug_Rangier_Allg(self, Fstr_Zug_Rangier_Allg): + self.Fstr_Zug_Rangier_Allg = Fstr_Zug_Rangier_Allg + def get_ID_Fstr_Ausschluss_Besonders(self): + return self.ID_Fstr_Ausschluss_Besonders + def set_ID_Fstr_Ausschluss_Besonders(self, ID_Fstr_Ausschluss_Besonders): + self.ID_Fstr_Ausschluss_Besonders = ID_Fstr_Ausschluss_Besonders + def add_ID_Fstr_Ausschluss_Besonders(self, value): + self.ID_Fstr_Ausschluss_Besonders.append(value) + def insert_ID_Fstr_Ausschluss_Besonders_at(self, index, value): + self.ID_Fstr_Ausschluss_Besonders.insert(index, value) + def replace_ID_Fstr_Ausschluss_Besonders_at(self, index, value): + self.ID_Fstr_Ausschluss_Besonders[index] = value + def get_ID_Fstr_Fahrweg(self): + return self.ID_Fstr_Fahrweg + def set_ID_Fstr_Fahrweg(self, ID_Fstr_Fahrweg): + self.ID_Fstr_Fahrweg = ID_Fstr_Fahrweg + def get_Fstr_Mittel(self): + return self.Fstr_Mittel + def set_Fstr_Mittel(self, Fstr_Mittel): + self.Fstr_Mittel = Fstr_Mittel + def get_Fstr_Rangier(self): + return self.Fstr_Rangier + def set_Fstr_Rangier(self, Fstr_Rangier): + self.Fstr_Rangier = Fstr_Rangier + def get_Fstr_Zug(self): + return self.Fstr_Zug + def set_Fstr_Zug(self, Fstr_Zug): + self.Fstr_Zug = Fstr_Zug + def has__content(self): + if ( + self.Fstr_Zug_Rangier_Allg is not None or + self.ID_Fstr_Ausschluss_Besonders or + self.ID_Fstr_Fahrweg is not None or + self.Fstr_Mittel is not None or + self.Fstr_Rangier is not None or + self.Fstr_Zug is not None or + super(CFstr_Zug_Rangier, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsFahrstrasse:', namespacedef_='xmlns:nsFahrstrasse="http://www.plan-pro.org/modell/Fahrstrasse/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CFstr_Zug_Rangier', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CFstr_Zug_Rangier') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CFstr_Zug_Rangier': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CFstr_Zug_Rangier') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CFstr_Zug_Rangier', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsFahrstrasse:', name_='CFstr_Zug_Rangier'): + super(CFstr_Zug_Rangier, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CFstr_Zug_Rangier') + def _exportChildren(self, outfile, level, namespaceprefix_='nsFahrstrasse:', namespacedef_='xmlns:nsFahrstrasse="http://www.plan-pro.org/modell/Fahrstrasse/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CFstr_Zug_Rangier', fromsubclass_=False, pretty_print=True): + super(CFstr_Zug_Rangier, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Fstr_Zug_Rangier_Allg is not None: + namespaceprefix_ = self.Fstr_Zug_Rangier_Allg_nsprefix_ + ':' if (UseCapturedNS_ and self.Fstr_Zug_Rangier_Allg_nsprefix_) else '' + self.Fstr_Zug_Rangier_Allg.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Fstr_Zug_Rangier_Allg', pretty_print=pretty_print) + for ID_Fstr_Ausschluss_Besonders_ in self.ID_Fstr_Ausschluss_Besonders: + namespaceprefix_ = self.ID_Fstr_Ausschluss_Besonders_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Fstr_Ausschluss_Besonders_nsprefix_) else '' + ID_Fstr_Ausschluss_Besonders_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Fstr_Ausschluss_Besonders', pretty_print=pretty_print) + if self.ID_Fstr_Fahrweg is not None: + namespaceprefix_ = self.ID_Fstr_Fahrweg_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Fstr_Fahrweg_nsprefix_) else '' + self.ID_Fstr_Fahrweg.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Fstr_Fahrweg', pretty_print=pretty_print) + if self.Fstr_Mittel is not None: + namespaceprefix_ = self.Fstr_Mittel_nsprefix_ + ':' if (UseCapturedNS_ and self.Fstr_Mittel_nsprefix_) else '' + self.Fstr_Mittel.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Fstr_Mittel', pretty_print=pretty_print) + if self.Fstr_Rangier is not None: + namespaceprefix_ = self.Fstr_Rangier_nsprefix_ + ':' if (UseCapturedNS_ and self.Fstr_Rangier_nsprefix_) else '' + self.Fstr_Rangier.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Fstr_Rangier', pretty_print=pretty_print) + if self.Fstr_Zug is not None: + namespaceprefix_ = self.Fstr_Zug_nsprefix_ + ':' if (UseCapturedNS_ and self.Fstr_Zug_nsprefix_) else '' + self.Fstr_Zug.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Fstr_Zug', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CFstr_Zug_Rangier, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Fstr_Zug_Rangier_Allg': + obj_ = CFstr_Zug_Rangier_Allg.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Fstr_Zug_Rangier_Allg = obj_ + obj_.original_tagname_ = 'Fstr_Zug_Rangier_Allg' + elif nodeName_ == 'ID_Fstr_Ausschluss_Besonders': + obj_ = TCID_Fstr_Ausschluss_Besonders.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Fstr_Ausschluss_Besonders.append(obj_) + obj_.original_tagname_ = 'ID_Fstr_Ausschluss_Besonders' + elif nodeName_ == 'ID_Fstr_Fahrweg': + obj_ = TCID_Fstr_Fahrweg.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Fstr_Fahrweg = obj_ + obj_.original_tagname_ = 'ID_Fstr_Fahrweg' + elif nodeName_ == 'Fstr_Mittel': + obj_ = CFstr_Mittel.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Fstr_Mittel = obj_ + obj_.original_tagname_ = 'Fstr_Mittel' + elif nodeName_ == 'Fstr_Rangier': + obj_ = CFstr_Rangier.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Fstr_Rangier = obj_ + obj_.original_tagname_ = 'Fstr_Rangier' + elif nodeName_ == 'Fstr_Zug': + obj_ = CFstr_Zug.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Fstr_Zug = obj_ + obj_.original_tagname_ = 'Fstr_Zug' + super(CFstr_Zug_Rangier, self)._buildChildren(child_, node, nodeName_, True) +# end class CFstr_Zug_Rangier + + +class CFstr_Nichthaltfall(CBasis_Objekt): + """CFstr_Nichthaltfall -- Nichthaltfallabschnitt (auch: Haltfallverhinderungsabschnitt). Im Gegensatz zur bisherigen Praxis der LST-Planung, den Haltfallabschnitt zu planen, werden im Datenmodell nur die Nichthaltfallabschnitte f + ü + r jeden Fahrweg geplant. In der Regel ist es einer, selten mehrere. DB-Regelwerk Haltfallabschnitt bisher: Zugstra + ß + entabelle, Spalte 6: Signalhaltfall + ID_FMA_Anlage -- Freimeldeabschnitt, der als Nichthaltfallabschnitt genutzt wird. DB-Regelwerk Wurde bisher nicht angegeben, stattdessen: Zugstra + ß + entabelle, Spalte 6: Signalhaltfall. + ID_Fstr_Fahrweg -- Zuordnung des Nichthaltfallabschnitts zu Fstr Fahrweg. DB-Regelwerk Wurde bisher nicht angegeben, stattdessen: Zugstra + ß + entabelle, Spalte 6: Signalhaltfall + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasis_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, ID_FMA_Anlage=None, ID_Fstr_Fahrweg=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CFstr_Nichthaltfall"), self).__init__(Identitaet, Basis_Objekt_Allg, ID_Bearbeitungsvermerk, ID_Oertlichkeit_Ausgabe, Objektreferenzen, **kwargs_) + self.ID_FMA_Anlage = ID_FMA_Anlage + self.ID_FMA_Anlage_nsprefix_ = None + self.ID_Fstr_Fahrweg = ID_Fstr_Fahrweg + self.ID_Fstr_Fahrweg_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CFstr_Nichthaltfall) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CFstr_Nichthaltfall.subclass: + return CFstr_Nichthaltfall.subclass(*args_, **kwargs_) + else: + return CFstr_Nichthaltfall(*args_, **kwargs_) + factory = staticmethod(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_FMA_Anlage(self): + return self.ID_FMA_Anlage + def set_ID_FMA_Anlage(self, ID_FMA_Anlage): + self.ID_FMA_Anlage = ID_FMA_Anlage + def get_ID_Fstr_Fahrweg(self): + return self.ID_Fstr_Fahrweg + def set_ID_Fstr_Fahrweg(self, ID_Fstr_Fahrweg): + self.ID_Fstr_Fahrweg = ID_Fstr_Fahrweg + def has__content(self): + if ( + self.ID_FMA_Anlage is not None or + self.ID_Fstr_Fahrweg is not None or + super(CFstr_Nichthaltfall, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsFahrstrasse:', namespacedef_='xmlns:nsFahrstrasse="http://www.plan-pro.org/modell/Fahrstrasse/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CFstr_Nichthaltfall', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CFstr_Nichthaltfall') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CFstr_Nichthaltfall': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CFstr_Nichthaltfall') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CFstr_Nichthaltfall', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsFahrstrasse:', name_='CFstr_Nichthaltfall'): + super(CFstr_Nichthaltfall, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CFstr_Nichthaltfall') + def _exportChildren(self, outfile, level, namespaceprefix_='nsFahrstrasse:', namespacedef_='xmlns:nsFahrstrasse="http://www.plan-pro.org/modell/Fahrstrasse/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CFstr_Nichthaltfall', fromsubclass_=False, pretty_print=True): + super(CFstr_Nichthaltfall, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.ID_FMA_Anlage is not None: + namespaceprefix_ = self.ID_FMA_Anlage_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_FMA_Anlage_nsprefix_) else '' + self.ID_FMA_Anlage.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_FMA_Anlage', pretty_print=pretty_print) + if self.ID_Fstr_Fahrweg is not None: + namespaceprefix_ = self.ID_Fstr_Fahrweg_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Fstr_Fahrweg_nsprefix_) else '' + self.ID_Fstr_Fahrweg.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Fstr_Fahrweg', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CFstr_Nichthaltfall, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_FMA_Anlage': + obj_ = TCID_FMA_Anlage.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_FMA_Anlage = obj_ + obj_.original_tagname_ = 'ID_FMA_Anlage' + elif nodeName_ == 'ID_Fstr_Fahrweg': + obj_ = TCID_Fstr_Fahrweg.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Fstr_Fahrweg = obj_ + obj_.original_tagname_ = 'ID_Fstr_Fahrweg' + super(CFstr_Nichthaltfall, self)._buildChildren(child_, node, nodeName_, True) +# end class CFstr_Nichthaltfall + + +class TCFstr_Aneinander_Bedienstring(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCFstr_Aneinander_Bedienstring"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TFstr_Aneinander_Bedienstring(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCFstr_Aneinander_Bedienstring) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCFstr_Aneinander_Bedienstring.subclass: + return TCFstr_Aneinander_Bedienstring.subclass(*args_, **kwargs_) + else: + return TCFstr_Aneinander_Bedienstring(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TFstr_Aneinander_Bedienstring(self, value): + result = True + # Validate type TFstr_Aneinander_Bedienstring, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TFstr_Aneinander_Bedienstring_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TFstr_Aneinander_Bedienstring_patterns_, )) + result = False + return result + validate_TFstr_Aneinander_Bedienstring_patterns_ = [['^(.{3,20})$'], ['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCFstr_Aneinander_Bedienstring, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsFahrstrasse:', namespacedef_='xmlns:nsFahrstrasse="http://www.plan-pro.org/modell/Fahrstrasse/1.10.0"', name_='TCFstr_Aneinander_Bedienstring', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCFstr_Aneinander_Bedienstring') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCFstr_Aneinander_Bedienstring': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCFstr_Aneinander_Bedienstring') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCFstr_Aneinander_Bedienstring', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsFahrstrasse:', name_='TCFstr_Aneinander_Bedienstring'): + super(TCFstr_Aneinander_Bedienstring, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCFstr_Aneinander_Bedienstring') + def _exportChildren(self, outfile, level, namespaceprefix_='nsFahrstrasse:', namespacedef_='xmlns:nsFahrstrasse="http://www.plan-pro.org/modell/Fahrstrasse/1.10.0"', name_='TCFstr_Aneinander_Bedienstring', fromsubclass_=False, pretty_print=True): + super(TCFstr_Aneinander_Bedienstring, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCFstr_Aneinander_Bedienstring, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TFstr_Aneinander_Bedienstring + self.validate_TFstr_Aneinander_Bedienstring(self.Wert) + super(TCFstr_Aneinander_Bedienstring, self)._buildChildren(child_, node, nodeName_, True) +# end class TCFstr_Aneinander_Bedienstring + + +class TCDWeg_Reihenfolge(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCDWeg_Reihenfolge"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TDWeg_Reihenfolge(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCDWeg_Reihenfolge) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCDWeg_Reihenfolge.subclass: + return TCDWeg_Reihenfolge.subclass(*args_, **kwargs_) + else: + return TCDWeg_Reihenfolge(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TDWeg_Reihenfolge(self, value): + result = True + # Validate type TDWeg_Reihenfolge, a restriction on xs:integer. + 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_TDWeg_Reihenfolge_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TDWeg_Reihenfolge_patterns_, )) + result = False + return result + validate_TDWeg_Reihenfolge_patterns_ = [['^([1-9]|1[0-5])$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCDWeg_Reihenfolge, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsFahrstrasse:', namespacedef_='xmlns:nsFahrstrasse="http://www.plan-pro.org/modell/Fahrstrasse/1.10.0"', name_='TCDWeg_Reihenfolge', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCDWeg_Reihenfolge') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCDWeg_Reihenfolge': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCDWeg_Reihenfolge') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCDWeg_Reihenfolge', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsFahrstrasse:', name_='TCDWeg_Reihenfolge'): + super(TCDWeg_Reihenfolge, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCDWeg_Reihenfolge') + def _exportChildren(self, outfile, level, namespaceprefix_='nsFahrstrasse:', namespacedef_='xmlns:nsFahrstrasse="http://www.plan-pro.org/modell/Fahrstrasse/1.10.0"', name_='TCDWeg_Reihenfolge', fromsubclass_=False, pretty_print=True): + super(TCDWeg_Reihenfolge, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_integer(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCDWeg_Reihenfolge, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + ival_ = self.gds_parse_integer(sval_, node, 'Wert') + ival_ = self.gds_validate_integer(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + # validate type TDWeg_Reihenfolge + self.validate_TDWeg_Reihenfolge(self.Wert) + super(TCDWeg_Reihenfolge, self)._buildChildren(child_, node, nodeName_, True) +# end class TCDWeg_Reihenfolge + + +class TCFstr_Mittel_V_Aufwertung(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCFstr_Mittel_V_Aufwertung"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCFstr_Mittel_V_Aufwertung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCFstr_Mittel_V_Aufwertung.subclass: + return TCFstr_Mittel_V_Aufwertung.subclass(*args_, **kwargs_) + else: + return TCFstr_Mittel_V_Aufwertung(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def has__content(self): + if ( + self.Wert is not None or + super(TCFstr_Mittel_V_Aufwertung, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsFahrstrasse:', namespacedef_='xmlns:nsFahrstrasse="http://www.plan-pro.org/modell/Fahrstrasse/1.10.0"', name_='TCFstr_Mittel_V_Aufwertung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCFstr_Mittel_V_Aufwertung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCFstr_Mittel_V_Aufwertung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCFstr_Mittel_V_Aufwertung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCFstr_Mittel_V_Aufwertung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsFahrstrasse:', name_='TCFstr_Mittel_V_Aufwertung'): + super(TCFstr_Mittel_V_Aufwertung, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCFstr_Mittel_V_Aufwertung') + def _exportChildren(self, outfile, level, namespaceprefix_='nsFahrstrasse:', namespacedef_='xmlns:nsFahrstrasse="http://www.plan-pro.org/modell/Fahrstrasse/1.10.0"', name_='TCFstr_Mittel_V_Aufwertung', fromsubclass_=False, pretty_print=True): + super(TCFstr_Mittel_V_Aufwertung, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_boolean(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCFstr_Mittel_V_Aufwertung, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + sval_ = child_.text + ival_ = self.gds_parse_boolean(sval_, node, 'Wert') + ival_ = self.gds_validate_boolean(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + super(TCFstr_Mittel_V_Aufwertung, self)._buildChildren(child_, node, nodeName_, True) +# end class TCFstr_Mittel_V_Aufwertung + + +class CFstr_Mittel(GeneratedsSuper): + """Fstr_Mittel_Art -- Art der Mittelweichenteil-Fahrstra + ß + e. ZM + – + ZugMittelweichenteil-, ZUM + – + ZugUmfahrMittelweichenteil-. DB-Regelwerk Zugstra + ß + entabelle, Spalte 2 \"Art\" + Fstr_Mittel_V_Aufwertung -- Die Aufwertung des Signals aus einer Einschr + ä + nkung aufgrund von Mittelweichen ist m + ö + glich. Ist eine Mittelweiche f + ü + r eine Geschwindigkeitseinschr + ä + nkung verantwortlich, so f + ä + llt nach Freifahren dieser die Restriktion weg und das Signalbild kann aufgewertet werden. DB-Regelwerk Mittelweichenteilfahrstra + ß + entabelle, Spalte 6 \"Geschwindigkeit - Aufwertung\" + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Fstr_Mittel_Art=None, Fstr_Mittel_V_Aufwertung=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Fstr_Mittel_Art = Fstr_Mittel_Art + self.Fstr_Mittel_Art_nsprefix_ = None + self.Fstr_Mittel_V_Aufwertung = Fstr_Mittel_V_Aufwertung + self.Fstr_Mittel_V_Aufwertung_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CFstr_Mittel) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CFstr_Mittel.subclass: + return CFstr_Mittel.subclass(*args_, **kwargs_) + else: + return CFstr_Mittel(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Fstr_Mittel_Art(self): + return self.Fstr_Mittel_Art + def set_Fstr_Mittel_Art(self, Fstr_Mittel_Art): + self.Fstr_Mittel_Art = Fstr_Mittel_Art + def get_Fstr_Mittel_V_Aufwertung(self): + return self.Fstr_Mittel_V_Aufwertung + def set_Fstr_Mittel_V_Aufwertung(self, Fstr_Mittel_V_Aufwertung): + self.Fstr_Mittel_V_Aufwertung = Fstr_Mittel_V_Aufwertung + def has__content(self): + if ( + self.Fstr_Mittel_Art is not None or + self.Fstr_Mittel_V_Aufwertung is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsFahrstrasse:', namespacedef_='xmlns:nsFahrstrasse="http://www.plan-pro.org/modell/Fahrstrasse/1.10.0"', name_='CFstr_Mittel', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CFstr_Mittel') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CFstr_Mittel': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CFstr_Mittel') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CFstr_Mittel', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsFahrstrasse:', name_='CFstr_Mittel'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsFahrstrasse:', namespacedef_='xmlns:nsFahrstrasse="http://www.plan-pro.org/modell/Fahrstrasse/1.10.0"', name_='CFstr_Mittel', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Fstr_Mittel_Art is not None: + namespaceprefix_ = self.Fstr_Mittel_Art_nsprefix_ + ':' if (UseCapturedNS_ and self.Fstr_Mittel_Art_nsprefix_) else '' + self.Fstr_Mittel_Art.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Fstr_Mittel_Art', pretty_print=pretty_print) + if self.Fstr_Mittel_V_Aufwertung is not None: + namespaceprefix_ = self.Fstr_Mittel_V_Aufwertung_nsprefix_ + ':' if (UseCapturedNS_ and self.Fstr_Mittel_V_Aufwertung_nsprefix_) else '' + self.Fstr_Mittel_V_Aufwertung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Fstr_Mittel_V_Aufwertung', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Fstr_Mittel_Art': + obj_ = TCFstr_Mittel_Art.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Fstr_Mittel_Art = obj_ + obj_.original_tagname_ = 'Fstr_Mittel_Art' + elif nodeName_ == 'Fstr_Mittel_V_Aufwertung': + obj_ = TCFstr_Mittel_V_Aufwertung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Fstr_Mittel_V_Aufwertung = obj_ + obj_.original_tagname_ = 'Fstr_Mittel_V_Aufwertung' +# end class CFstr_Mittel + + +class TCDWeg_V_Aufwertung_Verzicht(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCDWeg_V_Aufwertung_Verzicht"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCDWeg_V_Aufwertung_Verzicht) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCDWeg_V_Aufwertung_Verzicht.subclass: + return TCDWeg_V_Aufwertung_Verzicht.subclass(*args_, **kwargs_) + else: + return TCDWeg_V_Aufwertung_Verzicht(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def has__content(self): + if ( + self.Wert is not None or + super(TCDWeg_V_Aufwertung_Verzicht, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsFahrstrasse:', namespacedef_='xmlns:nsFahrstrasse="http://www.plan-pro.org/modell/Fahrstrasse/1.10.0"', name_='TCDWeg_V_Aufwertung_Verzicht', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCDWeg_V_Aufwertung_Verzicht') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCDWeg_V_Aufwertung_Verzicht': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCDWeg_V_Aufwertung_Verzicht') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCDWeg_V_Aufwertung_Verzicht', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsFahrstrasse:', name_='TCDWeg_V_Aufwertung_Verzicht'): + super(TCDWeg_V_Aufwertung_Verzicht, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCDWeg_V_Aufwertung_Verzicht') + def _exportChildren(self, outfile, level, namespaceprefix_='nsFahrstrasse:', namespacedef_='xmlns:nsFahrstrasse="http://www.plan-pro.org/modell/Fahrstrasse/1.10.0"', name_='TCDWeg_V_Aufwertung_Verzicht', fromsubclass_=False, pretty_print=True): + super(TCDWeg_V_Aufwertung_Verzicht, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_boolean(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCDWeg_V_Aufwertung_Verzicht, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + sval_ = child_.text + ival_ = self.gds_parse_boolean(sval_, node, 'Wert') + ival_ = self.gds_validate_boolean(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + super(TCDWeg_V_Aufwertung_Verzicht, self)._buildChildren(child_, node, nodeName_, True) +# end class TCDWeg_V_Aufwertung_Verzicht + + +class CFstr_Zug_Rangier_Allg(GeneratedsSuper): + """F_Bedienung -- W + ä + hrend das Gleis vor dem Startsignal mit Fahrleitung ausger + ü + stet ist, ist der befahrene Teil der Fahrstra + ß + e nicht oder nur teilweise damit ausger + ü + stet. Der Durchrutschweg bleibt in der Regel unber + ü + cksichtigt. Die Angabe erfolgt nur, sofern eine F-Bedienung erforderlich ist (true). Bei Rangierstra + ß + en kann auf das Setzen des Attributs verzichtet werden, wenn das Ziel der + ü + blicherweise durchgef + ü + hrten Rangierfahrten noch im mit Fahrleitung ausger + ü + steten Bereich liegt. DB-Regelwerk Zugstra + ß + entabelle, Spalte 7 \"Zugstra + ß + e in nicht + ü + berspannte Bereiche\" + Fstr_Bedienstring -- Bedienstring der Fahrstra + ß + e. Der Bedienstring wird automatisch aus Start, Ziel und ggf. Umfahrpunkt(en) gef + ü + llt, kann aber bei Besonderheiten auch abweichend geplant werden. Das Attribut ist Bestandteil des Untergewerks \"Bedienung Fdl\". DB-Regelwerk Zug-/Rangierstra + ß + entabelle, Spalte 1 \"Start/Ziel\" + Fstr_Reihenfolge -- Nummerierung des Umfahrwegs, wenn mehrere Fahrstra + ß + en mit gleichem Start- und Zielpunkt existieren. Beim Regelweg wird das Attribut mit \"0\" bef + ü + llt. Das Datum wird zur Kennzeichnung des Fahrwegs in der Fahrstra + ß + enbezeichnung genutzt und f + ü + r die Reihenfolge des Erscheinens von Fahrstra + ß + en in der Tabelle. Es kann auch f + ü + r die Reihenfolge im Bedienmen + ü + genutzt werden. DB-Regelwerk Die Reihenfolge wurde bisher geplant durch die Reihenfolge des Erscheinens in der Zug-/Rangierstra + ß + entabelle (implizit) oder die Bezeichnung der Fahrstra + ß + enart (z. B. U1, U2, ...) oder eine Beschreibung im Erl + ä + uterungsbericht. + Fstr_V -- Ausnahmsweise geplante Geschwindigkeit der Fahrstra + ß + e am Start, die sich nicht aus den Elementen der Fahrstra + ß + e ergibt. In der Regel wird die Geschwindigkeit aus den Daten der Fahrstra + ß + e errechnet und deshalb hier nicht angegeben. Im Ausnahmefall (z. B. bei Resi) kann der Planer eine geringere Geschwindigkeit vorgeben. Ausgeschlossen von diesem Ausnahmefall ist eine geringere Geschwindigkeitssignalisierung aufgrund eines verk + ü + rzten Bremswegs oder nicht vorhandener Kennzahlen am Zs 3-Anzeiger. Dies wird in Fstr Signalisierung geplant. Siehe auch Bildung der Signalbegriffe. DB-Regelwerk Signaltabelle 2, hier wird jedoch schon das Ergebnis als Zs 3 am Startsignal gespeichert. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, F_Bedienung=None, Fstr_Bedienstring=None, Fstr_Reihenfolge=None, Fstr_V=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.F_Bedienung = F_Bedienung + self.F_Bedienung_nsprefix_ = None + self.Fstr_Bedienstring = Fstr_Bedienstring + self.Fstr_Bedienstring_nsprefix_ = None + self.Fstr_Reihenfolge = Fstr_Reihenfolge + self.Fstr_Reihenfolge_nsprefix_ = None + self.Fstr_V = Fstr_V + self.Fstr_V_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CFstr_Zug_Rangier_Allg) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CFstr_Zug_Rangier_Allg.subclass: + return CFstr_Zug_Rangier_Allg.subclass(*args_, **kwargs_) + else: + return CFstr_Zug_Rangier_Allg(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_F_Bedienung(self): + return self.F_Bedienung + def set_F_Bedienung(self, F_Bedienung): + self.F_Bedienung = F_Bedienung + def get_Fstr_Bedienstring(self): + return self.Fstr_Bedienstring + def set_Fstr_Bedienstring(self, Fstr_Bedienstring): + self.Fstr_Bedienstring = Fstr_Bedienstring + def get_Fstr_Reihenfolge(self): + return self.Fstr_Reihenfolge + def set_Fstr_Reihenfolge(self, Fstr_Reihenfolge): + self.Fstr_Reihenfolge = Fstr_Reihenfolge + def get_Fstr_V(self): + return self.Fstr_V + def set_Fstr_V(self, Fstr_V): + self.Fstr_V = Fstr_V + def has__content(self): + if ( + self.F_Bedienung is not None or + self.Fstr_Bedienstring is not None or + self.Fstr_Reihenfolge is not None or + self.Fstr_V is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsFahrstrasse:', namespacedef_='xmlns:nsFahrstrasse="http://www.plan-pro.org/modell/Fahrstrasse/1.10.0"', name_='CFstr_Zug_Rangier_Allg', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CFstr_Zug_Rangier_Allg') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CFstr_Zug_Rangier_Allg': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CFstr_Zug_Rangier_Allg') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CFstr_Zug_Rangier_Allg', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsFahrstrasse:', name_='CFstr_Zug_Rangier_Allg'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsFahrstrasse:', namespacedef_='xmlns:nsFahrstrasse="http://www.plan-pro.org/modell/Fahrstrasse/1.10.0"', name_='CFstr_Zug_Rangier_Allg', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.F_Bedienung is not None: + namespaceprefix_ = self.F_Bedienung_nsprefix_ + ':' if (UseCapturedNS_ and self.F_Bedienung_nsprefix_) else '' + self.F_Bedienung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='F_Bedienung', pretty_print=pretty_print) + if self.Fstr_Bedienstring is not None: + namespaceprefix_ = self.Fstr_Bedienstring_nsprefix_ + ':' if (UseCapturedNS_ and self.Fstr_Bedienstring_nsprefix_) else '' + self.Fstr_Bedienstring.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Fstr_Bedienstring', pretty_print=pretty_print) + if self.Fstr_Reihenfolge is not None: + namespaceprefix_ = self.Fstr_Reihenfolge_nsprefix_ + ':' if (UseCapturedNS_ and self.Fstr_Reihenfolge_nsprefix_) else '' + self.Fstr_Reihenfolge.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Fstr_Reihenfolge', pretty_print=pretty_print) + if self.Fstr_V is not None: + namespaceprefix_ = self.Fstr_V_nsprefix_ + ':' if (UseCapturedNS_ and self.Fstr_V_nsprefix_) else '' + self.Fstr_V.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Fstr_V', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'F_Bedienung': + obj_ = TCF_Bedienung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.F_Bedienung = obj_ + obj_.original_tagname_ = 'F_Bedienung' + elif nodeName_ == 'Fstr_Bedienstring': + obj_ = TCFstr_Bedienstring.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Fstr_Bedienstring = obj_ + obj_.original_tagname_ = 'Fstr_Bedienstring' + elif nodeName_ == 'Fstr_Reihenfolge': + obj_ = TCFstr_Reihenfolge.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Fstr_Reihenfolge = obj_ + obj_.original_tagname_ = 'Fstr_Reihenfolge' + elif nodeName_ == 'Fstr_V': + obj_ = TCFstr_V.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Fstr_V = obj_ + obj_.original_tagname_ = 'Fstr_V' +# end class CFstr_Zug_Rangier_Allg + + +class CFstr_DWeg_Allg(GeneratedsSuper): + """Laenge_Soll -- Solll + ä + nge des DWeges. Bei Stumpfgleiseinfahrten betr + ä + gt die Solll + ä + nge = 0. Bei DWegen \u0026gt; 0 und \u0026lt; 50 m ist die Solll + ä + nge = 50 m. Die Verk + ü + rzung ist explizit zu begr + ü + nden. Eine Neuplanung ist allerdings nicht mehr erlaubt und kann deshalb nur in alten Planungen auftauchen. DB-Regelwerk Durchrutschwegtabelle, Spalte 7: \"L + ä + nge Soll\" + Massgebende_Neigung -- Ma + ß + gebende Neigung des DWeges in Promille. Die Neigung ist f + ü + r die Berechnung der Soll-L + ä + nge des DWeges relevant. DB-Regelwerk Durchrutschwegtabelle, Spalte 8: \"ma + ß + gebende Neigung\" + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Laenge_Soll=None, Massgebende_Neigung=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Laenge_Soll = Laenge_Soll + self.Laenge_Soll_nsprefix_ = None + self.Massgebende_Neigung = Massgebende_Neigung + self.Massgebende_Neigung_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CFstr_DWeg_Allg) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CFstr_DWeg_Allg.subclass: + return CFstr_DWeg_Allg.subclass(*args_, **kwargs_) + else: + return CFstr_DWeg_Allg(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Laenge_Soll(self): + return self.Laenge_Soll + def set_Laenge_Soll(self, Laenge_Soll): + self.Laenge_Soll = Laenge_Soll + def get_Massgebende_Neigung(self): + return self.Massgebende_Neigung + def set_Massgebende_Neigung(self, Massgebende_Neigung): + self.Massgebende_Neigung = Massgebende_Neigung + def has__content(self): + if ( + self.Laenge_Soll is not None or + self.Massgebende_Neigung is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsFahrstrasse:', namespacedef_='xmlns:nsFahrstrasse="http://www.plan-pro.org/modell/Fahrstrasse/1.10.0"', name_='CFstr_DWeg_Allg', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CFstr_DWeg_Allg') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CFstr_DWeg_Allg': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CFstr_DWeg_Allg') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CFstr_DWeg_Allg', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsFahrstrasse:', name_='CFstr_DWeg_Allg'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsFahrstrasse:', namespacedef_='xmlns:nsFahrstrasse="http://www.plan-pro.org/modell/Fahrstrasse/1.10.0"', name_='CFstr_DWeg_Allg', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Laenge_Soll is not None: + namespaceprefix_ = self.Laenge_Soll_nsprefix_ + ':' if (UseCapturedNS_ and self.Laenge_Soll_nsprefix_) else '' + self.Laenge_Soll.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Laenge_Soll', pretty_print=pretty_print) + if self.Massgebende_Neigung is not None: + namespaceprefix_ = self.Massgebende_Neigung_nsprefix_ + ':' if (UseCapturedNS_ and self.Massgebende_Neigung_nsprefix_) else '' + self.Massgebende_Neigung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Massgebende_Neigung', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Laenge_Soll': + obj_ = TCLaenge_Soll.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Laenge_Soll = obj_ + obj_.original_tagname_ = 'Laenge_Soll' + elif nodeName_ == 'Massgebende_Neigung': + obj_ = TCMassgebende_Neigung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Massgebende_Neigung = obj_ + obj_.original_tagname_ = 'Massgebende_Neigung' +# end class CFstr_DWeg_Allg + + +class TCFstr_Reihenfolge(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCFstr_Reihenfolge"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TFstr_Reihenfolge(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCFstr_Reihenfolge) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCFstr_Reihenfolge.subclass: + return TCFstr_Reihenfolge.subclass(*args_, **kwargs_) + else: + return TCFstr_Reihenfolge(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TFstr_Reihenfolge(self, value): + result = True + # Validate type TFstr_Reihenfolge, a restriction on xs:integer. + 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_TFstr_Reihenfolge_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TFstr_Reihenfolge_patterns_, )) + result = False + return result + validate_TFstr_Reihenfolge_patterns_ = [['^([0-9]|[12][0-9]|30)$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCFstr_Reihenfolge, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsFahrstrasse:', namespacedef_='xmlns:nsFahrstrasse="http://www.plan-pro.org/modell/Fahrstrasse/1.10.0"', name_='TCFstr_Reihenfolge', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCFstr_Reihenfolge') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCFstr_Reihenfolge': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCFstr_Reihenfolge') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCFstr_Reihenfolge', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsFahrstrasse:', name_='TCFstr_Reihenfolge'): + super(TCFstr_Reihenfolge, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCFstr_Reihenfolge') + def _exportChildren(self, outfile, level, namespaceprefix_='nsFahrstrasse:', namespacedef_='xmlns:nsFahrstrasse="http://www.plan-pro.org/modell/Fahrstrasse/1.10.0"', name_='TCFstr_Reihenfolge', fromsubclass_=False, pretty_print=True): + super(TCFstr_Reihenfolge, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_integer(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCFstr_Reihenfolge, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + ival_ = self.gds_parse_integer(sval_, node, 'Wert') + ival_ = self.gds_validate_integer(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + # validate type TFstr_Reihenfolge + self.validate_TFstr_Reihenfolge(self.Wert) + super(TCFstr_Reihenfolge, self)._buildChildren(child_, node, nodeName_, True) +# end class TCFstr_Reihenfolge + + +class TCFstr_V(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCFstr_V"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TFstr_V(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCFstr_V) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCFstr_V.subclass: + return TCFstr_V.subclass(*args_, **kwargs_) + else: + return TCFstr_V(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TFstr_V(self, value): + result = True + # Validate type TFstr_V, a restriction on nsBasisTypen:TGeschwindigkeit. + 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_TFstr_V_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TFstr_V_patterns_, )) + result = False + return result + validate_TFstr_V_patterns_ = [['^(20|30|40|50|60|70|80|90|100|110|120|130|140|150)$'], ['^(0|[1-9][0-9]{0,1}|[1-4][0-9]{2}|500)$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCFstr_V, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsFahrstrasse:', namespacedef_='xmlns:nsFahrstrasse="http://www.plan-pro.org/modell/Fahrstrasse/1.10.0"', name_='TCFstr_V', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCFstr_V') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCFstr_V': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCFstr_V') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCFstr_V', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsFahrstrasse:', name_='TCFstr_V'): + super(TCFstr_V, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCFstr_V') + def _exportChildren(self, outfile, level, namespaceprefix_='nsFahrstrasse:', namespacedef_='xmlns:nsFahrstrasse="http://www.plan-pro.org/modell/Fahrstrasse/1.10.0"', name_='TCFstr_V', fromsubclass_=False, pretty_print=True): + super(TCFstr_V, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_integer(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCFstr_V, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + ival_ = self.gds_parse_integer(sval_, node, 'Wert') + ival_ = self.gds_validate_integer(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + # validate type TFstr_V + self.validate_TFstr_V(self.Wert) + super(TCFstr_V, self)._buildChildren(child_, node, nodeName_, True) +# end class TCFstr_V + + +class CFstr_Aneinander(CBasis_Objekt): + """CFstr_Aneinander -- Aneinandergereihte Zug- oder Rangierstra + ß + e. Die Reihenfolge der aneinandergereihten Fahrstra + ß + en wird nicht mit abgespeichert, da diese aus Start und Ziel erkennbar ist. Durch die Auswahl der letzten Fahrstra + ß + e (bei Zugstra + ß + en) wird der Durchrutschweg festgelegt. Sollen f + ü + r die aneinandergereihte Zugstra + ß + e mehrere Durchrutschwege m + ö + glich sein, so sind entsprechend viele aneinandergereihte Zugstra + ß + en zu planen (Ausnahmefall). F + ü + r die erste bis vorletzte Fahrstra + ß + e muss jeweils ein Durchrutschweg gew + ä + hlt werden, dessen Weg Bestandteil der folgenden Fahrstra + ß + e ist; sollten hiervon mehrere existieren, wird der mit den geringsten betrieblichen Einschr + ä + nkungen (i. d. R. der l + ä + ngste) verwendet. DB-Regelwerk Aneinandergereihte Zugstra + ß + entabelle Aneinandergereihte Rangierstra + ß + entabelle + Fstr_Aneinander_Bedienstring -- Bedienstring der aneinandergereihten Zug- oder Rangierstra + ß + e. Der Bedienstring ergibt sich in der Regel aus dem Start und dem Ziel der aneinandergereihten Fahrstra + ß + e, kann aber auch davon abweichen. DB-Regelwerk Aneinandergereihte Zugstra + ß + en-/Rangierstra + ß + entabelle, Spalten 1 und 2 + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasis_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, Fstr_Aneinander_Bedienstring=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CFstr_Aneinander"), self).__init__(Identitaet, Basis_Objekt_Allg, ID_Bearbeitungsvermerk, ID_Oertlichkeit_Ausgabe, Objektreferenzen, **kwargs_) + self.Fstr_Aneinander_Bedienstring = Fstr_Aneinander_Bedienstring + self.Fstr_Aneinander_Bedienstring_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CFstr_Aneinander) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CFstr_Aneinander.subclass: + return CFstr_Aneinander.subclass(*args_, **kwargs_) + else: + return CFstr_Aneinander(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Fstr_Aneinander_Bedienstring(self): + return self.Fstr_Aneinander_Bedienstring + def set_Fstr_Aneinander_Bedienstring(self, Fstr_Aneinander_Bedienstring): + self.Fstr_Aneinander_Bedienstring = Fstr_Aneinander_Bedienstring + def has__content(self): + if ( + self.Fstr_Aneinander_Bedienstring is not None or + super(CFstr_Aneinander, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsFahrstrasse:', namespacedef_='xmlns:nsFahrstrasse="http://www.plan-pro.org/modell/Fahrstrasse/1.10.0"', name_='CFstr_Aneinander', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CFstr_Aneinander') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CFstr_Aneinander': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CFstr_Aneinander') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CFstr_Aneinander', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsFahrstrasse:', name_='CFstr_Aneinander'): + super(CFstr_Aneinander, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CFstr_Aneinander') + def _exportChildren(self, outfile, level, namespaceprefix_='nsFahrstrasse:', namespacedef_='xmlns:nsFahrstrasse="http://www.plan-pro.org/modell/Fahrstrasse/1.10.0"', name_='CFstr_Aneinander', fromsubclass_=False, pretty_print=True): + super(CFstr_Aneinander, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Fstr_Aneinander_Bedienstring is not None: + namespaceprefix_ = self.Fstr_Aneinander_Bedienstring_nsprefix_ + ':' if (UseCapturedNS_ and self.Fstr_Aneinander_Bedienstring_nsprefix_) else '' + self.Fstr_Aneinander_Bedienstring.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Fstr_Aneinander_Bedienstring', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CFstr_Aneinander, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Fstr_Aneinander_Bedienstring': + obj_ = TCFstr_Aneinander_Bedienstring.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Fstr_Aneinander_Bedienstring = obj_ + obj_.original_tagname_ = 'Fstr_Aneinander_Bedienstring' + super(CFstr_Aneinander, self)._buildChildren(child_, node, nodeName_, True) +# end class CFstr_Aneinander + + +class CFstr_Abhaengigkeit_Ssp(CBasis_Objekt): + """Aufloesung_Ssp_Zielgleis -- Kriterium f + ü + r die Aufl + ö + sung von + ü + berwachten Schl + ü + sselsperren im Zielgleis von Rangierstra + ß + en. DB-Regelwerk Lastenheft ESTW F1, Abschnitt 6.5 (Rangierstra + ß + enaufl + ö + sung) + ID_Schluesselsperre -- Schl + ü + sselsperre, die + ü + berwacht sein muss, damit die Fstr gesichert ist. DB-Regelwerk Zugstra + ß + entabelle, Spalte 5: \"Ssp in der Fahrstra + ß + e verschlossen und + ü + berwacht\"; Rangierstra + ß + entabelle, Spalte 15: \"Ssp in der Rangierstra + ß + e verschlossen und + ü + berwacht\" + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasis_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, Aufloesung_Ssp_Zielgleis=None, ID_Schluesselsperre=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CFstr_Abhaengigkeit_Ssp"), self).__init__(Identitaet, Basis_Objekt_Allg, ID_Bearbeitungsvermerk, ID_Oertlichkeit_Ausgabe, Objektreferenzen, **kwargs_) + self.Aufloesung_Ssp_Zielgleis = Aufloesung_Ssp_Zielgleis + self.Aufloesung_Ssp_Zielgleis_nsprefix_ = None + self.ID_Schluesselsperre = ID_Schluesselsperre + self.ID_Schluesselsperre_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CFstr_Abhaengigkeit_Ssp) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CFstr_Abhaengigkeit_Ssp.subclass: + return CFstr_Abhaengigkeit_Ssp.subclass(*args_, **kwargs_) + else: + return CFstr_Abhaengigkeit_Ssp(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Aufloesung_Ssp_Zielgleis(self): + return self.Aufloesung_Ssp_Zielgleis + def set_Aufloesung_Ssp_Zielgleis(self, Aufloesung_Ssp_Zielgleis): + self.Aufloesung_Ssp_Zielgleis = Aufloesung_Ssp_Zielgleis + def get_ID_Schluesselsperre(self): + return self.ID_Schluesselsperre + def set_ID_Schluesselsperre(self, ID_Schluesselsperre): + self.ID_Schluesselsperre = ID_Schluesselsperre + def has__content(self): + if ( + self.Aufloesung_Ssp_Zielgleis is not None or + self.ID_Schluesselsperre is not None or + super(CFstr_Abhaengigkeit_Ssp, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsFahrstrasse:', namespacedef_='xmlns:nsFahrstrasse="http://www.plan-pro.org/modell/Fahrstrasse/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CFstr_Abhaengigkeit_Ssp', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CFstr_Abhaengigkeit_Ssp') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CFstr_Abhaengigkeit_Ssp': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CFstr_Abhaengigkeit_Ssp') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CFstr_Abhaengigkeit_Ssp', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsFahrstrasse:', name_='CFstr_Abhaengigkeit_Ssp'): + super(CFstr_Abhaengigkeit_Ssp, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CFstr_Abhaengigkeit_Ssp') + def _exportChildren(self, outfile, level, namespaceprefix_='nsFahrstrasse:', namespacedef_='xmlns:nsFahrstrasse="http://www.plan-pro.org/modell/Fahrstrasse/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CFstr_Abhaengigkeit_Ssp', fromsubclass_=False, pretty_print=True): + super(CFstr_Abhaengigkeit_Ssp, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Aufloesung_Ssp_Zielgleis is not None: + namespaceprefix_ = self.Aufloesung_Ssp_Zielgleis_nsprefix_ + ':' if (UseCapturedNS_ and self.Aufloesung_Ssp_Zielgleis_nsprefix_) else '' + self.Aufloesung_Ssp_Zielgleis.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Aufloesung_Ssp_Zielgleis', pretty_print=pretty_print) + if self.ID_Schluesselsperre is not None: + namespaceprefix_ = self.ID_Schluesselsperre_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Schluesselsperre_nsprefix_) else '' + self.ID_Schluesselsperre.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Schluesselsperre', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CFstr_Abhaengigkeit_Ssp, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Aufloesung_Ssp_Zielgleis': + obj_ = TCAufloesung_Ssp_Zielgleis.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Aufloesung_Ssp_Zielgleis = obj_ + obj_.original_tagname_ = 'Aufloesung_Ssp_Zielgleis' + elif nodeName_ == 'ID_Schluesselsperre': + obj_ = TCID_Schluesselsperre.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Schluesselsperre = obj_ + obj_.original_tagname_ = 'ID_Schluesselsperre' + super(CFstr_Abhaengigkeit_Ssp, self)._buildChildren(child_, node, nodeName_, True) +# end class CFstr_Abhaengigkeit_Ssp + + +class CFstr_DWeg(CBasis_Objekt): + """CFstr_DWeg -- Durchrutschweg oder Gefahrpunktabstand. Die Ausdehnung des Durchrutschwegs bzw. Gefahrpunktabstands wird mit dem Bereich Objekt Fstr Fahrweg festgelegt. Ein Durchrutschweg kann von mehreren Fahrstra + ß + en genutzt werden. Ist die Attributgruppe Fstr_DWeg_Spezifisch nicht gef + ü + llt, so handelt es sich um einen Gefahrpunktabstand. Ein Durchrutschweg der L + ä + nge Null wird ebenfalls als Instanz von Fstr_DWeg abgebildet. In dem Fall wird mit Fstr Fahrweg ein Bereichsobjekt der L + ä + nge Null mit Start und Ziel am Zielsignal der Fahrstra + ß + e verwendet. Derartige Durchrutschwege sind zu planen: am realen Zielsignal, hinter denen ein (Wahl-)Durchrutschweg der L + ä + nge Null vorgesehen ist, am fiktiven Zielsignal bei Stumpfgleiseinfahrt, am Zugdeckungssignal. Siehe hierzu auch Aufloesung Verzoegerung. DB-Regelwerk Durchrutschwegtabelle (eine Zeile) + Bezeichnung -- Attributgruppe zur Bezeichnung von Stell- und sonstigen Elementen. Sofern ausreichend, wird an dieser Stelle + ü + ber Vererbung die Basisattributgruppe Bezeichnung Element eingebunden. Ist die Abbildung mit den Attributen der Basisattributgruppe nicht m + ö + glich (z. B. wegen spezieller Patternvorgabe) oder nicht sinnvoll (z. B. weil eine Unterscheidung nach Bezeichnung_Lageplan_..., Bezeichnung_Tabelle und Bezeichnung_Aussenanlage (Pflichtattribute!) nicht notwendig ist), werden in der Attributgruppe Bezeichnung entsprechende objektspezifische Bezeichnungsattribute modelliert. Diese sind nach dem Schema Bezeichnung_[Objektname] zu benennen. Zudem ist es m + ö + glich, gleichzeitig die Basisattributgruppe Bezeichnung Element und objektspezifische Attribute einzubinden. Siehe auch Bildung der Bezeichnungen. DB-Regelwerk Sicherungstechnischer Lage- und + Ü + bersichtsplan, B + Ü + -Lageplan Planungstabellen + ID_FMA_Anlage_Freimeldung -- Freimeldeabschnitt(e) des Durchrutschwegs bzw. Gefahrpunktabstands, der/die freigepr + ü + ft wird/werden. Es werden alle zu ber + ü + cksichtigenden Freimeldeabschnitte angegeben. Die Notwendigkeit, insbesondere den letzten freizupr + ü + fenden Abschnitt zu definieren, ergibt sich aus der Tatsache, dass das Ende des Durchrutschweges (Markanter Punkt) bzw. der Gefahrpunkt nicht unbedingt deckungsgleich mit einer Gleisfreimeldegrenze sein muss. Die Angabe ist optional, da ein Durchrutschweg auch keinen Freimeldeabsschnitt haben kann (z. B. bei sehr kurzen Durchrutschwegen bis einschlie + ß + lich \"Null\") und der Gefahrpunktabstand bei Freimeldung mit Achsz + ä + hlern heute in der Regel zusammen mit dem Blockabschnitt freigemeldet wird. Nur bei separater Freimeldung des Gefahrpunktabstands ist die Angabe erforderlich. DB-Regelwerk Durchrutschwegtabelle, Spalte 13: \"technisch freizupr + ü + fende Freimeldeabschnitte\" + ID_Fstr_Fahrweg -- Zuordnung von Fstr Fahrweg zur Angabe der Lage des DWegs. DB-Regelwerk Durchrutschwegtabelle, Spalten \"von Signal\" und \"bis\" + ID_PZB_Gefahrpunkt -- Verweis auf ein Objekt Markanter Punkt, das den PZB-Gefahrpunkt hinter dem Signal, zu dem der Durchrutschweg geh + ö + rt, repr + ä + sentiert. Der Durchrutschweg hat keinen PZB-Gefahrpunkt am fiktiven Zielsignal bei Stumpfgleiseinfahrt und am Zugdeckungssignal. PZB-Gefahrpunkt kann sein: ein Grenzzeichen, die Zugspitze/der Zugschluss eines am gew + ö + hnlichen Halteplatz stehenden Zuges, eine Rangierhalttafel sowie ein ortsfestes Rangier- und Schutzhaltsignal in Gegenrichtung, eine durch Schutzsignal zu sch + ü + tzende Gefahrstelle, ein Bahnsteigende oder der Zugschluss einer Bedienfahrt in einer Awanst. Der PZB-Gefahrpunkt ist vom Gefahrpunkt f + ü + r Hauptsignale nach Ril 819.02 zu unterscheiden, was sich schon aus den abweichenden Auflistungen ergibt. Der PZB-Gefahrpunkt dient zur Bemessung der Ausr + ü + stung der Signale mit Anlagen der PZB. W + ä + hrend der Gefahrpunkt auch betriebliche Aufgaben hat und sowohl vom + ö + rtlichen als auch vom fahrenden Personal jederzeit erkennbar sein muss, stellt der PZB-Gefahrpunkt die rein technische Sicht auf einen m + ö + glichen Konfliktpunkt eines mittels PZB zwangsgebremsten Zuges mit einem anderen Zug dar. Zur Ermittlung dieses Konfliktpunktes werden die Ma + ß + nahmen der Fahrwegsicherung - z. B. Flankenschutz - mitbetrachtet. Konfliktpunkte mit Rangierfahrten werden nur in wenigen F + ä + llen (besonderes Gefahrenpotential) ber + ü + cksichtigt. DB-Regelwerk 819.1310 6 Gleismagnettabelle, Zeile 15 + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasis_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, Bezeichnung=None, Fstr_DWeg_Allg=None, Fstr_DWeg_Spezifisch=None, ID_FMA_Anlage_Freimeldung=None, ID_Fstr_Fahrweg=None, ID_PZB_Gefahrpunkt=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CFstr_DWeg"), self).__init__(Identitaet, Basis_Objekt_Allg, ID_Bearbeitungsvermerk, ID_Oertlichkeit_Ausgabe, Objektreferenzen, **kwargs_) + self.Bezeichnung = Bezeichnung + self.Bezeichnung_nsprefix_ = None + self.Fstr_DWeg_Allg = Fstr_DWeg_Allg + self.Fstr_DWeg_Allg_nsprefix_ = None + self.Fstr_DWeg_Spezifisch = Fstr_DWeg_Spezifisch + self.Fstr_DWeg_Spezifisch_nsprefix_ = None + if ID_FMA_Anlage_Freimeldung is None: + self.ID_FMA_Anlage_Freimeldung = [] + else: + self.ID_FMA_Anlage_Freimeldung = ID_FMA_Anlage_Freimeldung + self.ID_FMA_Anlage_Freimeldung_nsprefix_ = None + self.ID_Fstr_Fahrweg = ID_Fstr_Fahrweg + self.ID_Fstr_Fahrweg_nsprefix_ = None + self.ID_PZB_Gefahrpunkt = ID_PZB_Gefahrpunkt + self.ID_PZB_Gefahrpunkt_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CFstr_DWeg) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CFstr_DWeg.subclass: + return CFstr_DWeg.subclass(*args_, **kwargs_) + else: + return CFstr_DWeg(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Bezeichnung(self): + return self.Bezeichnung + def set_Bezeichnung(self, Bezeichnung): + self.Bezeichnung = Bezeichnung + def get_Fstr_DWeg_Allg(self): + return self.Fstr_DWeg_Allg + def set_Fstr_DWeg_Allg(self, Fstr_DWeg_Allg): + self.Fstr_DWeg_Allg = Fstr_DWeg_Allg + def get_Fstr_DWeg_Spezifisch(self): + return self.Fstr_DWeg_Spezifisch + def set_Fstr_DWeg_Spezifisch(self, Fstr_DWeg_Spezifisch): + self.Fstr_DWeg_Spezifisch = Fstr_DWeg_Spezifisch + def get_ID_FMA_Anlage_Freimeldung(self): + return self.ID_FMA_Anlage_Freimeldung + def set_ID_FMA_Anlage_Freimeldung(self, ID_FMA_Anlage_Freimeldung): + self.ID_FMA_Anlage_Freimeldung = ID_FMA_Anlage_Freimeldung + def add_ID_FMA_Anlage_Freimeldung(self, value): + self.ID_FMA_Anlage_Freimeldung.append(value) + def insert_ID_FMA_Anlage_Freimeldung_at(self, index, value): + self.ID_FMA_Anlage_Freimeldung.insert(index, value) + def replace_ID_FMA_Anlage_Freimeldung_at(self, index, value): + self.ID_FMA_Anlage_Freimeldung[index] = value + def get_ID_Fstr_Fahrweg(self): + return self.ID_Fstr_Fahrweg + def set_ID_Fstr_Fahrweg(self, ID_Fstr_Fahrweg): + self.ID_Fstr_Fahrweg = ID_Fstr_Fahrweg + def get_ID_PZB_Gefahrpunkt(self): + return self.ID_PZB_Gefahrpunkt + def set_ID_PZB_Gefahrpunkt(self, ID_PZB_Gefahrpunkt): + self.ID_PZB_Gefahrpunkt = ID_PZB_Gefahrpunkt + def has__content(self): + if ( + self.Bezeichnung is not None or + self.Fstr_DWeg_Allg is not None or + self.Fstr_DWeg_Spezifisch is not None or + self.ID_FMA_Anlage_Freimeldung or + self.ID_Fstr_Fahrweg is not None or + self.ID_PZB_Gefahrpunkt is not None or + super(CFstr_DWeg, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsFahrstrasse:', namespacedef_='xmlns:nsFahrstrasse="http://www.plan-pro.org/modell/Fahrstrasse/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CFstr_DWeg', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CFstr_DWeg') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CFstr_DWeg': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CFstr_DWeg') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CFstr_DWeg', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsFahrstrasse:', name_='CFstr_DWeg'): + super(CFstr_DWeg, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CFstr_DWeg') + def _exportChildren(self, outfile, level, namespaceprefix_='nsFahrstrasse:', namespacedef_='xmlns:nsFahrstrasse="http://www.plan-pro.org/modell/Fahrstrasse/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CFstr_DWeg', fromsubclass_=False, pretty_print=True): + super(CFstr_DWeg, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Bezeichnung is not None: + namespaceprefix_ = self.Bezeichnung_nsprefix_ + ':' if (UseCapturedNS_ and self.Bezeichnung_nsprefix_) else '' + self.Bezeichnung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Bezeichnung', pretty_print=pretty_print) + if self.Fstr_DWeg_Allg is not None: + namespaceprefix_ = self.Fstr_DWeg_Allg_nsprefix_ + ':' if (UseCapturedNS_ and self.Fstr_DWeg_Allg_nsprefix_) else '' + self.Fstr_DWeg_Allg.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Fstr_DWeg_Allg', pretty_print=pretty_print) + if self.Fstr_DWeg_Spezifisch is not None: + namespaceprefix_ = self.Fstr_DWeg_Spezifisch_nsprefix_ + ':' if (UseCapturedNS_ and self.Fstr_DWeg_Spezifisch_nsprefix_) else '' + self.Fstr_DWeg_Spezifisch.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Fstr_DWeg_Spezifisch', pretty_print=pretty_print) + for ID_FMA_Anlage_Freimeldung_ in self.ID_FMA_Anlage_Freimeldung: + namespaceprefix_ = self.ID_FMA_Anlage_Freimeldung_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_FMA_Anlage_Freimeldung_nsprefix_) else '' + ID_FMA_Anlage_Freimeldung_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_FMA_Anlage_Freimeldung', pretty_print=pretty_print) + if self.ID_Fstr_Fahrweg is not None: + namespaceprefix_ = self.ID_Fstr_Fahrweg_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Fstr_Fahrweg_nsprefix_) else '' + self.ID_Fstr_Fahrweg.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Fstr_Fahrweg', pretty_print=pretty_print) + if self.ID_PZB_Gefahrpunkt is not None: + namespaceprefix_ = self.ID_PZB_Gefahrpunkt_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_PZB_Gefahrpunkt_nsprefix_) else '' + self.ID_PZB_Gefahrpunkt.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_PZB_Gefahrpunkt', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CFstr_DWeg, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Bezeichnung': + obj_ = CFstr_DWeg_Bezeichnung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Bezeichnung = obj_ + obj_.original_tagname_ = 'Bezeichnung' + elif nodeName_ == 'Fstr_DWeg_Allg': + obj_ = CFstr_DWeg_Allg.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Fstr_DWeg_Allg = obj_ + obj_.original_tagname_ = 'Fstr_DWeg_Allg' + elif nodeName_ == 'Fstr_DWeg_Spezifisch': + obj_ = CFstr_DWeg_Spezifisch.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Fstr_DWeg_Spezifisch = obj_ + obj_.original_tagname_ = 'Fstr_DWeg_Spezifisch' + elif nodeName_ == 'ID_FMA_Anlage_Freimeldung': + obj_ = TCID_FMA_Anlage.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_FMA_Anlage_Freimeldung.append(obj_) + obj_.original_tagname_ = 'ID_FMA_Anlage_Freimeldung' + elif nodeName_ == 'ID_Fstr_Fahrweg': + obj_ = TCID_Fstr_Fahrweg.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Fstr_Fahrweg = obj_ + obj_.original_tagname_ = 'ID_Fstr_Fahrweg' + elif nodeName_ == 'ID_PZB_Gefahrpunkt': + obj_ = TCID_Markanter_Punkt.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_PZB_Gefahrpunkt = obj_ + obj_.original_tagname_ = 'ID_PZB_Gefahrpunkt' + super(CFstr_DWeg, self)._buildChildren(child_, node, nodeName_, True) +# end class CFstr_DWeg + + +class TCMassgebende_Neigung(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCMassgebende_Neigung"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TMassgebende_Neigung(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCMassgebende_Neigung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCMassgebende_Neigung.subclass: + return TCMassgebende_Neigung.subclass(*args_, **kwargs_) + else: + return TCMassgebende_Neigung(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TMassgebende_Neigung(self, value): + result = True + # Validate type TMassgebende_Neigung, 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 not self.gds_validate_simple_patterns( + self.validate_TMassgebende_Neigung_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TMassgebende_Neigung_patterns_, )) + result = False + return result + validate_TMassgebende_Neigung_patterns_ = [['^(-([1-9]|[1-7][0-9]|80)\\.[0-9]{2}|-0\\.[1-9][0-9]|-0\\.0[1-9]|[0-9]\\.[0-9]{2}|[1-7][0-9]\\.[0-9]{2}|80\\.00)$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCMassgebende_Neigung, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsFahrstrasse:', namespacedef_='xmlns:nsFahrstrasse="http://www.plan-pro.org/modell/Fahrstrasse/1.10.0"', name_='TCMassgebende_Neigung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCMassgebende_Neigung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCMassgebende_Neigung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCMassgebende_Neigung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCMassgebende_Neigung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsFahrstrasse:', name_='TCMassgebende_Neigung'): + super(TCMassgebende_Neigung, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCMassgebende_Neigung') + def _exportChildren(self, outfile, level, namespaceprefix_='nsFahrstrasse:', namespacedef_='xmlns:nsFahrstrasse="http://www.plan-pro.org/modell/Fahrstrasse/1.10.0"', name_='TCMassgebende_Neigung', fromsubclass_=False, pretty_print=True): + super(TCMassgebende_Neigung, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_decimal(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCMassgebende_Neigung, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + fval_ = self.gds_parse_decimal(sval_, node, 'Wert') + fval_ = self.gds_validate_decimal(fval_, node, 'Wert') + self.Wert = fval_ + self.Wert_nsprefix_ = child_.prefix + # validate type TMassgebende_Neigung + self.validate_TMassgebende_Neigung(self.Wert) + super(TCMassgebende_Neigung, self)._buildChildren(child_, node, nodeName_, True) +# end class TCMassgebende_Neigung + + +class TCDWeg_V(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCDWeg_V"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TDWeg_V(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCDWeg_V) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCDWeg_V.subclass: + return TCDWeg_V.subclass(*args_, **kwargs_) + else: + return TCDWeg_V(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TDWeg_V(self, value): + result = True + # Validate type TDWeg_V, a restriction on xs:integer. + 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_TDWeg_V_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TDWeg_V_patterns_, )) + result = False + return result + validate_TDWeg_V_patterns_ = [['^(20|30|40|60|100|160)$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCDWeg_V, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsFahrstrasse:', namespacedef_='xmlns:nsFahrstrasse="http://www.plan-pro.org/modell/Fahrstrasse/1.10.0"', name_='TCDWeg_V', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCDWeg_V') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCDWeg_V': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCDWeg_V') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCDWeg_V', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsFahrstrasse:', name_='TCDWeg_V'): + super(TCDWeg_V, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCDWeg_V') + def _exportChildren(self, outfile, level, namespaceprefix_='nsFahrstrasse:', namespacedef_='xmlns:nsFahrstrasse="http://www.plan-pro.org/modell/Fahrstrasse/1.10.0"', name_='TCDWeg_V', fromsubclass_=False, pretty_print=True): + super(TCDWeg_V, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_integer(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCDWeg_V, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + ival_ = self.gds_parse_integer(sval_, node, 'Wert') + ival_ = self.gds_validate_integer(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + # validate type TDWeg_V + self.validate_TDWeg_V(self.Wert) + super(TCDWeg_V, self)._buildChildren(child_, node, nodeName_, True) +# end class TCDWeg_V + + +class TCFstr_Bedienstring(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCFstr_Bedienstring"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TFstr_Bedienstring(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCFstr_Bedienstring) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCFstr_Bedienstring.subclass: + return TCFstr_Bedienstring.subclass(*args_, **kwargs_) + else: + return TCFstr_Bedienstring(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TFstr_Bedienstring(self, value): + result = True + # Validate type TFstr_Bedienstring, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TFstr_Bedienstring_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TFstr_Bedienstring_patterns_, )) + result = False + return result + validate_TFstr_Bedienstring_patterns_ = [['^(.{3,26})$'], ['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCFstr_Bedienstring, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsFahrstrasse:', namespacedef_='xmlns:nsFahrstrasse="http://www.plan-pro.org/modell/Fahrstrasse/1.10.0"', name_='TCFstr_Bedienstring', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCFstr_Bedienstring') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCFstr_Bedienstring': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCFstr_Bedienstring') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCFstr_Bedienstring', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsFahrstrasse:', name_='TCFstr_Bedienstring'): + super(TCFstr_Bedienstring, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCFstr_Bedienstring') + def _exportChildren(self, outfile, level, namespaceprefix_='nsFahrstrasse:', namespacedef_='xmlns:nsFahrstrasse="http://www.plan-pro.org/modell/Fahrstrasse/1.10.0"', name_='TCFstr_Bedienstring', fromsubclass_=False, pretty_print=True): + super(TCFstr_Bedienstring, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCFstr_Bedienstring, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TFstr_Bedienstring + self.validate_TFstr_Bedienstring(self.Wert) + super(TCFstr_Bedienstring, self)._buildChildren(child_, node, nodeName_, True) +# end class TCFstr_Bedienstring + + +class TCAutomatische_Einstellung(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCAutomatische_Einstellung"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMAutomatische_Einstellung(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCAutomatische_Einstellung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCAutomatische_Einstellung.subclass: + return TCAutomatische_Einstellung.subclass(*args_, **kwargs_) + else: + return TCAutomatische_Einstellung(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMAutomatische_Einstellung(self, value): + result = True + # Validate type ENUMAutomatische_Einstellung, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['SB', 'ZL'] + 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 ENUMAutomatische_Einstellung' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCAutomatische_Einstellung, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsFahrstrasse:', namespacedef_='xmlns:nsFahrstrasse="http://www.plan-pro.org/modell/Fahrstrasse/1.10.0"', name_='TCAutomatische_Einstellung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCAutomatische_Einstellung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCAutomatische_Einstellung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCAutomatische_Einstellung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCAutomatische_Einstellung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsFahrstrasse:', name_='TCAutomatische_Einstellung'): + super(TCAutomatische_Einstellung, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCAutomatische_Einstellung') + def _exportChildren(self, outfile, level, namespaceprefix_='nsFahrstrasse:', namespacedef_='xmlns:nsFahrstrasse="http://www.plan-pro.org/modell/Fahrstrasse/1.10.0"', name_='TCAutomatische_Einstellung', fromsubclass_=False, pretty_print=True): + super(TCAutomatische_Einstellung, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCAutomatische_Einstellung, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMAutomatische_Einstellung + self.validate_ENUMAutomatische_Einstellung(self.Wert) + super(TCAutomatische_Einstellung, self)._buildChildren(child_, node, nodeName_, True) +# end class TCAutomatische_Einstellung + + +class TCF_Bedienung(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCF_Bedienung"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCF_Bedienung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCF_Bedienung.subclass: + return TCF_Bedienung.subclass(*args_, **kwargs_) + else: + return TCF_Bedienung(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def has__content(self): + if ( + self.Wert is not None or + super(TCF_Bedienung, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsFahrstrasse:', namespacedef_='xmlns:nsFahrstrasse="http://www.plan-pro.org/modell/Fahrstrasse/1.10.0"', name_='TCF_Bedienung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCF_Bedienung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCF_Bedienung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCF_Bedienung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCF_Bedienung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsFahrstrasse:', name_='TCF_Bedienung'): + super(TCF_Bedienung, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCF_Bedienung') + def _exportChildren(self, outfile, level, namespaceprefix_='nsFahrstrasse:', namespacedef_='xmlns:nsFahrstrasse="http://www.plan-pro.org/modell/Fahrstrasse/1.10.0"', name_='TCF_Bedienung', fromsubclass_=False, pretty_print=True): + super(TCF_Bedienung, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_boolean(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCF_Bedienung, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + sval_ = child_.text + ival_ = self.gds_parse_boolean(sval_, node, 'Wert') + ival_ = self.gds_validate_boolean(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + super(TCF_Bedienung, self)._buildChildren(child_, node, nodeName_, True) +# end class TCF_Bedienung + + +class TCFstr_Zug_Art(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCFstr_Zug_Art"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMFstr_Zug_Art(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCFstr_Zug_Art) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCFstr_Zug_Art.subclass: + return TCFstr_Zug_Art.subclass(*args_, **kwargs_) + else: + return TCFstr_Zug_Art(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMFstr_Zug_Art(self, value): + result = True + # Validate type ENUMFstr_Zug_Art, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['ZH', 'ZR', 'ZT', 'ZTU', 'ZU', 'ZUH', 'ZZ'] + 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 ENUMFstr_Zug_Art' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCFstr_Zug_Art, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsFahrstrasse:', namespacedef_='xmlns:nsFahrstrasse="http://www.plan-pro.org/modell/Fahrstrasse/1.10.0"', name_='TCFstr_Zug_Art', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCFstr_Zug_Art') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCFstr_Zug_Art': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCFstr_Zug_Art') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCFstr_Zug_Art', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsFahrstrasse:', name_='TCFstr_Zug_Art'): + super(TCFstr_Zug_Art, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCFstr_Zug_Art') + def _exportChildren(self, outfile, level, namespaceprefix_='nsFahrstrasse:', namespacedef_='xmlns:nsFahrstrasse="http://www.plan-pro.org/modell/Fahrstrasse/1.10.0"', name_='TCFstr_Zug_Art', fromsubclass_=False, pretty_print=True): + super(TCFstr_Zug_Art, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCFstr_Zug_Art, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMFstr_Zug_Art + self.validate_ENUMFstr_Zug_Art(self.Wert) + super(TCFstr_Zug_Art, self)._buildChildren(child_, node, nodeName_, True) +# end class TCFstr_Zug_Art + + +class TCAufloesung_Ssp_Zielgleis(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCAufloesung_Ssp_Zielgleis"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMAufloesung_Ssp_Zielgleis(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCAufloesung_Ssp_Zielgleis) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCAufloesung_Ssp_Zielgleis.subclass: + return TCAufloesung_Ssp_Zielgleis.subclass(*args_, **kwargs_) + else: + return TCAufloesung_Ssp_Zielgleis(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMAufloesung_Ssp_Zielgleis(self, value): + result = True + # Validate type ENUMAufloesung_Ssp_Zielgleis, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['besetzt', 'frei'] + 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 ENUMAufloesung_Ssp_Zielgleis' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCAufloesung_Ssp_Zielgleis, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsFahrstrasse:', namespacedef_='xmlns:nsFahrstrasse="http://www.plan-pro.org/modell/Fahrstrasse/1.10.0"', name_='TCAufloesung_Ssp_Zielgleis', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCAufloesung_Ssp_Zielgleis') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCAufloesung_Ssp_Zielgleis': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCAufloesung_Ssp_Zielgleis') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCAufloesung_Ssp_Zielgleis', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsFahrstrasse:', name_='TCAufloesung_Ssp_Zielgleis'): + super(TCAufloesung_Ssp_Zielgleis, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCAufloesung_Ssp_Zielgleis') + def _exportChildren(self, outfile, level, namespaceprefix_='nsFahrstrasse:', namespacedef_='xmlns:nsFahrstrasse="http://www.plan-pro.org/modell/Fahrstrasse/1.10.0"', name_='TCAufloesung_Ssp_Zielgleis', fromsubclass_=False, pretty_print=True): + super(TCAufloesung_Ssp_Zielgleis, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCAufloesung_Ssp_Zielgleis, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMAufloesung_Ssp_Zielgleis + self.validate_ENUMAufloesung_Ssp_Zielgleis(self.Wert) + super(TCAufloesung_Ssp_Zielgleis, self)._buildChildren(child_, node, nodeName_, True) +# end class TCAufloesung_Ssp_Zielgleis + + +class TCLaenge_Soll(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCLaenge_Soll"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TLaenge_Soll(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCLaenge_Soll) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCLaenge_Soll.subclass: + return TCLaenge_Soll.subclass(*args_, **kwargs_) + else: + return TCLaenge_Soll(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TLaenge_Soll(self, value): + result = True + # Validate type TLaenge_Soll, a restriction on nsBasisTypen:TMeter. + 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 not self.gds_validate_simple_patterns( + self.validate_TLaenge_Soll_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TLaenge_Soll_patterns_, )) + result = False + return result + validate_TLaenge_Soll_patterns_ = [['^(0|[1-9][0-9]{0,1}|[1-2][0-9]{2}|300)$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCLaenge_Soll, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsFahrstrasse:', namespacedef_='xmlns:nsFahrstrasse="http://www.plan-pro.org/modell/Fahrstrasse/1.10.0"', name_='TCLaenge_Soll', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCLaenge_Soll') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCLaenge_Soll': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCLaenge_Soll') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCLaenge_Soll', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsFahrstrasse:', name_='TCLaenge_Soll'): + super(TCLaenge_Soll, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCLaenge_Soll') + def _exportChildren(self, outfile, level, namespaceprefix_='nsFahrstrasse:', namespacedef_='xmlns:nsFahrstrasse="http://www.plan-pro.org/modell/Fahrstrasse/1.10.0"', name_='TCLaenge_Soll', fromsubclass_=False, pretty_print=True): + super(TCLaenge_Soll, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_decimal(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCLaenge_Soll, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + fval_ = self.gds_parse_decimal(sval_, node, 'Wert') + fval_ = self.gds_validate_decimal(fval_, node, 'Wert') + self.Wert = fval_ + self.Wert_nsprefix_ = child_.prefix + # validate type TLaenge_Soll + self.validate_TLaenge_Soll(self.Wert) + super(TCLaenge_Soll, self)._buildChildren(child_, node, nodeName_, True) +# end class TCLaenge_Soll + + +class TCBezeichnung_Fstr_DWeg(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCBezeichnung_Fstr_DWeg"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TBezeichnung_Fstr_DWeg(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCBezeichnung_Fstr_DWeg) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCBezeichnung_Fstr_DWeg.subclass: + return TCBezeichnung_Fstr_DWeg.subclass(*args_, **kwargs_) + else: + return TCBezeichnung_Fstr_DWeg(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TBezeichnung_Fstr_DWeg(self, value): + result = True + # Validate type TBezeichnung_Fstr_DWeg, a restriction on nsBasisTypen:TZeichenkette. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TBezeichnung_Fstr_DWeg_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TBezeichnung_Fstr_DWeg_patterns_, )) + result = False + return result + validate_TBezeichnung_Fstr_DWeg_patterns_ = [['^([a-zA-Z0-9_]{1,3})$'], ['^([a-zA-Z_0-9]{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCBezeichnung_Fstr_DWeg, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsFahrstrasse:', namespacedef_='xmlns:nsFahrstrasse="http://www.plan-pro.org/modell/Fahrstrasse/1.10.0"', name_='TCBezeichnung_Fstr_DWeg', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCBezeichnung_Fstr_DWeg') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCBezeichnung_Fstr_DWeg': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBezeichnung_Fstr_DWeg') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCBezeichnung_Fstr_DWeg', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsFahrstrasse:', name_='TCBezeichnung_Fstr_DWeg'): + super(TCBezeichnung_Fstr_DWeg, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBezeichnung_Fstr_DWeg') + def _exportChildren(self, outfile, level, namespaceprefix_='nsFahrstrasse:', namespacedef_='xmlns:nsFahrstrasse="http://www.plan-pro.org/modell/Fahrstrasse/1.10.0"', name_='TCBezeichnung_Fstr_DWeg', fromsubclass_=False, pretty_print=True): + super(TCBezeichnung_Fstr_DWeg, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCBezeichnung_Fstr_DWeg, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TBezeichnung_Fstr_DWeg + self.validate_TBezeichnung_Fstr_DWeg(self.Wert) + super(TCBezeichnung_Fstr_DWeg, self)._buildChildren(child_, node, nodeName_, True) +# end class TCBezeichnung_Fstr_DWeg + + +class TCFstr_V_Hg(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCFstr_V_Hg"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TFstr_V_Hg(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCFstr_V_Hg) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCFstr_V_Hg.subclass: + return TCFstr_V_Hg.subclass(*args_, **kwargs_) + else: + return TCFstr_V_Hg(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TFstr_V_Hg(self, value): + result = True + # Validate type TFstr_V_Hg, a restriction on nsBasisTypen:TGeschwindigkeit. + 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_TFstr_V_Hg_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TFstr_V_Hg_patterns_, )) + result = False + return result + validate_TFstr_V_Hg_patterns_ = [['^(0|[1-9][0-9]{0,1}|[1-4][0-9]{2}|500)$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCFstr_V_Hg, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsFahrstrasse:', namespacedef_='xmlns:nsFahrstrasse="http://www.plan-pro.org/modell/Fahrstrasse/1.10.0"', name_='TCFstr_V_Hg', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCFstr_V_Hg') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCFstr_V_Hg': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCFstr_V_Hg') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCFstr_V_Hg', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsFahrstrasse:', name_='TCFstr_V_Hg'): + super(TCFstr_V_Hg, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCFstr_V_Hg') + def _exportChildren(self, outfile, level, namespaceprefix_='nsFahrstrasse:', namespacedef_='xmlns:nsFahrstrasse="http://www.plan-pro.org/modell/Fahrstrasse/1.10.0"', name_='TCFstr_V_Hg', fromsubclass_=False, pretty_print=True): + super(TCFstr_V_Hg, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_integer(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCFstr_V_Hg, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + ival_ = self.gds_parse_integer(sval_, node, 'Wert') + ival_ = self.gds_validate_integer(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + # validate type TFstr_V_Hg + self.validate_TFstr_V_Hg(self.Wert) + super(TCFstr_V_Hg, self)._buildChildren(child_, node, nodeName_, True) +# end class TCFstr_V_Hg + + +class CFstr_Rangier_Fla_Zuordnung(CBasis_Objekt): + """CFstr_Rangier_Fla_Zuordnung -- Zuordnung von zu gew + ä + hrleistenden Flankenschutzma + ß + nahmen zur Rangierstra + ß + e. Nur in Ausnahmef + ä + llen wird Flankenschutz f + ü + r Rangierstra + ß + en realisiert. Dann kann f + ü + r jede Weiche einzeln bestimmt werden, ob sie Flankenschutz bekommt. + ID_Fla_Schutz -- Verweis auf das Fahrwegelement, f + ü + r das Flankenschutz angefordert werden soll, wenn es durch die angegebene Rangierstra + ß + e beansprucht wird. + ID_Fstr_Rangier -- Verweis auf die Rangierstra + ß + e, f + ü + r die das unter ID Fla Schutz angegebene Fahrwegelement Flankenschutz anfordern soll. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasis_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, ID_Fla_Schutz=None, ID_Fstr_Rangier=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CFstr_Rangier_Fla_Zuordnung"), self).__init__(Identitaet, Basis_Objekt_Allg, ID_Bearbeitungsvermerk, ID_Oertlichkeit_Ausgabe, Objektreferenzen, **kwargs_) + self.ID_Fla_Schutz = ID_Fla_Schutz + self.ID_Fla_Schutz_nsprefix_ = None + self.ID_Fstr_Rangier = ID_Fstr_Rangier + self.ID_Fstr_Rangier_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CFstr_Rangier_Fla_Zuordnung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CFstr_Rangier_Fla_Zuordnung.subclass: + return CFstr_Rangier_Fla_Zuordnung.subclass(*args_, **kwargs_) + else: + return CFstr_Rangier_Fla_Zuordnung(*args_, **kwargs_) + factory = staticmethod(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_Fla_Schutz(self): + return self.ID_Fla_Schutz + def set_ID_Fla_Schutz(self, ID_Fla_Schutz): + self.ID_Fla_Schutz = ID_Fla_Schutz + def get_ID_Fstr_Rangier(self): + return self.ID_Fstr_Rangier + def set_ID_Fstr_Rangier(self, ID_Fstr_Rangier): + self.ID_Fstr_Rangier = ID_Fstr_Rangier + def has__content(self): + if ( + self.ID_Fla_Schutz is not None or + self.ID_Fstr_Rangier is not None or + super(CFstr_Rangier_Fla_Zuordnung, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsFahrstrasse:', namespacedef_='xmlns:nsFahrstrasse="http://www.plan-pro.org/modell/Fahrstrasse/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CFstr_Rangier_Fla_Zuordnung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CFstr_Rangier_Fla_Zuordnung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CFstr_Rangier_Fla_Zuordnung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CFstr_Rangier_Fla_Zuordnung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CFstr_Rangier_Fla_Zuordnung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsFahrstrasse:', name_='CFstr_Rangier_Fla_Zuordnung'): + super(CFstr_Rangier_Fla_Zuordnung, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CFstr_Rangier_Fla_Zuordnung') + def _exportChildren(self, outfile, level, namespaceprefix_='nsFahrstrasse:', namespacedef_='xmlns:nsFahrstrasse="http://www.plan-pro.org/modell/Fahrstrasse/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CFstr_Rangier_Fla_Zuordnung', fromsubclass_=False, pretty_print=True): + super(CFstr_Rangier_Fla_Zuordnung, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.ID_Fla_Schutz is not None: + namespaceprefix_ = self.ID_Fla_Schutz_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Fla_Schutz_nsprefix_) else '' + self.ID_Fla_Schutz.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Fla_Schutz', pretty_print=pretty_print) + if self.ID_Fstr_Rangier is not None: + namespaceprefix_ = self.ID_Fstr_Rangier_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Fstr_Rangier_nsprefix_) else '' + self.ID_Fstr_Rangier.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Fstr_Rangier', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CFstr_Rangier_Fla_Zuordnung, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Fla_Schutz': + obj_ = TCID_Fla_Schutz.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Fla_Schutz = obj_ + obj_.original_tagname_ = 'ID_Fla_Schutz' + elif nodeName_ == 'ID_Fstr_Rangier': + obj_ = TCID_Fstr_Zug_Rangier.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Fstr_Rangier = obj_ + obj_.original_tagname_ = 'ID_Fstr_Rangier' + super(CFstr_Rangier_Fla_Zuordnung, self)._buildChildren(child_, node, nodeName_, True) +# end class CFstr_Rangier_Fla_Zuordnung + + +class CMarkanter_Punkt_Bezeichnung(GeneratedsSuper): + """Bezeichnung_Markanter_Punkt -- Bezeichnung des markanten Punktes. Die Bezeichnung ergibt sich ganz oder teilweise aus dem verlinkten Objekt (in der Regel Bezeichnung Tabelle), kann aber vom Planer ge + ä + ndert werden. Als Abk + ü + rzung f + ü + r das Grenzzeichen wird einheitlich \"Gz\" verwendet. DB-Regelwerk Durchrutschwegtabelle, Spalte 2: \"Durchrutschweg - bis\" + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Bezeichnung_Markanter_Punkt=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Bezeichnung_Markanter_Punkt = Bezeichnung_Markanter_Punkt + self.Bezeichnung_Markanter_Punkt_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CMarkanter_Punkt_Bezeichnung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CMarkanter_Punkt_Bezeichnung.subclass: + return CMarkanter_Punkt_Bezeichnung.subclass(*args_, **kwargs_) + else: + return CMarkanter_Punkt_Bezeichnung(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Bezeichnung_Markanter_Punkt(self): + return self.Bezeichnung_Markanter_Punkt + def set_Bezeichnung_Markanter_Punkt(self, Bezeichnung_Markanter_Punkt): + self.Bezeichnung_Markanter_Punkt = Bezeichnung_Markanter_Punkt + def has__content(self): + if ( + self.Bezeichnung_Markanter_Punkt is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsFahrstrasse:', namespacedef_='xmlns:nsFahrstrasse="http://www.plan-pro.org/modell/Fahrstrasse/1.10.0"', name_='CMarkanter_Punkt_Bezeichnung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CMarkanter_Punkt_Bezeichnung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CMarkanter_Punkt_Bezeichnung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CMarkanter_Punkt_Bezeichnung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CMarkanter_Punkt_Bezeichnung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsFahrstrasse:', name_='CMarkanter_Punkt_Bezeichnung'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsFahrstrasse:', namespacedef_='xmlns:nsFahrstrasse="http://www.plan-pro.org/modell/Fahrstrasse/1.10.0"', name_='CMarkanter_Punkt_Bezeichnung', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Bezeichnung_Markanter_Punkt is not None: + namespaceprefix_ = self.Bezeichnung_Markanter_Punkt_nsprefix_ + ':' if (UseCapturedNS_ and self.Bezeichnung_Markanter_Punkt_nsprefix_) else '' + self.Bezeichnung_Markanter_Punkt.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Bezeichnung_Markanter_Punkt', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Bezeichnung_Markanter_Punkt': + obj_ = TCBezeichnung_Markanter_Punkt.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Bezeichnung_Markanter_Punkt = obj_ + obj_.original_tagname_ = 'Bezeichnung_Markanter_Punkt' +# end class CMarkanter_Punkt_Bezeichnung + + +class CFstr_DWeg_Spezifisch(GeneratedsSuper): + """Aufloesung_Verzoegerung -- Verz + ö + gerungszeit der Durchrutschwegaufl + ö + sung bei zeitgesteuerter Aufl + ö + sung. Bef + ü + llung bei Durchrutschwegen der L + ä + nge \"Null\": Ziel ist ein Zugdeckungssignal: Kennlichtverz + ö + gerungszeit, In allen anderen F + ä + llen: 0 (Null). DB-Regelwerk Durchrutschwegtabelle, Spalte 17: \"verz + ö + gert\" + DWeg_Reihenfolge -- Reihenfolge des Erscheinens von DWegen auf der Bedienoberfl + ä + che. Die Angabe wird ausschlie + ß + lich im Untergewerk \"Bedienung Fdl\" ben + ö + tigt und ist f + ü + r das Untergewerk \"ESTW\" nicht relevant. Die Auflistung von D-Wegen in der D-Weg-Tabelle erfolgt rein auf Basis alphanumerischer Sortierung. DB-Regelwerk Durchrutschwegtabelle: Reihenfolge des Eintrags von Durchrutschwegen eines Signals + DWeg_V -- Geschwindigkeitseinschr + ä + nkung, die sich allein aufgrund der L + ä + nge des DWeges ergibt. Die tats + ä + chlich gefahrene Geschwindigkeit kann aus anderen Gr + ü + nden (Weichen, Gleislage etc.) geringer sein. Die Geschwindigkeitsrestriktion gilt nur f + ü + r signalgef + ü + hrte Z + ü + ge, bei ETCS L2oS erfolgt keine Angabe. DB-Regelwerk Durchrutschwegtabelle, Spalte 4: \"[Geschwindigkeit] m + ö + glich\" (au + ß + er v max) + DWeg_V_Aufwertung_Verzicht -- Bei + Ü + berstellung des DWeges durch die anschlie + ß + ende Fahrstra + ß + e wird auf eine Aufwertung der Geschwindigkeitseinschr + ä + nkung aufgrund des DWeges verzichtet. In der Regel f + ü + hrt die + Ü + berstellung eines DWeges zum Wegfall der durch den DWeg verursachten Geschwindigkeitsrestriktion. War die DWeg-Geschwindigkeit ma + ß + gebend, so kann die erste Fahrstra + ß + e mit einer entsprechend h + ö + heren Geschwindigkeit signalisiert werden (Geschwindigkeitsaufwertung). In Ausnahmef + ä + llen soll die Aufwertung nicht sta + ttfinden, insbesondere dann, wenn die folgende Fahrstra + ß + e k + ü + rzer ist, als der aufgewertete DWeg. Damit wird auf die \"Aufwertung verzichtet\". Das Attribut ist nur bei folgenden DWegen sinnvoll f + ü + llbar: am Beginn des DWeges beginnt eine Zugstra + ß + e UND es handelt sich um einen verk + ü + rzten DWeg, aufgrund dessen die Einfahrgeschwindigkeit vermindert wird. DB-Regelwerk Durchrutschwegtabelle, Spalte 14: \"zul + ä + ssige D-Weg Expansion\", allerdings in negierter Bedeutung zum jetzigen Attribut + ID_FMA_Anlage_Zielgleis -- Freimeldeabschnitt, bei dessen Belegung die zeitgesteuerte Durchrutschwegaufl + ö + sung beginnt. DB-Regelwerk Durchrutschwegtabelle, Spalte 16: \"Zielgleisabschnitt\" + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Aufloesung_Verzoegerung=None, DWeg_Reihenfolge=None, DWeg_V=None, DWeg_V_Aufwertung_Verzicht=None, ID_FMA_Anlage_Zielgleis=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Aufloesung_Verzoegerung = Aufloesung_Verzoegerung + self.Aufloesung_Verzoegerung_nsprefix_ = None + self.DWeg_Reihenfolge = DWeg_Reihenfolge + self.DWeg_Reihenfolge_nsprefix_ = None + self.DWeg_V = DWeg_V + self.DWeg_V_nsprefix_ = None + self.DWeg_V_Aufwertung_Verzicht = DWeg_V_Aufwertung_Verzicht + self.DWeg_V_Aufwertung_Verzicht_nsprefix_ = None + self.ID_FMA_Anlage_Zielgleis = ID_FMA_Anlage_Zielgleis + self.ID_FMA_Anlage_Zielgleis_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CFstr_DWeg_Spezifisch) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CFstr_DWeg_Spezifisch.subclass: + return CFstr_DWeg_Spezifisch.subclass(*args_, **kwargs_) + else: + return CFstr_DWeg_Spezifisch(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Aufloesung_Verzoegerung(self): + return self.Aufloesung_Verzoegerung + def set_Aufloesung_Verzoegerung(self, Aufloesung_Verzoegerung): + self.Aufloesung_Verzoegerung = Aufloesung_Verzoegerung + def get_DWeg_Reihenfolge(self): + return self.DWeg_Reihenfolge + def set_DWeg_Reihenfolge(self, DWeg_Reihenfolge): + self.DWeg_Reihenfolge = DWeg_Reihenfolge + def get_DWeg_V(self): + return self.DWeg_V + def set_DWeg_V(self, DWeg_V): + self.DWeg_V = DWeg_V + def get_DWeg_V_Aufwertung_Verzicht(self): + return self.DWeg_V_Aufwertung_Verzicht + def set_DWeg_V_Aufwertung_Verzicht(self, DWeg_V_Aufwertung_Verzicht): + self.DWeg_V_Aufwertung_Verzicht = DWeg_V_Aufwertung_Verzicht + def get_ID_FMA_Anlage_Zielgleis(self): + return self.ID_FMA_Anlage_Zielgleis + def set_ID_FMA_Anlage_Zielgleis(self, ID_FMA_Anlage_Zielgleis): + self.ID_FMA_Anlage_Zielgleis = ID_FMA_Anlage_Zielgleis + def has__content(self): + if ( + self.Aufloesung_Verzoegerung is not None or + self.DWeg_Reihenfolge is not None or + self.DWeg_V is not None or + self.DWeg_V_Aufwertung_Verzicht is not None or + self.ID_FMA_Anlage_Zielgleis is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsFahrstrasse:', namespacedef_='xmlns:nsFahrstrasse="http://www.plan-pro.org/modell/Fahrstrasse/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CFstr_DWeg_Spezifisch', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CFstr_DWeg_Spezifisch') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CFstr_DWeg_Spezifisch': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CFstr_DWeg_Spezifisch') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CFstr_DWeg_Spezifisch', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsFahrstrasse:', name_='CFstr_DWeg_Spezifisch'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsFahrstrasse:', namespacedef_='xmlns:nsFahrstrasse="http://www.plan-pro.org/modell/Fahrstrasse/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CFstr_DWeg_Spezifisch', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Aufloesung_Verzoegerung is not None: + namespaceprefix_ = self.Aufloesung_Verzoegerung_nsprefix_ + ':' if (UseCapturedNS_ and self.Aufloesung_Verzoegerung_nsprefix_) else '' + self.Aufloesung_Verzoegerung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Aufloesung_Verzoegerung', pretty_print=pretty_print) + if self.DWeg_Reihenfolge is not None: + namespaceprefix_ = self.DWeg_Reihenfolge_nsprefix_ + ':' if (UseCapturedNS_ and self.DWeg_Reihenfolge_nsprefix_) else '' + self.DWeg_Reihenfolge.export(outfile, level, namespaceprefix_, namespacedef_='', name_='DWeg_Reihenfolge', pretty_print=pretty_print) + if self.DWeg_V is not None: + namespaceprefix_ = self.DWeg_V_nsprefix_ + ':' if (UseCapturedNS_ and self.DWeg_V_nsprefix_) else '' + self.DWeg_V.export(outfile, level, namespaceprefix_, namespacedef_='', name_='DWeg_V', pretty_print=pretty_print) + if self.DWeg_V_Aufwertung_Verzicht is not None: + namespaceprefix_ = self.DWeg_V_Aufwertung_Verzicht_nsprefix_ + ':' if (UseCapturedNS_ and self.DWeg_V_Aufwertung_Verzicht_nsprefix_) else '' + self.DWeg_V_Aufwertung_Verzicht.export(outfile, level, namespaceprefix_, namespacedef_='', name_='DWeg_V_Aufwertung_Verzicht', pretty_print=pretty_print) + if self.ID_FMA_Anlage_Zielgleis is not None: + namespaceprefix_ = self.ID_FMA_Anlage_Zielgleis_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_FMA_Anlage_Zielgleis_nsprefix_) else '' + self.ID_FMA_Anlage_Zielgleis.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_FMA_Anlage_Zielgleis', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Aufloesung_Verzoegerung': + obj_ = TCAufloesung_Verzoegerung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Aufloesung_Verzoegerung = obj_ + obj_.original_tagname_ = 'Aufloesung_Verzoegerung' + elif nodeName_ == 'DWeg_Reihenfolge': + obj_ = TCDWeg_Reihenfolge.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.DWeg_Reihenfolge = obj_ + obj_.original_tagname_ = 'DWeg_Reihenfolge' + elif nodeName_ == 'DWeg_V': + obj_ = TCDWeg_V.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.DWeg_V = obj_ + obj_.original_tagname_ = 'DWeg_V' + elif nodeName_ == 'DWeg_V_Aufwertung_Verzicht': + obj_ = TCDWeg_V_Aufwertung_Verzicht.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.DWeg_V_Aufwertung_Verzicht = obj_ + obj_.original_tagname_ = 'DWeg_V_Aufwertung_Verzicht' + elif nodeName_ == 'ID_FMA_Anlage_Zielgleis': + obj_ = TCID_FMA_Anlage.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_FMA_Anlage_Zielgleis = obj_ + obj_.original_tagname_ = 'ID_FMA_Anlage_Zielgleis' +# end class CFstr_DWeg_Spezifisch + + +class CMarkanter_Punkt(CBasis_Objekt): + """CMarkanter_Punkt -- Punkt in der + Ö + rtlichkeit, der eindeutig aufzufinden und beschreibbar ist. Haupts + ä + chlicher Anwendungsfall ist die Definition des Gefahrpunktes oder des Endes eines Durchrutschweges. Auch der PZB-Gefahrpunkt wird damit verortet. Die eindeutige Auffindbarkeit dient der Freimeldung durch Hinsehen in der R + ü + ckfallebene. Wegen schlechter Erkennbarkeit soll eine Gleisfreimeldegrenze nur ausnahmsweise als markanter Punkt genutzt werden, wenn sich in vertretbarer Entfernung kein anderer Punkt finden l + ä + sst. Antennen von Zugbeeinflussungen (z. B. PZB-Gleismagnet) gelten nicht als markanter Punkt. Das Ende des Durchrutschweges muss nicht mit einer Freimeldegrenze zusammenfallen. Ein weiterer Anwendungsfall ist die Verortung von Freimeldegrenzen als Hilfestellung f + ü + r deren Montage. Markante Punkte sind: Signal (insbesondere Haupt- und Sperrsignal, Grenzzeichen, Schutzhaltsignal), Weichenspitze (W Kr Gsp Komponente), Gleissperre (W Kr Gsp Komponente), Kante des Gefahrraums an B + Ü + (Sonstiger Punkt), Besondere Objekte, z. B. an Deckungsstellen (derzeit noch nicht modelliert), Gleisfreimeldegrenze (nur ausnahmsweise), Beginn eines Bahnsteigs (Sonstiger Punkt), Zugschluss bzw. -spitze (Sonstiger Punkt), Sonstige Punkte (Sonstiger Punkt). DB-Regelwerk Ende Durchrutschweg: Durchrutschwegtabelle, Spalte 2: \"bis\"; Gefahrpunkt: Gefahrpunkttabelle, Spalte 2: \"ma + ß + gebender Gefahrpunkt\"; Verortung Gleisfreimeldegrenze: Bema + ß + ungsangabe im sicherungstechnischen Lageplan und Achsz + ä + hlpunkttabelle, Spalte 17: \"Bezugspunkt\". + Bezeichnung -- Attributgruppe zur Bezeichnung von Stell- und sonstigen Elementen. Sofern ausreichend, wird an dieser Stelle + ü + ber Vererbung die Basisattributgruppe Bezeichnung Element eingebunden. Ist die Abbildung mit den Attributen der Basisattributgruppe nicht m + ö + glich (z. B. wegen spezieller Patternvorgabe) oder nicht sinnvoll (z. B. weil eine Unterscheidung nach Bezeichnung_Lageplan_..., Bezeichnung_Tabelle und Bezeichnung_Aussenanlage (Pflichtattribute!) nicht notwendig ist), werden in der Attributgruppe Bezeichnung entsprechende objektspezifische Bezeichnungsattribute modelliert. Diese sind nach dem Schema Bezeichnung_[Objektname] zu benennen. Zudem ist es m + ö + glich, gleichzeitig die Basisattributgruppe Bezeichnung Element und objektspezifische Attribute einzubinden. Siehe auch Bildung der Bezeichnungen. DB-Regelwerk Sicherungstechnischer Lage- und + Ü + bersichtsplan, B + Ü + -Lageplan Planungstabellen + ID_DWeg_Erlaubnisabhaengig -- Abh + ä + ngigkeit aller DWege - mit diesem Markanten Punkt als Ziel - von der Stellung der Erlaubnis der Block Anlage, an dessen Ende sich das verlinkte Block Element befindet. Der DWeg ist nur einstellbar, wenn die Erlaubnis vom Block Element Richtung Strecke zeigt. DB-Regelwerk Streckenblocktabelle, Spalte 11: \"D-Weg erlaubnisabh + ä + ngig\" + ID_Markante_Stelle -- Punkt Objekt, das als Markanter Punkt dient. DB-Regelwerk siehe Markanter Punkt + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasis_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, Bezeichnung=None, ID_DWeg_Erlaubnisabhaengig=None, ID_Markante_Stelle=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CMarkanter_Punkt"), self).__init__(Identitaet, Basis_Objekt_Allg, ID_Bearbeitungsvermerk, ID_Oertlichkeit_Ausgabe, Objektreferenzen, **kwargs_) + self.Bezeichnung = Bezeichnung + self.Bezeichnung_nsprefix_ = None + self.ID_DWeg_Erlaubnisabhaengig = ID_DWeg_Erlaubnisabhaengig + self.ID_DWeg_Erlaubnisabhaengig_nsprefix_ = None + self.ID_Markante_Stelle = ID_Markante_Stelle + self.ID_Markante_Stelle_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CMarkanter_Punkt) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CMarkanter_Punkt.subclass: + return CMarkanter_Punkt.subclass(*args_, **kwargs_) + else: + return CMarkanter_Punkt(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Bezeichnung(self): + return self.Bezeichnung + def set_Bezeichnung(self, Bezeichnung): + self.Bezeichnung = Bezeichnung + def get_ID_DWeg_Erlaubnisabhaengig(self): + return self.ID_DWeg_Erlaubnisabhaengig + def set_ID_DWeg_Erlaubnisabhaengig(self, ID_DWeg_Erlaubnisabhaengig): + self.ID_DWeg_Erlaubnisabhaengig = ID_DWeg_Erlaubnisabhaengig + def get_ID_Markante_Stelle(self): + return self.ID_Markante_Stelle + def set_ID_Markante_Stelle(self, ID_Markante_Stelle): + self.ID_Markante_Stelle = ID_Markante_Stelle + def has__content(self): + if ( + self.Bezeichnung is not None or + self.ID_DWeg_Erlaubnisabhaengig is not None or + self.ID_Markante_Stelle is not None or + super(CMarkanter_Punkt, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsFahrstrasse:', namespacedef_='xmlns:nsFahrstrasse="http://www.plan-pro.org/modell/Fahrstrasse/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CMarkanter_Punkt', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CMarkanter_Punkt') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CMarkanter_Punkt': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CMarkanter_Punkt') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CMarkanter_Punkt', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsFahrstrasse:', name_='CMarkanter_Punkt'): + super(CMarkanter_Punkt, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CMarkanter_Punkt') + def _exportChildren(self, outfile, level, namespaceprefix_='nsFahrstrasse:', namespacedef_='xmlns:nsFahrstrasse="http://www.plan-pro.org/modell/Fahrstrasse/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CMarkanter_Punkt', fromsubclass_=False, pretty_print=True): + super(CMarkanter_Punkt, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Bezeichnung is not None: + namespaceprefix_ = self.Bezeichnung_nsprefix_ + ':' if (UseCapturedNS_ and self.Bezeichnung_nsprefix_) else '' + self.Bezeichnung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Bezeichnung', pretty_print=pretty_print) + if self.ID_DWeg_Erlaubnisabhaengig is not None: + namespaceprefix_ = self.ID_DWeg_Erlaubnisabhaengig_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_DWeg_Erlaubnisabhaengig_nsprefix_) else '' + self.ID_DWeg_Erlaubnisabhaengig.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_DWeg_Erlaubnisabhaengig', pretty_print=pretty_print) + if self.ID_Markante_Stelle is not None: + namespaceprefix_ = self.ID_Markante_Stelle_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Markante_Stelle_nsprefix_) else '' + self.ID_Markante_Stelle.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Markante_Stelle', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CMarkanter_Punkt, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Bezeichnung': + obj_ = CMarkanter_Punkt_Bezeichnung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Bezeichnung = obj_ + obj_.original_tagname_ = 'Bezeichnung' + elif nodeName_ == 'ID_DWeg_Erlaubnisabhaengig': + obj_ = TCID_Block_Element.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_DWeg_Erlaubnisabhaengig = obj_ + obj_.original_tagname_ = 'ID_DWeg_Erlaubnisabhaengig' + elif nodeName_ == 'ID_Markante_Stelle': + obj_ = TCID_Markante_Stelle.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Markante_Stelle = obj_ + obj_.original_tagname_ = 'ID_Markante_Stelle' + super(CMarkanter_Punkt, self)._buildChildren(child_, node, nodeName_, True) +# end class CMarkanter_Punkt + + +class TCElement_Verschluss(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCElement_Verschluss"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCElement_Verschluss) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCElement_Verschluss.subclass: + return TCElement_Verschluss.subclass(*args_, **kwargs_) + else: + return TCElement_Verschluss(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def has__content(self): + if ( + self.Wert is not None or + super(TCElement_Verschluss, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsFahrstrasse:', namespacedef_='xmlns:nsFahrstrasse="http://www.plan-pro.org/modell/Fahrstrasse/1.10.0"', name_='TCElement_Verschluss', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCElement_Verschluss') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCElement_Verschluss': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCElement_Verschluss') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCElement_Verschluss', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsFahrstrasse:', name_='TCElement_Verschluss'): + super(TCElement_Verschluss, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCElement_Verschluss') + def _exportChildren(self, outfile, level, namespaceprefix_='nsFahrstrasse:', namespacedef_='xmlns:nsFahrstrasse="http://www.plan-pro.org/modell/Fahrstrasse/1.10.0"', name_='TCElement_Verschluss', fromsubclass_=False, pretty_print=True): + super(TCElement_Verschluss, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_boolean(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCElement_Verschluss, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + sval_ = child_.text + ival_ = self.gds_parse_boolean(sval_, node, 'Wert') + ival_ = self.gds_validate_boolean(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + super(TCElement_Verschluss, self)._buildChildren(child_, node, nodeName_, True) +# end class TCElement_Verschluss + + +class CFstr_Umfahrpunkt(CBasis_Objekt): + """CFstr_Umfahrpunkt -- Bezeichner des Umfahrpunkts durch eine Weiche oder einen Gleisabschnitt. Der Bezeichner dient nur dazu, den Umfahrweg zu benennen, nicht dazu, den Fahrweg zu beschreiben; die Beschreibung erfolgt in Fstr Fahrweg (Bereich Objekt). Die Festlegung des Umfahrpunkts gilt je Fahrweg und damit f + ü + r alle Zug- und Rangierstra + ß + en, die diesen Fahrweg nutzen. Das Objekt ist Bestandteil des Untergewerks \"Bedienung Fdl\". DB-Regelwerk Bestandteil des Bezeichners der Umfahrstra + ß + e in der Zug-/Rangierstra + ß + entabelle, Spalte 1 \"Start/Ziel\" + ID_Fstr_Fahrweg -- Zuordnung des Fahrwegs zum Umfahrpunkt. DB-Regelwerk Zugstra + ß + entabelle, Bezeichnung der Fstr (inkl. Umfahrpunkt) + ID_Umfahrpunkt -- Verweis auf das Element (Gleisabschnitt oder Weiche), das f + ü + r den Umfahrpunkt namensgebend ist. DB-Regelwerk Zugstra + ß + entabelle, Bezeichnung des Umfahrpunktes in der Fahrstra + ß + enbezeichnung + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasis_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, ID_Fstr_Fahrweg=None, ID_Umfahrpunkt=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CFstr_Umfahrpunkt"), self).__init__(Identitaet, Basis_Objekt_Allg, ID_Bearbeitungsvermerk, ID_Oertlichkeit_Ausgabe, Objektreferenzen, **kwargs_) + self.ID_Fstr_Fahrweg = ID_Fstr_Fahrweg + self.ID_Fstr_Fahrweg_nsprefix_ = None + self.ID_Umfahrpunkt = ID_Umfahrpunkt + self.ID_Umfahrpunkt_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CFstr_Umfahrpunkt) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CFstr_Umfahrpunkt.subclass: + return CFstr_Umfahrpunkt.subclass(*args_, **kwargs_) + else: + return CFstr_Umfahrpunkt(*args_, **kwargs_) + factory = staticmethod(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_Fstr_Fahrweg(self): + return self.ID_Fstr_Fahrweg + def set_ID_Fstr_Fahrweg(self, ID_Fstr_Fahrweg): + self.ID_Fstr_Fahrweg = ID_Fstr_Fahrweg + def get_ID_Umfahrpunkt(self): + return self.ID_Umfahrpunkt + def set_ID_Umfahrpunkt(self, ID_Umfahrpunkt): + self.ID_Umfahrpunkt = ID_Umfahrpunkt + def has__content(self): + if ( + self.ID_Fstr_Fahrweg is not None or + self.ID_Umfahrpunkt is not None or + super(CFstr_Umfahrpunkt, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsFahrstrasse:', namespacedef_='xmlns:nsFahrstrasse="http://www.plan-pro.org/modell/Fahrstrasse/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CFstr_Umfahrpunkt', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CFstr_Umfahrpunkt') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CFstr_Umfahrpunkt': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CFstr_Umfahrpunkt') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CFstr_Umfahrpunkt', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsFahrstrasse:', name_='CFstr_Umfahrpunkt'): + super(CFstr_Umfahrpunkt, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CFstr_Umfahrpunkt') + def _exportChildren(self, outfile, level, namespaceprefix_='nsFahrstrasse:', namespacedef_='xmlns:nsFahrstrasse="http://www.plan-pro.org/modell/Fahrstrasse/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CFstr_Umfahrpunkt', fromsubclass_=False, pretty_print=True): + super(CFstr_Umfahrpunkt, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.ID_Fstr_Fahrweg is not None: + namespaceprefix_ = self.ID_Fstr_Fahrweg_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Fstr_Fahrweg_nsprefix_) else '' + self.ID_Fstr_Fahrweg.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Fstr_Fahrweg', pretty_print=pretty_print) + if self.ID_Umfahrpunkt is not None: + namespaceprefix_ = self.ID_Umfahrpunkt_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Umfahrpunkt_nsprefix_) else '' + self.ID_Umfahrpunkt.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Umfahrpunkt', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CFstr_Umfahrpunkt, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Fstr_Fahrweg': + obj_ = TCID_Fstr_Fahrweg.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Fstr_Fahrweg = obj_ + obj_.original_tagname_ = 'ID_Fstr_Fahrweg' + elif nodeName_ == 'ID_Umfahrpunkt': + obj_ = TCID_Umfahrpunkt.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Umfahrpunkt = obj_ + obj_.original_tagname_ = 'ID_Umfahrpunkt' + super(CFstr_Umfahrpunkt, self)._buildChildren(child_, node, nodeName_, True) +# end class CFstr_Umfahrpunkt + + +class CFstr_DWeg_Bezeichnung(GeneratedsSuper): + """Bezeichnung_Fstr_DWeg -- Bezeichnung des Durchrutschwegs. Der erste Durchrutschweg hinter jedem Zugziel wird mit \"D1\" bezeichnet, alle weiteren Durchrutschwege erhalten eine fortlaufende Nummerierung (D2, D3, ...). Von der Bezeichnung unabh + ä + ngig ist der Vorzugs-DWeg. H-Fahrstra + ß + en werden + ü + ber Fahrstra + ß + en mit D-Wegen abgebildet, deren Bezeichnung um den Zusatz + „ + H + “ + erweitert wird (z. B. D1H). DB-Regelwerk Durchrutschwegtabelle, Spalte 3: \"Bezeichnung\" + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Bezeichnung_Fstr_DWeg=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Bezeichnung_Fstr_DWeg = Bezeichnung_Fstr_DWeg + self.Bezeichnung_Fstr_DWeg_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CFstr_DWeg_Bezeichnung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CFstr_DWeg_Bezeichnung.subclass: + return CFstr_DWeg_Bezeichnung.subclass(*args_, **kwargs_) + else: + return CFstr_DWeg_Bezeichnung(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Bezeichnung_Fstr_DWeg(self): + return self.Bezeichnung_Fstr_DWeg + def set_Bezeichnung_Fstr_DWeg(self, Bezeichnung_Fstr_DWeg): + self.Bezeichnung_Fstr_DWeg = Bezeichnung_Fstr_DWeg + def has__content(self): + if ( + self.Bezeichnung_Fstr_DWeg is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsFahrstrasse:', namespacedef_='xmlns:nsFahrstrasse="http://www.plan-pro.org/modell/Fahrstrasse/1.10.0"', name_='CFstr_DWeg_Bezeichnung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CFstr_DWeg_Bezeichnung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CFstr_DWeg_Bezeichnung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CFstr_DWeg_Bezeichnung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CFstr_DWeg_Bezeichnung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsFahrstrasse:', name_='CFstr_DWeg_Bezeichnung'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsFahrstrasse:', namespacedef_='xmlns:nsFahrstrasse="http://www.plan-pro.org/modell/Fahrstrasse/1.10.0"', name_='CFstr_DWeg_Bezeichnung', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Bezeichnung_Fstr_DWeg is not None: + namespaceprefix_ = self.Bezeichnung_Fstr_DWeg_nsprefix_ + ':' if (UseCapturedNS_ and self.Bezeichnung_Fstr_DWeg_nsprefix_) else '' + self.Bezeichnung_Fstr_DWeg.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Bezeichnung_Fstr_DWeg', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Bezeichnung_Fstr_DWeg': + obj_ = TCBezeichnung_Fstr_DWeg.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Bezeichnung_Fstr_DWeg = obj_ + obj_.original_tagname_ = 'Bezeichnung_Fstr_DWeg' +# end class CFstr_DWeg_Bezeichnung + + +class TCFstr_Rangier_Art(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCFstr_Rangier_Art"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMFstr_Rangier_Art(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCFstr_Rangier_Art) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCFstr_Rangier_Art.subclass: + return TCFstr_Rangier_Art.subclass(*args_, **kwargs_) + else: + return TCFstr_Rangier_Art(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMFstr_Rangier_Art(self, value): + result = True + # Validate type ENUMFstr_Rangier_Art, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['RR', 'RT', 'RTU', 'RU'] + 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 ENUMFstr_Rangier_Art' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCFstr_Rangier_Art, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsFahrstrasse:', namespacedef_='xmlns:nsFahrstrasse="http://www.plan-pro.org/modell/Fahrstrasse/1.10.0"', name_='TCFstr_Rangier_Art', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCFstr_Rangier_Art') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCFstr_Rangier_Art': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCFstr_Rangier_Art') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCFstr_Rangier_Art', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsFahrstrasse:', name_='TCFstr_Rangier_Art'): + super(TCFstr_Rangier_Art, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCFstr_Rangier_Art') + def _exportChildren(self, outfile, level, namespaceprefix_='nsFahrstrasse:', namespacedef_='xmlns:nsFahrstrasse="http://www.plan-pro.org/modell/Fahrstrasse/1.10.0"', name_='TCFstr_Rangier_Art', fromsubclass_=False, pretty_print=True): + super(TCFstr_Rangier_Art, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCFstr_Rangier_Art, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMFstr_Rangier_Art + self.validate_ENUMFstr_Rangier_Art(self.Wert) + super(TCFstr_Rangier_Art, self)._buildChildren(child_, node, nodeName_, True) +# end class TCFstr_Rangier_Art + + +class TCFstr_Mittel_Art(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCFstr_Mittel_Art"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMFstr_Mittel_Art(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCFstr_Mittel_Art) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCFstr_Mittel_Art.subclass: + return TCFstr_Mittel_Art.subclass(*args_, **kwargs_) + else: + return TCFstr_Mittel_Art(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMFstr_Mittel_Art(self, value): + result = True + # Validate type ENUMFstr_Mittel_Art, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['ZM', 'ZUM'] + 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 ENUMFstr_Mittel_Art' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCFstr_Mittel_Art, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsFahrstrasse:', namespacedef_='xmlns:nsFahrstrasse="http://www.plan-pro.org/modell/Fahrstrasse/1.10.0"', name_='TCFstr_Mittel_Art', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCFstr_Mittel_Art') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCFstr_Mittel_Art': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCFstr_Mittel_Art') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCFstr_Mittel_Art', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsFahrstrasse:', name_='TCFstr_Mittel_Art'): + super(TCFstr_Mittel_Art, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCFstr_Mittel_Art') + def _exportChildren(self, outfile, level, namespaceprefix_='nsFahrstrasse:', namespacedef_='xmlns:nsFahrstrasse="http://www.plan-pro.org/modell/Fahrstrasse/1.10.0"', name_='TCFstr_Mittel_Art', fromsubclass_=False, pretty_print=True): + super(TCFstr_Mittel_Art, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCFstr_Mittel_Art, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMFstr_Mittel_Art + self.validate_ENUMFstr_Mittel_Art(self.Wert) + super(TCFstr_Mittel_Art, self)._buildChildren(child_, node, nodeName_, True) +# end class TCFstr_Mittel_Art + + +class TCDWeg_Vorzug(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCDWeg_Vorzug"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCDWeg_Vorzug) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCDWeg_Vorzug.subclass: + return TCDWeg_Vorzug.subclass(*args_, **kwargs_) + else: + return TCDWeg_Vorzug(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def has__content(self): + if ( + self.Wert is not None or + super(TCDWeg_Vorzug, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsFahrstrasse:', namespacedef_='xmlns:nsFahrstrasse="http://www.plan-pro.org/modell/Fahrstrasse/1.10.0"', name_='TCDWeg_Vorzug', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCDWeg_Vorzug') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCDWeg_Vorzug': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCDWeg_Vorzug') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCDWeg_Vorzug', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsFahrstrasse:', name_='TCDWeg_Vorzug'): + super(TCDWeg_Vorzug, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCDWeg_Vorzug') + def _exportChildren(self, outfile, level, namespaceprefix_='nsFahrstrasse:', namespacedef_='xmlns:nsFahrstrasse="http://www.plan-pro.org/modell/Fahrstrasse/1.10.0"', name_='TCDWeg_Vorzug', fromsubclass_=False, pretty_print=True): + super(TCDWeg_Vorzug, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_boolean(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCDWeg_Vorzug, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + sval_ = child_.text + ival_ = self.gds_parse_boolean(sval_, node, 'Wert') + ival_ = self.gds_validate_boolean(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + super(TCDWeg_Vorzug, self)._buildChildren(child_, node, nodeName_, True) +# end class TCDWeg_Vorzug + + +class TCRangier_Gegenfahrtausschluss(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCRangier_Gegenfahrtausschluss"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMRangier_Gegenfahrtausschluss(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCRangier_Gegenfahrtausschluss) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCRangier_Gegenfahrtausschluss.subclass: + return TCRangier_Gegenfahrtausschluss.subclass(*args_, **kwargs_) + else: + return TCRangier_Gegenfahrtausschluss(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMRangier_Gegenfahrtausschluss(self, value): + result = True + # Validate type ENUMRangier_Gegenfahrtausschluss, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['Inselgleis_frei', 'ja', 'nein'] + 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 ENUMRangier_Gegenfahrtausschluss' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCRangier_Gegenfahrtausschluss, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsFahrstrasse:', namespacedef_='xmlns:nsFahrstrasse="http://www.plan-pro.org/modell/Fahrstrasse/1.10.0"', name_='TCRangier_Gegenfahrtausschluss', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCRangier_Gegenfahrtausschluss') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCRangier_Gegenfahrtausschluss': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCRangier_Gegenfahrtausschluss') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCRangier_Gegenfahrtausschluss', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsFahrstrasse:', name_='TCRangier_Gegenfahrtausschluss'): + super(TCRangier_Gegenfahrtausschluss, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCRangier_Gegenfahrtausschluss') + def _exportChildren(self, outfile, level, namespaceprefix_='nsFahrstrasse:', namespacedef_='xmlns:nsFahrstrasse="http://www.plan-pro.org/modell/Fahrstrasse/1.10.0"', name_='TCRangier_Gegenfahrtausschluss', fromsubclass_=False, pretty_print=True): + super(TCRangier_Gegenfahrtausschluss, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCRangier_Gegenfahrtausschluss, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMRangier_Gegenfahrtausschluss + self.validate_ENUMRangier_Gegenfahrtausschluss(self.Wert) + super(TCRangier_Gegenfahrtausschluss, self)._buildChildren(child_, node, nodeName_, True) +# end class TCRangier_Gegenfahrtausschluss + + +class CFstr_Zug_DWeg(GeneratedsSuper): + """DWeg_Vorzug -- Vorzugs-Durchrutschweg. Der DWeg ist der Standard-Durchrutschweg, der verwendet wird, wenn in der Bedienung kein spezieller DWeg ausgew + ä + hlt wird. DB-Regelwerk Durchrutschwegtabelle: Je Signal als erster eingetragener DWeg. + ID_Fstr_DWeg -- Zuordnung des DWeges zur Zugstra + ß + e. DB-Regelwerk Zugstra + ß + entabelle: Nennung des D-Weges im Namen der Fahrstra + ß + e + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, DWeg_Vorzug=None, ID_Fstr_DWeg=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.DWeg_Vorzug = DWeg_Vorzug + self.DWeg_Vorzug_nsprefix_ = None + self.ID_Fstr_DWeg = ID_Fstr_DWeg + self.ID_Fstr_DWeg_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CFstr_Zug_DWeg) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CFstr_Zug_DWeg.subclass: + return CFstr_Zug_DWeg.subclass(*args_, **kwargs_) + else: + return CFstr_Zug_DWeg(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_DWeg_Vorzug(self): + return self.DWeg_Vorzug + def set_DWeg_Vorzug(self, DWeg_Vorzug): + self.DWeg_Vorzug = DWeg_Vorzug + def get_ID_Fstr_DWeg(self): + return self.ID_Fstr_DWeg + def set_ID_Fstr_DWeg(self, ID_Fstr_DWeg): + self.ID_Fstr_DWeg = ID_Fstr_DWeg + def has__content(self): + if ( + self.DWeg_Vorzug is not None or + self.ID_Fstr_DWeg is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsFahrstrasse:', namespacedef_='xmlns:nsFahrstrasse="http://www.plan-pro.org/modell/Fahrstrasse/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CFstr_Zug_DWeg', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CFstr_Zug_DWeg') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CFstr_Zug_DWeg': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CFstr_Zug_DWeg') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CFstr_Zug_DWeg', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsFahrstrasse:', name_='CFstr_Zug_DWeg'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsFahrstrasse:', namespacedef_='xmlns:nsFahrstrasse="http://www.plan-pro.org/modell/Fahrstrasse/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CFstr_Zug_DWeg', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.DWeg_Vorzug is not None: + namespaceprefix_ = self.DWeg_Vorzug_nsprefix_ + ':' if (UseCapturedNS_ and self.DWeg_Vorzug_nsprefix_) else '' + self.DWeg_Vorzug.export(outfile, level, namespaceprefix_, namespacedef_='', name_='DWeg_Vorzug', pretty_print=pretty_print) + if self.ID_Fstr_DWeg is not None: + namespaceprefix_ = self.ID_Fstr_DWeg_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Fstr_DWeg_nsprefix_) else '' + self.ID_Fstr_DWeg.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Fstr_DWeg', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'DWeg_Vorzug': + obj_ = TCDWeg_Vorzug.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.DWeg_Vorzug = obj_ + obj_.original_tagname_ = 'DWeg_Vorzug' + elif nodeName_ == 'ID_Fstr_DWeg': + obj_ = TCID_Fstr_DWeg.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Fstr_DWeg = obj_ + obj_.original_tagname_ = 'ID_Fstr_DWeg' +# end class CFstr_Zug_DWeg + + +class CFstr_Aneinander_Zuordnung(CBasis_Objekt): + """CFstr_Aneinander_Zuordnung -- Zuordnung der aneinandergereihten Zug- oder Rangierstra + ß + e zu den Fahrstra + ß + en Fstr Zug Rangier (\"Elementarfahrstra + ß + en\"), aus denen sie besteht. DB-Regelwerk Tabelle der aneinandergereihten Zugstra + ß + en Tabelle der aneinandergereihten Rangierstra + ß + en + ID_Fstr_Aneinander -- Zeiger auf Fstr Aneinander des Zuordnungsobjekts Fstr Aneinander Zuordnung. DB-Regelwerk Zusammengesetzte Zugstra + ß + entabelle: Eintragungen einer Zeile + ID_Fstr_Zug_Rangier -- Zeiger auf die jeweilige Fahrstra + ß + e des Zuordnungsobjekts Fstr Aneinander Zuordnung. DB-Regelwerk Zusammengesetzte Zugstra + ß + entabelle: Eintragungen einer Zeile + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasis_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, ID_Fstr_Aneinander=None, ID_Fstr_Zug_Rangier=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CFstr_Aneinander_Zuordnung"), self).__init__(Identitaet, Basis_Objekt_Allg, ID_Bearbeitungsvermerk, ID_Oertlichkeit_Ausgabe, Objektreferenzen, **kwargs_) + self.ID_Fstr_Aneinander = ID_Fstr_Aneinander + self.ID_Fstr_Aneinander_nsprefix_ = None + self.ID_Fstr_Zug_Rangier = ID_Fstr_Zug_Rangier + self.ID_Fstr_Zug_Rangier_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CFstr_Aneinander_Zuordnung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CFstr_Aneinander_Zuordnung.subclass: + return CFstr_Aneinander_Zuordnung.subclass(*args_, **kwargs_) + else: + return CFstr_Aneinander_Zuordnung(*args_, **kwargs_) + factory = staticmethod(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_Fstr_Aneinander(self): + return self.ID_Fstr_Aneinander + def set_ID_Fstr_Aneinander(self, ID_Fstr_Aneinander): + self.ID_Fstr_Aneinander = ID_Fstr_Aneinander + def get_ID_Fstr_Zug_Rangier(self): + return self.ID_Fstr_Zug_Rangier + def set_ID_Fstr_Zug_Rangier(self, ID_Fstr_Zug_Rangier): + self.ID_Fstr_Zug_Rangier = ID_Fstr_Zug_Rangier + def has__content(self): + if ( + self.ID_Fstr_Aneinander is not None or + self.ID_Fstr_Zug_Rangier is not None or + super(CFstr_Aneinander_Zuordnung, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsFahrstrasse:', namespacedef_='xmlns:nsFahrstrasse="http://www.plan-pro.org/modell/Fahrstrasse/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CFstr_Aneinander_Zuordnung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CFstr_Aneinander_Zuordnung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CFstr_Aneinander_Zuordnung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CFstr_Aneinander_Zuordnung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CFstr_Aneinander_Zuordnung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsFahrstrasse:', name_='CFstr_Aneinander_Zuordnung'): + super(CFstr_Aneinander_Zuordnung, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CFstr_Aneinander_Zuordnung') + def _exportChildren(self, outfile, level, namespaceprefix_='nsFahrstrasse:', namespacedef_='xmlns:nsFahrstrasse="http://www.plan-pro.org/modell/Fahrstrasse/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CFstr_Aneinander_Zuordnung', fromsubclass_=False, pretty_print=True): + super(CFstr_Aneinander_Zuordnung, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.ID_Fstr_Aneinander is not None: + namespaceprefix_ = self.ID_Fstr_Aneinander_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Fstr_Aneinander_nsprefix_) else '' + self.ID_Fstr_Aneinander.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Fstr_Aneinander', pretty_print=pretty_print) + if self.ID_Fstr_Zug_Rangier is not None: + namespaceprefix_ = self.ID_Fstr_Zug_Rangier_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Fstr_Zug_Rangier_nsprefix_) else '' + self.ID_Fstr_Zug_Rangier.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Fstr_Zug_Rangier', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CFstr_Aneinander_Zuordnung, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Fstr_Aneinander': + obj_ = TCID_Fstr_Aneinander.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Fstr_Aneinander = obj_ + obj_.original_tagname_ = 'ID_Fstr_Aneinander' + elif nodeName_ == 'ID_Fstr_Zug_Rangier': + obj_ = TCID_Fstr_Zug_Rangier.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Fstr_Zug_Rangier = obj_ + obj_.original_tagname_ = 'ID_Fstr_Zug_Rangier' + super(CFstr_Aneinander_Zuordnung, self)._buildChildren(child_, node, nodeName_, True) +# end class CFstr_Aneinander_Zuordnung + + +class TCAufloesung_Verzoegerung(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCAufloesung_Verzoegerung"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TAufloesung_Verzoegerung(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCAufloesung_Verzoegerung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCAufloesung_Verzoegerung.subclass: + return TCAufloesung_Verzoegerung.subclass(*args_, **kwargs_) + else: + return TCAufloesung_Verzoegerung(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TAufloesung_Verzoegerung(self, value): + result = True + # Validate type TAufloesung_Verzoegerung, a restriction on nsBasisTypen:TSekunde. + 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 not self.gds_validate_simple_patterns( + self.validate_TAufloesung_Verzoegerung_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TAufloesung_Verzoegerung_patterns_, )) + result = False + return result + validate_TAufloesung_Verzoegerung_patterns_ = [['^(0|[1-9][0-9]{0,1}|1[0-1][0-9]|120)$'], ['^([0-9]{1,5}(\\.[0-9]{2})?)$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCAufloesung_Verzoegerung, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsFahrstrasse:', namespacedef_='xmlns:nsFahrstrasse="http://www.plan-pro.org/modell/Fahrstrasse/1.10.0"', name_='TCAufloesung_Verzoegerung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCAufloesung_Verzoegerung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCAufloesung_Verzoegerung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCAufloesung_Verzoegerung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCAufloesung_Verzoegerung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsFahrstrasse:', name_='TCAufloesung_Verzoegerung'): + super(TCAufloesung_Verzoegerung, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCAufloesung_Verzoegerung') + def _exportChildren(self, outfile, level, namespaceprefix_='nsFahrstrasse:', namespacedef_='xmlns:nsFahrstrasse="http://www.plan-pro.org/modell/Fahrstrasse/1.10.0"', name_='TCAufloesung_Verzoegerung', fromsubclass_=False, pretty_print=True): + super(TCAufloesung_Verzoegerung, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_decimal(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCAufloesung_Verzoegerung, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + fval_ = self.gds_parse_decimal(sval_, node, 'Wert') + fval_ = self.gds_validate_decimal(fval_, node, 'Wert') + self.Wert = fval_ + self.Wert_nsprefix_ = child_.prefix + # validate type TAufloesung_Verzoegerung + self.validate_TAufloesung_Verzoegerung(self.Wert) + super(TCAufloesung_Verzoegerung, self)._buildChildren(child_, node, nodeName_, True) +# end class TCAufloesung_Verzoegerung + + +class CFstr_Abhaengigkeit(CBasis_Objekt): + """CFstr_Abhaengigkeit -- Zuordnung aller f + ü + r einen Fstr Fahrweg zu sichernden und nicht durch die Topologie auffindbaren Objekte. Nicht durch die Topologie findbar sind insbesondere: Schluesselsperre, Zustimmungsschalter/-taster. Spezialfall: F + ü + r eine Rangierstra + ß + e kann richtungsabh + ä + ngig geplant werden, dass eine Schl + ü + sselsperre im Zielgleis nicht + ü + berwacht wird. In dem (sehr seltenen) Fall m + ü + ssen f + ü + r eine Zug- und eine Rangierstra + ß + e mit identischem Fahrweg zwei Instanzen Fstr Fahrweg angelegt werden. DB-Regelwerk Schl + ü + sselsperre: Zugstra + ß + entabelle, Spalte 5: \"Ssp in der Fahrstra + ß + e verschlossen und + ü + berwacht\"; Rangierstra + ß + entabelle, Spalte 15: \"Ssp in der Rangierstra + ß + e verschlossen und + ü + berwacht\". Zustimmungsschalter/-taster: Bemerkung/Fu + ß + note. + ID_Fstr_Fahrweg -- Zuordnung des abh + ä + ngigen Elements zu Fstr Fahrweg. DB-Regelwerk Zugstra + ß + entabelle, Zeile + ID_Bedien_Anzeige_Element -- Bedien_Anzeige_Element, das wirksam sein muss, damit die Fstr gesichert ist. DB-Regelwerk Mittelweichenteilfahrstra + ß + entabelle: Bemerkung oder Fu + ß + note. Schalter/Taster: Zugstra + ß + entabelle: Bemerkung oder Fu + ß + note; Rangierstra + ß + entabelle: Bemerkung oder Fu + ß + note; Mittelweichenteilfahrstra + ß + entabelle: Bemerkung oder Fu + ß + note. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasis_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, ID_Fstr_Fahrweg=None, Fstr_Abhaengigkeit_Ssp=None, ID_Bedien_Anzeige_Element=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CFstr_Abhaengigkeit"), self).__init__(Identitaet, Basis_Objekt_Allg, ID_Bearbeitungsvermerk, ID_Oertlichkeit_Ausgabe, Objektreferenzen, **kwargs_) + self.ID_Fstr_Fahrweg = ID_Fstr_Fahrweg + self.ID_Fstr_Fahrweg_nsprefix_ = None + self.Fstr_Abhaengigkeit_Ssp = Fstr_Abhaengigkeit_Ssp + self.Fstr_Abhaengigkeit_Ssp_nsprefix_ = None + self.ID_Bedien_Anzeige_Element = ID_Bedien_Anzeige_Element + self.ID_Bedien_Anzeige_Element_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CFstr_Abhaengigkeit) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CFstr_Abhaengigkeit.subclass: + return CFstr_Abhaengigkeit.subclass(*args_, **kwargs_) + else: + return CFstr_Abhaengigkeit(*args_, **kwargs_) + factory = staticmethod(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_Fstr_Fahrweg(self): + return self.ID_Fstr_Fahrweg + def set_ID_Fstr_Fahrweg(self, ID_Fstr_Fahrweg): + self.ID_Fstr_Fahrweg = ID_Fstr_Fahrweg + def get_Fstr_Abhaengigkeit_Ssp(self): + return self.Fstr_Abhaengigkeit_Ssp + def set_Fstr_Abhaengigkeit_Ssp(self, Fstr_Abhaengigkeit_Ssp): + self.Fstr_Abhaengigkeit_Ssp = Fstr_Abhaengigkeit_Ssp + def get_ID_Bedien_Anzeige_Element(self): + return self.ID_Bedien_Anzeige_Element + def set_ID_Bedien_Anzeige_Element(self, ID_Bedien_Anzeige_Element): + self.ID_Bedien_Anzeige_Element = ID_Bedien_Anzeige_Element + def has__content(self): + if ( + self.ID_Fstr_Fahrweg is not None or + self.Fstr_Abhaengigkeit_Ssp is not None or + self.ID_Bedien_Anzeige_Element is not None or + super(CFstr_Abhaengigkeit, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsFahrstrasse:', namespacedef_='xmlns:nsFahrstrasse="http://www.plan-pro.org/modell/Fahrstrasse/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CFstr_Abhaengigkeit', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CFstr_Abhaengigkeit') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CFstr_Abhaengigkeit': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CFstr_Abhaengigkeit') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CFstr_Abhaengigkeit', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsFahrstrasse:', name_='CFstr_Abhaengigkeit'): + super(CFstr_Abhaengigkeit, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CFstr_Abhaengigkeit') + def _exportChildren(self, outfile, level, namespaceprefix_='nsFahrstrasse:', namespacedef_='xmlns:nsFahrstrasse="http://www.plan-pro.org/modell/Fahrstrasse/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CFstr_Abhaengigkeit', fromsubclass_=False, pretty_print=True): + super(CFstr_Abhaengigkeit, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.ID_Fstr_Fahrweg is not None: + namespaceprefix_ = self.ID_Fstr_Fahrweg_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Fstr_Fahrweg_nsprefix_) else '' + self.ID_Fstr_Fahrweg.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Fstr_Fahrweg', pretty_print=pretty_print) + if self.Fstr_Abhaengigkeit_Ssp is not None: + namespaceprefix_ = self.Fstr_Abhaengigkeit_Ssp_nsprefix_ + ':' if (UseCapturedNS_ and self.Fstr_Abhaengigkeit_Ssp_nsprefix_) else '' + self.Fstr_Abhaengigkeit_Ssp.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Fstr_Abhaengigkeit_Ssp', pretty_print=pretty_print) + if self.ID_Bedien_Anzeige_Element is not None: + namespaceprefix_ = self.ID_Bedien_Anzeige_Element_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bedien_Anzeige_Element_nsprefix_) else '' + self.ID_Bedien_Anzeige_Element.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bedien_Anzeige_Element', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CFstr_Abhaengigkeit, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Fstr_Fahrweg': + obj_ = TCID_Fstr_Fahrweg.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Fstr_Fahrweg = obj_ + obj_.original_tagname_ = 'ID_Fstr_Fahrweg' + elif nodeName_ == 'Fstr_Abhaengigkeit_Ssp': + obj_ = CFstr_Abhaengigkeit_Ssp.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Fstr_Abhaengigkeit_Ssp = obj_ + obj_.original_tagname_ = 'Fstr_Abhaengigkeit_Ssp' + elif nodeName_ == 'ID_Bedien_Anzeige_Element': + obj_ = TCID_Bedien_Anzeige_Element.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bedien_Anzeige_Element = obj_ + obj_.original_tagname_ = 'ID_Bedien_Anzeige_Element' + super(CFstr_Abhaengigkeit, self)._buildChildren(child_, node, nodeName_, True) +# end class CFstr_Abhaengigkeit + + +class CFstr_Zug(GeneratedsSuper): + """Automatische_Einstellung -- M + ö + glichkeit des Fahrstra + ß + enansto + ß + es + ü + ber die manuelle Bedienung hinaus. Die Angabe f + ü + r eine Zugstra + ß + e gilt auch f + ü + r eventuell zugeh + ö + rige (davorliegende) Mittelweichenteilfahrstra + ß + en. DB-Regelwerk Zugstra + ß + entabelle, Spalte 9 \"Selbststellbetrieb/Zuglenkung\" + Fstr_Vsigabstand_Verkuerzt -- Der Abstand vom Start zum Ziel der Fahrstra + ß + e ist k + ü + rzer als der zul + ä + ssige Vorsignalabstand. DB-Regelwerk Ein expliziter Vermerk dazu kann als Fu + ß + note in der Signaltabelle 2 oder Beschreibung im Erl + ä + uterungsbericht erscheinen. Ansonsten ist ein Zusatzlicht am Startsignal und die Geschwindigkeitseinschr + ä + nkung bei Fahrt auf Halt oder eine eingeschr + ä + nkte Geschwindigkeit ein Indiz. + Fstr_Zug_Art -- Art der Zugstra + ß + e. ZH + – + ZugHilfs-, ZR + – + ZugRegel-, ZU + – + ZugUmfahr-, ZUH + – + ZugUmfahrhilfs-, ZZ + – + ZugZentralblock-, ZT - ZugTeil-, ZTU - ZugTeilUmfahr-. ZZ: Anwendung im Zentralblock oder an Schnittstellen zu anderen Stellwerkstechniken bei Mehrabschnittssignalisierung, Signalabh + ä + ngigkeiten von Fahrwegelementen auf der freien Strecke oder bei Bedienung einer Awanst. DB-Regelwerk Zugstra + ß + entabelle, Spalte 2 \"Art\" + ID_BUE_Einschaltung -- B + Ü + im Durchrutschweg, der im Sicherheitsabstand liegt und daher f + ü + r die Fahrstra + ß + e zu sichern ist oder B + Ü + auf der freien Strecke, dessen Sicherung durch die Ausfahrzugstra + ß + e angesto + ß + en werden muss. DB-Regelwerk Zugstra + ß + entabelle: Fu + ß + note. + ID_Signal_Gruppenausfahrt -- Verweis auf das Gruppenausfahr- oder -zwischensignal einer Fahrstra + ß + e. Ist das Attribut gef + ü + llt, handelt es sich um eine Fahrstra + ß + e mit Gruppensignal. Start der Fahrstra + ß + e und damit Beginn des Bereichsobjektes Fstr Fahrweg f + ü + r den befahrenen Teil ist nicht das Gruppensignal, sondern das Signal am tats + ä + chlichen Beginn der Fahrstra + ß + e (meist Sperrsignal). DB-Regelwerk Sicherungstechnischer Lageplan: Darstellung des Gruppensignals nach dem Fahrstra + ß + enstart; Zugstra + ß + entabelle, Spalte 1 \"Start/Ziel\": Besondere Bezeichnung des Signals. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Automatische_Einstellung=None, Fstr_Vsigabstand_Verkuerzt=None, Fstr_Zug_Art=None, Fstr_Zug_DWeg=None, ID_BUE_Einschaltung=None, ID_Signal_Gruppenausfahrt=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Automatische_Einstellung = Automatische_Einstellung + self.Automatische_Einstellung_nsprefix_ = None + self.Fstr_Vsigabstand_Verkuerzt = Fstr_Vsigabstand_Verkuerzt + self.Fstr_Vsigabstand_Verkuerzt_nsprefix_ = None + self.Fstr_Zug_Art = Fstr_Zug_Art + self.Fstr_Zug_Art_nsprefix_ = None + self.Fstr_Zug_DWeg = Fstr_Zug_DWeg + self.Fstr_Zug_DWeg_nsprefix_ = None + if ID_BUE_Einschaltung is None: + self.ID_BUE_Einschaltung = [] + else: + self.ID_BUE_Einschaltung = ID_BUE_Einschaltung + self.ID_BUE_Einschaltung_nsprefix_ = None + self.ID_Signal_Gruppenausfahrt = ID_Signal_Gruppenausfahrt + self.ID_Signal_Gruppenausfahrt_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CFstr_Zug) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CFstr_Zug.subclass: + return CFstr_Zug.subclass(*args_, **kwargs_) + else: + return CFstr_Zug(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Automatische_Einstellung(self): + return self.Automatische_Einstellung + def set_Automatische_Einstellung(self, Automatische_Einstellung): + self.Automatische_Einstellung = Automatische_Einstellung + def get_Fstr_Vsigabstand_Verkuerzt(self): + return self.Fstr_Vsigabstand_Verkuerzt + def set_Fstr_Vsigabstand_Verkuerzt(self, Fstr_Vsigabstand_Verkuerzt): + self.Fstr_Vsigabstand_Verkuerzt = Fstr_Vsigabstand_Verkuerzt + def get_Fstr_Zug_Art(self): + return self.Fstr_Zug_Art + def set_Fstr_Zug_Art(self, Fstr_Zug_Art): + self.Fstr_Zug_Art = Fstr_Zug_Art + def get_Fstr_Zug_DWeg(self): + return self.Fstr_Zug_DWeg + def set_Fstr_Zug_DWeg(self, Fstr_Zug_DWeg): + self.Fstr_Zug_DWeg = Fstr_Zug_DWeg + def get_ID_BUE_Einschaltung(self): + return self.ID_BUE_Einschaltung + def set_ID_BUE_Einschaltung(self, ID_BUE_Einschaltung): + self.ID_BUE_Einschaltung = ID_BUE_Einschaltung + def add_ID_BUE_Einschaltung(self, value): + self.ID_BUE_Einschaltung.append(value) + def insert_ID_BUE_Einschaltung_at(self, index, value): + self.ID_BUE_Einschaltung.insert(index, value) + def replace_ID_BUE_Einschaltung_at(self, index, value): + self.ID_BUE_Einschaltung[index] = value + def get_ID_Signal_Gruppenausfahrt(self): + return self.ID_Signal_Gruppenausfahrt + def set_ID_Signal_Gruppenausfahrt(self, ID_Signal_Gruppenausfahrt): + self.ID_Signal_Gruppenausfahrt = ID_Signal_Gruppenausfahrt + def has__content(self): + if ( + self.Automatische_Einstellung is not None or + self.Fstr_Vsigabstand_Verkuerzt is not None or + self.Fstr_Zug_Art is not None or + self.Fstr_Zug_DWeg is not None or + self.ID_BUE_Einschaltung or + self.ID_Signal_Gruppenausfahrt is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsFahrstrasse:', namespacedef_='xmlns:nsFahrstrasse="http://www.plan-pro.org/modell/Fahrstrasse/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CFstr_Zug', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CFstr_Zug') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CFstr_Zug': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CFstr_Zug') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CFstr_Zug', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsFahrstrasse:', name_='CFstr_Zug'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsFahrstrasse:', namespacedef_='xmlns:nsFahrstrasse="http://www.plan-pro.org/modell/Fahrstrasse/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CFstr_Zug', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Automatische_Einstellung is not None: + namespaceprefix_ = self.Automatische_Einstellung_nsprefix_ + ':' if (UseCapturedNS_ and self.Automatische_Einstellung_nsprefix_) else '' + self.Automatische_Einstellung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Automatische_Einstellung', pretty_print=pretty_print) + if self.Fstr_Vsigabstand_Verkuerzt is not None: + namespaceprefix_ = self.Fstr_Vsigabstand_Verkuerzt_nsprefix_ + ':' if (UseCapturedNS_ and self.Fstr_Vsigabstand_Verkuerzt_nsprefix_) else '' + self.Fstr_Vsigabstand_Verkuerzt.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Fstr_Vsigabstand_Verkuerzt', pretty_print=pretty_print) + if self.Fstr_Zug_Art is not None: + namespaceprefix_ = self.Fstr_Zug_Art_nsprefix_ + ':' if (UseCapturedNS_ and self.Fstr_Zug_Art_nsprefix_) else '' + self.Fstr_Zug_Art.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Fstr_Zug_Art', pretty_print=pretty_print) + if self.Fstr_Zug_DWeg is not None: + namespaceprefix_ = self.Fstr_Zug_DWeg_nsprefix_ + ':' if (UseCapturedNS_ and self.Fstr_Zug_DWeg_nsprefix_) else '' + self.Fstr_Zug_DWeg.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Fstr_Zug_DWeg', pretty_print=pretty_print) + for ID_BUE_Einschaltung_ in self.ID_BUE_Einschaltung: + namespaceprefix_ = self.ID_BUE_Einschaltung_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_BUE_Einschaltung_nsprefix_) else '' + ID_BUE_Einschaltung_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_BUE_Einschaltung', pretty_print=pretty_print) + if self.ID_Signal_Gruppenausfahrt is not None: + namespaceprefix_ = self.ID_Signal_Gruppenausfahrt_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Signal_Gruppenausfahrt_nsprefix_) else '' + self.ID_Signal_Gruppenausfahrt.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Signal_Gruppenausfahrt', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Automatische_Einstellung': + obj_ = TCAutomatische_Einstellung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Automatische_Einstellung = obj_ + obj_.original_tagname_ = 'Automatische_Einstellung' + elif nodeName_ == 'Fstr_Vsigabstand_Verkuerzt': + obj_ = TCFstr_Vsigabstand_Verkuerzt.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Fstr_Vsigabstand_Verkuerzt = obj_ + obj_.original_tagname_ = 'Fstr_Vsigabstand_Verkuerzt' + elif nodeName_ == 'Fstr_Zug_Art': + obj_ = TCFstr_Zug_Art.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Fstr_Zug_Art = obj_ + obj_.original_tagname_ = 'Fstr_Zug_Art' + elif nodeName_ == 'Fstr_Zug_DWeg': + obj_ = CFstr_Zug_DWeg.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Fstr_Zug_DWeg = obj_ + obj_.original_tagname_ = 'Fstr_Zug_DWeg' + elif nodeName_ == 'ID_BUE_Einschaltung': + obj_ = TCID_BUE_Einschaltung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_BUE_Einschaltung.append(obj_) + obj_.original_tagname_ = 'ID_BUE_Einschaltung' + elif nodeName_ == 'ID_Signal_Gruppenausfahrt': + obj_ = TCID_Signal.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Signal_Gruppenausfahrt = obj_ + obj_.original_tagname_ = 'ID_Signal_Gruppenausfahrt' +# end class CFstr_Zug + + +class TCFstr_Vsigabstand_Verkuerzt(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCFstr_Vsigabstand_Verkuerzt"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCFstr_Vsigabstand_Verkuerzt) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCFstr_Vsigabstand_Verkuerzt.subclass: + return TCFstr_Vsigabstand_Verkuerzt.subclass(*args_, **kwargs_) + else: + return TCFstr_Vsigabstand_Verkuerzt(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def has__content(self): + if ( + self.Wert is not None or + super(TCFstr_Vsigabstand_Verkuerzt, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsFahrstrasse:', namespacedef_='xmlns:nsFahrstrasse="http://www.plan-pro.org/modell/Fahrstrasse/1.10.0"', name_='TCFstr_Vsigabstand_Verkuerzt', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCFstr_Vsigabstand_Verkuerzt') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCFstr_Vsigabstand_Verkuerzt': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCFstr_Vsigabstand_Verkuerzt') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCFstr_Vsigabstand_Verkuerzt', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsFahrstrasse:', name_='TCFstr_Vsigabstand_Verkuerzt'): + super(TCFstr_Vsigabstand_Verkuerzt, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCFstr_Vsigabstand_Verkuerzt') + def _exportChildren(self, outfile, level, namespaceprefix_='nsFahrstrasse:', namespacedef_='xmlns:nsFahrstrasse="http://www.plan-pro.org/modell/Fahrstrasse/1.10.0"', name_='TCFstr_Vsigabstand_Verkuerzt', fromsubclass_=False, pretty_print=True): + super(TCFstr_Vsigabstand_Verkuerzt, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_boolean(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCFstr_Vsigabstand_Verkuerzt, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + sval_ = child_.text + ival_ = self.gds_parse_boolean(sval_, node, 'Wert') + ival_ = self.gds_validate_boolean(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + super(TCFstr_Vsigabstand_Verkuerzt, self)._buildChildren(child_, node, nodeName_, True) +# end class TCFstr_Vsigabstand_Verkuerzt + + +class CFstr_DWeg_W_Kr(CBasis_Objekt): + """CFstr_DWeg_W_Kr -- Zuordnung von Weichen und Kreuzungen zum in Fstr DWeg geplanten Durchrutschweg. Eine Zuordnung von Weichen und Kreuzungen + ü + ber den zugrunde liegenden Fstr Fahrweg ist nicht m + ö + glich, da das Ende des Durchrutschweges in einer Weiche liegen kann, deren Sicherung explizit geplant werden muss. Au + ß + erdem muss f + ü + r Weichen im Durchrutschweg angegeben werden, ob sie verschlossen werden sollen. Eine Angabe der Lage der Weiche ist nicht notwendig, da sich diese + ü + ber Fstr Fahrweg (Bereich Objekt) ergibt. Obwohl die Spalten + ü + berschrift in der Durchrutschwegtabelle auch von Gleissperren spricht, werden Gleissperren nicht vorgesehen. DB-Regelwerk Durchrutschwegtabelle, Spalten 9 - 12: \"Weichen, Kreuzungen, Gleissperren\" + Element_Verschluss -- Verschluss der Weiche im Durchrutschweg. Stumpf berutschte, auffahrbare Weichen im Durchrutschweg k + ö + nnen unverschlossen bleiben. + Das Attribut ist herstellerneutralit + ä + tskritisch. + DB-Regelwerk + Durchrutschwegtabelle, Spalten 9 - 12: \"Weichen, Kreuzungen, Gleissperren\" + ID_Fstr_DWeg -- Zuordnung von Weichen und Kreuzungen zum DWeg. DB-Regelwerk Durchrutschwegtabelle (gleiche Zeile) + ID_W_Kr_Gsp_Element -- Zuordnung von Weichen und Kreuzungen zum DWeg. DB-Regelwerk Durchrutschwegtabelle, Spalten 9 - 12: \"Weichen, Kreuzungen, Gleissperren - verschlie + ß + en/nicht verschlie + ß + en\" + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasis_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, Element_Verschluss=None, ID_Fstr_DWeg=None, ID_W_Kr_Gsp_Element=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CFstr_DWeg_W_Kr"), self).__init__(Identitaet, Basis_Objekt_Allg, ID_Bearbeitungsvermerk, ID_Oertlichkeit_Ausgabe, Objektreferenzen, **kwargs_) + self.Element_Verschluss = Element_Verschluss + self.Element_Verschluss_nsprefix_ = None + self.ID_Fstr_DWeg = ID_Fstr_DWeg + self.ID_Fstr_DWeg_nsprefix_ = None + self.ID_W_Kr_Gsp_Element = ID_W_Kr_Gsp_Element + self.ID_W_Kr_Gsp_Element_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CFstr_DWeg_W_Kr) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CFstr_DWeg_W_Kr.subclass: + return CFstr_DWeg_W_Kr.subclass(*args_, **kwargs_) + else: + return CFstr_DWeg_W_Kr(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Element_Verschluss(self): + return self.Element_Verschluss + def set_Element_Verschluss(self, Element_Verschluss): + self.Element_Verschluss = Element_Verschluss + def get_ID_Fstr_DWeg(self): + return self.ID_Fstr_DWeg + def set_ID_Fstr_DWeg(self, ID_Fstr_DWeg): + self.ID_Fstr_DWeg = ID_Fstr_DWeg + def get_ID_W_Kr_Gsp_Element(self): + return self.ID_W_Kr_Gsp_Element + def set_ID_W_Kr_Gsp_Element(self, ID_W_Kr_Gsp_Element): + self.ID_W_Kr_Gsp_Element = ID_W_Kr_Gsp_Element + def has__content(self): + if ( + self.Element_Verschluss is not None or + self.ID_Fstr_DWeg is not None or + self.ID_W_Kr_Gsp_Element is not None or + super(CFstr_DWeg_W_Kr, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsFahrstrasse:', namespacedef_='xmlns:nsFahrstrasse="http://www.plan-pro.org/modell/Fahrstrasse/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CFstr_DWeg_W_Kr', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CFstr_DWeg_W_Kr') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CFstr_DWeg_W_Kr': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CFstr_DWeg_W_Kr') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CFstr_DWeg_W_Kr', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsFahrstrasse:', name_='CFstr_DWeg_W_Kr'): + super(CFstr_DWeg_W_Kr, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CFstr_DWeg_W_Kr') + def _exportChildren(self, outfile, level, namespaceprefix_='nsFahrstrasse:', namespacedef_='xmlns:nsFahrstrasse="http://www.plan-pro.org/modell/Fahrstrasse/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CFstr_DWeg_W_Kr', fromsubclass_=False, pretty_print=True): + super(CFstr_DWeg_W_Kr, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Element_Verschluss is not None: + namespaceprefix_ = self.Element_Verschluss_nsprefix_ + ':' if (UseCapturedNS_ and self.Element_Verschluss_nsprefix_) else '' + self.Element_Verschluss.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Element_Verschluss', pretty_print=pretty_print) + if self.ID_Fstr_DWeg is not None: + namespaceprefix_ = self.ID_Fstr_DWeg_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Fstr_DWeg_nsprefix_) else '' + self.ID_Fstr_DWeg.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Fstr_DWeg', pretty_print=pretty_print) + if self.ID_W_Kr_Gsp_Element is not None: + namespaceprefix_ = self.ID_W_Kr_Gsp_Element_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_W_Kr_Gsp_Element_nsprefix_) else '' + self.ID_W_Kr_Gsp_Element.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_W_Kr_Gsp_Element', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CFstr_DWeg_W_Kr, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Element_Verschluss': + obj_ = TCElement_Verschluss.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Element_Verschluss = obj_ + obj_.original_tagname_ = 'Element_Verschluss' + elif nodeName_ == 'ID_Fstr_DWeg': + obj_ = TCID_Fstr_DWeg.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Fstr_DWeg = obj_ + obj_.original_tagname_ = 'ID_Fstr_DWeg' + elif nodeName_ == 'ID_W_Kr_Gsp_Element': + obj_ = TCID_W_Kr_Gsp_Element.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_W_Kr_Gsp_Element = obj_ + obj_.original_tagname_ = 'ID_W_Kr_Gsp_Element' + super(CFstr_DWeg_W_Kr, self)._buildChildren(child_, node, nodeName_, True) +# end class CFstr_DWeg_W_Kr + + +class CFstr_Rangier(GeneratedsSuper): + """Automatische_Einstellung -- M + ö + glichkeit des Fahrstra + ß + enansto + ß + es + ü + ber die manuelle Bedienung hinaus. Die Angabe f + ü + r eine Zugstra + ß + e gilt auch f + ü + r eventuell zugeh + ö + rige (davorliegende) Mittelweichenteilfahrstra + ß + en. DB-Regelwerk Zugstra + ß + entabelle, Spalte 9 \"Selbststellbetrieb/Zuglenkung\" + Fstr_Rangier_Art -- Art der Rangierstra + ß + e. RR + – + RangierRegel-, RT - RangierTeil-, RTU - RangierTeilUmfahr-, RU + – + RangierUmfahr-. DB-Regelwerk Rangierstra + ß + entabelle, Spalte 2 \"Art\" + ID_FMA_Anlage_Rangier_Frei -- Verweis auf den/die Freimeldeabschnitt(e), f + ü + r die eine positive Gleisfreimeldung vor Sh 1/Ra 12-Stellung f + ü + r die Rangierstra + ß + e notwendig ist. DB-Regelwerk Rangierstra + ß + entabelle, Spalte 10 \"Punktf + ö + rmige Gleisfreimeldepr + ü + fung erforderlich\" und Spalte 13 \"Verzicht auf Zielgleisfreipr + ü + fung\" + Rangier_Gegenfahrtausschluss -- Gegenfahrtausschluss von Rangierstra + ß + en in ein Inselgleis. Die Funktion entspricht Lastenheft ESTW R2.2.14. ja: Gegenfahrtausschluss besteht (Standardfunktion); Inselgleis_frei: Gegenfahrtausschluss besteht, wenn die Gegenrangierfahrt das Inselgleis noch nicht belegt hat; + nein: Gegenfahrtausschluss besteht nicht. Gibt es keine Gegenrangierstra + ß + e (das Ziel der Rangierstra + ß + e liegt nicht in einem Inselgleis), ist das Attribut nicht sinnvoll f + ü + llbar und somit im XML-Export nicht enthalten. DB-Regelwerk Rangierstra + ß + entabelle, Spalte 9 \"Ausschluss von Gegenfahrten\" + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Automatische_Einstellung=None, Fstr_Rangier_Art=None, ID_FMA_Anlage_Rangier_Frei=None, Rangier_Gegenfahrtausschluss=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Automatische_Einstellung = Automatische_Einstellung + self.Automatische_Einstellung_nsprefix_ = None + self.Fstr_Rangier_Art = Fstr_Rangier_Art + self.Fstr_Rangier_Art_nsprefix_ = None + if ID_FMA_Anlage_Rangier_Frei is None: + self.ID_FMA_Anlage_Rangier_Frei = [] + else: + self.ID_FMA_Anlage_Rangier_Frei = ID_FMA_Anlage_Rangier_Frei + self.ID_FMA_Anlage_Rangier_Frei_nsprefix_ = None + self.Rangier_Gegenfahrtausschluss = Rangier_Gegenfahrtausschluss + self.Rangier_Gegenfahrtausschluss_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CFstr_Rangier) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CFstr_Rangier.subclass: + return CFstr_Rangier.subclass(*args_, **kwargs_) + else: + return CFstr_Rangier(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Automatische_Einstellung(self): + return self.Automatische_Einstellung + def set_Automatische_Einstellung(self, Automatische_Einstellung): + self.Automatische_Einstellung = Automatische_Einstellung + def get_Fstr_Rangier_Art(self): + return self.Fstr_Rangier_Art + def set_Fstr_Rangier_Art(self, Fstr_Rangier_Art): + self.Fstr_Rangier_Art = Fstr_Rangier_Art + def get_ID_FMA_Anlage_Rangier_Frei(self): + return self.ID_FMA_Anlage_Rangier_Frei + def set_ID_FMA_Anlage_Rangier_Frei(self, ID_FMA_Anlage_Rangier_Frei): + self.ID_FMA_Anlage_Rangier_Frei = ID_FMA_Anlage_Rangier_Frei + def add_ID_FMA_Anlage_Rangier_Frei(self, value): + self.ID_FMA_Anlage_Rangier_Frei.append(value) + def insert_ID_FMA_Anlage_Rangier_Frei_at(self, index, value): + self.ID_FMA_Anlage_Rangier_Frei.insert(index, value) + def replace_ID_FMA_Anlage_Rangier_Frei_at(self, index, value): + self.ID_FMA_Anlage_Rangier_Frei[index] = value + def get_Rangier_Gegenfahrtausschluss(self): + return self.Rangier_Gegenfahrtausschluss + def set_Rangier_Gegenfahrtausschluss(self, Rangier_Gegenfahrtausschluss): + self.Rangier_Gegenfahrtausschluss = Rangier_Gegenfahrtausschluss + def has__content(self): + if ( + self.Automatische_Einstellung is not None or + self.Fstr_Rangier_Art is not None or + self.ID_FMA_Anlage_Rangier_Frei or + self.Rangier_Gegenfahrtausschluss is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsFahrstrasse:', namespacedef_='xmlns:nsFahrstrasse="http://www.plan-pro.org/modell/Fahrstrasse/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CFstr_Rangier', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CFstr_Rangier') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CFstr_Rangier': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CFstr_Rangier') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CFstr_Rangier', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsFahrstrasse:', name_='CFstr_Rangier'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsFahrstrasse:', namespacedef_='xmlns:nsFahrstrasse="http://www.plan-pro.org/modell/Fahrstrasse/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CFstr_Rangier', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Automatische_Einstellung is not None: + namespaceprefix_ = self.Automatische_Einstellung_nsprefix_ + ':' if (UseCapturedNS_ and self.Automatische_Einstellung_nsprefix_) else '' + self.Automatische_Einstellung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Automatische_Einstellung', pretty_print=pretty_print) + if self.Fstr_Rangier_Art is not None: + namespaceprefix_ = self.Fstr_Rangier_Art_nsprefix_ + ':' if (UseCapturedNS_ and self.Fstr_Rangier_Art_nsprefix_) else '' + self.Fstr_Rangier_Art.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Fstr_Rangier_Art', pretty_print=pretty_print) + for ID_FMA_Anlage_Rangier_Frei_ in self.ID_FMA_Anlage_Rangier_Frei: + namespaceprefix_ = self.ID_FMA_Anlage_Rangier_Frei_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_FMA_Anlage_Rangier_Frei_nsprefix_) else '' + ID_FMA_Anlage_Rangier_Frei_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_FMA_Anlage_Rangier_Frei', pretty_print=pretty_print) + if self.Rangier_Gegenfahrtausschluss is not None: + namespaceprefix_ = self.Rangier_Gegenfahrtausschluss_nsprefix_ + ':' if (UseCapturedNS_ and self.Rangier_Gegenfahrtausschluss_nsprefix_) else '' + self.Rangier_Gegenfahrtausschluss.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Rangier_Gegenfahrtausschluss', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Automatische_Einstellung': + obj_ = TCAutomatische_Einstellung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Automatische_Einstellung = obj_ + obj_.original_tagname_ = 'Automatische_Einstellung' + elif nodeName_ == 'Fstr_Rangier_Art': + obj_ = TCFstr_Rangier_Art.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Fstr_Rangier_Art = obj_ + obj_.original_tagname_ = 'Fstr_Rangier_Art' + elif nodeName_ == 'ID_FMA_Anlage_Rangier_Frei': + obj_ = TCID_FMA_Anlage_Rangier_Frei.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_FMA_Anlage_Rangier_Frei.append(obj_) + obj_.original_tagname_ = 'ID_FMA_Anlage_Rangier_Frei' + elif nodeName_ == 'Rangier_Gegenfahrtausschluss': + obj_ = TCRangier_Gegenfahrtausschluss.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Rangier_Gegenfahrtausschluss = obj_ + obj_.original_tagname_ = 'Rangier_Gegenfahrtausschluss' +# end class CFstr_Rangier + + +class CFMA_Anlage_Kaskade(GeneratedsSuper): + """FMA_Kaskade_Bezeichnung -- Erg + ä + nzt bei technisch notwendiger Unterteilung eines Gleisabschnitts in mehr als einen Freimeldeabschnitt die Bezeichnung. Die Erg + ä + nzung (i. d. R. .1, .2, .3, + … + ; aber auch a, b, c, + … + oder I, II, III, + … + ist m + ö + glich) wird der Bezeichnung des zugeordneten Objekts Gleis Abschnitt nachgestellt. DB-Regelwerk Planungsdaten: Sicherungstechnischer Lageplan, Gleisfreimeldeplan, Freimeldetabelle, Spalte 1. + FMA_Kaskade_Einzelauswertung -- Legt fest, ob bei Kaskadierung mehrerer Freimeldeabschnitte zu einem Gleisabschnitt zus + ä + tzlich zur Gesamtauswertung des Gleisabschnitts eine Einzelauswertung der einzelnen Freimeldeabschnitte vorgesehen ist. Dies ist u.A. sinnvoll, wenn ein Gleisabschnitt bei unterschiedlichen Fahrtrichtungen zwar in unterschiedlicher L + ä + nge ben + ö + tigt wird, jedoch in beiden Richtungen eine gemeinsame Grenze m + ö + glich ist. Wertzuordnung: true - Einzelauswertung vorgesehen, false - Einzelauswertung nicht vorgesehen. DB-Regelwerk Attribut ist im bisherigen PT1 ohne eindeutige Darstellung. Die Angabe kann mittelbar den Eintr + ä + gen in der Freimeldetabelle entnommen werden (eine zus + ä + tzliche Zeile f + ü + r den gesamten Gleisabschnitt zus + ä + tzlich zu den Zeilen f + ü + r jeden Teil-Freimeldeabschnitt. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, FMA_Kaskade_Bezeichnung=None, FMA_Kaskade_Einzelauswertung=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.FMA_Kaskade_Bezeichnung = FMA_Kaskade_Bezeichnung + self.FMA_Kaskade_Bezeichnung_nsprefix_ = None + self.FMA_Kaskade_Einzelauswertung = FMA_Kaskade_Einzelauswertung + self.FMA_Kaskade_Einzelauswertung_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CFMA_Anlage_Kaskade) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CFMA_Anlage_Kaskade.subclass: + return CFMA_Anlage_Kaskade.subclass(*args_, **kwargs_) + else: + return CFMA_Anlage_Kaskade(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_FMA_Kaskade_Bezeichnung(self): + return self.FMA_Kaskade_Bezeichnung + def set_FMA_Kaskade_Bezeichnung(self, FMA_Kaskade_Bezeichnung): + self.FMA_Kaskade_Bezeichnung = FMA_Kaskade_Bezeichnung + def get_FMA_Kaskade_Einzelauswertung(self): + return self.FMA_Kaskade_Einzelauswertung + def set_FMA_Kaskade_Einzelauswertung(self, FMA_Kaskade_Einzelauswertung): + self.FMA_Kaskade_Einzelauswertung = FMA_Kaskade_Einzelauswertung + def has__content(self): + if ( + self.FMA_Kaskade_Bezeichnung is not None or + self.FMA_Kaskade_Einzelauswertung is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsOrtung:', namespacedef_='xmlns:nsOrtung="http://www.plan-pro.org/modell/Ortung/1.10.0"', name_='CFMA_Anlage_Kaskade', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CFMA_Anlage_Kaskade') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CFMA_Anlage_Kaskade': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CFMA_Anlage_Kaskade') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CFMA_Anlage_Kaskade', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsOrtung:', name_='CFMA_Anlage_Kaskade'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsOrtung:', namespacedef_='xmlns:nsOrtung="http://www.plan-pro.org/modell/Ortung/1.10.0"', name_='CFMA_Anlage_Kaskade', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.FMA_Kaskade_Bezeichnung is not None: + namespaceprefix_ = self.FMA_Kaskade_Bezeichnung_nsprefix_ + ':' if (UseCapturedNS_ and self.FMA_Kaskade_Bezeichnung_nsprefix_) else '' + self.FMA_Kaskade_Bezeichnung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='FMA_Kaskade_Bezeichnung', pretty_print=pretty_print) + if self.FMA_Kaskade_Einzelauswertung is not None: + namespaceprefix_ = self.FMA_Kaskade_Einzelauswertung_nsprefix_ + ':' if (UseCapturedNS_ and self.FMA_Kaskade_Einzelauswertung_nsprefix_) else '' + self.FMA_Kaskade_Einzelauswertung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='FMA_Kaskade_Einzelauswertung', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'FMA_Kaskade_Bezeichnung': + obj_ = TCFMA_Kaskade_Bezeichnung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.FMA_Kaskade_Bezeichnung = obj_ + obj_.original_tagname_ = 'FMA_Kaskade_Bezeichnung' + elif nodeName_ == 'FMA_Kaskade_Einzelauswertung': + obj_ = TCFMA_Kaskade_Einzelauswertung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.FMA_Kaskade_Einzelauswertung = obj_ + obj_.original_tagname_ = 'FMA_Kaskade_Einzelauswertung' +# end class CFMA_Anlage_Kaskade + + +class CFMA_Anlage_Uebertragung_FMinfo(GeneratedsSuper): + """ID_Uebertragung_FMinfo -- Verweis auf eine benachbarte Aussenelementansteuerung, mit der die Freimeldeinformation dieser FMA Anlage ausgetauscht wird. Voraussetzung f + ü + r die Verwendung dieses Zeigers ist, dass die Freimeldeinformation in zwei Au + ß + enelementansteuerungen verwertet wird, die unterschiedlichen Unterbringungen zugeordnet sind, weshalb eine Daten + ü + bertragung erfolgen muss. Der Zeiger wird erg + ä + nzt mit den Attributen Uebertragung FMinfo Richtung und Uebertragung FMinfo Typ. DB-Regelwerk Attribut ist im bisherigen PT 1 ohne eindeutige Darstellung. + Uebertragung_FMinfo_Richtung -- Beschreibung der Richtung des Informationsflusses mit einer benachbarten Au + ß + enelementansteuerung. Ist nur in Verbindung mit ID Uebertragung FMinfo erforderlich. Wertzuordnung: gehend: Freimeldeabschnitt + ü + bergibt Information an andere Au + ß + enelementansteuerung, kommend: Freimeldeabschnitt erh + ä + lt Information von anderer Au + ß + enelementansteuerung. DB-Regelwerk Ist im bisherigen PT1 ohne eindeutige Darstellung. + Uebertragung_FMinfo_Typ -- Bezeichnet das technische System der Informations + ü + bertragung. Ist nur in Verbindung mit ID Uebertragung FMinfo erforderlich. Beispiele: EF 180, FMX 2, Simis DTS, TF 460, Vital 21. DB-Regelwerk Ist im bisherigen PT 1 ohne eindeutige Darstellung. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, ID_Uebertragung_FMinfo=None, Uebertragung_FMinfo_Richtung=None, Uebertragung_FMinfo_Typ=None, gds_collector_=None, **kwargs_): + self.gds_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_Uebertragung_FMinfo = ID_Uebertragung_FMinfo + self.ID_Uebertragung_FMinfo_nsprefix_ = None + self.Uebertragung_FMinfo_Richtung = Uebertragung_FMinfo_Richtung + self.Uebertragung_FMinfo_Richtung_nsprefix_ = None + self.Uebertragung_FMinfo_Typ = Uebertragung_FMinfo_Typ + self.Uebertragung_FMinfo_Typ_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CFMA_Anlage_Uebertragung_FMinfo) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CFMA_Anlage_Uebertragung_FMinfo.subclass: + return CFMA_Anlage_Uebertragung_FMinfo.subclass(*args_, **kwargs_) + else: + return CFMA_Anlage_Uebertragung_FMinfo(*args_, **kwargs_) + factory = staticmethod(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_Uebertragung_FMinfo(self): + return self.ID_Uebertragung_FMinfo + def set_ID_Uebertragung_FMinfo(self, ID_Uebertragung_FMinfo): + self.ID_Uebertragung_FMinfo = ID_Uebertragung_FMinfo + def get_Uebertragung_FMinfo_Richtung(self): + return self.Uebertragung_FMinfo_Richtung + def set_Uebertragung_FMinfo_Richtung(self, Uebertragung_FMinfo_Richtung): + self.Uebertragung_FMinfo_Richtung = Uebertragung_FMinfo_Richtung + def get_Uebertragung_FMinfo_Typ(self): + return self.Uebertragung_FMinfo_Typ + def set_Uebertragung_FMinfo_Typ(self, Uebertragung_FMinfo_Typ): + self.Uebertragung_FMinfo_Typ = Uebertragung_FMinfo_Typ + def has__content(self): + if ( + self.ID_Uebertragung_FMinfo is not None or + self.Uebertragung_FMinfo_Richtung is not None or + self.Uebertragung_FMinfo_Typ is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsOrtung:', namespacedef_='xmlns:nsOrtung="http://www.plan-pro.org/modell/Ortung/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CFMA_Anlage_Uebertragung_FMinfo', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CFMA_Anlage_Uebertragung_FMinfo') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CFMA_Anlage_Uebertragung_FMinfo': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CFMA_Anlage_Uebertragung_FMinfo') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CFMA_Anlage_Uebertragung_FMinfo', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsOrtung:', name_='CFMA_Anlage_Uebertragung_FMinfo'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsOrtung:', namespacedef_='xmlns:nsOrtung="http://www.plan-pro.org/modell/Ortung/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CFMA_Anlage_Uebertragung_FMinfo', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.ID_Uebertragung_FMinfo is not None: + namespaceprefix_ = self.ID_Uebertragung_FMinfo_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Uebertragung_FMinfo_nsprefix_) else '' + self.ID_Uebertragung_FMinfo.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Uebertragung_FMinfo', pretty_print=pretty_print) + if self.Uebertragung_FMinfo_Richtung is not None: + namespaceprefix_ = self.Uebertragung_FMinfo_Richtung_nsprefix_ + ':' if (UseCapturedNS_ and self.Uebertragung_FMinfo_Richtung_nsprefix_) else '' + self.Uebertragung_FMinfo_Richtung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Uebertragung_FMinfo_Richtung', pretty_print=pretty_print) + if self.Uebertragung_FMinfo_Typ is not None: + namespaceprefix_ = self.Uebertragung_FMinfo_Typ_nsprefix_ + ':' if (UseCapturedNS_ and self.Uebertragung_FMinfo_Typ_nsprefix_) else '' + self.Uebertragung_FMinfo_Typ.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Uebertragung_FMinfo_Typ', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Uebertragung_FMinfo': + obj_ = TCID_Aussenelementansteuerung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Uebertragung_FMinfo = obj_ + obj_.original_tagname_ = 'ID_Uebertragung_FMinfo' + elif nodeName_ == 'Uebertragung_FMinfo_Richtung': + obj_ = TCUebertragung_FMinfo_Richtung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Uebertragung_FMinfo_Richtung = obj_ + obj_.original_tagname_ = 'Uebertragung_FMinfo_Richtung' + elif nodeName_ == 'Uebertragung_FMinfo_Typ': + obj_ = TCUebertragung_FMinfo_Typ.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Uebertragung_FMinfo_Typ = obj_ + obj_.original_tagname_ = 'Uebertragung_FMinfo_Typ' +# end class CFMA_Anlage_Uebertragung_FMinfo + + +class TCFMA_Anschluss_Bezeichnung(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCFMA_Anschluss_Bezeichnung"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TFMA_Anschluss_Bezeichnung(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCFMA_Anschluss_Bezeichnung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCFMA_Anschluss_Bezeichnung.subclass: + return TCFMA_Anschluss_Bezeichnung.subclass(*args_, **kwargs_) + else: + return TCFMA_Anschluss_Bezeichnung(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TFMA_Anschluss_Bezeichnung(self, value): + result = True + # Validate type TFMA_Anschluss_Bezeichnung, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TFMA_Anschluss_Bezeichnung_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TFMA_Anschluss_Bezeichnung_patterns_, )) + result = False + return result + validate_TFMA_Anschluss_Bezeichnung_patterns_ = [['^(.{2,8})$'], ['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCFMA_Anschluss_Bezeichnung, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsOrtung:', namespacedef_='xmlns:nsOrtung="http://www.plan-pro.org/modell/Ortung/1.10.0"', name_='TCFMA_Anschluss_Bezeichnung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCFMA_Anschluss_Bezeichnung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCFMA_Anschluss_Bezeichnung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCFMA_Anschluss_Bezeichnung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCFMA_Anschluss_Bezeichnung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsOrtung:', name_='TCFMA_Anschluss_Bezeichnung'): + super(TCFMA_Anschluss_Bezeichnung, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCFMA_Anschluss_Bezeichnung') + def _exportChildren(self, outfile, level, namespaceprefix_='nsOrtung:', namespacedef_='xmlns:nsOrtung="http://www.plan-pro.org/modell/Ortung/1.10.0"', name_='TCFMA_Anschluss_Bezeichnung', fromsubclass_=False, pretty_print=True): + super(TCFMA_Anschluss_Bezeichnung, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCFMA_Anschluss_Bezeichnung, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TFMA_Anschluss_Bezeichnung + self.validate_TFMA_Anschluss_Bezeichnung(self.Wert) + super(TCFMA_Anschluss_Bezeichnung, self)._buildChildren(child_, node, nodeName_, True) +# end class TCFMA_Anschluss_Bezeichnung + + +class TCFMA_Laenge_Beeinflusst(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCFMA_Laenge_Beeinflusst"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TFMA_Laenge_Beeinflusst(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCFMA_Laenge_Beeinflusst) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCFMA_Laenge_Beeinflusst.subclass: + return TCFMA_Laenge_Beeinflusst.subclass(*args_, **kwargs_) + else: + return TCFMA_Laenge_Beeinflusst(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TFMA_Laenge_Beeinflusst(self, value): + result = True + # Validate type TFMA_Laenge_Beeinflusst, a restriction on nsBasisTypen:TMeter. + 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 not self.gds_validate_simple_patterns( + self.validate_TFMA_Laenge_Beeinflusst_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TFMA_Laenge_Beeinflusst_patterns_, )) + result = False + return result + validate_TFMA_Laenge_Beeinflusst_patterns_ = [['^([1-9][0-9]{0,2}|1[0-4][0-9]{2}|1500)$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCFMA_Laenge_Beeinflusst, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsOrtung:', namespacedef_='xmlns:nsOrtung="http://www.plan-pro.org/modell/Ortung/1.10.0"', name_='TCFMA_Laenge_Beeinflusst', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCFMA_Laenge_Beeinflusst') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCFMA_Laenge_Beeinflusst': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCFMA_Laenge_Beeinflusst') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCFMA_Laenge_Beeinflusst', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsOrtung:', name_='TCFMA_Laenge_Beeinflusst'): + super(TCFMA_Laenge_Beeinflusst, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCFMA_Laenge_Beeinflusst') + def _exportChildren(self, outfile, level, namespaceprefix_='nsOrtung:', namespacedef_='xmlns:nsOrtung="http://www.plan-pro.org/modell/Ortung/1.10.0"', name_='TCFMA_Laenge_Beeinflusst', fromsubclass_=False, pretty_print=True): + super(TCFMA_Laenge_Beeinflusst, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_decimal(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCFMA_Laenge_Beeinflusst, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + fval_ = self.gds_parse_decimal(sval_, node, 'Wert') + fval_ = self.gds_validate_decimal(fval_, node, 'Wert') + self.Wert = fval_ + self.Wert_nsprefix_ = child_.prefix + # validate type TFMA_Laenge_Beeinflusst + self.validate_TFMA_Laenge_Beeinflusst(self.Wert) + super(TCFMA_Laenge_Beeinflusst, self)._buildChildren(child_, node, nodeName_, True) +# end class TCFMA_Laenge_Beeinflusst + + +class CFMA_Anlage_Allg(GeneratedsSuper): + """FMA_Art -- Art der Gleisfreimeldeanlage. DB-Regelwerk Im bisherigen PT1 ist dies nur mittelbar durch die vorgenommenen Eintragungen in den jeweiligen Bereichen der Freimeldetabelle erkennbar. + FMA_Hilffreimeldung -- Gibt an, ob eine Hilfsfreimeldung eingerichtet ist. Wertzuordnung: true - Hilfsfreimeldung eingerichtet, false - Hilfsfreimeldung nicht eingerichtet. DB-Regelwerk Planungsdaten: Freimeldetabelle, Spalte 18 + FMA_Isolierung -- Art der Isolierung bei Gleisstromkreisen. + FMA_Typ -- Vollst + ä + ndige Bezeichnung des technischen Typs der Gleisfreimeldeanlage. Beispiele: AZ SM[E], FTG S 917 W, GF 100 zu WM 74. DB-Regelwerk Planungsdaten: Freimeldetabelle, Spalte 3, 7 oder 12 + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, FMA_Art=None, FMA_Hilffreimeldung=None, FMA_Isolierung=None, FMA_Typ=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.FMA_Art = FMA_Art + self.FMA_Art_nsprefix_ = None + self.FMA_Hilffreimeldung = FMA_Hilffreimeldung + self.FMA_Hilffreimeldung_nsprefix_ = None + self.FMA_Isolierung = FMA_Isolierung + self.FMA_Isolierung_nsprefix_ = None + self.FMA_Typ = FMA_Typ + self.FMA_Typ_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CFMA_Anlage_Allg) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CFMA_Anlage_Allg.subclass: + return CFMA_Anlage_Allg.subclass(*args_, **kwargs_) + else: + return CFMA_Anlage_Allg(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_FMA_Art(self): + return self.FMA_Art + def set_FMA_Art(self, FMA_Art): + self.FMA_Art = FMA_Art + def get_FMA_Hilffreimeldung(self): + return self.FMA_Hilffreimeldung + def set_FMA_Hilffreimeldung(self, FMA_Hilffreimeldung): + self.FMA_Hilffreimeldung = FMA_Hilffreimeldung + def get_FMA_Isolierung(self): + return self.FMA_Isolierung + def set_FMA_Isolierung(self, FMA_Isolierung): + self.FMA_Isolierung = FMA_Isolierung + def get_FMA_Typ(self): + return self.FMA_Typ + def set_FMA_Typ(self, FMA_Typ): + self.FMA_Typ = FMA_Typ + def has__content(self): + if ( + self.FMA_Art is not None or + self.FMA_Hilffreimeldung is not None or + self.FMA_Isolierung is not None or + self.FMA_Typ is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsOrtung:', namespacedef_='xmlns:nsOrtung="http://www.plan-pro.org/modell/Ortung/1.10.0"', name_='CFMA_Anlage_Allg', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CFMA_Anlage_Allg') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CFMA_Anlage_Allg': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CFMA_Anlage_Allg') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CFMA_Anlage_Allg', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsOrtung:', name_='CFMA_Anlage_Allg'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsOrtung:', namespacedef_='xmlns:nsOrtung="http://www.plan-pro.org/modell/Ortung/1.10.0"', name_='CFMA_Anlage_Allg', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.FMA_Art is not None: + namespaceprefix_ = self.FMA_Art_nsprefix_ + ':' if (UseCapturedNS_ and self.FMA_Art_nsprefix_) else '' + self.FMA_Art.export(outfile, level, namespaceprefix_, namespacedef_='', name_='FMA_Art', pretty_print=pretty_print) + if self.FMA_Hilffreimeldung is not None: + namespaceprefix_ = self.FMA_Hilffreimeldung_nsprefix_ + ':' if (UseCapturedNS_ and self.FMA_Hilffreimeldung_nsprefix_) else '' + self.FMA_Hilffreimeldung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='FMA_Hilffreimeldung', pretty_print=pretty_print) + if self.FMA_Isolierung is not None: + namespaceprefix_ = self.FMA_Isolierung_nsprefix_ + ':' if (UseCapturedNS_ and self.FMA_Isolierung_nsprefix_) else '' + self.FMA_Isolierung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='FMA_Isolierung', pretty_print=pretty_print) + if self.FMA_Typ is not None: + namespaceprefix_ = self.FMA_Typ_nsprefix_ + ':' if (UseCapturedNS_ and self.FMA_Typ_nsprefix_) else '' + self.FMA_Typ.export(outfile, level, namespaceprefix_, namespacedef_='', name_='FMA_Typ', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'FMA_Art': + obj_ = TCFMA_Art.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.FMA_Art = obj_ + obj_.original_tagname_ = 'FMA_Art' + elif nodeName_ == 'FMA_Hilffreimeldung': + obj_ = TCFMA_Hilffreimeldung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.FMA_Hilffreimeldung = obj_ + obj_.original_tagname_ = 'FMA_Hilffreimeldung' + elif nodeName_ == 'FMA_Isolierung': + obj_ = TCFMA_Isolierung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.FMA_Isolierung = obj_ + obj_.original_tagname_ = 'FMA_Isolierung' + elif nodeName_ == 'FMA_Typ': + obj_ = TCFMA_Typ.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.FMA_Typ = obj_ + obj_.original_tagname_ = 'FMA_Typ' +# end class CFMA_Anlage_Allg + + +class CFMA_Anlage(CBasis_Objekt): + """CFMA_Anlage -- Technische Anlage, die einen Gleisabschnitt auf Freisein von Schienenfahrzeugen + ü + berwacht; entspricht im gew + ö + hnlichen Sprachgebrauch dem Freimeldeabschnitt. Eine FMA_Anlage wird alleinstehend zur Fahrwegfreipr + ü + fung bzw. zur Freipr + ü + fung des Flankenschutzraumes genutzt sowie in Auswertung der Reihenfolge von Belegung und Wieder-Frei-Werden zur Erfassung einer Fahrt und damit zur Aufl + ö + sung von Teilfahrstra + ß + en. Auch andere Schaltvorg + ä + nge k + ö + nnen durch eine FMA_Anlage ausgel + ö + st werden. Die FMA_Anlage hat mindestens eine Au + ß + enanlage (z. B. Drosselspule, Achsz + ä + hlpunkt) und beansprucht Anteile an einer Gleisfreimelde-Innenanlage (z. B. Motorrelaisgruppe, Achsz + ä + hlrechner). DB-Regelwerk Typspezifische Planungshinweise und Technische Mitteilungen; Planungsdaten: Sicherungstechnischer Lageplan, B + Ü + -Lageplan; Gleisfreimeldepl + ä + ne (Achsz + ä + hl + ü + bersichtsplan, Gleisisolierplan); Freimeldetabelle. + Bezeichnung -- Attributgruppe zur Bezeichnung von Stell- und sonstigen Elementen. Sofern ausreichend, wird an dieser Stelle + ü + ber Vererbung die Basisattributgruppe Bezeichnung Element eingebunden. Ist die Abbildung mit den Attributen der Basisattributgruppe nicht m + ö + glich (z. B. wegen spezieller Patternvorgabe) oder nicht sinnvoll (z. B. weil eine Unterscheidung nach Bezeichnung_Lageplan_..., Bezeichnung_Tabelle und Bezeichnung_Aussenanlage (Pflichtattribute!) nicht notwendig ist), werden in der Attributgruppe Bezeichnung entsprechende objektspezifische Bezeichnungsattribute modelliert. Diese sind nach dem Schema Bezeichnung_[Objektname] zu benennen. Zudem ist es m + ö + glich, gleichzeitig die Basisattributgruppe Bezeichnung Element und objektspezifische Attribute einzubinden. Siehe auch Bildung der Bezeichnungen. DB-Regelwerk Sicherungstechnischer Lage- und + Ü + bersichtsplan, B + Ü + -Lageplan Planungstabellen + ID_Gleis_Abschnitt -- Gleis_Abschnitt, der auf Freisein von Schienenfahrzeugen + ü + berwacht wird. DB-Regelwerk Sicherungstechnischer Lageplan, B + Ü + -Lageplan + ID_Gleisfreimelde_Innenanlage -- Verweis auf eine Aussenelementansteuerung, die die logische Aufbereitung der Daten der FMA Anlage (prim + ä + r zur Information frei/belegt) + ü + bernimmt. Im Fall, dass der Achsz + ä + hlrechner direkt einem ESTW-A zugeordnet ist, wird auf eine Aussenelementansteuerung der Art \"ESTW_A\" verwiesen. Sofern ein separat stehender Achsz + ä + hlrechner vorgesehen ist, erfolgt der Verweis auf eine Aussenelementansteuerung der Art \"Gleisfreimelde_Innennanlage\". Die Unterbringung dieser Au + ß + enelementansteuerung muss nicht zwingend identisch mit der Unterbringung der Au + ß + enelementansteuerung sein, die die Ergebnisse der Gleisfreimelde-Innenanlage verwertet. Bei Achsz + ä + hlanlagen gilt speziell: Zus + ä + tzlich muss auch noch die Au + ß + enelementansteuerung bekannt sein, an die die zugeh + ö + rigen Achsz + ä + hler angeschlossen sind, siehe dazu die Attribute des Objekts FMA Komponente. DB-Regelwerk Im bisherigen PT1 ohne eindeutige Darstellung. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasis_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, Bezeichnung=None, FMA_Anlage_Allg=None, FMA_Anlage_Elektr_Merkmale=None, FMA_Anlage_Kaskade=None, FMA_Anlage_Uebertragung_FMinfo=None, ID_Gleis_Abschnitt=None, ID_Gleisfreimelde_Innenanlage=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CFMA_Anlage"), self).__init__(Identitaet, Basis_Objekt_Allg, ID_Bearbeitungsvermerk, ID_Oertlichkeit_Ausgabe, Objektreferenzen, **kwargs_) + self.Bezeichnung = Bezeichnung + self.Bezeichnung_nsprefix_ = None + self.FMA_Anlage_Allg = FMA_Anlage_Allg + self.FMA_Anlage_Allg_nsprefix_ = None + self.FMA_Anlage_Elektr_Merkmale = FMA_Anlage_Elektr_Merkmale + self.FMA_Anlage_Elektr_Merkmale_nsprefix_ = None + self.FMA_Anlage_Kaskade = FMA_Anlage_Kaskade + self.FMA_Anlage_Kaskade_nsprefix_ = None + self.FMA_Anlage_Uebertragung_FMinfo = FMA_Anlage_Uebertragung_FMinfo + self.FMA_Anlage_Uebertragung_FMinfo_nsprefix_ = None + self.ID_Gleis_Abschnitt = ID_Gleis_Abschnitt + self.ID_Gleis_Abschnitt_nsprefix_ = None + self.ID_Gleisfreimelde_Innenanlage = ID_Gleisfreimelde_Innenanlage + self.ID_Gleisfreimelde_Innenanlage_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CFMA_Anlage) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CFMA_Anlage.subclass: + return CFMA_Anlage.subclass(*args_, **kwargs_) + else: + return CFMA_Anlage(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Bezeichnung(self): + return self.Bezeichnung + def set_Bezeichnung(self, Bezeichnung): + self.Bezeichnung = Bezeichnung + def get_FMA_Anlage_Allg(self): + return self.FMA_Anlage_Allg + def set_FMA_Anlage_Allg(self, FMA_Anlage_Allg): + self.FMA_Anlage_Allg = FMA_Anlage_Allg + def get_FMA_Anlage_Elektr_Merkmale(self): + return self.FMA_Anlage_Elektr_Merkmale + def set_FMA_Anlage_Elektr_Merkmale(self, FMA_Anlage_Elektr_Merkmale): + self.FMA_Anlage_Elektr_Merkmale = FMA_Anlage_Elektr_Merkmale + def get_FMA_Anlage_Kaskade(self): + return self.FMA_Anlage_Kaskade + def set_FMA_Anlage_Kaskade(self, FMA_Anlage_Kaskade): + self.FMA_Anlage_Kaskade = FMA_Anlage_Kaskade + def get_FMA_Anlage_Uebertragung_FMinfo(self): + return self.FMA_Anlage_Uebertragung_FMinfo + def set_FMA_Anlage_Uebertragung_FMinfo(self, FMA_Anlage_Uebertragung_FMinfo): + self.FMA_Anlage_Uebertragung_FMinfo = FMA_Anlage_Uebertragung_FMinfo + def get_ID_Gleis_Abschnitt(self): + return self.ID_Gleis_Abschnitt + def set_ID_Gleis_Abschnitt(self, ID_Gleis_Abschnitt): + self.ID_Gleis_Abschnitt = ID_Gleis_Abschnitt + def get_ID_Gleisfreimelde_Innenanlage(self): + return self.ID_Gleisfreimelde_Innenanlage + def set_ID_Gleisfreimelde_Innenanlage(self, ID_Gleisfreimelde_Innenanlage): + self.ID_Gleisfreimelde_Innenanlage = ID_Gleisfreimelde_Innenanlage + def has__content(self): + if ( + self.Bezeichnung is not None or + self.FMA_Anlage_Allg is not None or + self.FMA_Anlage_Elektr_Merkmale is not None or + self.FMA_Anlage_Kaskade is not None or + self.FMA_Anlage_Uebertragung_FMinfo is not None or + self.ID_Gleis_Abschnitt is not None or + self.ID_Gleisfreimelde_Innenanlage is not None or + super(CFMA_Anlage, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsOrtung:', namespacedef_='xmlns:nsOrtung="http://www.plan-pro.org/modell/Ortung/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CFMA_Anlage', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CFMA_Anlage') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CFMA_Anlage': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CFMA_Anlage') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CFMA_Anlage', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsOrtung:', name_='CFMA_Anlage'): + super(CFMA_Anlage, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CFMA_Anlage') + def _exportChildren(self, outfile, level, namespaceprefix_='nsOrtung:', namespacedef_='xmlns:nsOrtung="http://www.plan-pro.org/modell/Ortung/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CFMA_Anlage', fromsubclass_=False, pretty_print=True): + super(CFMA_Anlage, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Bezeichnung is not None: + namespaceprefix_ = self.Bezeichnung_nsprefix_ + ':' if (UseCapturedNS_ and self.Bezeichnung_nsprefix_) else '' + self.Bezeichnung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Bezeichnung', pretty_print=pretty_print) + if self.FMA_Anlage_Allg is not None: + namespaceprefix_ = self.FMA_Anlage_Allg_nsprefix_ + ':' if (UseCapturedNS_ and self.FMA_Anlage_Allg_nsprefix_) else '' + self.FMA_Anlage_Allg.export(outfile, level, namespaceprefix_, namespacedef_='', name_='FMA_Anlage_Allg', pretty_print=pretty_print) + if self.FMA_Anlage_Elektr_Merkmale is not None: + namespaceprefix_ = self.FMA_Anlage_Elektr_Merkmale_nsprefix_ + ':' if (UseCapturedNS_ and self.FMA_Anlage_Elektr_Merkmale_nsprefix_) else '' + self.FMA_Anlage_Elektr_Merkmale.export(outfile, level, namespaceprefix_, namespacedef_='', name_='FMA_Anlage_Elektr_Merkmale', pretty_print=pretty_print) + if self.FMA_Anlage_Kaskade is not None: + namespaceprefix_ = self.FMA_Anlage_Kaskade_nsprefix_ + ':' if (UseCapturedNS_ and self.FMA_Anlage_Kaskade_nsprefix_) else '' + self.FMA_Anlage_Kaskade.export(outfile, level, namespaceprefix_, namespacedef_='', name_='FMA_Anlage_Kaskade', pretty_print=pretty_print) + if self.FMA_Anlage_Uebertragung_FMinfo is not None: + namespaceprefix_ = self.FMA_Anlage_Uebertragung_FMinfo_nsprefix_ + ':' if (UseCapturedNS_ and self.FMA_Anlage_Uebertragung_FMinfo_nsprefix_) else '' + self.FMA_Anlage_Uebertragung_FMinfo.export(outfile, level, namespaceprefix_, namespacedef_='', name_='FMA_Anlage_Uebertragung_FMinfo', pretty_print=pretty_print) + if self.ID_Gleis_Abschnitt is not None: + namespaceprefix_ = self.ID_Gleis_Abschnitt_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Gleis_Abschnitt_nsprefix_) else '' + self.ID_Gleis_Abschnitt.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Gleis_Abschnitt', pretty_print=pretty_print) + if self.ID_Gleisfreimelde_Innenanlage is not None: + namespaceprefix_ = self.ID_Gleisfreimelde_Innenanlage_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Gleisfreimelde_Innenanlage_nsprefix_) else '' + self.ID_Gleisfreimelde_Innenanlage.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Gleisfreimelde_Innenanlage', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CFMA_Anlage, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Bezeichnung': + obj_ = CFMA_Anlage_Bezeichnung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Bezeichnung = obj_ + obj_.original_tagname_ = 'Bezeichnung' + elif nodeName_ == 'FMA_Anlage_Allg': + obj_ = CFMA_Anlage_Allg.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.FMA_Anlage_Allg = obj_ + obj_.original_tagname_ = 'FMA_Anlage_Allg' + elif nodeName_ == 'FMA_Anlage_Elektr_Merkmale': + obj_ = CFMA_Anlage_Elektr_Merkmale.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.FMA_Anlage_Elektr_Merkmale = obj_ + obj_.original_tagname_ = 'FMA_Anlage_Elektr_Merkmale' + elif nodeName_ == 'FMA_Anlage_Kaskade': + obj_ = CFMA_Anlage_Kaskade.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.FMA_Anlage_Kaskade = obj_ + obj_.original_tagname_ = 'FMA_Anlage_Kaskade' + elif nodeName_ == 'FMA_Anlage_Uebertragung_FMinfo': + obj_ = CFMA_Anlage_Uebertragung_FMinfo.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.FMA_Anlage_Uebertragung_FMinfo = obj_ + obj_.original_tagname_ = 'FMA_Anlage_Uebertragung_FMinfo' + elif nodeName_ == 'ID_Gleis_Abschnitt': + obj_ = TCID_Gleis_Abschnitt.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Gleis_Abschnitt = obj_ + obj_.original_tagname_ = 'ID_Gleis_Abschnitt' + elif nodeName_ == 'ID_Gleisfreimelde_Innenanlage': + obj_ = TCID_Aussenelementansteuerung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Gleisfreimelde_Innenanlage = obj_ + obj_.original_tagname_ = 'ID_Gleisfreimelde_Innenanlage' + super(CFMA_Anlage, self)._buildChildren(child_, node, nodeName_, True) +# end class CFMA_Anlage + + +class CFMA_Komponente_Achszaehlpunkt(GeneratedsSuper): + """FMA_Komponente_Schienenprofil -- Hinsichtlich der Befestigung zu ber + ü + cksichtigendes Schienenprofil. Bei Auswahl von \"sonstige\" ist ein Bearbeitungsvermerk mit entsprechenden Erl + ä + uterungen anzuf + ü + gen. + FMA_Komponente_Stromversorgung -- Kennzeichnet den Weg der Stromversorgung im Vergleich mit dem Weg der Informations + ü + bertragung. Die Angabe ist nur bei Achsz + ä + hlpunkten erforderlich. Wertezuordnung: true - entspricht dem Eintrag \"fern\" im bisherigen PT 1 (Stromversorgung in separaten Adern), hierbei m + ü + ssen ID Energie und ID Information auf unterschiedliche Au + ß + enelementansteuerungen verweisen, false - entspricht den Eintr + ä + gen \"eigen\" und \"fremd\" im bisherigen PT 1 (Stromversorgung und Informations + ü + bertragung + ü + ber die selben Adern), die weitere Unterscheidung zwischen \"eigen\" und \"fremd\" geht aus dem Vergleich von ID Energie und ID Information hervor. DB-Regelwerk Achsz + ä + hltabelle, Spalte 3 + FMA_Komponente_Typ -- Technische Typbezeichnung. Ist nur bei Achsz + ä + hlpunkten erforderlich. Beispiele: RSR 122, ZP 30H, ZP 43. DB-Regelwerk Achsz + ä + hltabelle, Spalte 2 + ID_Energie -- Verweis auf die Aussenelementansteuerung, von der die Energieversorgung des Stellelements oder der FMA Komponente erfolgt. Objekte, die Stellelemente\" href=\"//Stellelement\"\u003eStellelemente sind, enthalten keine eigenen Attribute ID_Energie und ID Information, sondern verweisen auf das Objekt Stellelement, das diese Attribute enth + ä + lt. Nicht-Stellelemente (z. B. der Achsz + ä + hlpunkt als FMA Komponente) hingegen m + ü + ssen diese Attribute selbst enthalten. DB-Regelwerk bei Achsz + ä + hlpunkten: Achsz + ä + hlpunkttabelle, Spalte 4 (und redundant dazu: Freimeldetabelle, Spalte 4); bei anderen Typen von Freimeldeanlagen: im bisherigen PT1 ohne eindeutige Darstellung, in der Regel mittelbar aus dem Sicherungstechnischen Lageplan/B + Ü + -Lageplan ermittelbar. + ID_Information -- Verweis auf die Aussenelementansteuerung, von der die Informationsversorgung des Stellelements bzw. die Informationsverarbeitung der FMA Komponente erfolgt. Objekte, die Stellelemente\" href=\"//Stellelement\"\u003eStellelemente sind, enthalten keine eigenen Attribute ID Energie und ID_Information, sondern verweisen auf das Objekt Stellelement, das diese Attribute enth + ä + lt. Nicht-Stellelemente (z.B. der Achsz + ä + hlpunkt als FMA Komponente) hingegen m + ü + ssen diese Attribute selbst enthalten. DB-Regelwerk Im bisherigen PT1 ohne eindeutige Darstellung. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, FMA_Komponente_Schienenprofil=None, FMA_Komponente_Stromversorgung=None, FMA_Komponente_Typ=None, ID_Energie=None, ID_Information=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.FMA_Komponente_Schienenprofil = FMA_Komponente_Schienenprofil + self.FMA_Komponente_Schienenprofil_nsprefix_ = None + self.FMA_Komponente_Stromversorgung = FMA_Komponente_Stromversorgung + self.FMA_Komponente_Stromversorgung_nsprefix_ = None + self.FMA_Komponente_Typ = FMA_Komponente_Typ + self.FMA_Komponente_Typ_nsprefix_ = None + self.ID_Energie = ID_Energie + self.ID_Energie_nsprefix_ = None + if ID_Information is None: + self.ID_Information = [] + else: + self.ID_Information = ID_Information + self.ID_Information_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CFMA_Komponente_Achszaehlpunkt) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CFMA_Komponente_Achszaehlpunkt.subclass: + return CFMA_Komponente_Achszaehlpunkt.subclass(*args_, **kwargs_) + else: + return CFMA_Komponente_Achszaehlpunkt(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_FMA_Komponente_Schienenprofil(self): + return self.FMA_Komponente_Schienenprofil + def set_FMA_Komponente_Schienenprofil(self, FMA_Komponente_Schienenprofil): + self.FMA_Komponente_Schienenprofil = FMA_Komponente_Schienenprofil + def get_FMA_Komponente_Stromversorgung(self): + return self.FMA_Komponente_Stromversorgung + def set_FMA_Komponente_Stromversorgung(self, FMA_Komponente_Stromversorgung): + self.FMA_Komponente_Stromversorgung = FMA_Komponente_Stromversorgung + def get_FMA_Komponente_Typ(self): + return self.FMA_Komponente_Typ + def set_FMA_Komponente_Typ(self, FMA_Komponente_Typ): + self.FMA_Komponente_Typ = FMA_Komponente_Typ + def get_ID_Energie(self): + return self.ID_Energie + def set_ID_Energie(self, ID_Energie): + self.ID_Energie = ID_Energie + def get_ID_Information(self): + return self.ID_Information + def set_ID_Information(self, ID_Information): + self.ID_Information = ID_Information + def add_ID_Information(self, value): + self.ID_Information.append(value) + def insert_ID_Information_at(self, index, value): + self.ID_Information.insert(index, value) + def replace_ID_Information_at(self, index, value): + self.ID_Information[index] = value + def has__content(self): + if ( + self.FMA_Komponente_Schienenprofil is not None or + self.FMA_Komponente_Stromversorgung is not None or + self.FMA_Komponente_Typ is not None or + self.ID_Energie is not None or + self.ID_Information + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsOrtung:', namespacedef_='xmlns:nsOrtung="http://www.plan-pro.org/modell/Ortung/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CFMA_Komponente_Achszaehlpunkt', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CFMA_Komponente_Achszaehlpunkt') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CFMA_Komponente_Achszaehlpunkt': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CFMA_Komponente_Achszaehlpunkt') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CFMA_Komponente_Achszaehlpunkt', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsOrtung:', name_='CFMA_Komponente_Achszaehlpunkt'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsOrtung:', namespacedef_='xmlns:nsOrtung="http://www.plan-pro.org/modell/Ortung/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CFMA_Komponente_Achszaehlpunkt', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.FMA_Komponente_Schienenprofil is not None: + namespaceprefix_ = self.FMA_Komponente_Schienenprofil_nsprefix_ + ':' if (UseCapturedNS_ and self.FMA_Komponente_Schienenprofil_nsprefix_) else '' + self.FMA_Komponente_Schienenprofil.export(outfile, level, namespaceprefix_, namespacedef_='', name_='FMA_Komponente_Schienenprofil', pretty_print=pretty_print) + if self.FMA_Komponente_Stromversorgung is not None: + namespaceprefix_ = self.FMA_Komponente_Stromversorgung_nsprefix_ + ':' if (UseCapturedNS_ and self.FMA_Komponente_Stromversorgung_nsprefix_) else '' + self.FMA_Komponente_Stromversorgung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='FMA_Komponente_Stromversorgung', pretty_print=pretty_print) + if self.FMA_Komponente_Typ is not None: + namespaceprefix_ = self.FMA_Komponente_Typ_nsprefix_ + ':' if (UseCapturedNS_ and self.FMA_Komponente_Typ_nsprefix_) else '' + self.FMA_Komponente_Typ.export(outfile, level, namespaceprefix_, namespacedef_='', name_='FMA_Komponente_Typ', pretty_print=pretty_print) + if self.ID_Energie is not None: + namespaceprefix_ = self.ID_Energie_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Energie_nsprefix_) else '' + self.ID_Energie.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Energie', pretty_print=pretty_print) + for ID_Information_ in self.ID_Information: + namespaceprefix_ = self.ID_Information_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Information_nsprefix_) else '' + ID_Information_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Information', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'FMA_Komponente_Schienenprofil': + obj_ = TCFMA_Komponente_Schienenprofil.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.FMA_Komponente_Schienenprofil = obj_ + obj_.original_tagname_ = 'FMA_Komponente_Schienenprofil' + elif nodeName_ == 'FMA_Komponente_Stromversorgung': + obj_ = TCFMA_Komponente_Stromversorgung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.FMA_Komponente_Stromversorgung = obj_ + obj_.original_tagname_ = 'FMA_Komponente_Stromversorgung' + elif nodeName_ == 'FMA_Komponente_Typ': + obj_ = TCFMA_Komponente_Typ.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.FMA_Komponente_Typ = obj_ + obj_.original_tagname_ = 'FMA_Komponente_Typ' + elif nodeName_ == 'ID_Energie': + obj_ = TCID_Aussenelementansteuerung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Energie = obj_ + obj_.original_tagname_ = 'ID_Energie' + elif nodeName_ == 'ID_Information': + obj_ = TCID_Aussenelementansteuerung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Information.append(obj_) + obj_.original_tagname_ = 'ID_Information' +# end class CFMA_Komponente_Achszaehlpunkt + + +class TCFMA_Isolierung(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCFMA_Isolierung"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMIsolierung(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCFMA_Isolierung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCFMA_Isolierung.subclass: + return TCFMA_Isolierung.subclass(*args_, **kwargs_) + else: + return TCFMA_Isolierung(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMIsolierung(self, value): + result = True + # Validate type ENUMIsolierung, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['einschienig_L', 'einschienig_R', 'sonstige', 'zweischienig'] + 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 ENUMIsolierung' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCFMA_Isolierung, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsOrtung:', namespacedef_='xmlns:nsOrtung="http://www.plan-pro.org/modell/Ortung/1.10.0"', name_='TCFMA_Isolierung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCFMA_Isolierung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCFMA_Isolierung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCFMA_Isolierung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCFMA_Isolierung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsOrtung:', name_='TCFMA_Isolierung'): + super(TCFMA_Isolierung, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCFMA_Isolierung') + def _exportChildren(self, outfile, level, namespaceprefix_='nsOrtung:', namespacedef_='xmlns:nsOrtung="http://www.plan-pro.org/modell/Ortung/1.10.0"', name_='TCFMA_Isolierung', fromsubclass_=False, pretty_print=True): + super(TCFMA_Isolierung, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCFMA_Isolierung, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMIsolierung + self.validate_ENUMIsolierung(self.Wert) + super(TCFMA_Isolierung, self)._buildChildren(child_, node, nodeName_, True) +# end class TCFMA_Isolierung + + +class TCFMA_Komponente_Schienenprofil(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCFMA_Komponente_Schienenprofil"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMSchienenprofil(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCFMA_Komponente_Schienenprofil) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCFMA_Komponente_Schienenprofil.subclass: + return TCFMA_Komponente_Schienenprofil.subclass(*args_, **kwargs_) + else: + return TCFMA_Komponente_Schienenprofil(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMSchienenprofil(self, value): + result = True + # Validate type ENUMSchienenprofil, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['R65', 'S49', 'S54', 'sonstige', 'UIC60'] + 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 ENUMSchienenprofil' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCFMA_Komponente_Schienenprofil, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsOrtung:', namespacedef_='xmlns:nsOrtung="http://www.plan-pro.org/modell/Ortung/1.10.0"', name_='TCFMA_Komponente_Schienenprofil', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCFMA_Komponente_Schienenprofil') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCFMA_Komponente_Schienenprofil': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCFMA_Komponente_Schienenprofil') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCFMA_Komponente_Schienenprofil', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsOrtung:', name_='TCFMA_Komponente_Schienenprofil'): + super(TCFMA_Komponente_Schienenprofil, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCFMA_Komponente_Schienenprofil') + def _exportChildren(self, outfile, level, namespaceprefix_='nsOrtung:', namespacedef_='xmlns:nsOrtung="http://www.plan-pro.org/modell/Ortung/1.10.0"', name_='TCFMA_Komponente_Schienenprofil', fromsubclass_=False, pretty_print=True): + super(TCFMA_Komponente_Schienenprofil, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCFMA_Komponente_Schienenprofil, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMSchienenprofil + self.validate_ENUMSchienenprofil(self.Wert) + super(TCFMA_Komponente_Schienenprofil, self)._buildChildren(child_, node, nodeName_, True) +# end class TCFMA_Komponente_Schienenprofil + + +class TCFMA_Komponente_Typ(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCFMA_Komponente_Typ"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TFMA_Komponente_Typ(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCFMA_Komponente_Typ) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCFMA_Komponente_Typ.subclass: + return TCFMA_Komponente_Typ.subclass(*args_, **kwargs_) + else: + return TCFMA_Komponente_Typ(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TFMA_Komponente_Typ(self, value): + result = True + # Validate type TFMA_Komponente_Typ, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TFMA_Komponente_Typ_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TFMA_Komponente_Typ_patterns_, )) + result = False + return result + validate_TFMA_Komponente_Typ_patterns_ = [['^(.{1,16})$'], ['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCFMA_Komponente_Typ, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsOrtung:', namespacedef_='xmlns:nsOrtung="http://www.plan-pro.org/modell/Ortung/1.10.0"', name_='TCFMA_Komponente_Typ', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCFMA_Komponente_Typ') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCFMA_Komponente_Typ': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCFMA_Komponente_Typ') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCFMA_Komponente_Typ', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsOrtung:', name_='TCFMA_Komponente_Typ'): + super(TCFMA_Komponente_Typ, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCFMA_Komponente_Typ') + def _exportChildren(self, outfile, level, namespaceprefix_='nsOrtung:', namespacedef_='xmlns:nsOrtung="http://www.plan-pro.org/modell/Ortung/1.10.0"', name_='TCFMA_Komponente_Typ', fromsubclass_=False, pretty_print=True): + super(TCFMA_Komponente_Typ, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCFMA_Komponente_Typ, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TFMA_Komponente_Typ + self.validate_TFMA_Komponente_Typ(self.Wert) + super(TCFMA_Komponente_Typ, self)._buildChildren(child_, node, nodeName_, True) +# end class TCFMA_Komponente_Typ + + +class CSchaltmittel_Zuordnung(CBasis_Objekt): + """CSchaltmittel_Zuordnung -- Zuordnungsobjekt f + ü + r die punktuelle Ausl + ö + sung von Schaltvorg + ä + ngen. Beispiel: B + Ü + SA, Rangier- und Ablaufanlagen. Schaltmittel sind oftmals separate Zugeinwirkungen (z. B. Radsensoren), es k + ö + nnen aber auch Freimeldeabschnitte (FMA_Anlagen) oder Achsz + ä + hlpunkte (FMA_Komponenten) f + ü + r den Zweck eines Schaltmittels mitverwendet werden (Doppelausnutzung). Ein Schaltmittel wiederum kann f + ü + r unterschiedliche Funktionen vorgesehen sein. Das Zuordnungsobjekt Schaltmittel erfasst jeweils eine konkrete Anforderung (Verweis, der auf das anfordernde Objekt gerichtet ist, z.B. Bahn + ü + bergang EIN, Bahn + ü + bergang AUS, Fahrstra + ß + e verschlie + ß + en und ordnet diese Funktion dann einer konkreten Anlage (Zugeinwirkung, Freimeldeabschnitt oder Achsz + ä + hlpunkt) sowie eine Beschriftung dieser Anlage im sicherungstechnischen Lageplan zu. Die Funktion \"Fahrstra + ß + e verschlie + ß + en (ID_Anforderung = Fstr_Fahrweg)\" ist vorgesehen f + ü + r den Anr + ü + ckverschluss von Zugstra + ß + en. Weitere Anwendungen sind aktuell nicht im Modell verankert. Der Verweis auf die Anforderung ist nicht erforderlich, wenn sich die Zuordnung eindeutig aus der Topologie ergibt (Beispiel: separates Schaltmittel f + ü + r die Funktion \"Zweites Haltfallkriterium\"). In diesem Fall wird nur der Verweis auf die Anlage sowie die Beschriftung im Lageplan angegeben. DB-Regelwerk Typspezifische Planungshinweise und Technische Mitteilungen; Planungsdaten: Sicherungstechnischer Lageplan, B + Ü + -Lageplan, Gleisfreimeldeplan. + ID_Anforderung -- Verweist auf das Objekt, das eine Schaltanforderung stellt. Die Schaltanforderung erfolgt unabh + ä + ngig von der konkreten Realisierung, diese Zuordnung wird + ü + ber ID Schalter vorgenommen. DB-Regelwerk Im bisherigen PT1 ohne eindeutige Darstellung, mittelbar aus Eintr + ä + gen im Sicherungstechnischen Lageplan / B + Ü + -Lageplan zu erkennen. + ID_Schalter -- Verweis auf das Objekt, das eine Schaltanforderung bedient. Die Zuordnung des Schalters (Freimeldeabschnitt, Achsz + ä + hlpunkt oder Zugeinwirkung) erfolgt unabh + ä + ngig von der konkreten Anforderung, diese Zuordnung wird + ü + ber ID Anforderung vorgenommen. DB-Regelwerk Im bisherigen PT1 ohne eindeutige Darstellung, mittelbar aus Eintr + ä + gen im Sicherungstechnischen Lageplan / B + Ü + -Lageplan zu erkennen. + Schaltmittel_Funktion -- Funktion des Schaltmittels. Beispiele (und Erl + ä + uterung dazu): ARM (Anr + ü + ckmeldung f + ü + r B + Ü + SA), Ein_BUE (Einschaltung von B + Ü + SA), ZL_Ansto + ß + (Zuglenk-Ansto + ß + ), Haltfall (zweites Haltfall-Kriterium bei Signalen). Zur Auswertung muss die Funktion noch mit dem unter ID Anforderung angegebenen Objekt vervollst + ä + ndigt werden. DB-Regelwerk Sicherungstechnischer Lageplan, B + Ü + -Lageplan + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasis_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, ID_Anforderung=None, ID_Schalter=None, Schaltmittel_Funktion=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CSchaltmittel_Zuordnung"), self).__init__(Identitaet, Basis_Objekt_Allg, ID_Bearbeitungsvermerk, ID_Oertlichkeit_Ausgabe, Objektreferenzen, **kwargs_) + self.ID_Anforderung = ID_Anforderung + self.ID_Anforderung_nsprefix_ = None + self.ID_Schalter = ID_Schalter + self.ID_Schalter_nsprefix_ = None + self.Schaltmittel_Funktion = Schaltmittel_Funktion + self.Schaltmittel_Funktion_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CSchaltmittel_Zuordnung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CSchaltmittel_Zuordnung.subclass: + return CSchaltmittel_Zuordnung.subclass(*args_, **kwargs_) + else: + return CSchaltmittel_Zuordnung(*args_, **kwargs_) + factory = staticmethod(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_Anforderung(self): + return self.ID_Anforderung + def set_ID_Anforderung(self, ID_Anforderung): + self.ID_Anforderung = ID_Anforderung + def get_ID_Schalter(self): + return self.ID_Schalter + def set_ID_Schalter(self, ID_Schalter): + self.ID_Schalter = ID_Schalter + def get_Schaltmittel_Funktion(self): + return self.Schaltmittel_Funktion + def set_Schaltmittel_Funktion(self, Schaltmittel_Funktion): + self.Schaltmittel_Funktion = Schaltmittel_Funktion + def has__content(self): + if ( + self.ID_Anforderung is not None or + self.ID_Schalter is not None or + self.Schaltmittel_Funktion is not None or + super(CSchaltmittel_Zuordnung, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsOrtung:', namespacedef_='xmlns:nsOrtung="http://www.plan-pro.org/modell/Ortung/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CSchaltmittel_Zuordnung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CSchaltmittel_Zuordnung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CSchaltmittel_Zuordnung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CSchaltmittel_Zuordnung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CSchaltmittel_Zuordnung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsOrtung:', name_='CSchaltmittel_Zuordnung'): + super(CSchaltmittel_Zuordnung, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CSchaltmittel_Zuordnung') + def _exportChildren(self, outfile, level, namespaceprefix_='nsOrtung:', namespacedef_='xmlns:nsOrtung="http://www.plan-pro.org/modell/Ortung/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CSchaltmittel_Zuordnung', fromsubclass_=False, pretty_print=True): + super(CSchaltmittel_Zuordnung, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.ID_Anforderung is not None: + namespaceprefix_ = self.ID_Anforderung_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Anforderung_nsprefix_) else '' + self.ID_Anforderung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Anforderung', pretty_print=pretty_print) + if self.ID_Schalter is not None: + namespaceprefix_ = self.ID_Schalter_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Schalter_nsprefix_) else '' + self.ID_Schalter.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Schalter', pretty_print=pretty_print) + if self.Schaltmittel_Funktion is not None: + namespaceprefix_ = self.Schaltmittel_Funktion_nsprefix_ + ':' if (UseCapturedNS_ and self.Schaltmittel_Funktion_nsprefix_) else '' + self.Schaltmittel_Funktion.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Schaltmittel_Funktion', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CSchaltmittel_Zuordnung, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Anforderung': + obj_ = TCID_Anforderung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Anforderung = obj_ + obj_.original_tagname_ = 'ID_Anforderung' + elif nodeName_ == 'ID_Schalter': + obj_ = TCID_Schalter.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Schalter = obj_ + obj_.original_tagname_ = 'ID_Schalter' + elif nodeName_ == 'Schaltmittel_Funktion': + obj_ = TCSchaltmittel_Funktion.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Schaltmittel_Funktion = obj_ + obj_.original_tagname_ = 'Schaltmittel_Funktion' + super(CSchaltmittel_Zuordnung, self)._buildChildren(child_, node, nodeName_, True) +# end class CSchaltmittel_Zuordnung + + +class TCSchaltmittel_Funktion(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCSchaltmittel_Funktion"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMSchaltmittel_Funktion(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCSchaltmittel_Funktion) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCSchaltmittel_Funktion.subclass: + return TCSchaltmittel_Funktion.subclass(*args_, **kwargs_) + else: + return TCSchaltmittel_Funktion(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMSchaltmittel_Funktion(self, value): + result = True + # Validate type ENUMSchaltmittel_Funktion, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['ARM', 'Awanst', 'Ein_BUE', 'Haltfall', 'Raeumungspruefung', 'sonstige', 'ZL_Anstoss'] + 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 ENUMSchaltmittel_Funktion' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCSchaltmittel_Funktion, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsOrtung:', namespacedef_='xmlns:nsOrtung="http://www.plan-pro.org/modell/Ortung/1.10.0"', name_='TCSchaltmittel_Funktion', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCSchaltmittel_Funktion') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCSchaltmittel_Funktion': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCSchaltmittel_Funktion') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCSchaltmittel_Funktion', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsOrtung:', name_='TCSchaltmittel_Funktion'): + super(TCSchaltmittel_Funktion, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCSchaltmittel_Funktion') + def _exportChildren(self, outfile, level, namespaceprefix_='nsOrtung:', namespacedef_='xmlns:nsOrtung="http://www.plan-pro.org/modell/Ortung/1.10.0"', name_='TCSchaltmittel_Funktion', fromsubclass_=False, pretty_print=True): + super(TCSchaltmittel_Funktion, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCSchaltmittel_Funktion, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMSchaltmittel_Funktion + self.validate_ENUMSchaltmittel_Funktion(self.Wert) + super(TCSchaltmittel_Funktion, self)._buildChildren(child_, node, nodeName_, True) +# end class TCSchaltmittel_Funktion + + +class CFMA_Element_Allg(GeneratedsSuper): + """FMA_Element_Art -- Art, mit der die Ein- bzw. Ausspeisung in den Freimeldeabschnitt vorgenommen wird. Hinweis: Beim Wert \"S_Verbinder\" handelt es sich streng genommen nur um einen halben S-Verbinder, die jeweils andere H + ä + lfte ist dem angrenzenden Freimeldeabschnitt zugeordnet. Bei der Ermittlung der Anzahl der S-Verbinder in einem Pool muss also die Anzahl der Instanzen FMA_Element mit FMA_Element_Art==S_Verbinder halbiert werden. DB-Regelwerk Bei allen Typen von FMA_Elementen: Sicherungstechnischer Lageplan, B + Ü + -Lageplan; Gleisfreimeldeplan. Bei FTGS: zus + ä + tzlich in der Freimeldetabelle, Spalte 17 links, dabei wird die Zuordnung (z.B. links/rechts) uneinheitlich gehandhabt. + FMA_Element_Seilanzahl -- Anzahl der Seile der Schienenverbinder entsprechend der Anwendungsrichtlinien. Die zugeh + ö + rigen Baul + ä + ngen ergeben sich aus den Anwendungsrichtlinien und dem Typ der angrenzenden FMA Anlage und werden nicht separat angegeben. Bei Auswahl von \"sonstige\" ist ein Bearbeitungsvermerk mit entsprechenden Erl + ä + uterungen anzuf + ü + gen. DB-Regelwerk bei FTGS: Freimeldetabelle, Spalte 17 rechts; bei anderen Arten von Gleisstromkreisen: Gleisfreimeldeplan. + FMA_Element_Seiltyp -- Querschnitt und Material der Seile der Schienenverbinder entsprechend den Anwendungsrichtlinien. Die Angabe erfolgt in mm + ² + . Beispiele: 120 Cu, 240 Al. DB-Regelwerk bei FTGS: Freimeldetabelle, Spalte 17 rechts; bei anderen Arten von Gleisstromkreisen: Gleisfreimeldeplan. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, FMA_Element_Art=None, FMA_Element_Seilanzahl=None, FMA_Element_Seiltyp=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.FMA_Element_Art = FMA_Element_Art + self.FMA_Element_Art_nsprefix_ = None + self.FMA_Element_Seilanzahl = FMA_Element_Seilanzahl + self.FMA_Element_Seilanzahl_nsprefix_ = None + self.FMA_Element_Seiltyp = FMA_Element_Seiltyp + self.FMA_Element_Seiltyp_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CFMA_Element_Allg) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CFMA_Element_Allg.subclass: + return CFMA_Element_Allg.subclass(*args_, **kwargs_) + else: + return CFMA_Element_Allg(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_FMA_Element_Art(self): + return self.FMA_Element_Art + def set_FMA_Element_Art(self, FMA_Element_Art): + self.FMA_Element_Art = FMA_Element_Art + def get_FMA_Element_Seilanzahl(self): + return self.FMA_Element_Seilanzahl + def set_FMA_Element_Seilanzahl(self, FMA_Element_Seilanzahl): + self.FMA_Element_Seilanzahl = FMA_Element_Seilanzahl + def get_FMA_Element_Seiltyp(self): + return self.FMA_Element_Seiltyp + def set_FMA_Element_Seiltyp(self, FMA_Element_Seiltyp): + self.FMA_Element_Seiltyp = FMA_Element_Seiltyp + def has__content(self): + if ( + self.FMA_Element_Art is not None or + self.FMA_Element_Seilanzahl is not None or + self.FMA_Element_Seiltyp is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsOrtung:', namespacedef_='xmlns:nsOrtung="http://www.plan-pro.org/modell/Ortung/1.10.0"', name_='CFMA_Element_Allg', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CFMA_Element_Allg') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CFMA_Element_Allg': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CFMA_Element_Allg') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CFMA_Element_Allg', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsOrtung:', name_='CFMA_Element_Allg'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsOrtung:', namespacedef_='xmlns:nsOrtung="http://www.plan-pro.org/modell/Ortung/1.10.0"', name_='CFMA_Element_Allg', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.FMA_Element_Art is not None: + namespaceprefix_ = self.FMA_Element_Art_nsprefix_ + ':' if (UseCapturedNS_ and self.FMA_Element_Art_nsprefix_) else '' + self.FMA_Element_Art.export(outfile, level, namespaceprefix_, namespacedef_='', name_='FMA_Element_Art', pretty_print=pretty_print) + if self.FMA_Element_Seilanzahl is not None: + namespaceprefix_ = self.FMA_Element_Seilanzahl_nsprefix_ + ':' if (UseCapturedNS_ and self.FMA_Element_Seilanzahl_nsprefix_) else '' + self.FMA_Element_Seilanzahl.export(outfile, level, namespaceprefix_, namespacedef_='', name_='FMA_Element_Seilanzahl', pretty_print=pretty_print) + if self.FMA_Element_Seiltyp is not None: + namespaceprefix_ = self.FMA_Element_Seiltyp_nsprefix_ + ':' if (UseCapturedNS_ and self.FMA_Element_Seiltyp_nsprefix_) else '' + self.FMA_Element_Seiltyp.export(outfile, level, namespaceprefix_, namespacedef_='', name_='FMA_Element_Seiltyp', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'FMA_Element_Art': + obj_ = TCFMA_Element_Art.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.FMA_Element_Art = obj_ + obj_.original_tagname_ = 'FMA_Element_Art' + elif nodeName_ == 'FMA_Element_Seilanzahl': + obj_ = TCFMA_Element_Seilanzahl.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.FMA_Element_Seilanzahl = obj_ + obj_.original_tagname_ = 'FMA_Element_Seilanzahl' + elif nodeName_ == 'FMA_Element_Seiltyp': + obj_ = TCFMA_Element_Seiltyp.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.FMA_Element_Seiltyp = obj_ + obj_.original_tagname_ = 'FMA_Element_Seiltyp' +# end class CFMA_Element_Allg + + +class CZugeinwirkung_Allg(GeneratedsSuper): + """Zugeinwirkung_Art -- Art einer Zugeinwirkung. Bei Auswahl von \"sonstige\" ist ein Bearbeitungsvermerk mit entsprechenden Erl + ä + uterungen anzuf + ü + gen. DB-Regelwerk Planungsdaten: Lageplan, Kreuzungsplan, Gleisfreimeldeplan. + Zugeinwirkung_Typ -- Vollst + ä + ndige Bezeichnung des technischen Typs der Zugeinwirkung. DB-Regelwerk Planungsdaten: Im bisherigen PT1 nicht angegeben. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Zugeinwirkung_Art=None, Zugeinwirkung_Typ=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Zugeinwirkung_Art = Zugeinwirkung_Art + self.Zugeinwirkung_Art_nsprefix_ = None + self.Zugeinwirkung_Typ = Zugeinwirkung_Typ + self.Zugeinwirkung_Typ_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CZugeinwirkung_Allg) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CZugeinwirkung_Allg.subclass: + return CZugeinwirkung_Allg.subclass(*args_, **kwargs_) + else: + return CZugeinwirkung_Allg(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Zugeinwirkung_Art(self): + return self.Zugeinwirkung_Art + def set_Zugeinwirkung_Art(self, Zugeinwirkung_Art): + self.Zugeinwirkung_Art = Zugeinwirkung_Art + def get_Zugeinwirkung_Typ(self): + return self.Zugeinwirkung_Typ + def set_Zugeinwirkung_Typ(self, Zugeinwirkung_Typ): + self.Zugeinwirkung_Typ = Zugeinwirkung_Typ + def has__content(self): + if ( + self.Zugeinwirkung_Art is not None or + self.Zugeinwirkung_Typ is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsOrtung:', namespacedef_='xmlns:nsOrtung="http://www.plan-pro.org/modell/Ortung/1.10.0"', name_='CZugeinwirkung_Allg', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CZugeinwirkung_Allg') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CZugeinwirkung_Allg': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CZugeinwirkung_Allg') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CZugeinwirkung_Allg', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsOrtung:', name_='CZugeinwirkung_Allg'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsOrtung:', namespacedef_='xmlns:nsOrtung="http://www.plan-pro.org/modell/Ortung/1.10.0"', name_='CZugeinwirkung_Allg', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Zugeinwirkung_Art is not None: + namespaceprefix_ = self.Zugeinwirkung_Art_nsprefix_ + ':' if (UseCapturedNS_ and self.Zugeinwirkung_Art_nsprefix_) else '' + self.Zugeinwirkung_Art.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Zugeinwirkung_Art', pretty_print=pretty_print) + if self.Zugeinwirkung_Typ is not None: + namespaceprefix_ = self.Zugeinwirkung_Typ_nsprefix_ + ':' if (UseCapturedNS_ and self.Zugeinwirkung_Typ_nsprefix_) else '' + self.Zugeinwirkung_Typ.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Zugeinwirkung_Typ', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Zugeinwirkung_Art': + obj_ = TCZugeinwirkung_Art.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Zugeinwirkung_Art = obj_ + obj_.original_tagname_ = 'Zugeinwirkung_Art' + elif nodeName_ == 'Zugeinwirkung_Typ': + obj_ = TCZugeinwirkung_Typ.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Zugeinwirkung_Typ = obj_ + obj_.original_tagname_ = 'Zugeinwirkung_Typ' +# end class CZugeinwirkung_Allg + + +class TCBezeichnung_Kennbuchstabe(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCBezeichnung_Kennbuchstabe"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMBezeichnung_Kennbuchstabe(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCBezeichnung_Kennbuchstabe) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCBezeichnung_Kennbuchstabe.subclass: + return TCBezeichnung_Kennbuchstabe.subclass(*args_, **kwargs_) + else: + return TCBezeichnung_Kennbuchstabe(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMBezeichnung_Kennbuchstabe(self, value): + result = True + # Validate type ENUMBezeichnung_Kennbuchstabe, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['B', 'G', 'K', 'W'] + 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 ENUMBezeichnung_Kennbuchstabe' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCBezeichnung_Kennbuchstabe, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsOrtung:', namespacedef_='xmlns:nsOrtung="http://www.plan-pro.org/modell/Ortung/1.10.0"', name_='TCBezeichnung_Kennbuchstabe', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCBezeichnung_Kennbuchstabe') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCBezeichnung_Kennbuchstabe': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBezeichnung_Kennbuchstabe') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCBezeichnung_Kennbuchstabe', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsOrtung:', name_='TCBezeichnung_Kennbuchstabe'): + super(TCBezeichnung_Kennbuchstabe, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBezeichnung_Kennbuchstabe') + def _exportChildren(self, outfile, level, namespaceprefix_='nsOrtung:', namespacedef_='xmlns:nsOrtung="http://www.plan-pro.org/modell/Ortung/1.10.0"', name_='TCBezeichnung_Kennbuchstabe', fromsubclass_=False, pretty_print=True): + super(TCBezeichnung_Kennbuchstabe, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCBezeichnung_Kennbuchstabe, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMBezeichnung_Kennbuchstabe + self.validate_ENUMBezeichnung_Kennbuchstabe(self.Wert) + super(TCBezeichnung_Kennbuchstabe, self)._buildChildren(child_, node, nodeName_, True) +# end class TCBezeichnung_Kennbuchstabe + + +class TCFMA_Element_Seiltyp(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCFMA_Element_Seiltyp"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TFMA_Element_Seiltyp(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCFMA_Element_Seiltyp) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCFMA_Element_Seiltyp.subclass: + return TCFMA_Element_Seiltyp.subclass(*args_, **kwargs_) + else: + return TCFMA_Element_Seiltyp(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TFMA_Element_Seiltyp(self, value): + result = True + # Validate type TFMA_Element_Seiltyp, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TFMA_Element_Seiltyp_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TFMA_Element_Seiltyp_patterns_, )) + result = False + return result + validate_TFMA_Element_Seiltyp_patterns_ = [['^(.{2,6})$'], ['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCFMA_Element_Seiltyp, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsOrtung:', namespacedef_='xmlns:nsOrtung="http://www.plan-pro.org/modell/Ortung/1.10.0"', name_='TCFMA_Element_Seiltyp', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCFMA_Element_Seiltyp') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCFMA_Element_Seiltyp': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCFMA_Element_Seiltyp') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCFMA_Element_Seiltyp', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsOrtung:', name_='TCFMA_Element_Seiltyp'): + super(TCFMA_Element_Seiltyp, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCFMA_Element_Seiltyp') + def _exportChildren(self, outfile, level, namespaceprefix_='nsOrtung:', namespacedef_='xmlns:nsOrtung="http://www.plan-pro.org/modell/Ortung/1.10.0"', name_='TCFMA_Element_Seiltyp', fromsubclass_=False, pretty_print=True): + super(TCFMA_Element_Seiltyp, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCFMA_Element_Seiltyp, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TFMA_Element_Seiltyp + self.validate_TFMA_Element_Seiltyp(self.Wert) + super(TCFMA_Element_Seiltyp, self)._buildChildren(child_, node, nodeName_, True) +# end class TCFMA_Element_Seiltyp + + +class TCFMA_Laenge_E1(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCFMA_Laenge_E1"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TFMA_Laenge_E1(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCFMA_Laenge_E1) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCFMA_Laenge_E1.subclass: + return TCFMA_Laenge_E1.subclass(*args_, **kwargs_) + else: + return TCFMA_Laenge_E1(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TFMA_Laenge_E1(self, value): + result = True + # Validate type TFMA_Laenge_E1, a restriction on nsBasisTypen:TMeter. + 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 not self.gds_validate_simple_patterns( + self.validate_TFMA_Laenge_E1_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TFMA_Laenge_E1_patterns_, )) + result = False + return result + validate_TFMA_Laenge_E1_patterns_ = [['^([1-9][0-9]{0,2}|1[0-4][0-9]{2})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCFMA_Laenge_E1, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsOrtung:', namespacedef_='xmlns:nsOrtung="http://www.plan-pro.org/modell/Ortung/1.10.0"', name_='TCFMA_Laenge_E1', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCFMA_Laenge_E1') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCFMA_Laenge_E1': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCFMA_Laenge_E1') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCFMA_Laenge_E1', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsOrtung:', name_='TCFMA_Laenge_E1'): + super(TCFMA_Laenge_E1, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCFMA_Laenge_E1') + def _exportChildren(self, outfile, level, namespaceprefix_='nsOrtung:', namespacedef_='xmlns:nsOrtung="http://www.plan-pro.org/modell/Ortung/1.10.0"', name_='TCFMA_Laenge_E1', fromsubclass_=False, pretty_print=True): + super(TCFMA_Laenge_E1, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_decimal(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCFMA_Laenge_E1, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + fval_ = self.gds_parse_decimal(sval_, node, 'Wert') + fval_ = self.gds_validate_decimal(fval_, node, 'Wert') + self.Wert = fval_ + self.Wert_nsprefix_ = child_.prefix + # validate type TFMA_Laenge_E1 + self.validate_TFMA_Laenge_E1(self.Wert) + super(TCFMA_Laenge_E1, self)._buildChildren(child_, node, nodeName_, True) +# end class TCFMA_Laenge_E1 + + +class TCBettungswiderstand(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCBettungswiderstand"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TBettungswiderstand(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCBettungswiderstand) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCBettungswiderstand.subclass: + return TCBettungswiderstand.subclass(*args_, **kwargs_) + else: + return TCBettungswiderstand(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TBettungswiderstand(self, value): + result = True + # Validate type TBettungswiderstand, 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 not self.gds_validate_simple_patterns( + self.validate_TBettungswiderstand_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TBettungswiderstand_patterns_, )) + result = False + return result + validate_TBettungswiderstand_patterns_ = [['^(([0-4]\\.[0-9]{2})|(5\\.00))$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCBettungswiderstand, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsOrtung:', namespacedef_='xmlns:nsOrtung="http://www.plan-pro.org/modell/Ortung/1.10.0"', name_='TCBettungswiderstand', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCBettungswiderstand') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCBettungswiderstand': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBettungswiderstand') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCBettungswiderstand', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsOrtung:', name_='TCBettungswiderstand'): + super(TCBettungswiderstand, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBettungswiderstand') + def _exportChildren(self, outfile, level, namespaceprefix_='nsOrtung:', namespacedef_='xmlns:nsOrtung="http://www.plan-pro.org/modell/Ortung/1.10.0"', name_='TCBettungswiderstand', fromsubclass_=False, pretty_print=True): + super(TCBettungswiderstand, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_decimal(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCBettungswiderstand, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + fval_ = self.gds_parse_decimal(sval_, node, 'Wert') + fval_ = self.gds_validate_decimal(fval_, node, 'Wert') + self.Wert = fval_ + self.Wert_nsprefix_ = child_.prefix + # validate type TBettungswiderstand + self.validate_TBettungswiderstand(self.Wert) + super(TCBettungswiderstand, self)._buildChildren(child_, node, nodeName_, True) +# end class TCBettungswiderstand + + +class TCFMA_Laenge_E2(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCFMA_Laenge_E2"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TFMA_Laenge_E2(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCFMA_Laenge_E2) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCFMA_Laenge_E2.subclass: + return TCFMA_Laenge_E2.subclass(*args_, **kwargs_) + else: + return TCFMA_Laenge_E2(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TFMA_Laenge_E2(self, value): + result = True + # Validate type TFMA_Laenge_E2, a restriction on nsBasisTypen:TMeter. + 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 not self.gds_validate_simple_patterns( + self.validate_TFMA_Laenge_E2_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TFMA_Laenge_E2_patterns_, )) + result = False + return result + validate_TFMA_Laenge_E2_patterns_ = [['^([1-9][0-9]{0,2}|1[0-4][0-9]{2})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCFMA_Laenge_E2, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsOrtung:', namespacedef_='xmlns:nsOrtung="http://www.plan-pro.org/modell/Ortung/1.10.0"', name_='TCFMA_Laenge_E2', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCFMA_Laenge_E2') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCFMA_Laenge_E2': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCFMA_Laenge_E2') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCFMA_Laenge_E2', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsOrtung:', name_='TCFMA_Laenge_E2'): + super(TCFMA_Laenge_E2, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCFMA_Laenge_E2') + def _exportChildren(self, outfile, level, namespaceprefix_='nsOrtung:', namespacedef_='xmlns:nsOrtung="http://www.plan-pro.org/modell/Ortung/1.10.0"', name_='TCFMA_Laenge_E2', fromsubclass_=False, pretty_print=True): + super(TCFMA_Laenge_E2, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_decimal(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCFMA_Laenge_E2, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + fval_ = self.gds_parse_decimal(sval_, node, 'Wert') + fval_ = self.gds_validate_decimal(fval_, node, 'Wert') + self.Wert = fval_ + self.Wert_nsprefix_ = child_.prefix + # validate type TFMA_Laenge_E2 + self.validate_TFMA_Laenge_E2(self.Wert) + super(TCFMA_Laenge_E2, self)._buildChildren(child_, node, nodeName_, True) +# end class TCFMA_Laenge_E2 + + +class CFMA_Anlage_Bezeichnung(GeneratedsSuper): + """Bezeichnung_Kennbuchstabe -- Bestandteil der vollst + ä + ndigen Bezeichnung einer FMA Anlage. Die Bezeichnung eines Freimeldeabschnittes besteht aus Kennzahl, Kennbuchstaben und + Ö + rtlichem Elementbezeichner des Gleisabschnitts. Kennzahl und Bezeichnung des Gleisabschnitts k + ö + nnen + ü + ber ID Gleis Abschnitt ermittelt werden, die Attribute der Gruppe \"Bezeichnung\" werden f + ü + r FMA_Anlagen nicht bef + ü + llt. Die Herleitung des Kennbuchstabens aus Attributen des Gleises und des Gleisabschnitts ist schwierig und in einigen F + ä + llen unsicher, daher erfolgt im Unterschied zu anderen Objekten eine direkte Abspeicherung als Erg + ä + nzung innerhalb der Attributgruppe \"Bezeichnung\". Ein Beispiel ist unter Modellierung Gleisfreimeldung zu finden. DB-Regelwerk Planungsdaten: Freimeldetabelle, Spalte 1 + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Bezeichnung_Kennbuchstabe=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Bezeichnung_Kennbuchstabe = Bezeichnung_Kennbuchstabe + self.Bezeichnung_Kennbuchstabe_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CFMA_Anlage_Bezeichnung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CFMA_Anlage_Bezeichnung.subclass: + return CFMA_Anlage_Bezeichnung.subclass(*args_, **kwargs_) + else: + return CFMA_Anlage_Bezeichnung(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Bezeichnung_Kennbuchstabe(self): + return self.Bezeichnung_Kennbuchstabe + def set_Bezeichnung_Kennbuchstabe(self, Bezeichnung_Kennbuchstabe): + self.Bezeichnung_Kennbuchstabe = Bezeichnung_Kennbuchstabe + def has__content(self): + if ( + self.Bezeichnung_Kennbuchstabe is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsOrtung:', namespacedef_='xmlns:nsOrtung="http://www.plan-pro.org/modell/Ortung/1.10.0"', name_='CFMA_Anlage_Bezeichnung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CFMA_Anlage_Bezeichnung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CFMA_Anlage_Bezeichnung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CFMA_Anlage_Bezeichnung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CFMA_Anlage_Bezeichnung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsOrtung:', name_='CFMA_Anlage_Bezeichnung'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsOrtung:', namespacedef_='xmlns:nsOrtung="http://www.plan-pro.org/modell/Ortung/1.10.0"', name_='CFMA_Anlage_Bezeichnung', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Bezeichnung_Kennbuchstabe is not None: + namespaceprefix_ = self.Bezeichnung_Kennbuchstabe_nsprefix_ + ':' if (UseCapturedNS_ and self.Bezeichnung_Kennbuchstabe_nsprefix_) else '' + self.Bezeichnung_Kennbuchstabe.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Bezeichnung_Kennbuchstabe', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Bezeichnung_Kennbuchstabe': + obj_ = TCBezeichnung_Kennbuchstabe.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Bezeichnung_Kennbuchstabe = obj_ + obj_.original_tagname_ = 'Bezeichnung_Kennbuchstabe' +# end class CFMA_Anlage_Bezeichnung + + +class TCFMA_Anschluss_Speiserichtung(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCFMA_Anschluss_Speiserichtung"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMFMA_Anschluss_Speiserichtung(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCFMA_Anschluss_Speiserichtung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCFMA_Anschluss_Speiserichtung.subclass: + return TCFMA_Anschluss_Speiserichtung.subclass(*args_, **kwargs_) + else: + return TCFMA_Anschluss_Speiserichtung(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMFMA_Anschluss_Speiserichtung(self, value): + result = True + # Validate type ENUMFMA_Anschluss_Speiserichtung, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['Ausspeisung', 'Einspeisung'] + 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 ENUMFMA_Anschluss_Speiserichtung' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCFMA_Anschluss_Speiserichtung, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsOrtung:', namespacedef_='xmlns:nsOrtung="http://www.plan-pro.org/modell/Ortung/1.10.0"', name_='TCFMA_Anschluss_Speiserichtung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCFMA_Anschluss_Speiserichtung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCFMA_Anschluss_Speiserichtung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCFMA_Anschluss_Speiserichtung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCFMA_Anschluss_Speiserichtung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsOrtung:', name_='TCFMA_Anschluss_Speiserichtung'): + super(TCFMA_Anschluss_Speiserichtung, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCFMA_Anschluss_Speiserichtung') + def _exportChildren(self, outfile, level, namespaceprefix_='nsOrtung:', namespacedef_='xmlns:nsOrtung="http://www.plan-pro.org/modell/Ortung/1.10.0"', name_='TCFMA_Anschluss_Speiserichtung', fromsubclass_=False, pretty_print=True): + super(TCFMA_Anschluss_Speiserichtung, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCFMA_Anschluss_Speiserichtung, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMFMA_Anschluss_Speiserichtung + self.validate_ENUMFMA_Anschluss_Speiserichtung(self.Wert) + super(TCFMA_Anschluss_Speiserichtung, self)._buildChildren(child_, node, nodeName_, True) +# end class TCFMA_Anschluss_Speiserichtung + + +class TCFMA_Komponente_Stromversorgung(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCFMA_Komponente_Stromversorgung"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCFMA_Komponente_Stromversorgung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCFMA_Komponente_Stromversorgung.subclass: + return TCFMA_Komponente_Stromversorgung.subclass(*args_, **kwargs_) + else: + return TCFMA_Komponente_Stromversorgung(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def has__content(self): + if ( + self.Wert is not None or + super(TCFMA_Komponente_Stromversorgung, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsOrtung:', namespacedef_='xmlns:nsOrtung="http://www.plan-pro.org/modell/Ortung/1.10.0"', name_='TCFMA_Komponente_Stromversorgung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCFMA_Komponente_Stromversorgung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCFMA_Komponente_Stromversorgung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCFMA_Komponente_Stromversorgung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCFMA_Komponente_Stromversorgung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsOrtung:', name_='TCFMA_Komponente_Stromversorgung'): + super(TCFMA_Komponente_Stromversorgung, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCFMA_Komponente_Stromversorgung') + def _exportChildren(self, outfile, level, namespaceprefix_='nsOrtung:', namespacedef_='xmlns:nsOrtung="http://www.plan-pro.org/modell/Ortung/1.10.0"', name_='TCFMA_Komponente_Stromversorgung', fromsubclass_=False, pretty_print=True): + super(TCFMA_Komponente_Stromversorgung, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_boolean(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCFMA_Komponente_Stromversorgung, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + sval_ = child_.text + ival_ = self.gds_parse_boolean(sval_, node, 'Wert') + ival_ = self.gds_validate_boolean(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + super(TCFMA_Komponente_Stromversorgung, self)._buildChildren(child_, node, nodeName_, True) +# end class TCFMA_Komponente_Stromversorgung + + +class TCFMA_Element_Seilanzahl(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCFMA_Element_Seilanzahl"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMFMA_Element_Seilanzahl(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCFMA_Element_Seilanzahl) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCFMA_Element_Seilanzahl.subclass: + return TCFMA_Element_Seilanzahl.subclass(*args_, **kwargs_) + else: + return TCFMA_Element_Seilanzahl(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMFMA_Element_Seilanzahl(self, value): + result = True + # Validate type ENUMFMA_Element_Seilanzahl, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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', '4', 'sonstige'] + 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 ENUMFMA_Element_Seilanzahl' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCFMA_Element_Seilanzahl, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsOrtung:', namespacedef_='xmlns:nsOrtung="http://www.plan-pro.org/modell/Ortung/1.10.0"', name_='TCFMA_Element_Seilanzahl', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCFMA_Element_Seilanzahl') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCFMA_Element_Seilanzahl': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCFMA_Element_Seilanzahl') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCFMA_Element_Seilanzahl', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsOrtung:', name_='TCFMA_Element_Seilanzahl'): + super(TCFMA_Element_Seilanzahl, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCFMA_Element_Seilanzahl') + def _exportChildren(self, outfile, level, namespaceprefix_='nsOrtung:', namespacedef_='xmlns:nsOrtung="http://www.plan-pro.org/modell/Ortung/1.10.0"', name_='TCFMA_Element_Seilanzahl', fromsubclass_=False, pretty_print=True): + super(TCFMA_Element_Seilanzahl, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCFMA_Element_Seilanzahl, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMFMA_Element_Seilanzahl + self.validate_ENUMFMA_Element_Seilanzahl(self.Wert) + super(TCFMA_Element_Seilanzahl, self)._buildChildren(child_, node, nodeName_, True) +# end class TCFMA_Element_Seilanzahl + + +class CFMA_Anlage_Elektr_Merkmale(GeneratedsSuper): + """Bettungswiderstand -- Spezifischer elektrischer Bettungswiderstand eines Gleisabschnitts (in Ohm/km), wenn dieser als Gleisstromkreis ausgebildet ist. + FMA_Laenge -- Elektrische L + ä + nge des Freimeldeabschnitts. Berechneter Wert entsprechend den Planungsrichtlinien und den + ö + rtlichen Gegebenheiten. Die Berechnung wird, sofern sie nicht trivial ist, als Dokument an das Attribut angehangen (s. dazu: BasisAttribut). DB-Regelwerk Freimeldetabelle, bei NF-Gleisstromkreisen: Spalte 9; bei FTGS: Angabe ist nicht enthalten, wird allerdings h + ä + ufig in einer zus + ä + tzlichen Spalte im Bereich FTGS eingetragen. + FMA_Laenge_Beeinflusst -- Beeinflusste L + ä + nge des Freimeldeabschnitts. Ein Eintrag ist nur bei NF-Gleisstromkreisen erforderlich. Die Ermittlung erfolgt entsprechend den Anwendungsrichtlinien und den + ö + rtlichen Gegebenheiten. Die Berechnung wird als Dokument an das Attribut angehangen (s. dazu: BasisAttribut). DB-Regelwerk Freimeldetabelle, Spalte 10 + FMA_Laenge_E1 -- Elektrische L + ä + nge des Teilabschnitts E1. Ist nur bei FTGS erforderlich. Ermittlung entsprechend Anwendungsrichtlinie. Angabe des Attributs erfolgt nur, wenn mindestens zwei Teill + ä + ngen existieren, sonst ist die Angabe des Attributs FMA Laenge hinreichend. DB-Regelwerk Freimeldetabelle, Spalte 14 + FMA_Laenge_E2 -- Elektrische L + ä + nge des Teilabschnitts E2. Ist nur bei FTGS erforderlich. Ermittlung entsprechend Anwendungsrichtlinie. Angabe des Attributs erfolgt nur, wenn mindestens drei Teill + ä + ngen existieren. DB-Regelwerk Freimeldetabelle, Spalte 15 + FMA_Laenge_E3 -- Elektrische L + ä + nge des Teilabschnitts E3. Ist nur bei FTGS erforderlich. Ermittlung entsprechend Anwendungsrichtlinie. Angabe des Attributs erfolgt nur, wenn vier Teill + ä + ngen existieren. DB-Regelwerk Freimeldetabelle, Spalte 16 + FMA_Laenge_S -- Elektrische L + ä + nge des Teilabschnitts S. Ist nur bei FTGS erforderlich. Ermittlung entsprechend Anwendungsrichtlinie. Angabe des Attributs erfolgt nur, wenn mindestens zwei Teill + ä + ngen existieren, sonst ist die Angabe des Attributs FMA Laenge hinreichend. DB-Regelwerk Freimeldetabelle, Spalte 13 + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Bettungswiderstand=None, FMA_Laenge=None, FMA_Laenge_Beeinflusst=None, FMA_Laenge_E1=None, FMA_Laenge_E2=None, FMA_Laenge_E3=None, FMA_Laenge_S=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Bettungswiderstand = Bettungswiderstand + self.Bettungswiderstand_nsprefix_ = None + self.FMA_Laenge = FMA_Laenge + self.FMA_Laenge_nsprefix_ = None + self.FMA_Laenge_Beeinflusst = FMA_Laenge_Beeinflusst + self.FMA_Laenge_Beeinflusst_nsprefix_ = None + self.FMA_Laenge_E1 = FMA_Laenge_E1 + self.FMA_Laenge_E1_nsprefix_ = None + self.FMA_Laenge_E2 = FMA_Laenge_E2 + self.FMA_Laenge_E2_nsprefix_ = None + self.FMA_Laenge_E3 = FMA_Laenge_E3 + self.FMA_Laenge_E3_nsprefix_ = None + self.FMA_Laenge_S = FMA_Laenge_S + self.FMA_Laenge_S_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CFMA_Anlage_Elektr_Merkmale) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CFMA_Anlage_Elektr_Merkmale.subclass: + return CFMA_Anlage_Elektr_Merkmale.subclass(*args_, **kwargs_) + else: + return CFMA_Anlage_Elektr_Merkmale(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Bettungswiderstand(self): + return self.Bettungswiderstand + def set_Bettungswiderstand(self, Bettungswiderstand): + self.Bettungswiderstand = Bettungswiderstand + def get_FMA_Laenge(self): + return self.FMA_Laenge + def set_FMA_Laenge(self, FMA_Laenge): + self.FMA_Laenge = FMA_Laenge + def get_FMA_Laenge_Beeinflusst(self): + return self.FMA_Laenge_Beeinflusst + def set_FMA_Laenge_Beeinflusst(self, FMA_Laenge_Beeinflusst): + self.FMA_Laenge_Beeinflusst = FMA_Laenge_Beeinflusst + def get_FMA_Laenge_E1(self): + return self.FMA_Laenge_E1 + def set_FMA_Laenge_E1(self, FMA_Laenge_E1): + self.FMA_Laenge_E1 = FMA_Laenge_E1 + def get_FMA_Laenge_E2(self): + return self.FMA_Laenge_E2 + def set_FMA_Laenge_E2(self, FMA_Laenge_E2): + self.FMA_Laenge_E2 = FMA_Laenge_E2 + def get_FMA_Laenge_E3(self): + return self.FMA_Laenge_E3 + def set_FMA_Laenge_E3(self, FMA_Laenge_E3): + self.FMA_Laenge_E3 = FMA_Laenge_E3 + def get_FMA_Laenge_S(self): + return self.FMA_Laenge_S + def set_FMA_Laenge_S(self, FMA_Laenge_S): + self.FMA_Laenge_S = FMA_Laenge_S + def has__content(self): + if ( + self.Bettungswiderstand is not None or + self.FMA_Laenge is not None or + self.FMA_Laenge_Beeinflusst is not None or + self.FMA_Laenge_E1 is not None or + self.FMA_Laenge_E2 is not None or + self.FMA_Laenge_E3 is not None or + self.FMA_Laenge_S is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsOrtung:', namespacedef_='xmlns:nsOrtung="http://www.plan-pro.org/modell/Ortung/1.10.0"', name_='CFMA_Anlage_Elektr_Merkmale', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CFMA_Anlage_Elektr_Merkmale') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CFMA_Anlage_Elektr_Merkmale': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CFMA_Anlage_Elektr_Merkmale') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CFMA_Anlage_Elektr_Merkmale', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsOrtung:', name_='CFMA_Anlage_Elektr_Merkmale'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsOrtung:', namespacedef_='xmlns:nsOrtung="http://www.plan-pro.org/modell/Ortung/1.10.0"', name_='CFMA_Anlage_Elektr_Merkmale', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Bettungswiderstand is not None: + namespaceprefix_ = self.Bettungswiderstand_nsprefix_ + ':' if (UseCapturedNS_ and self.Bettungswiderstand_nsprefix_) else '' + self.Bettungswiderstand.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Bettungswiderstand', pretty_print=pretty_print) + if self.FMA_Laenge is not None: + namespaceprefix_ = self.FMA_Laenge_nsprefix_ + ':' if (UseCapturedNS_ and self.FMA_Laenge_nsprefix_) else '' + self.FMA_Laenge.export(outfile, level, namespaceprefix_, namespacedef_='', name_='FMA_Laenge', pretty_print=pretty_print) + if self.FMA_Laenge_Beeinflusst is not None: + namespaceprefix_ = self.FMA_Laenge_Beeinflusst_nsprefix_ + ':' if (UseCapturedNS_ and self.FMA_Laenge_Beeinflusst_nsprefix_) else '' + self.FMA_Laenge_Beeinflusst.export(outfile, level, namespaceprefix_, namespacedef_='', name_='FMA_Laenge_Beeinflusst', pretty_print=pretty_print) + if self.FMA_Laenge_E1 is not None: + namespaceprefix_ = self.FMA_Laenge_E1_nsprefix_ + ':' if (UseCapturedNS_ and self.FMA_Laenge_E1_nsprefix_) else '' + self.FMA_Laenge_E1.export(outfile, level, namespaceprefix_, namespacedef_='', name_='FMA_Laenge_E1', pretty_print=pretty_print) + if self.FMA_Laenge_E2 is not None: + namespaceprefix_ = self.FMA_Laenge_E2_nsprefix_ + ':' if (UseCapturedNS_ and self.FMA_Laenge_E2_nsprefix_) else '' + self.FMA_Laenge_E2.export(outfile, level, namespaceprefix_, namespacedef_='', name_='FMA_Laenge_E2', pretty_print=pretty_print) + if self.FMA_Laenge_E3 is not None: + namespaceprefix_ = self.FMA_Laenge_E3_nsprefix_ + ':' if (UseCapturedNS_ and self.FMA_Laenge_E3_nsprefix_) else '' + self.FMA_Laenge_E3.export(outfile, level, namespaceprefix_, namespacedef_='', name_='FMA_Laenge_E3', pretty_print=pretty_print) + if self.FMA_Laenge_S is not None: + namespaceprefix_ = self.FMA_Laenge_S_nsprefix_ + ':' if (UseCapturedNS_ and self.FMA_Laenge_S_nsprefix_) else '' + self.FMA_Laenge_S.export(outfile, level, namespaceprefix_, namespacedef_='', name_='FMA_Laenge_S', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Bettungswiderstand': + obj_ = TCBettungswiderstand.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Bettungswiderstand = obj_ + obj_.original_tagname_ = 'Bettungswiderstand' + elif nodeName_ == 'FMA_Laenge': + obj_ = TCFMA_Laenge.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.FMA_Laenge = obj_ + obj_.original_tagname_ = 'FMA_Laenge' + elif nodeName_ == 'FMA_Laenge_Beeinflusst': + obj_ = TCFMA_Laenge_Beeinflusst.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.FMA_Laenge_Beeinflusst = obj_ + obj_.original_tagname_ = 'FMA_Laenge_Beeinflusst' + elif nodeName_ == 'FMA_Laenge_E1': + obj_ = TCFMA_Laenge_E1.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.FMA_Laenge_E1 = obj_ + obj_.original_tagname_ = 'FMA_Laenge_E1' + elif nodeName_ == 'FMA_Laenge_E2': + obj_ = TCFMA_Laenge_E2.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.FMA_Laenge_E2 = obj_ + obj_.original_tagname_ = 'FMA_Laenge_E2' + elif nodeName_ == 'FMA_Laenge_E3': + obj_ = TCFMA_Laenge_E3.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.FMA_Laenge_E3 = obj_ + obj_.original_tagname_ = 'FMA_Laenge_E3' + elif nodeName_ == 'FMA_Laenge_S': + obj_ = TCFMA_Laenge_S.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.FMA_Laenge_S = obj_ + obj_.original_tagname_ = 'FMA_Laenge_S' +# end class CFMA_Anlage_Elektr_Merkmale + + +class TCFMA_Typ(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCFMA_Typ"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TFMA_Typ(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCFMA_Typ) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCFMA_Typ.subclass: + return TCFMA_Typ.subclass(*args_, **kwargs_) + else: + return TCFMA_Typ(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TFMA_Typ(self, value): + result = True + # Validate type TFMA_Typ, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TFMA_Typ_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TFMA_Typ_patterns_, )) + result = False + return result + validate_TFMA_Typ_patterns_ = [['^(.{1,16})$'], ['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCFMA_Typ, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsOrtung:', namespacedef_='xmlns:nsOrtung="http://www.plan-pro.org/modell/Ortung/1.10.0"', name_='TCFMA_Typ', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCFMA_Typ') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCFMA_Typ': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCFMA_Typ') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCFMA_Typ', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsOrtung:', name_='TCFMA_Typ'): + super(TCFMA_Typ, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCFMA_Typ') + def _exportChildren(self, outfile, level, namespaceprefix_='nsOrtung:', namespacedef_='xmlns:nsOrtung="http://www.plan-pro.org/modell/Ortung/1.10.0"', name_='TCFMA_Typ', fromsubclass_=False, pretty_print=True): + super(TCFMA_Typ, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCFMA_Typ, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TFMA_Typ + self.validate_TFMA_Typ(self.Wert) + super(TCFMA_Typ, self)._buildChildren(child_, node, nodeName_, True) +# end class TCFMA_Typ + + +class TCFMA_Kaskade_Bezeichnung(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCFMA_Kaskade_Bezeichnung"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TFMA_Kaskade_Bezeichnung(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCFMA_Kaskade_Bezeichnung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCFMA_Kaskade_Bezeichnung.subclass: + return TCFMA_Kaskade_Bezeichnung.subclass(*args_, **kwargs_) + else: + return TCFMA_Kaskade_Bezeichnung(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TFMA_Kaskade_Bezeichnung(self, value): + result = True + # Validate type TFMA_Kaskade_Bezeichnung, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TFMA_Kaskade_Bezeichnung_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TFMA_Kaskade_Bezeichnung_patterns_, )) + result = False + return result + validate_TFMA_Kaskade_Bezeichnung_patterns_ = [['^([a-z]|[A-Z]|(I)|(II)|(III)|(IV)|(V)|(VI)|(VII)|(VIII)|(IX)|(X)|(XI)|(XII)|(\\.[1-9]))$'], ['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCFMA_Kaskade_Bezeichnung, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsOrtung:', namespacedef_='xmlns:nsOrtung="http://www.plan-pro.org/modell/Ortung/1.10.0"', name_='TCFMA_Kaskade_Bezeichnung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCFMA_Kaskade_Bezeichnung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCFMA_Kaskade_Bezeichnung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCFMA_Kaskade_Bezeichnung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCFMA_Kaskade_Bezeichnung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsOrtung:', name_='TCFMA_Kaskade_Bezeichnung'): + super(TCFMA_Kaskade_Bezeichnung, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCFMA_Kaskade_Bezeichnung') + def _exportChildren(self, outfile, level, namespaceprefix_='nsOrtung:', namespacedef_='xmlns:nsOrtung="http://www.plan-pro.org/modell/Ortung/1.10.0"', name_='TCFMA_Kaskade_Bezeichnung', fromsubclass_=False, pretty_print=True): + super(TCFMA_Kaskade_Bezeichnung, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCFMA_Kaskade_Bezeichnung, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TFMA_Kaskade_Bezeichnung + self.validate_TFMA_Kaskade_Bezeichnung(self.Wert) + super(TCFMA_Kaskade_Bezeichnung, self)._buildChildren(child_, node, nodeName_, True) +# end class TCFMA_Kaskade_Bezeichnung + + +class TCZugeinwirkung_Art(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCZugeinwirkung_Art"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMZugeinwirkung_Art(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCZugeinwirkung_Art) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCZugeinwirkung_Art.subclass: + return TCZugeinwirkung_Art.subclass(*args_, **kwargs_) + else: + return TCZugeinwirkung_Art(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMZugeinwirkung_Art(self, value): + result = True + # Validate type ENUMZugeinwirkung_Art, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['Doppel_Schleife', 'Doppel_Sensor', 'Dreifach_Schleife', 'Einfach_Schleife', 'Einfach_Sensor', 'Einfach_Sensor_richtungsabhaengig', 'Isolierte_Schiene_alleinstehend', 'Isolierte_Schiene_FMA_Anlage_mitbenutzt', 'Schienenkontakt', 'sonstige'] + 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 ENUMZugeinwirkung_Art' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCZugeinwirkung_Art, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsOrtung:', namespacedef_='xmlns:nsOrtung="http://www.plan-pro.org/modell/Ortung/1.10.0"', name_='TCZugeinwirkung_Art', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCZugeinwirkung_Art') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCZugeinwirkung_Art': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCZugeinwirkung_Art') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCZugeinwirkung_Art', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsOrtung:', name_='TCZugeinwirkung_Art'): + super(TCZugeinwirkung_Art, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCZugeinwirkung_Art') + def _exportChildren(self, outfile, level, namespaceprefix_='nsOrtung:', namespacedef_='xmlns:nsOrtung="http://www.plan-pro.org/modell/Ortung/1.10.0"', name_='TCZugeinwirkung_Art', fromsubclass_=False, pretty_print=True): + super(TCZugeinwirkung_Art, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCZugeinwirkung_Art, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMZugeinwirkung_Art + self.validate_ENUMZugeinwirkung_Art(self.Wert) + super(TCZugeinwirkung_Art, self)._buildChildren(child_, node, nodeName_, True) +# end class TCZugeinwirkung_Art + + +class TCFMA_Laenge(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCFMA_Laenge"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TFMA_Laenge(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCFMA_Laenge) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCFMA_Laenge.subclass: + return TCFMA_Laenge.subclass(*args_, **kwargs_) + else: + return TCFMA_Laenge(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TFMA_Laenge(self, value): + result = True + # Validate type TFMA_Laenge, a restriction on nsBasisTypen:TMeter. + 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 not self.gds_validate_simple_patterns( + self.validate_TFMA_Laenge_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TFMA_Laenge_patterns_, )) + result = False + return result + validate_TFMA_Laenge_patterns_ = [['^([1-9][0-9]{0,2}|1[0-4][0-9]{2}|1500)$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCFMA_Laenge, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsOrtung:', namespacedef_='xmlns:nsOrtung="http://www.plan-pro.org/modell/Ortung/1.10.0"', name_='TCFMA_Laenge', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCFMA_Laenge') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCFMA_Laenge': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCFMA_Laenge') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCFMA_Laenge', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsOrtung:', name_='TCFMA_Laenge'): + super(TCFMA_Laenge, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCFMA_Laenge') + def _exportChildren(self, outfile, level, namespaceprefix_='nsOrtung:', namespacedef_='xmlns:nsOrtung="http://www.plan-pro.org/modell/Ortung/1.10.0"', name_='TCFMA_Laenge', fromsubclass_=False, pretty_print=True): + super(TCFMA_Laenge, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_decimal(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCFMA_Laenge, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + fval_ = self.gds_parse_decimal(sval_, node, 'Wert') + fval_ = self.gds_validate_decimal(fval_, node, 'Wert') + self.Wert = fval_ + self.Wert_nsprefix_ = child_.prefix + # validate type TFMA_Laenge + self.validate_TFMA_Laenge(self.Wert) + super(TCFMA_Laenge, self)._buildChildren(child_, node, nodeName_, True) +# end class TCFMA_Laenge + + +class TCFMA_Laenge_E3(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCFMA_Laenge_E3"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TFMA_Laenge_E3(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCFMA_Laenge_E3) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCFMA_Laenge_E3.subclass: + return TCFMA_Laenge_E3.subclass(*args_, **kwargs_) + else: + return TCFMA_Laenge_E3(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TFMA_Laenge_E3(self, value): + result = True + # Validate type TFMA_Laenge_E3, a restriction on nsBasisTypen:TMeter. + 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 not self.gds_validate_simple_patterns( + self.validate_TFMA_Laenge_E3_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TFMA_Laenge_E3_patterns_, )) + result = False + return result + validate_TFMA_Laenge_E3_patterns_ = [['^([1-9][0-9]{0,2}|1[0-4][0-9]{2})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCFMA_Laenge_E3, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsOrtung:', namespacedef_='xmlns:nsOrtung="http://www.plan-pro.org/modell/Ortung/1.10.0"', name_='TCFMA_Laenge_E3', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCFMA_Laenge_E3') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCFMA_Laenge_E3': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCFMA_Laenge_E3') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCFMA_Laenge_E3', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsOrtung:', name_='TCFMA_Laenge_E3'): + super(TCFMA_Laenge_E3, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCFMA_Laenge_E3') + def _exportChildren(self, outfile, level, namespaceprefix_='nsOrtung:', namespacedef_='xmlns:nsOrtung="http://www.plan-pro.org/modell/Ortung/1.10.0"', name_='TCFMA_Laenge_E3', fromsubclass_=False, pretty_print=True): + super(TCFMA_Laenge_E3, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_decimal(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCFMA_Laenge_E3, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + fval_ = self.gds_parse_decimal(sval_, node, 'Wert') + fval_ = self.gds_validate_decimal(fval_, node, 'Wert') + self.Wert = fval_ + self.Wert_nsprefix_ = child_.prefix + # validate type TFMA_Laenge_E3 + self.validate_TFMA_Laenge_E3(self.Wert) + super(TCFMA_Laenge_E3, self)._buildChildren(child_, node, nodeName_, True) +# end class TCFMA_Laenge_E3 + + +class TCFMA_Art(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCFMA_Art"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMFMA_Art(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCFMA_Art) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCFMA_Art.subclass: + return TCFMA_Art.subclass(*args_, **kwargs_) + else: + return TCFMA_Art(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMFMA_Art(self, value): + result = True + # Validate type ENUMFMA_Art, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['Achszaehlanlage', 'FTGS', 'NF_Gleisstromkreis', 'sonstige', 'TF_Gleisstromkreis'] + 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 ENUMFMA_Art' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCFMA_Art, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsOrtung:', namespacedef_='xmlns:nsOrtung="http://www.plan-pro.org/modell/Ortung/1.10.0"', name_='TCFMA_Art', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCFMA_Art') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCFMA_Art': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCFMA_Art') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCFMA_Art', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsOrtung:', name_='TCFMA_Art'): + super(TCFMA_Art, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCFMA_Art') + def _exportChildren(self, outfile, level, namespaceprefix_='nsOrtung:', namespacedef_='xmlns:nsOrtung="http://www.plan-pro.org/modell/Ortung/1.10.0"', name_='TCFMA_Art', fromsubclass_=False, pretty_print=True): + super(TCFMA_Art, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCFMA_Art, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMFMA_Art + self.validate_ENUMFMA_Art(self.Wert) + super(TCFMA_Art, self)._buildChildren(child_, node, nodeName_, True) +# end class TCFMA_Art + + +class TCFMA_Hilffreimeldung(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCFMA_Hilffreimeldung"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCFMA_Hilffreimeldung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCFMA_Hilffreimeldung.subclass: + return TCFMA_Hilffreimeldung.subclass(*args_, **kwargs_) + else: + return TCFMA_Hilffreimeldung(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def has__content(self): + if ( + self.Wert is not None or + super(TCFMA_Hilffreimeldung, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsOrtung:', namespacedef_='xmlns:nsOrtung="http://www.plan-pro.org/modell/Ortung/1.10.0"', name_='TCFMA_Hilffreimeldung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCFMA_Hilffreimeldung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCFMA_Hilffreimeldung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCFMA_Hilffreimeldung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCFMA_Hilffreimeldung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsOrtung:', name_='TCFMA_Hilffreimeldung'): + super(TCFMA_Hilffreimeldung, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCFMA_Hilffreimeldung') + def _exportChildren(self, outfile, level, namespaceprefix_='nsOrtung:', namespacedef_='xmlns:nsOrtung="http://www.plan-pro.org/modell/Ortung/1.10.0"', name_='TCFMA_Hilffreimeldung', fromsubclass_=False, pretty_print=True): + super(TCFMA_Hilffreimeldung, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_boolean(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCFMA_Hilffreimeldung, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + sval_ = child_.text + ival_ = self.gds_parse_boolean(sval_, node, 'Wert') + ival_ = self.gds_validate_boolean(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + super(TCFMA_Hilffreimeldung, self)._buildChildren(child_, node, nodeName_, True) +# end class TCFMA_Hilffreimeldung + + +class TCFMA_Kaskade_Einzelauswertung(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCFMA_Kaskade_Einzelauswertung"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCFMA_Kaskade_Einzelauswertung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCFMA_Kaskade_Einzelauswertung.subclass: + return TCFMA_Kaskade_Einzelauswertung.subclass(*args_, **kwargs_) + else: + return TCFMA_Kaskade_Einzelauswertung(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def has__content(self): + if ( + self.Wert is not None or + super(TCFMA_Kaskade_Einzelauswertung, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsOrtung:', namespacedef_='xmlns:nsOrtung="http://www.plan-pro.org/modell/Ortung/1.10.0"', name_='TCFMA_Kaskade_Einzelauswertung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCFMA_Kaskade_Einzelauswertung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCFMA_Kaskade_Einzelauswertung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCFMA_Kaskade_Einzelauswertung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCFMA_Kaskade_Einzelauswertung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsOrtung:', name_='TCFMA_Kaskade_Einzelauswertung'): + super(TCFMA_Kaskade_Einzelauswertung, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCFMA_Kaskade_Einzelauswertung') + def _exportChildren(self, outfile, level, namespaceprefix_='nsOrtung:', namespacedef_='xmlns:nsOrtung="http://www.plan-pro.org/modell/Ortung/1.10.0"', name_='TCFMA_Kaskade_Einzelauswertung', fromsubclass_=False, pretty_print=True): + super(TCFMA_Kaskade_Einzelauswertung, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_boolean(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCFMA_Kaskade_Einzelauswertung, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + sval_ = child_.text + ival_ = self.gds_parse_boolean(sval_, node, 'Wert') + ival_ = self.gds_validate_boolean(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + super(TCFMA_Kaskade_Einzelauswertung, self)._buildChildren(child_, node, nodeName_, True) +# end class TCFMA_Kaskade_Einzelauswertung + + +class TCZugeinwirkung_Typ(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCZugeinwirkung_Typ"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TZugeinwirkung_Typ(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCZugeinwirkung_Typ) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCZugeinwirkung_Typ.subclass: + return TCZugeinwirkung_Typ.subclass(*args_, **kwargs_) + else: + return TCZugeinwirkung_Typ(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TZugeinwirkung_Typ(self, value): + result = True + # Validate type TZugeinwirkung_Typ, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TZugeinwirkung_Typ_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TZugeinwirkung_Typ_patterns_, )) + result = False + return result + validate_TZugeinwirkung_Typ_patterns_ = [['^(.{1,16})$'], ['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCZugeinwirkung_Typ, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsOrtung:', namespacedef_='xmlns:nsOrtung="http://www.plan-pro.org/modell/Ortung/1.10.0"', name_='TCZugeinwirkung_Typ', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCZugeinwirkung_Typ') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCZugeinwirkung_Typ': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCZugeinwirkung_Typ') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCZugeinwirkung_Typ', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsOrtung:', name_='TCZugeinwirkung_Typ'): + super(TCZugeinwirkung_Typ, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCZugeinwirkung_Typ') + def _exportChildren(self, outfile, level, namespaceprefix_='nsOrtung:', namespacedef_='xmlns:nsOrtung="http://www.plan-pro.org/modell/Ortung/1.10.0"', name_='TCZugeinwirkung_Typ', fromsubclass_=False, pretty_print=True): + super(TCZugeinwirkung_Typ, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCZugeinwirkung_Typ, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TZugeinwirkung_Typ + self.validate_TZugeinwirkung_Typ(self.Wert) + super(TCZugeinwirkung_Typ, self)._buildChildren(child_, node, nodeName_, True) +# end class TCZugeinwirkung_Typ + + +class TCFMA_Element_Art(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCFMA_Element_Art"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMFMA_Element_Art(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCFMA_Element_Art) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCFMA_Element_Art.subclass: + return TCFMA_Element_Art.subclass(*args_, **kwargs_) + else: + return TCFMA_Element_Art(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMFMA_Element_Art(self, value): + result = True + # Validate type ENUMFMA_Element_Art, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['Anschlussseile', 'Drosselspule', 'Endverbinder', 'Endverbinder_modifiziert', 'Kurzschlussverbinder', 'Potentialausgleichsverbinder', 'sonstige', 'S_Verbinder', 'Ueberlagerungsverbinder'] + 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 ENUMFMA_Element_Art' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCFMA_Element_Art, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsOrtung:', namespacedef_='xmlns:nsOrtung="http://www.plan-pro.org/modell/Ortung/1.10.0"', name_='TCFMA_Element_Art', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCFMA_Element_Art') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCFMA_Element_Art': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCFMA_Element_Art') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCFMA_Element_Art', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsOrtung:', name_='TCFMA_Element_Art'): + super(TCFMA_Element_Art, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCFMA_Element_Art') + def _exportChildren(self, outfile, level, namespaceprefix_='nsOrtung:', namespacedef_='xmlns:nsOrtung="http://www.plan-pro.org/modell/Ortung/1.10.0"', name_='TCFMA_Element_Art', fromsubclass_=False, pretty_print=True): + super(TCFMA_Element_Art, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCFMA_Element_Art, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMFMA_Element_Art + self.validate_ENUMFMA_Element_Art(self.Wert) + super(TCFMA_Element_Art, self)._buildChildren(child_, node, nodeName_, True) +# end class TCFMA_Element_Art + + +class TCFMA_Komponente_Art(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCFMA_Komponente_Art"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMFMA_Komponente_Art(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCFMA_Komponente_Art) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCFMA_Komponente_Art.subclass: + return TCFMA_Komponente_Art.subclass(*args_, **kwargs_) + else: + return TCFMA_Komponente_Art(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMFMA_Komponente_Art(self, value): + result = True + # Validate type ENUMFMA_Komponente_Art, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['elektrischer_Trennstoss', 'Isolierstoss_einschienig', 'Isolierstoss_zweischienig'] + 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 ENUMFMA_Komponente_Art' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCFMA_Komponente_Art, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsOrtung:', namespacedef_='xmlns:nsOrtung="http://www.plan-pro.org/modell/Ortung/1.10.0"', name_='TCFMA_Komponente_Art', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCFMA_Komponente_Art') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCFMA_Komponente_Art': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCFMA_Komponente_Art') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCFMA_Komponente_Art', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsOrtung:', name_='TCFMA_Komponente_Art'): + super(TCFMA_Komponente_Art, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCFMA_Komponente_Art') + def _exportChildren(self, outfile, level, namespaceprefix_='nsOrtung:', namespacedef_='xmlns:nsOrtung="http://www.plan-pro.org/modell/Ortung/1.10.0"', name_='TCFMA_Komponente_Art', fromsubclass_=False, pretty_print=True): + super(TCFMA_Komponente_Art, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCFMA_Komponente_Art, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMFMA_Komponente_Art + self.validate_ENUMFMA_Komponente_Art(self.Wert) + super(TCFMA_Komponente_Art, self)._buildChildren(child_, node, nodeName_, True) +# end class TCFMA_Komponente_Art + + +class TCUebertragung_FMinfo_Richtung(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCUebertragung_FMinfo_Richtung"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMUebertragung_FMinfo_Richtung(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCUebertragung_FMinfo_Richtung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCUebertragung_FMinfo_Richtung.subclass: + return TCUebertragung_FMinfo_Richtung.subclass(*args_, **kwargs_) + else: + return TCUebertragung_FMinfo_Richtung(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMUebertragung_FMinfo_Richtung(self, value): + result = True + # Validate type ENUMUebertragung_FMinfo_Richtung, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['gehend', 'kommend'] + 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 ENUMUebertragung_FMinfo_Richtung' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCUebertragung_FMinfo_Richtung, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsOrtung:', namespacedef_='xmlns:nsOrtung="http://www.plan-pro.org/modell/Ortung/1.10.0"', name_='TCUebertragung_FMinfo_Richtung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCUebertragung_FMinfo_Richtung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCUebertragung_FMinfo_Richtung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCUebertragung_FMinfo_Richtung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCUebertragung_FMinfo_Richtung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsOrtung:', name_='TCUebertragung_FMinfo_Richtung'): + super(TCUebertragung_FMinfo_Richtung, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCUebertragung_FMinfo_Richtung') + def _exportChildren(self, outfile, level, namespaceprefix_='nsOrtung:', namespacedef_='xmlns:nsOrtung="http://www.plan-pro.org/modell/Ortung/1.10.0"', name_='TCUebertragung_FMinfo_Richtung', fromsubclass_=False, pretty_print=True): + super(TCUebertragung_FMinfo_Richtung, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCUebertragung_FMinfo_Richtung, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMUebertragung_FMinfo_Richtung + self.validate_ENUMUebertragung_FMinfo_Richtung(self.Wert) + super(TCUebertragung_FMinfo_Richtung, self)._buildChildren(child_, node, nodeName_, True) +# end class TCUebertragung_FMinfo_Richtung + + +class CFMA_Element_Anschluss(GeneratedsSuper): + """FMA_Anschluss_Bezeichnung -- Bezeichnung des Anschlusses einer Ein- / Ausspeisung. + FMA_Anschluss_Speiserichtung -- Bestimmt die Speiserichtung bei Gleisstromkreisen. DB-Regelwerk Sicherungstechnischer Lageplan, B + Ü + -Lageplan; Gleisfreimeldeplan. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, FMA_Anschluss_Bezeichnung=None, FMA_Anschluss_Speiserichtung=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.FMA_Anschluss_Bezeichnung = FMA_Anschluss_Bezeichnung + self.FMA_Anschluss_Bezeichnung_nsprefix_ = None + self.FMA_Anschluss_Speiserichtung = FMA_Anschluss_Speiserichtung + self.FMA_Anschluss_Speiserichtung_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CFMA_Element_Anschluss) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CFMA_Element_Anschluss.subclass: + return CFMA_Element_Anschluss.subclass(*args_, **kwargs_) + else: + return CFMA_Element_Anschluss(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_FMA_Anschluss_Bezeichnung(self): + return self.FMA_Anschluss_Bezeichnung + def set_FMA_Anschluss_Bezeichnung(self, FMA_Anschluss_Bezeichnung): + self.FMA_Anschluss_Bezeichnung = FMA_Anschluss_Bezeichnung + def get_FMA_Anschluss_Speiserichtung(self): + return self.FMA_Anschluss_Speiserichtung + def set_FMA_Anschluss_Speiserichtung(self, FMA_Anschluss_Speiserichtung): + self.FMA_Anschluss_Speiserichtung = FMA_Anschluss_Speiserichtung + def has__content(self): + if ( + self.FMA_Anschluss_Bezeichnung is not None or + self.FMA_Anschluss_Speiserichtung is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsOrtung:', namespacedef_='xmlns:nsOrtung="http://www.plan-pro.org/modell/Ortung/1.10.0"', name_='CFMA_Element_Anschluss', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CFMA_Element_Anschluss') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CFMA_Element_Anschluss': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CFMA_Element_Anschluss') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CFMA_Element_Anschluss', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsOrtung:', name_='CFMA_Element_Anschluss'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsOrtung:', namespacedef_='xmlns:nsOrtung="http://www.plan-pro.org/modell/Ortung/1.10.0"', name_='CFMA_Element_Anschluss', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.FMA_Anschluss_Bezeichnung is not None: + namespaceprefix_ = self.FMA_Anschluss_Bezeichnung_nsprefix_ + ':' if (UseCapturedNS_ and self.FMA_Anschluss_Bezeichnung_nsprefix_) else '' + self.FMA_Anschluss_Bezeichnung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='FMA_Anschluss_Bezeichnung', pretty_print=pretty_print) + if self.FMA_Anschluss_Speiserichtung is not None: + namespaceprefix_ = self.FMA_Anschluss_Speiserichtung_nsprefix_ + ':' if (UseCapturedNS_ and self.FMA_Anschluss_Speiserichtung_nsprefix_) else '' + self.FMA_Anschluss_Speiserichtung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='FMA_Anschluss_Speiserichtung', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'FMA_Anschluss_Bezeichnung': + obj_ = TCFMA_Anschluss_Bezeichnung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.FMA_Anschluss_Bezeichnung = obj_ + obj_.original_tagname_ = 'FMA_Anschluss_Bezeichnung' + elif nodeName_ == 'FMA_Anschluss_Speiserichtung': + obj_ = TCFMA_Anschluss_Speiserichtung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.FMA_Anschluss_Speiserichtung = obj_ + obj_.original_tagname_ = 'FMA_Anschluss_Speiserichtung' +# end class CFMA_Element_Anschluss + + +class TCFMA_Laenge_S(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCFMA_Laenge_S"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TFMA_Laenge_S(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCFMA_Laenge_S) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCFMA_Laenge_S.subclass: + return TCFMA_Laenge_S.subclass(*args_, **kwargs_) + else: + return TCFMA_Laenge_S(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TFMA_Laenge_S(self, value): + result = True + # Validate type TFMA_Laenge_S, a restriction on nsBasisTypen:TMeter. + 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 not self.gds_validate_simple_patterns( + self.validate_TFMA_Laenge_S_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TFMA_Laenge_S_patterns_, )) + result = False + return result + validate_TFMA_Laenge_S_patterns_ = [['^([1-9][0-9]{0,2}|1[0-4][0-9]{2})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCFMA_Laenge_S, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsOrtung:', namespacedef_='xmlns:nsOrtung="http://www.plan-pro.org/modell/Ortung/1.10.0"', name_='TCFMA_Laenge_S', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCFMA_Laenge_S') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCFMA_Laenge_S': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCFMA_Laenge_S') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCFMA_Laenge_S', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsOrtung:', name_='TCFMA_Laenge_S'): + super(TCFMA_Laenge_S, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCFMA_Laenge_S') + def _exportChildren(self, outfile, level, namespaceprefix_='nsOrtung:', namespacedef_='xmlns:nsOrtung="http://www.plan-pro.org/modell/Ortung/1.10.0"', name_='TCFMA_Laenge_S', fromsubclass_=False, pretty_print=True): + super(TCFMA_Laenge_S, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_decimal(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCFMA_Laenge_S, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + fval_ = self.gds_parse_decimal(sval_, node, 'Wert') + fval_ = self.gds_validate_decimal(fval_, node, 'Wert') + self.Wert = fval_ + self.Wert_nsprefix_ = child_.prefix + # validate type TFMA_Laenge_S + self.validate_TFMA_Laenge_S(self.Wert) + super(TCFMA_Laenge_S, self)._buildChildren(child_, node, nodeName_, True) +# end class TCFMA_Laenge_S + + +class TCUebertragung_FMinfo_Typ(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCUebertragung_FMinfo_Typ"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TUebertragung_FMinfo_Typ(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCUebertragung_FMinfo_Typ) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCUebertragung_FMinfo_Typ.subclass: + return TCUebertragung_FMinfo_Typ.subclass(*args_, **kwargs_) + else: + return TCUebertragung_FMinfo_Typ(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TUebertragung_FMinfo_Typ(self, value): + result = True + # Validate type TUebertragung_FMinfo_Typ, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TUebertragung_FMinfo_Typ_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TUebertragung_FMinfo_Typ_patterns_, )) + result = False + return result + validate_TUebertragung_FMinfo_Typ_patterns_ = [['^(.{1,16})$'], ['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCUebertragung_FMinfo_Typ, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsOrtung:', namespacedef_='xmlns:nsOrtung="http://www.plan-pro.org/modell/Ortung/1.10.0"', name_='TCUebertragung_FMinfo_Typ', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCUebertragung_FMinfo_Typ') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCUebertragung_FMinfo_Typ': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCUebertragung_FMinfo_Typ') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCUebertragung_FMinfo_Typ', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsOrtung:', name_='TCUebertragung_FMinfo_Typ'): + super(TCUebertragung_FMinfo_Typ, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCUebertragung_FMinfo_Typ') + def _exportChildren(self, outfile, level, namespaceprefix_='nsOrtung:', namespacedef_='xmlns:nsOrtung="http://www.plan-pro.org/modell/Ortung/1.10.0"', name_='TCUebertragung_FMinfo_Typ', fromsubclass_=False, pretty_print=True): + super(TCUebertragung_FMinfo_Typ, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCUebertragung_FMinfo_Typ, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TUebertragung_FMinfo_Typ + self.validate_TUebertragung_FMinfo_Typ(self.Wert) + super(TCUebertragung_FMinfo_Typ, self)._buildChildren(child_, node, nodeName_, True) +# end class TCUebertragung_FMinfo_Typ + + +class TCFahrt_Ueber(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCFahrt_Ueber"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMFahrt_Ueber(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCFahrt_Ueber) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCFahrt_Ueber.subclass: + return TCFahrt_Ueber.subclass(*args_, **kwargs_) + else: + return TCFahrt_Ueber(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMFahrt_Ueber(self, value): + result = True + # Validate type ENUMFahrt_Ueber, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['links', 'rechts', 'Spitze'] + 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 ENUMFahrt_Ueber' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCFahrt_Ueber, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsFlankenschutz:', namespacedef_='xmlns:nsFlankenschutz="http://www.plan-pro.org/modell/Flankenschutz/1.10.0"', name_='TCFahrt_Ueber', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCFahrt_Ueber') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCFahrt_Ueber': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCFahrt_Ueber') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCFahrt_Ueber', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsFlankenschutz:', name_='TCFahrt_Ueber'): + super(TCFahrt_Ueber, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCFahrt_Ueber') + def _exportChildren(self, outfile, level, namespaceprefix_='nsFlankenschutz:', namespacedef_='xmlns:nsFlankenschutz="http://www.plan-pro.org/modell/Flankenschutz/1.10.0"', name_='TCFahrt_Ueber', fromsubclass_=False, pretty_print=True): + super(TCFahrt_Ueber, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCFahrt_Ueber, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMFahrt_Ueber + self.validate_ENUMFahrt_Ueber(self.Wert) + super(TCFahrt_Ueber, self)._buildChildren(child_, node, nodeName_, True) +# end class TCFahrt_Ueber + + +class CFla_Schutz_Anforderer(GeneratedsSuper): + """EKW_Kr_Anteil -- Nur bei EKW: Kennzeichnung des Kreuzungsanteils, auf den sich die Flankenschutzbetrachtung bezieht (\"true\"). Der Wert \"false\" wird nicht verwendet. Die Zerlegung in Weichen- und Kreuzungsanteile findet nur bei der Flankenschutzbetrachtung f + ü + r die EKW statt. Je zugeh + ö + rigem Weichenelement sind damit 4 Inszanzen Fla_Schutz anzulegen (zweimal bezogen auf den Weichenanteil (links/rechts) und zweimal bezogen auf den Kreuzungsanteil (links/rechts)). Die Modellierung der EKW an sich (eine Weichenanlage, zwei Weichenelemente) bleibt hiervon unber + ü + hrt. + Fahrt_Ueber -- Beschreibung des Weichenanschlusses der Flankenschutz anfordernden Weiche. links/rechts: Der linke/rechte Strang der Weiche wird befahren, + der jeweils andere sucht Flankenschutz. Spitze: Die nicht durch Verschluss befriedigte Flankenschutzanforderung, die auf eine Zwieschutzweiche trifft, wird + ü + ber die Spitze der Zwieschutzweiche weitergegeben. DB-Regelwerk links/rechts: Flankenschutztabelle, Spalte 1 \"Fahrstra + ß + en + ü + ber\"; Spitze: Zwieschutzweichentabelle, indirekt + ü + ber Spalte 4 \"Zwieschutzfall-Ma + ß + nahme\", wenn dort \"Fernschutz\" (eigentlich: Ersatzschutz) oder \"Verzicht\" ausgew + ä + hlt ist. + ID_Anforderer_Element -- Element, das den Flankenschutz anfordert. Flankenschutz k + ö + nnen Weichen, Kreuzungen (W Kr Gsp Element) und Nahstellbereiche (NB Zone Grenze) anfordern. Ist bei einer Zwieschutzweiche ein Ersatzschutz geplant, ist die Zwieschutzweiche der Anforderer. DB-Regelwerk Flankenschutztabelle, Spalten 1 \"Fahrstra + ß + en + ü + ber/Nahbedienbezirk\" und 2 \"Nahbediengrenze\" + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, EKW_Kr_Anteil=None, Fahrt_Ueber=None, ID_Anforderer_Element=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.EKW_Kr_Anteil = EKW_Kr_Anteil + self.EKW_Kr_Anteil_nsprefix_ = None + self.Fahrt_Ueber = Fahrt_Ueber + self.Fahrt_Ueber_nsprefix_ = None + self.ID_Anforderer_Element = ID_Anforderer_Element + self.ID_Anforderer_Element_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CFla_Schutz_Anforderer) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CFla_Schutz_Anforderer.subclass: + return CFla_Schutz_Anforderer.subclass(*args_, **kwargs_) + else: + return CFla_Schutz_Anforderer(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_EKW_Kr_Anteil(self): + return self.EKW_Kr_Anteil + def set_EKW_Kr_Anteil(self, EKW_Kr_Anteil): + self.EKW_Kr_Anteil = EKW_Kr_Anteil + def get_Fahrt_Ueber(self): + return self.Fahrt_Ueber + def set_Fahrt_Ueber(self, Fahrt_Ueber): + self.Fahrt_Ueber = Fahrt_Ueber + def get_ID_Anforderer_Element(self): + return self.ID_Anforderer_Element + def set_ID_Anforderer_Element(self, ID_Anforderer_Element): + self.ID_Anforderer_Element = ID_Anforderer_Element + def has__content(self): + if ( + self.EKW_Kr_Anteil is not None or + self.Fahrt_Ueber is not None or + self.ID_Anforderer_Element is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsFlankenschutz:', namespacedef_='xmlns:nsFlankenschutz="http://www.plan-pro.org/modell/Flankenschutz/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CFla_Schutz_Anforderer', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CFla_Schutz_Anforderer') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CFla_Schutz_Anforderer': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CFla_Schutz_Anforderer') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CFla_Schutz_Anforderer', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsFlankenschutz:', name_='CFla_Schutz_Anforderer'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsFlankenschutz:', namespacedef_='xmlns:nsFlankenschutz="http://www.plan-pro.org/modell/Flankenschutz/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CFla_Schutz_Anforderer', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.EKW_Kr_Anteil is not None: + namespaceprefix_ = self.EKW_Kr_Anteil_nsprefix_ + ':' if (UseCapturedNS_ and self.EKW_Kr_Anteil_nsprefix_) else '' + self.EKW_Kr_Anteil.export(outfile, level, namespaceprefix_, namespacedef_='', name_='EKW_Kr_Anteil', pretty_print=pretty_print) + if self.Fahrt_Ueber is not None: + namespaceprefix_ = self.Fahrt_Ueber_nsprefix_ + ':' if (UseCapturedNS_ and self.Fahrt_Ueber_nsprefix_) else '' + self.Fahrt_Ueber.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Fahrt_Ueber', pretty_print=pretty_print) + if self.ID_Anforderer_Element is not None: + namespaceprefix_ = self.ID_Anforderer_Element_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Anforderer_Element_nsprefix_) else '' + self.ID_Anforderer_Element.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Anforderer_Element', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'EKW_Kr_Anteil': + obj_ = TCEKW_Kr_Anteil.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.EKW_Kr_Anteil = obj_ + obj_.original_tagname_ = 'EKW_Kr_Anteil' + elif nodeName_ == 'Fahrt_Ueber': + obj_ = TCFahrt_Ueber.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Fahrt_Ueber = obj_ + obj_.original_tagname_ = 'Fahrt_Ueber' + elif nodeName_ == 'ID_Anforderer_Element': + obj_ = TCID_Anforderer_Element.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Anforderer_Element = obj_ + obj_.original_tagname_ = 'ID_Anforderer_Element' +# end class CFla_Schutz_Anforderer + + +class TCMassnahme(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCMassnahme"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMMassnahme(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCMassnahme) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCMassnahme.subclass: + return TCMassnahme.subclass(*args_, **kwargs_) + else: + return TCMassnahme(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMMassnahme(self, value): + result = True + # Validate type ENUMMassnahme, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['Ersatzschutz', 'Verschluss', 'Verschluss_Ersatzschutz', 'Verzicht'] + 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 ENUMMassnahme' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCMassnahme, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsFlankenschutz:', namespacedef_='xmlns:nsFlankenschutz="http://www.plan-pro.org/modell/Flankenschutz/1.10.0"', name_='TCMassnahme', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCMassnahme') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCMassnahme': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCMassnahme') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCMassnahme', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsFlankenschutz:', name_='TCMassnahme'): + super(TCMassnahme, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCMassnahme') + def _exportChildren(self, outfile, level, namespaceprefix_='nsFlankenschutz:', namespacedef_='xmlns:nsFlankenschutz="http://www.plan-pro.org/modell/Flankenschutz/1.10.0"', name_='TCMassnahme', fromsubclass_=False, pretty_print=True): + super(TCMassnahme, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCMassnahme, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMMassnahme + self.validate_ENUMMassnahme(self.Wert) + super(TCMassnahme, self)._buildChildren(child_, node, nodeName_, True) +# end class TCMassnahme + + +class CFla_Zwieschutz_Element(GeneratedsSuper): + """ID_Fla_Schutz_L -- Verweis auf die Ersatzschutzma + ß + nahme bei Ersatzschutz und Anforderung in Linkslage. DB-Regelwerk Zwieschutzweichentabelle, Spalten 5...7 \"direkt anschlie + ß + ender Flankenschutz\" und 8...9 \"Flankenschutz\" + ID_Fla_Schutz_R -- Verweis auf die Ersatzschutzma + ß + nahme bei Ersatzschutz und Anforderung in Rechtslage. DB-Regelwerk Zwieschutzweichentabelle, Spalten 5...7 \"direkt anschlie + ß + ender Flankenschutz\" und 8...9 \"Flankenschutz\" + Massnahme_L -- Ma + ß + nahme, durch die der Flankenschutz im linken Strang der Zwieschutzweiche hergestellt wird. Ersatzschutz: Der Flankenschutz wird durch das n + ä + chste Flankenschutzelement hergestellt. Verschluss: Die Flankenschutzweiche wird in der Linkslage verschlossen. Verzicht: Der Flankenschutz wird durch betriebliche Ma + ß + nahmen hergestellt; technisch wird darauf verzichtet. Verschluss/Ersatzschutz: Der Wert bildet den Planungsfall ab, dass die Flankenschutzanforderungen an die Zwieschutzweiche von gleichberechtigten Fahrstra + ß + en kommen und damit planerisch keine feste Zuweisung von Verschluss und Ersatzschutz erfolgt. Der ENUM-Wert ist also im Sinne + „ + Verschluss oder Ersatzschutz + “ + zu interpretieren. In der Praxis bedeutet dies, dass die Fahrstra + ß + e, die zuerst eingestellt wird, den direkten Flankenschutz und die als zweite eingestellte Fahrstra + ß + e den Ersatzschutz erh + ä + lt. + Die Ma + ß + nahmen beziehen sich nur auf den Zwieschutzfall. Wird die Weiche nur in einem Strang angefordert, wird sie regul + ä + r Flankenschutz bieten, wie es in der Flankenschutzplanung vorgesehen ist. DB-Regelwerk Zwieschutzweichentabelle, Spalte 4 \"Zwieschutzfall-Ma + ß + nahme\" + Massnahme_R -- Ma + ß + nahme, durch die der Flankenschutz im rechten Strang der Zwieschutzweiche hergestellt wird. Ersatzschutz: Der Flankenschutz wird durch das n + ä + chste Flankenschutzelement hergestellt. Verschluss: Die Flankenschutzweiche wird in der Rechtslage verschlossen. Verzicht: Der Flankenschutz wird durch betriebliche Ma + ß + nahmen hergestellt; technisch wird darauf verzichtet. Verschluss/Ersatzschutz: Der Wert bildet den Planungsfall ab, dass die Flankenschutzanforderungen an die Zwieschutzweiche von gleichberechtigten Fahrstra + ß + en kommen und damit planerisch keine feste Zuweisung von Verschluss und Ersatzschutz erfolgt. Der ENUM-Wert ist also im Sinne + „ + Verschluss oder Ersatzschutz + “ + zu interpretieren. In der Praxis bedeutet dies, dass die Fahrstra + ß + e, die zuerst eingestellt wird, den direkten Flankenschutz und die als zweite eingestellte Fahrstra + ß + e den Ersatzchutz erh + ä + lt. Die Ma + ß + nahmen beziehen sich nur auf den Zwieschutzfall. Wird die Weiche nur in einem Strang angefordert, wird sie regul + ä + r Flankenschutz bieten, wie es in der Flankenschutzplanung vorgesehen ist. + DB-Regelwerk Zwieschutzweichentabelle, Spalte 4 \"Zwieschutzfall-Ma + ß + nahme\" + Nachlaufverhinderung -- Das Nachlaufen der Weiche wird verhindert, wenn die Flankenschutzanforderung, f + ü + r die der Verschluss projektiert ist, nicht mehr besteht. In der Regel wird f + ü + r Eigenzwieschutzweichen die Nachlaufverhinderung projektiert. DB-Regelwerk Zwieschutzweichentabelle, Spalten 10 und 11 \"Zwieschutzweiche mit/ohne Nachlaufverhinderung\" + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, ID_Fla_Schutz_L=None, ID_Fla_Schutz_R=None, Massnahme_L=None, Massnahme_R=None, Nachlaufverhinderung=None, gds_collector_=None, **kwargs_): + self.gds_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_Fla_Schutz_L = ID_Fla_Schutz_L + self.ID_Fla_Schutz_L_nsprefix_ = None + self.ID_Fla_Schutz_R = ID_Fla_Schutz_R + self.ID_Fla_Schutz_R_nsprefix_ = None + self.Massnahme_L = Massnahme_L + self.Massnahme_L_nsprefix_ = None + self.Massnahme_R = Massnahme_R + self.Massnahme_R_nsprefix_ = None + self.Nachlaufverhinderung = Nachlaufverhinderung + self.Nachlaufverhinderung_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CFla_Zwieschutz_Element) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CFla_Zwieschutz_Element.subclass: + return CFla_Zwieschutz_Element.subclass(*args_, **kwargs_) + else: + return CFla_Zwieschutz_Element(*args_, **kwargs_) + factory = staticmethod(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_Fla_Schutz_L(self): + return self.ID_Fla_Schutz_L + def set_ID_Fla_Schutz_L(self, ID_Fla_Schutz_L): + self.ID_Fla_Schutz_L = ID_Fla_Schutz_L + def get_ID_Fla_Schutz_R(self): + return self.ID_Fla_Schutz_R + def set_ID_Fla_Schutz_R(self, ID_Fla_Schutz_R): + self.ID_Fla_Schutz_R = ID_Fla_Schutz_R + def get_Massnahme_L(self): + return self.Massnahme_L + def set_Massnahme_L(self, Massnahme_L): + self.Massnahme_L = Massnahme_L + def get_Massnahme_R(self): + return self.Massnahme_R + def set_Massnahme_R(self, Massnahme_R): + self.Massnahme_R = Massnahme_R + def get_Nachlaufverhinderung(self): + return self.Nachlaufverhinderung + def set_Nachlaufverhinderung(self, Nachlaufverhinderung): + self.Nachlaufverhinderung = Nachlaufverhinderung + def has__content(self): + if ( + self.ID_Fla_Schutz_L is not None or + self.ID_Fla_Schutz_R is not None or + self.Massnahme_L is not None or + self.Massnahme_R is not None or + self.Nachlaufverhinderung is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsFlankenschutz:', namespacedef_='xmlns:nsFlankenschutz="http://www.plan-pro.org/modell/Flankenschutz/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CFla_Zwieschutz_Element', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CFla_Zwieschutz_Element') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CFla_Zwieschutz_Element': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CFla_Zwieschutz_Element') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CFla_Zwieschutz_Element', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsFlankenschutz:', name_='CFla_Zwieschutz_Element'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsFlankenschutz:', namespacedef_='xmlns:nsFlankenschutz="http://www.plan-pro.org/modell/Flankenschutz/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CFla_Zwieschutz_Element', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.ID_Fla_Schutz_L is not None: + namespaceprefix_ = self.ID_Fla_Schutz_L_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Fla_Schutz_L_nsprefix_) else '' + self.ID_Fla_Schutz_L.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Fla_Schutz_L', pretty_print=pretty_print) + if self.ID_Fla_Schutz_R is not None: + namespaceprefix_ = self.ID_Fla_Schutz_R_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Fla_Schutz_R_nsprefix_) else '' + self.ID_Fla_Schutz_R.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Fla_Schutz_R', pretty_print=pretty_print) + if self.Massnahme_L is not None: + namespaceprefix_ = self.Massnahme_L_nsprefix_ + ':' if (UseCapturedNS_ and self.Massnahme_L_nsprefix_) else '' + self.Massnahme_L.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Massnahme_L', pretty_print=pretty_print) + if self.Massnahme_R is not None: + namespaceprefix_ = self.Massnahme_R_nsprefix_ + ':' if (UseCapturedNS_ and self.Massnahme_R_nsprefix_) else '' + self.Massnahme_R.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Massnahme_R', pretty_print=pretty_print) + if self.Nachlaufverhinderung is not None: + namespaceprefix_ = self.Nachlaufverhinderung_nsprefix_ + ':' if (UseCapturedNS_ and self.Nachlaufverhinderung_nsprefix_) else '' + self.Nachlaufverhinderung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Nachlaufverhinderung', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Fla_Schutz_L': + obj_ = TCID_Fla_Schutz.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Fla_Schutz_L = obj_ + obj_.original_tagname_ = 'ID_Fla_Schutz_L' + elif nodeName_ == 'ID_Fla_Schutz_R': + obj_ = TCID_Fla_Schutz.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Fla_Schutz_R = obj_ + obj_.original_tagname_ = 'ID_Fla_Schutz_R' + elif nodeName_ == 'Massnahme_L': + obj_ = TCMassnahme.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Massnahme_L = obj_ + obj_.original_tagname_ = 'Massnahme_L' + elif nodeName_ == 'Massnahme_R': + obj_ = TCMassnahme.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Massnahme_R = obj_ + obj_.original_tagname_ = 'Massnahme_R' + elif nodeName_ == 'Nachlaufverhinderung': + obj_ = TCNachlaufverhinderung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Nachlaufverhinderung = obj_ + obj_.original_tagname_ = 'Nachlaufverhinderung' +# end class CFla_Zwieschutz_Element + + +class CFla_Freimelde_Zuordnung(CBasis_Objekt): + """CFla_Freimelde_Zuordnung -- Zuordnung der freizupr + ü + fenden Freimeldeabschnitte zur jeweiligen Flankenschutzma + ß + nahme. DB-Regelwerk Flankenschutztabelle, Spalte 10 \" + ü + berwachter Schutzraum\" + Fla_Raum_Freimeldung -- Angabe, ob eine Freimeldung des Freimeldeabschnitts im Flankenschutzraum erfolgen soll (true) oder nicht (false). In der Regel werden die Freimeldeabschnitte des Flankenschutzraumes freigemeldet. Im Ausnahmefall kann bei Ersatzschutz auf die Freimeldung verzichtet werden (Lastenheft F1 Abschnitt Z 4.4.10). DB-Regelwerk Das Datum ist im jetzigen PT 1 h + ö + chstens unformal (Fu + ß + note, Erl + ä + uterungsbericht) enthalten. + ID_Fla_Schutz -- Zuordnung des Flankenschutzfalls zu den daf + ü + r freizumeldenden Gleisfreimeldeabschnitten. DB-Regelwerk Flankenschutztabelle, Zeile. + ID_FMA_Anlage -- Beschreibung des freizupr + ü + fenden Flankenschutzraums. DB-Regelwerk Flankenschutztabelle, Spalte 10: \" + ü + berwachter Schutzraum\". + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasis_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, Fla_Raum_Freimeldung=None, ID_Fla_Schutz=None, ID_FMA_Anlage=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CFla_Freimelde_Zuordnung"), self).__init__(Identitaet, Basis_Objekt_Allg, ID_Bearbeitungsvermerk, ID_Oertlichkeit_Ausgabe, Objektreferenzen, **kwargs_) + self.Fla_Raum_Freimeldung = Fla_Raum_Freimeldung + self.Fla_Raum_Freimeldung_nsprefix_ = None + self.ID_Fla_Schutz = ID_Fla_Schutz + self.ID_Fla_Schutz_nsprefix_ = None + self.ID_FMA_Anlage = ID_FMA_Anlage + self.ID_FMA_Anlage_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CFla_Freimelde_Zuordnung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CFla_Freimelde_Zuordnung.subclass: + return CFla_Freimelde_Zuordnung.subclass(*args_, **kwargs_) + else: + return CFla_Freimelde_Zuordnung(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Fla_Raum_Freimeldung(self): + return self.Fla_Raum_Freimeldung + def set_Fla_Raum_Freimeldung(self, Fla_Raum_Freimeldung): + self.Fla_Raum_Freimeldung = Fla_Raum_Freimeldung + def get_ID_Fla_Schutz(self): + return self.ID_Fla_Schutz + def set_ID_Fla_Schutz(self, ID_Fla_Schutz): + self.ID_Fla_Schutz = ID_Fla_Schutz + def get_ID_FMA_Anlage(self): + return self.ID_FMA_Anlage + def set_ID_FMA_Anlage(self, ID_FMA_Anlage): + self.ID_FMA_Anlage = ID_FMA_Anlage + def has__content(self): + if ( + self.Fla_Raum_Freimeldung is not None or + self.ID_Fla_Schutz is not None or + self.ID_FMA_Anlage is not None or + super(CFla_Freimelde_Zuordnung, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsFlankenschutz:', namespacedef_='xmlns:nsFlankenschutz="http://www.plan-pro.org/modell/Flankenschutz/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CFla_Freimelde_Zuordnung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CFla_Freimelde_Zuordnung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CFla_Freimelde_Zuordnung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CFla_Freimelde_Zuordnung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CFla_Freimelde_Zuordnung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsFlankenschutz:', name_='CFla_Freimelde_Zuordnung'): + super(CFla_Freimelde_Zuordnung, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CFla_Freimelde_Zuordnung') + def _exportChildren(self, outfile, level, namespaceprefix_='nsFlankenschutz:', namespacedef_='xmlns:nsFlankenschutz="http://www.plan-pro.org/modell/Flankenschutz/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CFla_Freimelde_Zuordnung', fromsubclass_=False, pretty_print=True): + super(CFla_Freimelde_Zuordnung, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Fla_Raum_Freimeldung is not None: + namespaceprefix_ = self.Fla_Raum_Freimeldung_nsprefix_ + ':' if (UseCapturedNS_ and self.Fla_Raum_Freimeldung_nsprefix_) else '' + self.Fla_Raum_Freimeldung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Fla_Raum_Freimeldung', pretty_print=pretty_print) + if self.ID_Fla_Schutz is not None: + namespaceprefix_ = self.ID_Fla_Schutz_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Fla_Schutz_nsprefix_) else '' + self.ID_Fla_Schutz.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Fla_Schutz', pretty_print=pretty_print) + if self.ID_FMA_Anlage is not None: + namespaceprefix_ = self.ID_FMA_Anlage_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_FMA_Anlage_nsprefix_) else '' + self.ID_FMA_Anlage.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_FMA_Anlage', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CFla_Freimelde_Zuordnung, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Fla_Raum_Freimeldung': + obj_ = TCFla_Raum_Freimeldung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Fla_Raum_Freimeldung = obj_ + obj_.original_tagname_ = 'Fla_Raum_Freimeldung' + elif nodeName_ == 'ID_Fla_Schutz': + obj_ = TCID_Fla_Schutz.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Fla_Schutz = obj_ + obj_.original_tagname_ = 'ID_Fla_Schutz' + elif nodeName_ == 'ID_FMA_Anlage': + obj_ = TCID_FMA_Anlage.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_FMA_Anlage = obj_ + obj_.original_tagname_ = 'ID_FMA_Anlage' + super(CFla_Freimelde_Zuordnung, self)._buildChildren(child_, node, nodeName_, True) +# end class CFla_Freimelde_Zuordnung + + +class TCZwieschutz_Art(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCZwieschutz_Art"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMZwieschutz_Art(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCZwieschutz_Art) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCZwieschutz_Art.subclass: + return TCZwieschutz_Art.subclass(*args_, **kwargs_) + else: + return TCZwieschutz_Art(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMZwieschutz_Art(self, value): + result = True + # Validate type ENUMZwieschutz_Art, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['echt', 'echt_eigen', 'eigen'] + 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 ENUMZwieschutz_Art' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCZwieschutz_Art, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsFlankenschutz:', namespacedef_='xmlns:nsFlankenschutz="http://www.plan-pro.org/modell/Flankenschutz/1.10.0"', name_='TCZwieschutz_Art', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCZwieschutz_Art') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCZwieschutz_Art': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCZwieschutz_Art') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCZwieschutz_Art', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsFlankenschutz:', name_='TCZwieschutz_Art'): + super(TCZwieschutz_Art, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCZwieschutz_Art') + def _exportChildren(self, outfile, level, namespaceprefix_='nsFlankenschutz:', namespacedef_='xmlns:nsFlankenschutz="http://www.plan-pro.org/modell/Flankenschutz/1.10.0"', name_='TCZwieschutz_Art', fromsubclass_=False, pretty_print=True): + super(TCZwieschutz_Art, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCZwieschutz_Art, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMZwieschutz_Art + self.validate_ENUMZwieschutz_Art(self.Wert) + super(TCZwieschutz_Art, self)._buildChildren(child_, node, nodeName_, True) +# end class TCZwieschutz_Art + + +class CFla_Schutz_Weitergabe(GeneratedsSuper): + """ID_Fla_Weitergabe_L -- Verweis auf die Flankenschutzma + ß + nahme bei Weitergabe der Flankenschutzanforderung wie bei Fahrt + ü + ber den linken Strang der Flankenschutztransportweiche. DB-Regelwerk Flankenschutztabelle, Spalten 6 \"Weitergabe + ü + ber Weiche, Kreuzung\" und 7 \"wie Fahrt + ü + ber deren Strang\" mit Ausf + ü + llung \"L\" (Links) + ID_Fla_Weitergabe_R -- Verweis auf die Flankenschutzma + ß + nahme bei Weitergabe der Flankenschutzanforderung wie bei Fahrt + ü + ber den rechten Strang der Flankenschutztransportweiche. DB-Regelwerk Flankenschutztabelle, Spalten 6 \"Weitergabe + ü + ber Weiche, Kreuzung\" und 7 \"wie Fahrt + ü + ber deren Strang\" mit Ausf + ü + llung \"R\" (Rechts) + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, ID_Fla_Weitergabe_L=None, ID_Fla_Weitergabe_R=None, gds_collector_=None, **kwargs_): + self.gds_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_Fla_Weitergabe_L = ID_Fla_Weitergabe_L + self.ID_Fla_Weitergabe_L_nsprefix_ = None + self.ID_Fla_Weitergabe_R = ID_Fla_Weitergabe_R + self.ID_Fla_Weitergabe_R_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CFla_Schutz_Weitergabe) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CFla_Schutz_Weitergabe.subclass: + return CFla_Schutz_Weitergabe.subclass(*args_, **kwargs_) + else: + return CFla_Schutz_Weitergabe(*args_, **kwargs_) + factory = staticmethod(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_Fla_Weitergabe_L(self): + return self.ID_Fla_Weitergabe_L + def set_ID_Fla_Weitergabe_L(self, ID_Fla_Weitergabe_L): + self.ID_Fla_Weitergabe_L = ID_Fla_Weitergabe_L + def get_ID_Fla_Weitergabe_R(self): + return self.ID_Fla_Weitergabe_R + def set_ID_Fla_Weitergabe_R(self, ID_Fla_Weitergabe_R): + self.ID_Fla_Weitergabe_R = ID_Fla_Weitergabe_R + def has__content(self): + if ( + self.ID_Fla_Weitergabe_L is not None or + self.ID_Fla_Weitergabe_R is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsFlankenschutz:', namespacedef_='xmlns:nsFlankenschutz="http://www.plan-pro.org/modell/Flankenschutz/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CFla_Schutz_Weitergabe', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CFla_Schutz_Weitergabe') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CFla_Schutz_Weitergabe': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CFla_Schutz_Weitergabe') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CFla_Schutz_Weitergabe', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsFlankenschutz:', name_='CFla_Schutz_Weitergabe'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsFlankenschutz:', namespacedef_='xmlns:nsFlankenschutz="http://www.plan-pro.org/modell/Flankenschutz/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CFla_Schutz_Weitergabe', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.ID_Fla_Weitergabe_L is not None: + namespaceprefix_ = self.ID_Fla_Weitergabe_L_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Fla_Weitergabe_L_nsprefix_) else '' + self.ID_Fla_Weitergabe_L.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Fla_Weitergabe_L', pretty_print=pretty_print) + if self.ID_Fla_Weitergabe_R is not None: + namespaceprefix_ = self.ID_Fla_Weitergabe_R_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Fla_Weitergabe_R_nsprefix_) else '' + self.ID_Fla_Weitergabe_R.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Fla_Weitergabe_R', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Fla_Weitergabe_L': + obj_ = TCID_Fla_Schutz.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Fla_Weitergabe_L = obj_ + obj_.original_tagname_ = 'ID_Fla_Weitergabe_L' + elif nodeName_ == 'ID_Fla_Weitergabe_R': + obj_ = TCID_Fla_Schutz.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Fla_Weitergabe_R = obj_ + obj_.original_tagname_ = 'ID_Fla_Weitergabe_R' +# end class CFla_Schutz_Weitergabe + + +class TCNachlaufverhinderung(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCNachlaufverhinderung"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCNachlaufverhinderung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCNachlaufverhinderung.subclass: + return TCNachlaufverhinderung.subclass(*args_, **kwargs_) + else: + return TCNachlaufverhinderung(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def has__content(self): + if ( + self.Wert is not None or + super(TCNachlaufverhinderung, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsFlankenschutz:', namespacedef_='xmlns:nsFlankenschutz="http://www.plan-pro.org/modell/Flankenschutz/1.10.0"', name_='TCNachlaufverhinderung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCNachlaufverhinderung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCNachlaufverhinderung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCNachlaufverhinderung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCNachlaufverhinderung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsFlankenschutz:', name_='TCNachlaufverhinderung'): + super(TCNachlaufverhinderung, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCNachlaufverhinderung') + def _exportChildren(self, outfile, level, namespaceprefix_='nsFlankenschutz:', namespacedef_='xmlns:nsFlankenschutz="http://www.plan-pro.org/modell/Flankenschutz/1.10.0"', name_='TCNachlaufverhinderung', fromsubclass_=False, pretty_print=True): + super(TCNachlaufverhinderung, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_boolean(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCNachlaufverhinderung, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + sval_ = child_.text + ival_ = self.gds_parse_boolean(sval_, node, 'Wert') + ival_ = self.gds_validate_boolean(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + super(TCNachlaufverhinderung, self)._buildChildren(child_, node, nodeName_, True) +# end class TCNachlaufverhinderung + + +class TCFla_Raum_Freimeldung(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCFla_Raum_Freimeldung"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCFla_Raum_Freimeldung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCFla_Raum_Freimeldung.subclass: + return TCFla_Raum_Freimeldung.subclass(*args_, **kwargs_) + else: + return TCFla_Raum_Freimeldung(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def has__content(self): + if ( + self.Wert is not None or + super(TCFla_Raum_Freimeldung, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsFlankenschutz:', namespacedef_='xmlns:nsFlankenschutz="http://www.plan-pro.org/modell/Flankenschutz/1.10.0"', name_='TCFla_Raum_Freimeldung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCFla_Raum_Freimeldung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCFla_Raum_Freimeldung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCFla_Raum_Freimeldung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCFla_Raum_Freimeldung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsFlankenschutz:', name_='TCFla_Raum_Freimeldung'): + super(TCFla_Raum_Freimeldung, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCFla_Raum_Freimeldung') + def _exportChildren(self, outfile, level, namespaceprefix_='nsFlankenschutz:', namespacedef_='xmlns:nsFlankenschutz="http://www.plan-pro.org/modell/Flankenschutz/1.10.0"', name_='TCFla_Raum_Freimeldung', fromsubclass_=False, pretty_print=True): + super(TCFla_Raum_Freimeldung, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_boolean(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCFla_Raum_Freimeldung, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + sval_ = child_.text + ival_ = self.gds_parse_boolean(sval_, node, 'Wert') + ival_ = self.gds_validate_boolean(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + super(TCFla_Raum_Freimeldung, self)._buildChildren(child_, node, nodeName_, True) +# end class TCFla_Raum_Freimeldung + + +class CFla_Schutz(CBasis_Objekt): + """CFla_Schutz -- Darstellung der technischen Ma + ß + nahmen, um Flankenschutz zu gew + ä + hrleisten. DB-Regelwerk 819.0505 + Fla_Verzicht -- Auswahl der Ma + ß + nahme \"Verzicht\" f + ü + r den Flankenschutz. Der Flankenschutz wird durch betriebliche Ma + ß + nahmen hergestellt (mittelbarer Flankenschutz). Die Ma + ß + nahmen \"unmittelbar\" und \"Weitergabe\" sind aus der Bef + ü + llung anderer Attribute erkennbar, deshalb muss nur die Ma + ß + nahme \"Verzicht\" explizit angegeben werden. DB-Regelwerk Flankenschutztabelle, Spalte 8 \"Flankenschutzumkehr, Verzicht\" + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasis_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, Fla_Schutz_Anforderer=None, Fla_Schutz_Signal=None, Fla_Schutz_W_Gsp=None, Fla_Schutz_Weitergabe=None, Fla_Verzicht=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CFla_Schutz"), self).__init__(Identitaet, Basis_Objekt_Allg, ID_Bearbeitungsvermerk, ID_Oertlichkeit_Ausgabe, Objektreferenzen, **kwargs_) + self.Fla_Schutz_Anforderer = Fla_Schutz_Anforderer + self.Fla_Schutz_Anforderer_nsprefix_ = None + self.Fla_Schutz_Signal = Fla_Schutz_Signal + self.Fla_Schutz_Signal_nsprefix_ = None + self.Fla_Schutz_W_Gsp = Fla_Schutz_W_Gsp + self.Fla_Schutz_W_Gsp_nsprefix_ = None + self.Fla_Schutz_Weitergabe = Fla_Schutz_Weitergabe + self.Fla_Schutz_Weitergabe_nsprefix_ = None + self.Fla_Verzicht = Fla_Verzicht + self.Fla_Verzicht_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CFla_Schutz) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CFla_Schutz.subclass: + return CFla_Schutz.subclass(*args_, **kwargs_) + else: + return CFla_Schutz(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Fla_Schutz_Anforderer(self): + return self.Fla_Schutz_Anforderer + def set_Fla_Schutz_Anforderer(self, Fla_Schutz_Anforderer): + self.Fla_Schutz_Anforderer = Fla_Schutz_Anforderer + def get_Fla_Schutz_Signal(self): + return self.Fla_Schutz_Signal + def set_Fla_Schutz_Signal(self, Fla_Schutz_Signal): + self.Fla_Schutz_Signal = Fla_Schutz_Signal + def get_Fla_Schutz_W_Gsp(self): + return self.Fla_Schutz_W_Gsp + def set_Fla_Schutz_W_Gsp(self, Fla_Schutz_W_Gsp): + self.Fla_Schutz_W_Gsp = Fla_Schutz_W_Gsp + def get_Fla_Schutz_Weitergabe(self): + return self.Fla_Schutz_Weitergabe + def set_Fla_Schutz_Weitergabe(self, Fla_Schutz_Weitergabe): + self.Fla_Schutz_Weitergabe = Fla_Schutz_Weitergabe + def get_Fla_Verzicht(self): + return self.Fla_Verzicht + def set_Fla_Verzicht(self, Fla_Verzicht): + self.Fla_Verzicht = Fla_Verzicht + def has__content(self): + if ( + self.Fla_Schutz_Anforderer is not None or + self.Fla_Schutz_Signal is not None or + self.Fla_Schutz_W_Gsp is not None or + self.Fla_Schutz_Weitergabe is not None or + self.Fla_Verzicht is not None or + super(CFla_Schutz, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsFlankenschutz:', namespacedef_='xmlns:nsFlankenschutz="http://www.plan-pro.org/modell/Flankenschutz/1.10.0"', name_='CFla_Schutz', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CFla_Schutz') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CFla_Schutz': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CFla_Schutz') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CFla_Schutz', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsFlankenschutz:', name_='CFla_Schutz'): + super(CFla_Schutz, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CFla_Schutz') + def _exportChildren(self, outfile, level, namespaceprefix_='nsFlankenschutz:', namespacedef_='xmlns:nsFlankenschutz="http://www.plan-pro.org/modell/Flankenschutz/1.10.0"', name_='CFla_Schutz', fromsubclass_=False, pretty_print=True): + super(CFla_Schutz, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Fla_Schutz_Anforderer is not None: + namespaceprefix_ = self.Fla_Schutz_Anforderer_nsprefix_ + ':' if (UseCapturedNS_ and self.Fla_Schutz_Anforderer_nsprefix_) else '' + self.Fla_Schutz_Anforderer.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Fla_Schutz_Anforderer', pretty_print=pretty_print) + if self.Fla_Schutz_Signal is not None: + namespaceprefix_ = self.Fla_Schutz_Signal_nsprefix_ + ':' if (UseCapturedNS_ and self.Fla_Schutz_Signal_nsprefix_) else '' + self.Fla_Schutz_Signal.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Fla_Schutz_Signal', pretty_print=pretty_print) + if self.Fla_Schutz_W_Gsp is not None: + namespaceprefix_ = self.Fla_Schutz_W_Gsp_nsprefix_ + ':' if (UseCapturedNS_ and self.Fla_Schutz_W_Gsp_nsprefix_) else '' + self.Fla_Schutz_W_Gsp.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Fla_Schutz_W_Gsp', pretty_print=pretty_print) + if self.Fla_Schutz_Weitergabe is not None: + namespaceprefix_ = self.Fla_Schutz_Weitergabe_nsprefix_ + ':' if (UseCapturedNS_ and self.Fla_Schutz_Weitergabe_nsprefix_) else '' + self.Fla_Schutz_Weitergabe.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Fla_Schutz_Weitergabe', pretty_print=pretty_print) + if self.Fla_Verzicht is not None: + namespaceprefix_ = self.Fla_Verzicht_nsprefix_ + ':' if (UseCapturedNS_ and self.Fla_Verzicht_nsprefix_) else '' + self.Fla_Verzicht.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Fla_Verzicht', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CFla_Schutz, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Fla_Schutz_Anforderer': + obj_ = CFla_Schutz_Anforderer.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Fla_Schutz_Anforderer = obj_ + obj_.original_tagname_ = 'Fla_Schutz_Anforderer' + elif nodeName_ == 'Fla_Schutz_Signal': + obj_ = CFla_Schutz_Signal.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Fla_Schutz_Signal = obj_ + obj_.original_tagname_ = 'Fla_Schutz_Signal' + elif nodeName_ == 'Fla_Schutz_W_Gsp': + obj_ = CFla_Schutz_W_Gsp.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Fla_Schutz_W_Gsp = obj_ + obj_.original_tagname_ = 'Fla_Schutz_W_Gsp' + elif nodeName_ == 'Fla_Schutz_Weitergabe': + obj_ = CFla_Schutz_Weitergabe.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Fla_Schutz_Weitergabe = obj_ + obj_.original_tagname_ = 'Fla_Schutz_Weitergabe' + elif nodeName_ == 'Fla_Verzicht': + obj_ = TCFla_Verzicht.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Fla_Verzicht = obj_ + obj_.original_tagname_ = 'Fla_Verzicht' + super(CFla_Schutz, self)._buildChildren(child_, node, nodeName_, True) +# end class CFla_Schutz + + +class TCFla_W_Lage(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCFla_W_Lage"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TFla_W_Lage(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCFla_W_Lage) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCFla_W_Lage.subclass: + return TCFla_W_Lage.subclass(*args_, **kwargs_) + else: + return TCFla_W_Lage(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TFla_W_Lage(self, value): + result = True + # Validate type TFla_W_Lage, a restriction on nsBasisTypen:TLinksRechts. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['links', 'rechts'] + 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 TFla_W_Lage' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCFla_W_Lage, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsFlankenschutz:', namespacedef_='xmlns:nsFlankenschutz="http://www.plan-pro.org/modell/Flankenschutz/1.10.0"', name_='TCFla_W_Lage', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCFla_W_Lage') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCFla_W_Lage': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCFla_W_Lage') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCFla_W_Lage', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsFlankenschutz:', name_='TCFla_W_Lage'): + super(TCFla_W_Lage, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCFla_W_Lage') + def _exportChildren(self, outfile, level, namespaceprefix_='nsFlankenschutz:', namespacedef_='xmlns:nsFlankenschutz="http://www.plan-pro.org/modell/Flankenschutz/1.10.0"', name_='TCFla_W_Lage', fromsubclass_=False, pretty_print=True): + super(TCFla_W_Lage, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCFla_W_Lage, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TFla_W_Lage + self.validate_TFla_W_Lage(self.Wert) + super(TCFla_W_Lage, self)._buildChildren(child_, node, nodeName_, True) +# end class TCFla_W_Lage + + +class TCEKW_Kr_Anteil(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCEKW_Kr_Anteil"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCEKW_Kr_Anteil) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCEKW_Kr_Anteil.subclass: + return TCEKW_Kr_Anteil.subclass(*args_, **kwargs_) + else: + return TCEKW_Kr_Anteil(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def has__content(self): + if ( + self.Wert is not None or + super(TCEKW_Kr_Anteil, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsFlankenschutz:', namespacedef_='xmlns:nsFlankenschutz="http://www.plan-pro.org/modell/Flankenschutz/1.10.0"', name_='TCEKW_Kr_Anteil', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCEKW_Kr_Anteil') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCEKW_Kr_Anteil': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCEKW_Kr_Anteil') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCEKW_Kr_Anteil', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsFlankenschutz:', name_='TCEKW_Kr_Anteil'): + super(TCEKW_Kr_Anteil, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCEKW_Kr_Anteil') + def _exportChildren(self, outfile, level, namespaceprefix_='nsFlankenschutz:', namespacedef_='xmlns:nsFlankenschutz="http://www.plan-pro.org/modell/Flankenschutz/1.10.0"', name_='TCEKW_Kr_Anteil', fromsubclass_=False, pretty_print=True): + super(TCEKW_Kr_Anteil, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_boolean(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCEKW_Kr_Anteil, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + sval_ = child_.text + ival_ = self.gds_parse_boolean(sval_, node, 'Wert') + ival_ = self.gds_validate_boolean(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + super(TCEKW_Kr_Anteil, self)._buildChildren(child_, node, nodeName_, True) +# end class TCEKW_Kr_Anteil + + +class CFla_Schutz_Signal(GeneratedsSuper): + """Fla_Signal_Zielsperrung -- Belegung des Signals mit einer Zielsperre f + ü + r Rangierstra + ß + en, w + ä + hrend der Beanspruchung als Flankenschutz bietendes Element. Das Attribut ist nur dann sinnvoll f + ü + llbar, wenn das betreffende Signal Ziel einer Rangierstra + ß + e ist. Betrieblich wird diese Ma + ß + nahme \"Doppelter Lichtschutz\" genannt. DB-Regelwerk Flankenschutztabelle, Fu + ß + note + ID_Fla_Signal -- Verweis auf das Signal, das unmittelbar an die Weiche angrenzt und Flankenschutz bietet. Steht das Signal nicht grenzzeichenfrei an der Flankenschutz suchenden Weiche, so wird dies nicht explizit im Datenmodell gespeichert. Stattdessen wird das n + ä + chste Flankenschutz bietende Element als Flankenschutzma + ß + nahme geplant. DB-Regelwerk Flankenschutztabelle, Spalte 5 \"Hp 0\" + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Fla_Signal_Zielsperrung=None, ID_Fla_Signal=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Fla_Signal_Zielsperrung = Fla_Signal_Zielsperrung + self.Fla_Signal_Zielsperrung_nsprefix_ = None + self.ID_Fla_Signal = ID_Fla_Signal + self.ID_Fla_Signal_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CFla_Schutz_Signal) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CFla_Schutz_Signal.subclass: + return CFla_Schutz_Signal.subclass(*args_, **kwargs_) + else: + return CFla_Schutz_Signal(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Fla_Signal_Zielsperrung(self): + return self.Fla_Signal_Zielsperrung + def set_Fla_Signal_Zielsperrung(self, Fla_Signal_Zielsperrung): + self.Fla_Signal_Zielsperrung = Fla_Signal_Zielsperrung + def get_ID_Fla_Signal(self): + return self.ID_Fla_Signal + def set_ID_Fla_Signal(self, ID_Fla_Signal): + self.ID_Fla_Signal = ID_Fla_Signal + def has__content(self): + if ( + self.Fla_Signal_Zielsperrung is not None or + self.ID_Fla_Signal is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsFlankenschutz:', namespacedef_='xmlns:nsFlankenschutz="http://www.plan-pro.org/modell/Flankenschutz/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CFla_Schutz_Signal', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CFla_Schutz_Signal') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CFla_Schutz_Signal': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CFla_Schutz_Signal') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CFla_Schutz_Signal', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsFlankenschutz:', name_='CFla_Schutz_Signal'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsFlankenschutz:', namespacedef_='xmlns:nsFlankenschutz="http://www.plan-pro.org/modell/Flankenschutz/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CFla_Schutz_Signal', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Fla_Signal_Zielsperrung is not None: + namespaceprefix_ = self.Fla_Signal_Zielsperrung_nsprefix_ + ':' if (UseCapturedNS_ and self.Fla_Signal_Zielsperrung_nsprefix_) else '' + self.Fla_Signal_Zielsperrung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Fla_Signal_Zielsperrung', pretty_print=pretty_print) + if self.ID_Fla_Signal is not None: + namespaceprefix_ = self.ID_Fla_Signal_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Fla_Signal_nsprefix_) else '' + self.ID_Fla_Signal.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Fla_Signal', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Fla_Signal_Zielsperrung': + obj_ = TCFla_Signal_Zielsperrung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Fla_Signal_Zielsperrung = obj_ + obj_.original_tagname_ = 'Fla_Signal_Zielsperrung' + elif nodeName_ == 'ID_Fla_Signal': + obj_ = TCID_Signal.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Fla_Signal = obj_ + obj_.original_tagname_ = 'ID_Fla_Signal' +# end class CFla_Schutz_Signal + + +class CFla_Zwieschutz(CBasis_Objekt): + """CFla_Zwieschutz -- Beschreibung der Verhaltensweise einer Zwieschutzweiche, wenn sie gleichzeitig in beiden Stellungen f + ü + r den Flankenschutz angefordert wird. DB-Regelwerk Zwieschutzweichentabelle + ID_W_Element -- Verweis auf die Zwieschutzweiche. DB-Regelwerk Fla Zwieschutz: Zwieschutzweichentabelle, Spalte 1: \"Weiche/Kreuzung in angeforderter Weichenstellung\" + Zwieschutz_Art -- Charakter der Zwieschutzweiche. Echte Zwieschutzweiche: Flankenschutzweiche, die durch unabh + ä + ngige Fahrten in beiden Stellungen angefordert wird. Ohne spezielle Behandlung kann nur eine der beiden Fahrten zu einem Zeitpunkt eingestellt sein, da sich durch die Zwieschutzweiche ein Fahrstra + ß + enausschluss ergibt. Eigenzwieschutzweiche: Flankenschutzweiche, die durch die gleiche Fahrt in beiden Stellungen angefordert wird. Ohne spezielle Behandlung kann die Fahrt nicht eingestellt werden. Eine Zwieschutzweiche kann gleichzeitig beide Charaktere annehmen. DB-Regelwerk Zwieschutzweichentabelle, Spalte 2 \"Zwieschutzweiche - Eigen\" und Spalte 3 \"Zwieschutzweiche - Echt\" + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasis_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, Fla_Zwieschutz_Element=None, ID_W_Element=None, Zwieschutz_Art=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CFla_Zwieschutz"), self).__init__(Identitaet, Basis_Objekt_Allg, ID_Bearbeitungsvermerk, ID_Oertlichkeit_Ausgabe, Objektreferenzen, **kwargs_) + self.Fla_Zwieschutz_Element = Fla_Zwieschutz_Element + self.Fla_Zwieschutz_Element_nsprefix_ = None + self.ID_W_Element = ID_W_Element + self.ID_W_Element_nsprefix_ = None + self.Zwieschutz_Art = Zwieschutz_Art + self.Zwieschutz_Art_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CFla_Zwieschutz) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CFla_Zwieschutz.subclass: + return CFla_Zwieschutz.subclass(*args_, **kwargs_) + else: + return CFla_Zwieschutz(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Fla_Zwieschutz_Element(self): + return self.Fla_Zwieschutz_Element + def set_Fla_Zwieschutz_Element(self, Fla_Zwieschutz_Element): + self.Fla_Zwieschutz_Element = Fla_Zwieschutz_Element + def get_ID_W_Element(self): + return self.ID_W_Element + def set_ID_W_Element(self, ID_W_Element): + self.ID_W_Element = ID_W_Element + def get_Zwieschutz_Art(self): + return self.Zwieschutz_Art + def set_Zwieschutz_Art(self, Zwieschutz_Art): + self.Zwieschutz_Art = Zwieschutz_Art + def has__content(self): + if ( + self.Fla_Zwieschutz_Element is not None or + self.ID_W_Element is not None or + self.Zwieschutz_Art is not None or + super(CFla_Zwieschutz, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsFlankenschutz:', namespacedef_='xmlns:nsFlankenschutz="http://www.plan-pro.org/modell/Flankenschutz/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CFla_Zwieschutz', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CFla_Zwieschutz') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CFla_Zwieschutz': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CFla_Zwieschutz') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CFla_Zwieschutz', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsFlankenschutz:', name_='CFla_Zwieschutz'): + super(CFla_Zwieschutz, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CFla_Zwieschutz') + def _exportChildren(self, outfile, level, namespaceprefix_='nsFlankenschutz:', namespacedef_='xmlns:nsFlankenschutz="http://www.plan-pro.org/modell/Flankenschutz/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CFla_Zwieschutz', fromsubclass_=False, pretty_print=True): + super(CFla_Zwieschutz, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Fla_Zwieschutz_Element is not None: + namespaceprefix_ = self.Fla_Zwieschutz_Element_nsprefix_ + ':' if (UseCapturedNS_ and self.Fla_Zwieschutz_Element_nsprefix_) else '' + self.Fla_Zwieschutz_Element.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Fla_Zwieschutz_Element', pretty_print=pretty_print) + if self.ID_W_Element is not None: + namespaceprefix_ = self.ID_W_Element_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_W_Element_nsprefix_) else '' + self.ID_W_Element.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_W_Element', pretty_print=pretty_print) + if self.Zwieschutz_Art is not None: + namespaceprefix_ = self.Zwieschutz_Art_nsprefix_ + ':' if (UseCapturedNS_ and self.Zwieschutz_Art_nsprefix_) else '' + self.Zwieschutz_Art.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Zwieschutz_Art', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CFla_Zwieschutz, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Fla_Zwieschutz_Element': + obj_ = CFla_Zwieschutz_Element.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Fla_Zwieschutz_Element = obj_ + obj_.original_tagname_ = 'Fla_Zwieschutz_Element' + elif nodeName_ == 'ID_W_Element': + obj_ = TCID_W_Kr_Gsp_Element.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_W_Element = obj_ + obj_.original_tagname_ = 'ID_W_Element' + elif nodeName_ == 'Zwieschutz_Art': + obj_ = TCZwieschutz_Art.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Zwieschutz_Art = obj_ + obj_.original_tagname_ = 'Zwieschutz_Art' + super(CFla_Zwieschutz, self)._buildChildren(child_, node, nodeName_, True) +# end class CFla_Zwieschutz + + +class CFla_Schutz_W_Gsp(GeneratedsSuper): + """Fla_W_Lage -- Lage der Flankenschutz bietenden Weiche. DB-Regelwerk Flankenschutztabelle, Spalte 3 \"Weiche Gs\" + ID_Fla_W_Gsp_Element -- Verweis auf die Flankenschutz bietende Weiche oder Gleissperre. DB-Regelwerk Flankenschutztabelle, Spalte 3 \"Weiche Gs\" + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Fla_W_Lage=None, ID_Fla_W_Gsp_Element=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Fla_W_Lage = Fla_W_Lage + self.Fla_W_Lage_nsprefix_ = None + self.ID_Fla_W_Gsp_Element = ID_Fla_W_Gsp_Element + self.ID_Fla_W_Gsp_Element_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CFla_Schutz_W_Gsp) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CFla_Schutz_W_Gsp.subclass: + return CFla_Schutz_W_Gsp.subclass(*args_, **kwargs_) + else: + return CFla_Schutz_W_Gsp(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Fla_W_Lage(self): + return self.Fla_W_Lage + def set_Fla_W_Lage(self, Fla_W_Lage): + self.Fla_W_Lage = Fla_W_Lage + def get_ID_Fla_W_Gsp_Element(self): + return self.ID_Fla_W_Gsp_Element + def set_ID_Fla_W_Gsp_Element(self, ID_Fla_W_Gsp_Element): + self.ID_Fla_W_Gsp_Element = ID_Fla_W_Gsp_Element + def has__content(self): + if ( + self.Fla_W_Lage is not None or + self.ID_Fla_W_Gsp_Element is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsFlankenschutz:', namespacedef_='xmlns:nsFlankenschutz="http://www.plan-pro.org/modell/Flankenschutz/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CFla_Schutz_W_Gsp', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CFla_Schutz_W_Gsp') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CFla_Schutz_W_Gsp': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CFla_Schutz_W_Gsp') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CFla_Schutz_W_Gsp', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsFlankenschutz:', name_='CFla_Schutz_W_Gsp'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsFlankenschutz:', namespacedef_='xmlns:nsFlankenschutz="http://www.plan-pro.org/modell/Flankenschutz/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CFla_Schutz_W_Gsp', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Fla_W_Lage is not None: + namespaceprefix_ = self.Fla_W_Lage_nsprefix_ + ':' if (UseCapturedNS_ and self.Fla_W_Lage_nsprefix_) else '' + self.Fla_W_Lage.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Fla_W_Lage', pretty_print=pretty_print) + if self.ID_Fla_W_Gsp_Element is not None: + namespaceprefix_ = self.ID_Fla_W_Gsp_Element_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Fla_W_Gsp_Element_nsprefix_) else '' + self.ID_Fla_W_Gsp_Element.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Fla_W_Gsp_Element', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Fla_W_Lage': + obj_ = TCFla_W_Lage.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Fla_W_Lage = obj_ + obj_.original_tagname_ = 'Fla_W_Lage' + elif nodeName_ == 'ID_Fla_W_Gsp_Element': + obj_ = TCID_W_Kr_Gsp_Element.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Fla_W_Gsp_Element = obj_ + obj_.original_tagname_ = 'ID_Fla_W_Gsp_Element' +# end class CFla_Schutz_W_Gsp + + +class TCFla_Signal_Zielsperrung(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCFla_Signal_Zielsperrung"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCFla_Signal_Zielsperrung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCFla_Signal_Zielsperrung.subclass: + return TCFla_Signal_Zielsperrung.subclass(*args_, **kwargs_) + else: + return TCFla_Signal_Zielsperrung(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def has__content(self): + if ( + self.Wert is not None or + super(TCFla_Signal_Zielsperrung, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsFlankenschutz:', namespacedef_='xmlns:nsFlankenschutz="http://www.plan-pro.org/modell/Flankenschutz/1.10.0"', name_='TCFla_Signal_Zielsperrung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCFla_Signal_Zielsperrung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCFla_Signal_Zielsperrung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCFla_Signal_Zielsperrung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCFla_Signal_Zielsperrung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsFlankenschutz:', name_='TCFla_Signal_Zielsperrung'): + super(TCFla_Signal_Zielsperrung, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCFla_Signal_Zielsperrung') + def _exportChildren(self, outfile, level, namespaceprefix_='nsFlankenschutz:', namespacedef_='xmlns:nsFlankenschutz="http://www.plan-pro.org/modell/Flankenschutz/1.10.0"', name_='TCFla_Signal_Zielsperrung', fromsubclass_=False, pretty_print=True): + super(TCFla_Signal_Zielsperrung, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_boolean(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCFla_Signal_Zielsperrung, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + sval_ = child_.text + ival_ = self.gds_parse_boolean(sval_, node, 'Wert') + ival_ = self.gds_validate_boolean(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + super(TCFla_Signal_Zielsperrung, self)._buildChildren(child_, node, nodeName_, True) +# end class TCFla_Signal_Zielsperrung + + +class TCFla_Verzicht(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCFla_Verzicht"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCFla_Verzicht) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCFla_Verzicht.subclass: + return TCFla_Verzicht.subclass(*args_, **kwargs_) + else: + return TCFla_Verzicht(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def has__content(self): + if ( + self.Wert is not None or + super(TCFla_Verzicht, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsFlankenschutz:', namespacedef_='xmlns:nsFlankenschutz="http://www.plan-pro.org/modell/Flankenschutz/1.10.0"', name_='TCFla_Verzicht', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCFla_Verzicht') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCFla_Verzicht': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCFla_Verzicht') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCFla_Verzicht', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsFlankenschutz:', name_='TCFla_Verzicht'): + super(TCFla_Verzicht, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCFla_Verzicht') + def _exportChildren(self, outfile, level, namespaceprefix_='nsFlankenschutz:', namespacedef_='xmlns:nsFlankenschutz="http://www.plan-pro.org/modell/Flankenschutz/1.10.0"', name_='TCFla_Verzicht', fromsubclass_=False, pretty_print=True): + super(TCFla_Verzicht, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_boolean(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCFla_Verzicht, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + sval_ = child_.text + ival_ = self.gds_parse_boolean(sval_, node, 'Wert') + ival_ = self.gds_validate_boolean(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + super(TCFla_Verzicht, self)._buildChildren(child_, node, nodeName_, True) +# end class TCFla_Verzicht + + +class TCBezeichnung_GFR_Element(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCBezeichnung_GFR_Element"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TBezeichnung_GFR_Element(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCBezeichnung_GFR_Element) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCBezeichnung_GFR_Element.subclass: + return TCBezeichnung_GFR_Element.subclass(*args_, **kwargs_) + else: + return TCBezeichnung_GFR_Element(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TBezeichnung_GFR_Element(self, value): + result = True + # Validate type TBezeichnung_GFR_Element, a restriction on nsBasisTypen:TZeichenkette. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TBezeichnung_GFR_Element_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TBezeichnung_GFR_Element_patterns_, )) + result = False + return result + validate_TBezeichnung_GFR_Element_patterns_ = [['^([a-zA-Z_0-9]{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCBezeichnung_GFR_Element, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='TCBezeichnung_GFR_Element', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCBezeichnung_GFR_Element') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCBezeichnung_GFR_Element': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBezeichnung_GFR_Element') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCBezeichnung_GFR_Element', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBahnuebergang:', name_='TCBezeichnung_GFR_Element'): + super(TCBezeichnung_GFR_Element, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBezeichnung_GFR_Element') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='TCBezeichnung_GFR_Element', fromsubclass_=False, pretty_print=True): + super(TCBezeichnung_GFR_Element, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCBezeichnung_GFR_Element, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TBezeichnung_GFR_Element + self.validate_TBezeichnung_GFR_Element(self.Wert) + super(TCBezeichnung_GFR_Element, self)._buildChildren(child_, node, nodeName_, True) +# end class TCBezeichnung_GFR_Element + + +class TCRaeumstrecke_DBK(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCRaeumstrecke_DBK"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TRaeumstrecke_DBK(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCRaeumstrecke_DBK) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCRaeumstrecke_DBK.subclass: + return TCRaeumstrecke_DBK.subclass(*args_, **kwargs_) + else: + return TCRaeumstrecke_DBK(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TRaeumstrecke_DBK(self, value): + result = True + # Validate type TRaeumstrecke_DBK, a restriction on nsBasisTypen:TMeter. + 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 + pass + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCRaeumstrecke_DBK, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='TCRaeumstrecke_DBK', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCRaeumstrecke_DBK') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCRaeumstrecke_DBK': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCRaeumstrecke_DBK') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCRaeumstrecke_DBK', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBahnuebergang:', name_='TCRaeumstrecke_DBK'): + super(TCRaeumstrecke_DBK, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCRaeumstrecke_DBK') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='TCRaeumstrecke_DBK', fromsubclass_=False, pretty_print=True): + super(TCRaeumstrecke_DBK, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_decimal(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCRaeumstrecke_DBK, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + fval_ = self.gds_parse_decimal(sval_, node, 'Wert') + fval_ = self.gds_validate_decimal(fval_, node, 'Wert') + self.Wert = fval_ + self.Wert_nsprefix_ = child_.prefix + # validate type TRaeumstrecke_DBK + self.validate_TRaeumstrecke_DBK(self.Wert) + super(TCRaeumstrecke_DBK, self)._buildChildren(child_, node, nodeName_, True) +# end class TCRaeumstrecke_DBK + + +class CBUE_Einschaltung_Zuordnung(CBasis_Objekt): + """CBUE_Einschaltung_Zuordnung -- Logisches Objekt zur Zuordnung zwischen BUE Einschaltung und zugeh + ö + rigem BUE Gleisbezogener Gefahrraum. Im Regelfall wirkt eine BUE_Einschaltung direkt auf einen gleisbezogenen Gefahrraum; das Zuordnungsobjekt w + ä + re nicht erforderlich. Liegt jedoch zwischen BUE_Einschaltung und dem B + Ü + eine Weichenverbindung, wird eine Zuordnung der BUE_Einschaltung auf mehrere gleisbezogene Gefahrr + ä + ume notwendig. Diese Verbindung stellt das Zuordnungsobjekt her. Zur Vereinheitlichung wurde auf eine Choice zwischen direktem Verweis von BUE_Einschaltung auf BUE_Gleisbezogener_Gefahrraum und den Verweisen durch das Zuordnungsobjekt verzichtet. DB-Regelwerk Dieser Anwendungsfall ist im Regelwerk der DB AG nicht explizit beschrieben. + ID_BUE_Einschaltung -- Verweis auf denjenigen Einschaltpunkt, der die Einschaltung des betreffenden BUE Gleisbezogener Gefahrraum bewirkt. DB-Regelwerk Einschaltstreckenberechnung + ID_BUE_Gleisbez_Gefahrraum -- Verweis auf den zugeh + ö + rigen Gefahrraum, auf den sich die BUE_Einschaltung - gleisbezogen - bezieht. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasis_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, ID_BUE_Einschaltung=None, ID_BUE_Gleisbez_Gefahrraum=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CBUE_Einschaltung_Zuordnung"), self).__init__(Identitaet, Basis_Objekt_Allg, ID_Bearbeitungsvermerk, ID_Oertlichkeit_Ausgabe, Objektreferenzen, **kwargs_) + self.ID_BUE_Einschaltung = ID_BUE_Einschaltung + self.ID_BUE_Einschaltung_nsprefix_ = None + self.ID_BUE_Gleisbez_Gefahrraum = ID_BUE_Gleisbez_Gefahrraum + self.ID_BUE_Gleisbez_Gefahrraum_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CBUE_Einschaltung_Zuordnung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CBUE_Einschaltung_Zuordnung.subclass: + return CBUE_Einschaltung_Zuordnung.subclass(*args_, **kwargs_) + else: + return CBUE_Einschaltung_Zuordnung(*args_, **kwargs_) + factory = staticmethod(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_BUE_Einschaltung(self): + return self.ID_BUE_Einschaltung + def set_ID_BUE_Einschaltung(self, ID_BUE_Einschaltung): + self.ID_BUE_Einschaltung = ID_BUE_Einschaltung + def get_ID_BUE_Gleisbez_Gefahrraum(self): + return self.ID_BUE_Gleisbez_Gefahrraum + def set_ID_BUE_Gleisbez_Gefahrraum(self, ID_BUE_Gleisbez_Gefahrraum): + self.ID_BUE_Gleisbez_Gefahrraum = ID_BUE_Gleisbez_Gefahrraum + def has__content(self): + if ( + self.ID_BUE_Einschaltung is not None or + self.ID_BUE_Gleisbez_Gefahrraum is not None or + super(CBUE_Einschaltung_Zuordnung, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CBUE_Einschaltung_Zuordnung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CBUE_Einschaltung_Zuordnung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CBUE_Einschaltung_Zuordnung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CBUE_Einschaltung_Zuordnung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CBUE_Einschaltung_Zuordnung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBahnuebergang:', name_='CBUE_Einschaltung_Zuordnung'): + super(CBUE_Einschaltung_Zuordnung, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CBUE_Einschaltung_Zuordnung') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CBUE_Einschaltung_Zuordnung', fromsubclass_=False, pretty_print=True): + super(CBUE_Einschaltung_Zuordnung, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.ID_BUE_Einschaltung is not None: + namespaceprefix_ = self.ID_BUE_Einschaltung_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_BUE_Einschaltung_nsprefix_) else '' + self.ID_BUE_Einschaltung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_BUE_Einschaltung', pretty_print=pretty_print) + if self.ID_BUE_Gleisbez_Gefahrraum is not None: + namespaceprefix_ = self.ID_BUE_Gleisbez_Gefahrraum_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_BUE_Gleisbez_Gefahrraum_nsprefix_) else '' + self.ID_BUE_Gleisbez_Gefahrraum.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_BUE_Gleisbez_Gefahrraum', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CBUE_Einschaltung_Zuordnung, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_BUE_Einschaltung': + obj_ = TCID_BUE_Einschaltung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_BUE_Einschaltung = obj_ + obj_.original_tagname_ = 'ID_BUE_Einschaltung' + elif nodeName_ == 'ID_BUE_Gleisbez_Gefahrraum': + obj_ = TCID_BUE_Gleisbezogener_Gefahrraum.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_BUE_Gleisbez_Gefahrraum = obj_ + obj_.original_tagname_ = 'ID_BUE_Gleisbez_Gefahrraum' + super(CBUE_Einschaltung_Zuordnung, self)._buildChildren(child_, node, nodeName_, True) +# end class CBUE_Einschaltung_Zuordnung + + +class TCKlassifizierung(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCKlassifizierung"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMKlassifizierung(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCKlassifizierung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCKlassifizierung.subclass: + return TCKlassifizierung.subclass(*args_, **kwargs_) + else: + return TCKlassifizierung(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMKlassifizierung(self, value): + result = True + # Validate type ENUMKlassifizierung, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['Bundestrasse_ausserorts', 'Bundestrasse_innerorts', 'Fussweg', 'Fussweg_Radweg', 'Gemeindestrasse_ausserorts', 'Gemeindestrasse_innerorts', 'Kreisstrasse_ausserorts', 'Kreisstrasse_innerorts', 'Landstrasse_ausserorts', 'Landstrasse_innerorts', 'Privatstrasse', 'Privatweg', 'sonstige', 'Weg_Forst_Land'] + 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 ENUMKlassifizierung' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCKlassifizierung, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='TCKlassifizierung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCKlassifizierung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCKlassifizierung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCKlassifizierung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCKlassifizierung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBahnuebergang:', name_='TCKlassifizierung'): + super(TCKlassifizierung, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCKlassifizierung') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='TCKlassifizierung', fromsubclass_=False, pretty_print=True): + super(TCKlassifizierung, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCKlassifizierung, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMKlassifizierung + self.validate_ENUMKlassifizierung(self.Wert) + super(TCKlassifizierung, self)._buildChildren(child_, node, nodeName_, True) +# end class TCKlassifizierung + + +class TCPixel_Koordinate_X(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCPixel_Koordinate_X"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TPixel_Koordinate_X(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCPixel_Koordinate_X) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCPixel_Koordinate_X.subclass: + return TCPixel_Koordinate_X.subclass(*args_, **kwargs_) + else: + return TCPixel_Koordinate_X(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TPixel_Koordinate_X(self, value): + result = True + # Validate type TPixel_Koordinate_X, a restriction on xs:integer. + 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 + pass + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCPixel_Koordinate_X, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='TCPixel_Koordinate_X', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCPixel_Koordinate_X') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCPixel_Koordinate_X': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCPixel_Koordinate_X') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCPixel_Koordinate_X', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBahnuebergang:', name_='TCPixel_Koordinate_X'): + super(TCPixel_Koordinate_X, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCPixel_Koordinate_X') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='TCPixel_Koordinate_X', fromsubclass_=False, pretty_print=True): + super(TCPixel_Koordinate_X, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_integer(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCPixel_Koordinate_X, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + ival_ = self.gds_parse_integer(sval_, node, 'Wert') + ival_ = self.gds_validate_integer(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + # validate type TPixel_Koordinate_X + self.validate_TPixel_Koordinate_X(self.Wert) + super(TCPixel_Koordinate_X, self)._buildChildren(child_, node, nodeName_, True) +# end class TCPixel_Koordinate_X + + +class CBUE_Anlage_Strasse_Allg(GeneratedsSuper): + """Baulast -- Stra + ß + enbaulasttr + ä + ger, z. B. Gemeinde G-Dorf. + Fahrbahn_Befestigung -- Art der Fahrbahnbefestigung, z. B. Asphalt, Kleinpflaster, unbefestigt. + Fahrbahn_Befestigung_Gleis -- Art der Fahrbahnbefestigung im Gleisbereich, z. B. Asphalt, STRAIL, Bodan. + Fahrbahn_Breite -- Breite der Fahrbahn im B + Ü + - und R + ä + umbereich (sog. 27-m-Bereich) in m. + Klassifizierung -- Klassifizierung der kreuzenden Stra + ß + e. + Kreuzungswinkel -- Winkel zwischen Gleis und kreuzender Stra + ß + e bzw. kreuzendem Weg in Grad, gemessen im I. ODER III. Quadranten. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Baulast=None, Fahrbahn_Befestigung=None, Fahrbahn_Befestigung_Gleis=None, Fahrbahn_Breite=None, Klassifizierung=None, Kreuzungswinkel=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Baulast = Baulast + self.Baulast_nsprefix_ = None + self.Fahrbahn_Befestigung = Fahrbahn_Befestigung + self.Fahrbahn_Befestigung_nsprefix_ = None + self.Fahrbahn_Befestigung_Gleis = Fahrbahn_Befestigung_Gleis + self.Fahrbahn_Befestigung_Gleis_nsprefix_ = None + self.Fahrbahn_Breite = Fahrbahn_Breite + self.Fahrbahn_Breite_nsprefix_ = None + self.Klassifizierung = Klassifizierung + self.Klassifizierung_nsprefix_ = None + self.Kreuzungswinkel = Kreuzungswinkel + self.Kreuzungswinkel_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CBUE_Anlage_Strasse_Allg) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CBUE_Anlage_Strasse_Allg.subclass: + return CBUE_Anlage_Strasse_Allg.subclass(*args_, **kwargs_) + else: + return CBUE_Anlage_Strasse_Allg(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Baulast(self): + return self.Baulast + def set_Baulast(self, Baulast): + self.Baulast = Baulast + def get_Fahrbahn_Befestigung(self): + return self.Fahrbahn_Befestigung + def set_Fahrbahn_Befestigung(self, Fahrbahn_Befestigung): + self.Fahrbahn_Befestigung = Fahrbahn_Befestigung + def get_Fahrbahn_Befestigung_Gleis(self): + return self.Fahrbahn_Befestigung_Gleis + def set_Fahrbahn_Befestigung_Gleis(self, Fahrbahn_Befestigung_Gleis): + self.Fahrbahn_Befestigung_Gleis = Fahrbahn_Befestigung_Gleis + def get_Fahrbahn_Breite(self): + return self.Fahrbahn_Breite + def set_Fahrbahn_Breite(self, Fahrbahn_Breite): + self.Fahrbahn_Breite = Fahrbahn_Breite + def get_Klassifizierung(self): + return self.Klassifizierung + def set_Klassifizierung(self, Klassifizierung): + self.Klassifizierung = Klassifizierung + def get_Kreuzungswinkel(self): + return self.Kreuzungswinkel + def set_Kreuzungswinkel(self, Kreuzungswinkel): + self.Kreuzungswinkel = Kreuzungswinkel + def has__content(self): + if ( + self.Baulast is not None or + self.Fahrbahn_Befestigung is not None or + self.Fahrbahn_Befestigung_Gleis is not None or + self.Fahrbahn_Breite is not None or + self.Klassifizierung is not None or + self.Kreuzungswinkel is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='CBUE_Anlage_Strasse_Allg', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CBUE_Anlage_Strasse_Allg') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CBUE_Anlage_Strasse_Allg': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CBUE_Anlage_Strasse_Allg') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CBUE_Anlage_Strasse_Allg', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBahnuebergang:', name_='CBUE_Anlage_Strasse_Allg'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='CBUE_Anlage_Strasse_Allg', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Baulast is not None: + namespaceprefix_ = self.Baulast_nsprefix_ + ':' if (UseCapturedNS_ and self.Baulast_nsprefix_) else '' + self.Baulast.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Baulast', pretty_print=pretty_print) + if self.Fahrbahn_Befestigung is not None: + namespaceprefix_ = self.Fahrbahn_Befestigung_nsprefix_ + ':' if (UseCapturedNS_ and self.Fahrbahn_Befestigung_nsprefix_) else '' + self.Fahrbahn_Befestigung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Fahrbahn_Befestigung', pretty_print=pretty_print) + if self.Fahrbahn_Befestigung_Gleis is not None: + namespaceprefix_ = self.Fahrbahn_Befestigung_Gleis_nsprefix_ + ':' if (UseCapturedNS_ and self.Fahrbahn_Befestigung_Gleis_nsprefix_) else '' + self.Fahrbahn_Befestigung_Gleis.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Fahrbahn_Befestigung_Gleis', pretty_print=pretty_print) + if self.Fahrbahn_Breite is not None: + namespaceprefix_ = self.Fahrbahn_Breite_nsprefix_ + ':' if (UseCapturedNS_ and self.Fahrbahn_Breite_nsprefix_) else '' + self.Fahrbahn_Breite.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Fahrbahn_Breite', pretty_print=pretty_print) + if self.Klassifizierung is not None: + namespaceprefix_ = self.Klassifizierung_nsprefix_ + ':' if (UseCapturedNS_ and self.Klassifizierung_nsprefix_) else '' + self.Klassifizierung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Klassifizierung', pretty_print=pretty_print) + if self.Kreuzungswinkel is not None: + namespaceprefix_ = self.Kreuzungswinkel_nsprefix_ + ':' if (UseCapturedNS_ and self.Kreuzungswinkel_nsprefix_) else '' + self.Kreuzungswinkel.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Kreuzungswinkel', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Baulast': + obj_ = TCBaulast.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Baulast = obj_ + obj_.original_tagname_ = 'Baulast' + elif nodeName_ == 'Fahrbahn_Befestigung': + obj_ = TCFahrbahn_Befestigung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Fahrbahn_Befestigung = obj_ + obj_.original_tagname_ = 'Fahrbahn_Befestigung' + elif nodeName_ == 'Fahrbahn_Befestigung_Gleis': + obj_ = TCFahrbahn_Befestigung_Gleis.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Fahrbahn_Befestigung_Gleis = obj_ + obj_.original_tagname_ = 'Fahrbahn_Befestigung_Gleis' + elif nodeName_ == 'Fahrbahn_Breite': + obj_ = TCFahrbahn_Breite.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Fahrbahn_Breite = obj_ + obj_.original_tagname_ = 'Fahrbahn_Breite' + elif nodeName_ == 'Klassifizierung': + obj_ = TCKlassifizierung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Klassifizierung = obj_ + obj_.original_tagname_ = 'Klassifizierung' + elif nodeName_ == 'Kreuzungswinkel': + obj_ = TCKreuzungswinkel.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Kreuzungswinkel = obj_ + obj_.original_tagname_ = 'Kreuzungswinkel' +# end class CBUE_Anlage_Strasse_Allg + + +class CGFR_Element_Bezeichnung(GeneratedsSuper): + """Bezeichnung_GFR_Element -- Bezeichnung des GFR-Elements (Detektors). + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Bezeichnung_GFR_Element=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Bezeichnung_GFR_Element = Bezeichnung_GFR_Element + self.Bezeichnung_GFR_Element_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CGFR_Element_Bezeichnung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CGFR_Element_Bezeichnung.subclass: + return CGFR_Element_Bezeichnung.subclass(*args_, **kwargs_) + else: + return CGFR_Element_Bezeichnung(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Bezeichnung_GFR_Element(self): + return self.Bezeichnung_GFR_Element + def set_Bezeichnung_GFR_Element(self, Bezeichnung_GFR_Element): + self.Bezeichnung_GFR_Element = Bezeichnung_GFR_Element + def has__content(self): + if ( + self.Bezeichnung_GFR_Element is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='CGFR_Element_Bezeichnung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CGFR_Element_Bezeichnung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CGFR_Element_Bezeichnung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CGFR_Element_Bezeichnung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CGFR_Element_Bezeichnung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBahnuebergang:', name_='CGFR_Element_Bezeichnung'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='CGFR_Element_Bezeichnung', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Bezeichnung_GFR_Element is not None: + namespaceprefix_ = self.Bezeichnung_GFR_Element_nsprefix_ + ':' if (UseCapturedNS_ and self.Bezeichnung_GFR_Element_nsprefix_) else '' + self.Bezeichnung_GFR_Element.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Bezeichnung_GFR_Element', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Bezeichnung_GFR_Element': + obj_ = TCBezeichnung_GFR_Element.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Bezeichnung_GFR_Element = obj_ + obj_.original_tagname_ = 'Bezeichnung_GFR_Element' +# end class CGFR_Element_Bezeichnung + + +class TCLieferlaenge(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCLieferlaenge"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TLieferlaenge(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCLieferlaenge) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCLieferlaenge.subclass: + return TCLieferlaenge.subclass(*args_, **kwargs_) + else: + return TCLieferlaenge(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TLieferlaenge(self, value): + result = True + # Validate type TLieferlaenge, a restriction on nsBasisTypen:TMeter. + 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 not self.gds_validate_simple_patterns( + self.validate_TLieferlaenge_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TLieferlaenge_patterns_, )) + result = False + return result + validate_TLieferlaenge_patterns_ = [['^(1[0-9]|20|[1-9])$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCLieferlaenge, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='TCLieferlaenge', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCLieferlaenge') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCLieferlaenge': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCLieferlaenge') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCLieferlaenge', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBahnuebergang:', name_='TCLieferlaenge'): + super(TCLieferlaenge, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCLieferlaenge') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='TCLieferlaenge', fromsubclass_=False, pretty_print=True): + super(TCLieferlaenge, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_decimal(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCLieferlaenge, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + fval_ = self.gds_parse_decimal(sval_, node, 'Wert') + fval_ = self.gds_validate_decimal(fval_, node, 'Wert') + self.Wert = fval_ + self.Wert_nsprefix_ = child_.prefix + # validate type TLieferlaenge + self.validate_TLieferlaenge(self.Wert) + super(TCLieferlaenge, self)._buildChildren(child_, node, nodeName_, True) +# end class TCLieferlaenge + + +class TCRaeumstrecke_DSK_Strich(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCRaeumstrecke_DSK_Strich"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TRaeumstrecke_DSK_Strich(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCRaeumstrecke_DSK_Strich) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCRaeumstrecke_DSK_Strich.subclass: + return TCRaeumstrecke_DSK_Strich.subclass(*args_, **kwargs_) + else: + return TCRaeumstrecke_DSK_Strich(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TRaeumstrecke_DSK_Strich(self, value): + result = True + # Validate type TRaeumstrecke_DSK_Strich, a restriction on nsBasisTypen:TMeter. + 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 + pass + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCRaeumstrecke_DSK_Strich, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='TCRaeumstrecke_DSK_Strich', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCRaeumstrecke_DSK_Strich') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCRaeumstrecke_DSK_Strich': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCRaeumstrecke_DSK_Strich') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCRaeumstrecke_DSK_Strich', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBahnuebergang:', name_='TCRaeumstrecke_DSK_Strich'): + super(TCRaeumstrecke_DSK_Strich, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCRaeumstrecke_DSK_Strich') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='TCRaeumstrecke_DSK_Strich', fromsubclass_=False, pretty_print=True): + super(TCRaeumstrecke_DSK_Strich, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_decimal(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCRaeumstrecke_DSK_Strich, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + fval_ = self.gds_parse_decimal(sval_, node, 'Wert') + fval_ = self.gds_validate_decimal(fval_, node, 'Wert') + self.Wert = fval_ + self.Wert_nsprefix_ = child_.prefix + # validate type TRaeumstrecke_DSK_Strich + self.validate_TRaeumstrecke_DSK_Strich(self.Wert) + super(TCRaeumstrecke_DSK_Strich, self)._buildChildren(child_, node, nodeName_, True) +# end class TCRaeumstrecke_DSK_Strich + + +class CBUE_Anlage_V(CBasis_Objekt): + """CBUE_Anlage_V -- Angaben zu gleis- und stra + ß + enseitigen Mindest- und H + ö + chstgeschwindigkeiten f + ü + r die Einschaltstreckenberechnung. + ID_BUE_Anlage -- Verweis auf die zugeh + ö + rige B + Ü + -Anlage + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasis_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, BUE_Anlage_V_Allg=None, ID_BUE_Anlage=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CBUE_Anlage_V"), self).__init__(Identitaet, Basis_Objekt_Allg, ID_Bearbeitungsvermerk, ID_Oertlichkeit_Ausgabe, Objektreferenzen, **kwargs_) + self.BUE_Anlage_V_Allg = BUE_Anlage_V_Allg + self.BUE_Anlage_V_Allg_nsprefix_ = None + self.ID_BUE_Anlage = ID_BUE_Anlage + self.ID_BUE_Anlage_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CBUE_Anlage_V) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CBUE_Anlage_V.subclass: + return CBUE_Anlage_V.subclass(*args_, **kwargs_) + else: + return CBUE_Anlage_V(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_BUE_Anlage_V_Allg(self): + return self.BUE_Anlage_V_Allg + def set_BUE_Anlage_V_Allg(self, BUE_Anlage_V_Allg): + self.BUE_Anlage_V_Allg = BUE_Anlage_V_Allg + def get_ID_BUE_Anlage(self): + return self.ID_BUE_Anlage + def set_ID_BUE_Anlage(self, ID_BUE_Anlage): + self.ID_BUE_Anlage = ID_BUE_Anlage + def has__content(self): + if ( + self.BUE_Anlage_V_Allg is not None or + self.ID_BUE_Anlage is not None or + super(CBUE_Anlage_V, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CBUE_Anlage_V', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CBUE_Anlage_V') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CBUE_Anlage_V': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CBUE_Anlage_V') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CBUE_Anlage_V', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBahnuebergang:', name_='CBUE_Anlage_V'): + super(CBUE_Anlage_V, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CBUE_Anlage_V') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CBUE_Anlage_V', fromsubclass_=False, pretty_print=True): + super(CBUE_Anlage_V, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.BUE_Anlage_V_Allg is not None: + namespaceprefix_ = self.BUE_Anlage_V_Allg_nsprefix_ + ':' if (UseCapturedNS_ and self.BUE_Anlage_V_Allg_nsprefix_) else '' + self.BUE_Anlage_V_Allg.export(outfile, level, namespaceprefix_, namespacedef_='', name_='BUE_Anlage_V_Allg', pretty_print=pretty_print) + if self.ID_BUE_Anlage is not None: + namespaceprefix_ = self.ID_BUE_Anlage_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_BUE_Anlage_nsprefix_) else '' + self.ID_BUE_Anlage.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_BUE_Anlage', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CBUE_Anlage_V, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'BUE_Anlage_V_Allg': + obj_ = CBUE_Anlage_V_Allg.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.BUE_Anlage_V_Allg = obj_ + obj_.original_tagname_ = 'BUE_Anlage_V_Allg' + elif nodeName_ == 'ID_BUE_Anlage': + obj_ = TCID_BUE_Anlage_ohne_Proxy.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_BUE_Anlage = obj_ + obj_.original_tagname_ = 'ID_BUE_Anlage' + super(CBUE_Anlage_V, self)._buildChildren(child_, node, nodeName_, True) +# end class CBUE_Anlage_V + + +class TCRaeumstrecke_DCK(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCRaeumstrecke_DCK"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TRaeumstrecke_DCK(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCRaeumstrecke_DCK) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCRaeumstrecke_DCK.subclass: + return TCRaeumstrecke_DCK.subclass(*args_, **kwargs_) + else: + return TCRaeumstrecke_DCK(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TRaeumstrecke_DCK(self, value): + result = True + # Validate type TRaeumstrecke_DCK, a restriction on nsBasisTypen:TMeter. + 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 + pass + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCRaeumstrecke_DCK, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='TCRaeumstrecke_DCK', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCRaeumstrecke_DCK') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCRaeumstrecke_DCK': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCRaeumstrecke_DCK') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCRaeumstrecke_DCK', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBahnuebergang:', name_='TCRaeumstrecke_DCK'): + super(TCRaeumstrecke_DCK, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCRaeumstrecke_DCK') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='TCRaeumstrecke_DCK', fromsubclass_=False, pretty_print=True): + super(TCRaeumstrecke_DCK, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_decimal(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCRaeumstrecke_DCK, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + fval_ = self.gds_parse_decimal(sval_, node, 'Wert') + fval_ = self.gds_validate_decimal(fval_, node, 'Wert') + self.Wert = fval_ + self.Wert_nsprefix_ = child_.prefix + # validate type TRaeumstrecke_DCK + self.validate_TRaeumstrecke_DCK(self.Wert) + super(TCRaeumstrecke_DCK, self)._buildChildren(child_, node, nodeName_, True) +# end class TCRaeumstrecke_DCK + + +class CVerkehrszeichen_Allg(GeneratedsSuper): + """Abstand_Gehweg_Fahrbahn -- Abstand von der Mitte des Verkehrszeichens zur n + ä + chstgelegenen Gehweg- bzw. Fahrbahnkante.Der seitlicher Abstand zur Gleisachse ist + ü + ber die Eigenschaft \"Punkt_Objekt\" abgebildet. + Ausrichtung -- Generelle Ausrichtung des Verkehrszeichens in Bezug auf die Topologierichtung der TOP_Kante, an der das Verkehrszeichen verortet ist. + Ausrichtung_Winkel -- Ausrichtungswinkel des Verkehrszeichens in Bezug auf die Tangente am Verortungspunkt auf der topologischen Kante. Ein direkter Bezug zur Stra + ß + enachse ist nicht m + ö + glich, da der Stra + ß + enverlauf zun + ä + chst nur als Bild eingebunden wird. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Abstand_Gehweg_Fahrbahn=None, Ausrichtung=None, Ausrichtung_Winkel=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Abstand_Gehweg_Fahrbahn = Abstand_Gehweg_Fahrbahn + self.Abstand_Gehweg_Fahrbahn_nsprefix_ = None + self.Ausrichtung = Ausrichtung + self.Ausrichtung_nsprefix_ = None + self.Ausrichtung_Winkel = Ausrichtung_Winkel + self.Ausrichtung_Winkel_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CVerkehrszeichen_Allg) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CVerkehrszeichen_Allg.subclass: + return CVerkehrszeichen_Allg.subclass(*args_, **kwargs_) + else: + return CVerkehrszeichen_Allg(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Abstand_Gehweg_Fahrbahn(self): + return self.Abstand_Gehweg_Fahrbahn + def set_Abstand_Gehweg_Fahrbahn(self, Abstand_Gehweg_Fahrbahn): + self.Abstand_Gehweg_Fahrbahn = Abstand_Gehweg_Fahrbahn + def get_Ausrichtung(self): + return self.Ausrichtung + def set_Ausrichtung(self, Ausrichtung): + self.Ausrichtung = Ausrichtung + def get_Ausrichtung_Winkel(self): + return self.Ausrichtung_Winkel + def set_Ausrichtung_Winkel(self, Ausrichtung_Winkel): + self.Ausrichtung_Winkel = Ausrichtung_Winkel + def has__content(self): + if ( + self.Abstand_Gehweg_Fahrbahn is not None or + self.Ausrichtung is not None or + self.Ausrichtung_Winkel is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='CVerkehrszeichen_Allg', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CVerkehrszeichen_Allg') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CVerkehrszeichen_Allg': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CVerkehrszeichen_Allg') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CVerkehrszeichen_Allg', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBahnuebergang:', name_='CVerkehrszeichen_Allg'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='CVerkehrszeichen_Allg', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Abstand_Gehweg_Fahrbahn is not None: + namespaceprefix_ = self.Abstand_Gehweg_Fahrbahn_nsprefix_ + ':' if (UseCapturedNS_ and self.Abstand_Gehweg_Fahrbahn_nsprefix_) else '' + self.Abstand_Gehweg_Fahrbahn.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Abstand_Gehweg_Fahrbahn', pretty_print=pretty_print) + if self.Ausrichtung is not None: + namespaceprefix_ = self.Ausrichtung_nsprefix_ + ':' if (UseCapturedNS_ and self.Ausrichtung_nsprefix_) else '' + self.Ausrichtung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Ausrichtung', pretty_print=pretty_print) + if self.Ausrichtung_Winkel is not None: + namespaceprefix_ = self.Ausrichtung_Winkel_nsprefix_ + ':' if (UseCapturedNS_ and self.Ausrichtung_Winkel_nsprefix_) else '' + self.Ausrichtung_Winkel.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Ausrichtung_Winkel', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Abstand_Gehweg_Fahrbahn': + obj_ = TCAbstand_Gehweg_Fahrbahn.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Abstand_Gehweg_Fahrbahn = obj_ + obj_.original_tagname_ = 'Abstand_Gehweg_Fahrbahn' + elif nodeName_ == 'Ausrichtung': + obj_ = TCAusrichtung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Ausrichtung = obj_ + obj_.original_tagname_ = 'Ausrichtung' + elif nodeName_ == 'Ausrichtung_Winkel': + obj_ = TCAusrichtung_Winkel.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Ausrichtung_Winkel = obj_ + obj_.original_tagname_ = 'Ausrichtung_Winkel' +# end class CVerkehrszeichen_Allg + + +class TCZeitueberschreitungsmeldung(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCZeitueberschreitungsmeldung"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TZeitueberschreitungsmeldung(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCZeitueberschreitungsmeldung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCZeitueberschreitungsmeldung.subclass: + return TCZeitueberschreitungsmeldung.subclass(*args_, **kwargs_) + else: + return TCZeitueberschreitungsmeldung(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TZeitueberschreitungsmeldung(self, value): + result = True + # Validate type TZeitueberschreitungsmeldung, a restriction on nsBasisTypen:TSekunde. + 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 not self.gds_validate_simple_patterns( + self.validate_TZeitueberschreitungsmeldung_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TZeitueberschreitungsmeldung_patterns_, )) + result = False + return result + validate_TZeitueberschreitungsmeldung_patterns_ = [['^([1-9][0-9]{0,4})$'], ['^([0-9]{1,5}(\\.[0-9]{2})?)$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCZeitueberschreitungsmeldung, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='TCZeitueberschreitungsmeldung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCZeitueberschreitungsmeldung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCZeitueberschreitungsmeldung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCZeitueberschreitungsmeldung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCZeitueberschreitungsmeldung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBahnuebergang:', name_='TCZeitueberschreitungsmeldung'): + super(TCZeitueberschreitungsmeldung, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCZeitueberschreitungsmeldung') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='TCZeitueberschreitungsmeldung', fromsubclass_=False, pretty_print=True): + super(TCZeitueberschreitungsmeldung, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_decimal(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCZeitueberschreitungsmeldung, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + fval_ = self.gds_parse_decimal(sval_, node, 'Wert') + fval_ = self.gds_validate_decimal(fval_, node, 'Wert') + self.Wert = fval_ + self.Wert_nsprefix_ = child_.prefix + # validate type TZeitueberschreitungsmeldung + self.validate_TZeitueberschreitungsmeldung(self.Wert) + super(TCZeitueberschreitungsmeldung, self)._buildChildren(child_, node, nodeName_, True) +# end class TCZeitueberschreitungsmeldung + + +class TCV_Max_Strasse(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCV_Max_Strasse"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TV_Max_Strasse(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCV_Max_Strasse) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCV_Max_Strasse.subclass: + return TCV_Max_Strasse.subclass(*args_, **kwargs_) + else: + return TCV_Max_Strasse(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TV_Max_Strasse(self, value): + result = True + # Validate type TV_Max_Strasse, a restriction on nsBasisTypen:TGeschwindigkeit. + 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_TV_Max_Strasse_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TV_Max_Strasse_patterns_, )) + result = False + return result + validate_TV_Max_Strasse_patterns_ = [['^(0|[1-9][0-9]{0,1}|[1-4][0-9]{2}|500)$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCV_Max_Strasse, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='TCV_Max_Strasse', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCV_Max_Strasse') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCV_Max_Strasse': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCV_Max_Strasse') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCV_Max_Strasse', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBahnuebergang:', name_='TCV_Max_Strasse'): + super(TCV_Max_Strasse, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCV_Max_Strasse') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='TCV_Max_Strasse', fromsubclass_=False, pretty_print=True): + super(TCV_Max_Strasse, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_integer(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCV_Max_Strasse, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + ival_ = self.gds_parse_integer(sval_, node, 'Wert') + ival_ = self.gds_validate_integer(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + # validate type TV_Max_Strasse + self.validate_TV_Max_Strasse(self.Wert) + super(TCV_Max_Strasse, self)._buildChildren(child_, node, nodeName_, True) +# end class TCV_Max_Strasse + + +class TCBUE_Neigung(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCBUE_Neigung"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TBUE_Neigung(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCBUE_Neigung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCBUE_Neigung.subclass: + return TCBUE_Neigung.subclass(*args_, **kwargs_) + else: + return TCBUE_Neigung(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TBUE_Neigung(self, value): + result = True + # Validate type TBUE_Neigung, 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 + pass + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCBUE_Neigung, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='TCBUE_Neigung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCBUE_Neigung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCBUE_Neigung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBUE_Neigung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCBUE_Neigung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBahnuebergang:', name_='TCBUE_Neigung'): + super(TCBUE_Neigung, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBUE_Neigung') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='TCBUE_Neigung', fromsubclass_=False, pretty_print=True): + super(TCBUE_Neigung, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_decimal(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCBUE_Neigung, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + fval_ = self.gds_parse_decimal(sval_, node, 'Wert') + fval_ = self.gds_validate_decimal(fval_, node, 'Wert') + self.Wert = fval_ + self.Wert_nsprefix_ = child_.prefix + # validate type TBUE_Neigung + self.validate_TBUE_Neigung(self.Wert) + super(TCBUE_Neigung, self)._buildChildren(child_, node, nodeName_, True) +# end class TCBUE_Neigung + + +class CBUE_Anlage_Allg(GeneratedsSuper): + """BUE_Bauart -- Angabe der Bauart des Bahn + ü + bergang (B + Ü + ). Folgende Unterscheidungen werden vorgenommen: B + Ü + : B + Ü + nach Ril 815 mit oder ohne technische Sicherung; Bau-B + Ü + : zeitlich begrenzte Anordnung eines B + Ü + , meist zur Anbindung eines Baufeldes in Insellage; Resi: + Ü + bergang f + ü + r die Sicherung von Bahnsteigzug + ä + ngen f + ü + r Reisende (Reisendensicherung), die h + ö + hengleich + ü + ber das Gleis f + ü + hren; im Zusammenhang mit der signaltechnischen Ausr + ü + stung des Gleises, an dem die Resi angeordnet wird, gelten besondere Anforderungen. Nach EBO gelten Resi nicht als Bahn + ü + bergang, werden in PlanPro aber abweichend von der EBO als Bahn + ü + bergang modelliert. DB-Regelwerk F + ü + r B + Ü + und Resi gelten unterschiedliche Vorschriften zur Auslegung und Berechnung. B + Ü + : Ril 815 Resi: Ril 413 + BUE_Buestra -- F + ü + r die B + Ü + -Anlage besteht eine Abh + ä + ngigkeit zur Lichtzeichenanlage einer benachbarten Stra + ß + enkreuzung/-einm + ü + ndung. Das Attribut wird nur bef + ü + llt, wenn eine Abh + ä + ngigkeit zu einer Lichtzeichenanlage besteht. DB-Regelwerk 815.0051 \"Richtlinien + ü + ber Abh + ä + ngigkeiten zwischen der technischen Sicherung von Bahn + ü + berg + ä + ngen und der Verkehrsregelung an benachbarten Stra + ß + enkreuzungen und -einm + ü + ndungen (B + Ü + STRA)\" + BUE_Mit_GFR -- Der Bahn + ü + bergang wird mit einer technischen Gefahrraumfreimeldeanlage (GFR) + ü + berwacht. Die GFR findet nur bei B + Ü + mit Vollschrankenabschuss (HH oder V) Anwendung. Planungsattribute zur GFR werden zu einem sp + ä + teren Zeitpunkt in das Modell aufgenommen. Das Attribut wird nur bef + ü + llt, wenn eine GFR vorhanden ist. DB-Regelwerk 819.1210 + BUE_Sicherungsart -- Bauart der Bahn + ü + bergangs(B + Ü + )-Sicherung. A: Anrufschranke; F: abgesetzter Fu + ß + -/Radweg mit eigener Halbschranke; Lf: Geschwindigkeitsreduzierung im B + Ü + -Bereich mittels Lf-Signalen; Lz: Lichtzeichen; H: Halbschranken; HH: zwei Halbschranken, die gemeinsam die gesamte Stra + ß + enbreite sichern; P: Pfeiftafel; Ue: + Ü + bersicht (Ermittlung durch Sichtdreieck); V: Vollschranke; bei abgesetzten Fu + ß + -/Radwegen sichert die Vollschranke auch diese. Schl + ü + sselabh + ä + ngig sind z. B. Bau-B + Ü + . Bei Auswahl von \"sonstige\" ist ein Bearbeitungsvermerk mit entsprechenden Erl + ä + uterungen anzuf + ü + gen. DB-Regelwerk 815.0010 4 (7) Tabelle 1 in Verbindung mit 815.0031 oder 815.0032 + BUE_Strasse -- Angabe des Namens der kreuzenden Stra + ß + e bzw. des kreuzenden Weges. Zul + ä + ssig ist auch eine pr + ä + gnante Bezeichnung des Bahn + ü + bergangs anhand der + Ö + rtlichkeit oder Umgebung, in der dieser sich befindet. DB-Regelwerk \"Kennwort\" in der Einschaltstreckenberechnung + BUE_Technik -- Bauart der technischen B + Ü + -Sicherung. Ist der B + Ü + nichttechnisch gesichert, ist \"keine\" anzugeben. Bei Auswahl von \"sonstige\" ist ein Bearbeitungsvermerk mit entsprechenden Erl + ä + uterungen anzuf + ü + gen. DB-Regelwerk Das Planungsdatum ist im Regelwerk der DB AG nicht enthalten. Die Festlegung neu zu errichtender B + Ü + -Technik erfolgt projektbezogen durch Vorgabe des Bestellers. Allgemeine Angaben finden sich in der Ril 819.1203 2 + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, BUE_Bauart=None, BUE_Buestra=None, BUE_Mit_GFR=None, BUE_Sicherungsart=None, BUE_Strasse=None, BUE_Technik=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.BUE_Bauart = BUE_Bauart + self.BUE_Bauart_nsprefix_ = None + self.BUE_Buestra = BUE_Buestra + self.BUE_Buestra_nsprefix_ = None + self.BUE_Mit_GFR = BUE_Mit_GFR + self.BUE_Mit_GFR_nsprefix_ = None + self.BUE_Sicherungsart = BUE_Sicherungsart + self.BUE_Sicherungsart_nsprefix_ = None + self.BUE_Strasse = BUE_Strasse + self.BUE_Strasse_nsprefix_ = None + self.BUE_Technik = BUE_Technik + self.BUE_Technik_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CBUE_Anlage_Allg) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CBUE_Anlage_Allg.subclass: + return CBUE_Anlage_Allg.subclass(*args_, **kwargs_) + else: + return CBUE_Anlage_Allg(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_BUE_Bauart(self): + return self.BUE_Bauart + def set_BUE_Bauart(self, BUE_Bauart): + self.BUE_Bauart = BUE_Bauart + def get_BUE_Buestra(self): + return self.BUE_Buestra + def set_BUE_Buestra(self, BUE_Buestra): + self.BUE_Buestra = BUE_Buestra + def get_BUE_Mit_GFR(self): + return self.BUE_Mit_GFR + def set_BUE_Mit_GFR(self, BUE_Mit_GFR): + self.BUE_Mit_GFR = BUE_Mit_GFR + def get_BUE_Sicherungsart(self): + return self.BUE_Sicherungsart + def set_BUE_Sicherungsart(self, BUE_Sicherungsart): + self.BUE_Sicherungsart = BUE_Sicherungsart + def get_BUE_Strasse(self): + return self.BUE_Strasse + def set_BUE_Strasse(self, BUE_Strasse): + self.BUE_Strasse = BUE_Strasse + def get_BUE_Technik(self): + return self.BUE_Technik + def set_BUE_Technik(self, BUE_Technik): + self.BUE_Technik = BUE_Technik + def has__content(self): + if ( + self.BUE_Bauart is not None or + self.BUE_Buestra is not None or + self.BUE_Mit_GFR is not None or + self.BUE_Sicherungsart is not None or + self.BUE_Strasse is not None or + self.BUE_Technik is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='CBUE_Anlage_Allg', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CBUE_Anlage_Allg') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CBUE_Anlage_Allg': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CBUE_Anlage_Allg') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CBUE_Anlage_Allg', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBahnuebergang:', name_='CBUE_Anlage_Allg'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='CBUE_Anlage_Allg', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.BUE_Bauart is not None: + namespaceprefix_ = self.BUE_Bauart_nsprefix_ + ':' if (UseCapturedNS_ and self.BUE_Bauart_nsprefix_) else '' + self.BUE_Bauart.export(outfile, level, namespaceprefix_, namespacedef_='', name_='BUE_Bauart', pretty_print=pretty_print) + if self.BUE_Buestra is not None: + namespaceprefix_ = self.BUE_Buestra_nsprefix_ + ':' if (UseCapturedNS_ and self.BUE_Buestra_nsprefix_) else '' + self.BUE_Buestra.export(outfile, level, namespaceprefix_, namespacedef_='', name_='BUE_Buestra', pretty_print=pretty_print) + if self.BUE_Mit_GFR is not None: + namespaceprefix_ = self.BUE_Mit_GFR_nsprefix_ + ':' if (UseCapturedNS_ and self.BUE_Mit_GFR_nsprefix_) else '' + self.BUE_Mit_GFR.export(outfile, level, namespaceprefix_, namespacedef_='', name_='BUE_Mit_GFR', pretty_print=pretty_print) + if self.BUE_Sicherungsart is not None: + namespaceprefix_ = self.BUE_Sicherungsart_nsprefix_ + ':' if (UseCapturedNS_ and self.BUE_Sicherungsart_nsprefix_) else '' + self.BUE_Sicherungsart.export(outfile, level, namespaceprefix_, namespacedef_='', name_='BUE_Sicherungsart', pretty_print=pretty_print) + if self.BUE_Strasse is not None: + namespaceprefix_ = self.BUE_Strasse_nsprefix_ + ':' if (UseCapturedNS_ and self.BUE_Strasse_nsprefix_) else '' + self.BUE_Strasse.export(outfile, level, namespaceprefix_, namespacedef_='', name_='BUE_Strasse', pretty_print=pretty_print) + if self.BUE_Technik is not None: + namespaceprefix_ = self.BUE_Technik_nsprefix_ + ':' if (UseCapturedNS_ and self.BUE_Technik_nsprefix_) else '' + self.BUE_Technik.export(outfile, level, namespaceprefix_, namespacedef_='', name_='BUE_Technik', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'BUE_Bauart': + obj_ = TCBUE_Bauart.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.BUE_Bauart = obj_ + obj_.original_tagname_ = 'BUE_Bauart' + elif nodeName_ == 'BUE_Buestra': + obj_ = TCBUE_Buestra.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.BUE_Buestra = obj_ + obj_.original_tagname_ = 'BUE_Buestra' + elif nodeName_ == 'BUE_Mit_GFR': + obj_ = TCBUE_Mit_GFR.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.BUE_Mit_GFR = obj_ + obj_.original_tagname_ = 'BUE_Mit_GFR' + elif nodeName_ == 'BUE_Sicherungsart': + obj_ = TCBUE_Sicherungsart.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.BUE_Sicherungsart = obj_ + obj_.original_tagname_ = 'BUE_Sicherungsart' + elif nodeName_ == 'BUE_Strasse': + obj_ = TCBUE_Strasse.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.BUE_Strasse = obj_ + obj_.original_tagname_ = 'BUE_Strasse' + elif nodeName_ == 'BUE_Technik': + obj_ = TCBUE_Technik.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.BUE_Technik = obj_ + obj_.original_tagname_ = 'BUE_Technik' +# end class CBUE_Anlage_Allg + + +class TCGitterbehang(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCGitterbehang"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCGitterbehang) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCGitterbehang.subclass: + return TCGitterbehang.subclass(*args_, **kwargs_) + else: + return TCGitterbehang(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def has__content(self): + if ( + self.Wert is not None or + super(TCGitterbehang, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='TCGitterbehang', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCGitterbehang') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCGitterbehang': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCGitterbehang') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCGitterbehang', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBahnuebergang:', name_='TCGitterbehang'): + super(TCGitterbehang, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCGitterbehang') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='TCGitterbehang', fromsubclass_=False, pretty_print=True): + super(TCGitterbehang, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_boolean(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCGitterbehang, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + sval_ = child_.text + ival_ = self.gds_parse_boolean(sval_, node, 'Wert') + ival_ = self.gds_validate_boolean(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + super(TCGitterbehang, self)._buildChildren(child_, node, nodeName_, True) +# end class TCGitterbehang + + +class TCEinschaltverz_Errechnet(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCEinschaltverz_Errechnet"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TEinschaltverz_Errechnet(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCEinschaltverz_Errechnet) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCEinschaltverz_Errechnet.subclass: + return TCEinschaltverz_Errechnet.subclass(*args_, **kwargs_) + else: + return TCEinschaltverz_Errechnet(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TEinschaltverz_Errechnet(self, value): + result = True + # Validate type TEinschaltverz_Errechnet, a restriction on nsBasisTypen:TSekunde. + 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 not self.gds_validate_simple_patterns( + self.validate_TEinschaltverz_Errechnet_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TEinschaltverz_Errechnet_patterns_, )) + result = False + return result + validate_TEinschaltverz_Errechnet_patterns_ = [['^((0|[1-9][0-9]{0,4})\\.[0-9]{2})$'], ['^([0-9]{1,5}(\\.[0-9]{2})?)$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCEinschaltverz_Errechnet, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='TCEinschaltverz_Errechnet', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCEinschaltverz_Errechnet') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCEinschaltverz_Errechnet': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCEinschaltverz_Errechnet') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCEinschaltverz_Errechnet', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBahnuebergang:', name_='TCEinschaltverz_Errechnet'): + super(TCEinschaltverz_Errechnet, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCEinschaltverz_Errechnet') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='TCEinschaltverz_Errechnet', fromsubclass_=False, pretty_print=True): + super(TCEinschaltverz_Errechnet, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_decimal(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCEinschaltverz_Errechnet, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + fval_ = self.gds_parse_decimal(sval_, node, 'Wert') + fval_ = self.gds_validate_decimal(fval_, node, 'Wert') + self.Wert = fval_ + self.Wert_nsprefix_ = child_.prefix + # validate type TEinschaltverz_Errechnet + self.validate_TEinschaltverz_Errechnet(self.Wert) + super(TCEinschaltverz_Errechnet, self)._buildChildren(child_, node, nodeName_, True) +# end class TCEinschaltverz_Errechnet + + +class TCGFR_Art(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCGFR_Art"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMGFR_Art(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCGFR_Art) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCGFR_Art.subclass: + return TCGFR_Art.subclass(*args_, **kwargs_) + else: + return TCGFR_Art(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMGFR_Art(self, value): + result = True + # Validate type ENUMGFR_Art, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['automatisch', 'mit_Bediener', 'sonstige'] + 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 ENUMGFR_Art' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCGFR_Art, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='TCGFR_Art', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCGFR_Art') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCGFR_Art': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCGFR_Art') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCGFR_Art', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBahnuebergang:', name_='TCGFR_Art'): + super(TCGFR_Art, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCGFR_Art') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='TCGFR_Art', fromsubclass_=False, pretty_print=True): + super(TCGFR_Art, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCGFR_Art, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMGFR_Art + self.validate_ENUMGFR_Art(self.Wert) + super(TCGFR_Art, self)._buildChildren(child_, node, nodeName_, True) +# end class TCGFR_Art + + +class CBUE_Kreuzungsplan(CBasis_Objekt): + """CBUE_Kreuzungsplan -- Verortungspunkte des f + ü + r die B + Ü + -Planung verwendeten bautechnischen B + Ü + -Kreuzungsplans. Sofern der Anhang nicht als GeoTiff vorliegt, sind mindestens 2 Verortungspunkte anzugeben. + ID_Anhang_Kreuzungsplan -- Verweis auf den einzubindenden bautechnischen B + Ü + -Kreuzungsplan als Bild. + ID_BUE_Anlage -- Verweis auf die f + ü + r die Ausgabe des Kreuzungsplans relevante B + Ü + -Anlage. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasis_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, BUE_Kreuzungsplan_Koordinaten=None, ID_Anhang_Kreuzungsplan=None, ID_BUE_Anlage=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CBUE_Kreuzungsplan"), self).__init__(Identitaet, Basis_Objekt_Allg, ID_Bearbeitungsvermerk, ID_Oertlichkeit_Ausgabe, Objektreferenzen, **kwargs_) + if BUE_Kreuzungsplan_Koordinaten is None: + self.BUE_Kreuzungsplan_Koordinaten = [] + else: + self.BUE_Kreuzungsplan_Koordinaten = BUE_Kreuzungsplan_Koordinaten + self.BUE_Kreuzungsplan_Koordinaten_nsprefix_ = None + self.ID_Anhang_Kreuzungsplan = ID_Anhang_Kreuzungsplan + self.ID_Anhang_Kreuzungsplan_nsprefix_ = None + self.ID_BUE_Anlage = ID_BUE_Anlage + self.ID_BUE_Anlage_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CBUE_Kreuzungsplan) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CBUE_Kreuzungsplan.subclass: + return CBUE_Kreuzungsplan.subclass(*args_, **kwargs_) + else: + return CBUE_Kreuzungsplan(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_BUE_Kreuzungsplan_Koordinaten(self): + return self.BUE_Kreuzungsplan_Koordinaten + def set_BUE_Kreuzungsplan_Koordinaten(self, BUE_Kreuzungsplan_Koordinaten): + self.BUE_Kreuzungsplan_Koordinaten = BUE_Kreuzungsplan_Koordinaten + def add_BUE_Kreuzungsplan_Koordinaten(self, value): + self.BUE_Kreuzungsplan_Koordinaten.append(value) + def insert_BUE_Kreuzungsplan_Koordinaten_at(self, index, value): + self.BUE_Kreuzungsplan_Koordinaten.insert(index, value) + def replace_BUE_Kreuzungsplan_Koordinaten_at(self, index, value): + self.BUE_Kreuzungsplan_Koordinaten[index] = value + def get_ID_Anhang_Kreuzungsplan(self): + return self.ID_Anhang_Kreuzungsplan + def set_ID_Anhang_Kreuzungsplan(self, ID_Anhang_Kreuzungsplan): + self.ID_Anhang_Kreuzungsplan = ID_Anhang_Kreuzungsplan + def get_ID_BUE_Anlage(self): + return self.ID_BUE_Anlage + def set_ID_BUE_Anlage(self, ID_BUE_Anlage): + self.ID_BUE_Anlage = ID_BUE_Anlage + def has__content(self): + if ( + self.BUE_Kreuzungsplan_Koordinaten or + self.ID_Anhang_Kreuzungsplan is not None or + self.ID_BUE_Anlage is not None or + super(CBUE_Kreuzungsplan, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CBUE_Kreuzungsplan', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CBUE_Kreuzungsplan') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CBUE_Kreuzungsplan': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CBUE_Kreuzungsplan') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CBUE_Kreuzungsplan', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBahnuebergang:', name_='CBUE_Kreuzungsplan'): + super(CBUE_Kreuzungsplan, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CBUE_Kreuzungsplan') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CBUE_Kreuzungsplan', fromsubclass_=False, pretty_print=True): + super(CBUE_Kreuzungsplan, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for BUE_Kreuzungsplan_Koordinaten_ in self.BUE_Kreuzungsplan_Koordinaten: + namespaceprefix_ = self.BUE_Kreuzungsplan_Koordinaten_nsprefix_ + ':' if (UseCapturedNS_ and self.BUE_Kreuzungsplan_Koordinaten_nsprefix_) else '' + BUE_Kreuzungsplan_Koordinaten_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='BUE_Kreuzungsplan_Koordinaten', pretty_print=pretty_print) + if self.ID_Anhang_Kreuzungsplan is not None: + namespaceprefix_ = self.ID_Anhang_Kreuzungsplan_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Anhang_Kreuzungsplan_nsprefix_) else '' + self.ID_Anhang_Kreuzungsplan.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Anhang_Kreuzungsplan', pretty_print=pretty_print) + if self.ID_BUE_Anlage is not None: + namespaceprefix_ = self.ID_BUE_Anlage_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_BUE_Anlage_nsprefix_) else '' + self.ID_BUE_Anlage.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_BUE_Anlage', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CBUE_Kreuzungsplan, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'BUE_Kreuzungsplan_Koordinaten': + obj_ = CBUE_Kreuzungsplan_Koordinaten.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.BUE_Kreuzungsplan_Koordinaten.append(obj_) + obj_.original_tagname_ = 'BUE_Kreuzungsplan_Koordinaten' + elif nodeName_ == 'ID_Anhang_Kreuzungsplan': + obj_ = TCID_Anhang_ohne_Proxy.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Anhang_Kreuzungsplan = obj_ + obj_.original_tagname_ = 'ID_Anhang_Kreuzungsplan' + elif nodeName_ == 'ID_BUE_Anlage': + obj_ = TCID_BUE_Anlage_ohne_Proxy.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_BUE_Anlage = obj_ + obj_.original_tagname_ = 'ID_BUE_Anlage' + super(CBUE_Kreuzungsplan, self)._buildChildren(child_, node, nodeName_, True) +# end class CBUE_Kreuzungsplan + + +class TCGleis_Am_Bue(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCGleis_Am_Bue"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TGleis_Am_Bue(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCGleis_Am_Bue) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCGleis_Am_Bue.subclass: + return TCGleis_Am_Bue.subclass(*args_, **kwargs_) + else: + return TCGleis_Am_Bue(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TGleis_Am_Bue(self, value): + result = True + # Validate type TGleis_Am_Bue, a restriction on nsBasisTypen:TZeichenkette. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGleis_Am_Bue_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGleis_Am_Bue_patterns_, )) + result = False + return result + validate_TGleis_Am_Bue_patterns_ = [['^([a-z])$'], ['^([a-zA-Z_0-9]{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCGleis_Am_Bue, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='TCGleis_Am_Bue', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCGleis_Am_Bue') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCGleis_Am_Bue': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCGleis_Am_Bue') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCGleis_Am_Bue', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBahnuebergang:', name_='TCGleis_Am_Bue'): + super(TCGleis_Am_Bue, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCGleis_Am_Bue') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='TCGleis_Am_Bue', fromsubclass_=False, pretty_print=True): + super(TCGleis_Am_Bue, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCGleis_Am_Bue, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGleis_Am_Bue + self.validate_TGleis_Am_Bue(self.Wert) + super(TCGleis_Am_Bue, self)._buildChildren(child_, node, nodeName_, True) +# end class TCGleis_Am_Bue + + +class CVz_Sperrstrecke(GeneratedsSuper): + """Vz_Sperrstrecke_Vorgeschaltet -- Zus + ä + tzliche Angaben zu R + ä + umstrecken bei vorgeschalteten Lichtzeichen gem + ä + ß + Ril 815.0033A01. + Sperrstrecke -- Sperrstrecke als Abstand Lz/Andreaskreuz - gegen + ü + berliegende Gefahrraumgrenze (d). Die Angabe ist nur bei unbeschrankten Bahn + ü + berg + ä + ngen erforderlich. + Sperrstrecke_Fussgaenger -- Sperrstrecke als Abstand Lz/Andreaskreuz - gegen + ü + berliegende Schranke (dF). Die Angabe ist nur bei beschrankten Bahn + ü + berg + ä + ngen erforderlich. + Vz_Sperrstrecke_Schranke -- Angaben zur Sperrstrecke bei B + Ü + der Art LzH bzw. LzHH. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Vz_Sperrstrecke_Vorgeschaltet=None, Sperrstrecke=None, Sperrstrecke_Fussgaenger=None, Vz_Sperrstrecke_Schranke=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Vz_Sperrstrecke_Vorgeschaltet = Vz_Sperrstrecke_Vorgeschaltet + self.Vz_Sperrstrecke_Vorgeschaltet_nsprefix_ = None + self.Sperrstrecke = Sperrstrecke + self.Sperrstrecke_nsprefix_ = None + self.Sperrstrecke_Fussgaenger = Sperrstrecke_Fussgaenger + self.Sperrstrecke_Fussgaenger_nsprefix_ = None + self.Vz_Sperrstrecke_Schranke = Vz_Sperrstrecke_Schranke + self.Vz_Sperrstrecke_Schranke_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CVz_Sperrstrecke) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CVz_Sperrstrecke.subclass: + return CVz_Sperrstrecke.subclass(*args_, **kwargs_) + else: + return CVz_Sperrstrecke(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Vz_Sperrstrecke_Vorgeschaltet(self): + return self.Vz_Sperrstrecke_Vorgeschaltet + def set_Vz_Sperrstrecke_Vorgeschaltet(self, Vz_Sperrstrecke_Vorgeschaltet): + self.Vz_Sperrstrecke_Vorgeschaltet = Vz_Sperrstrecke_Vorgeschaltet + def get_Sperrstrecke(self): + return self.Sperrstrecke + def set_Sperrstrecke(self, Sperrstrecke): + self.Sperrstrecke = Sperrstrecke + def get_Sperrstrecke_Fussgaenger(self): + return self.Sperrstrecke_Fussgaenger + def set_Sperrstrecke_Fussgaenger(self, Sperrstrecke_Fussgaenger): + self.Sperrstrecke_Fussgaenger = Sperrstrecke_Fussgaenger + def get_Vz_Sperrstrecke_Schranke(self): + return self.Vz_Sperrstrecke_Schranke + def set_Vz_Sperrstrecke_Schranke(self, Vz_Sperrstrecke_Schranke): + self.Vz_Sperrstrecke_Schranke = Vz_Sperrstrecke_Schranke + def has__content(self): + if ( + self.Vz_Sperrstrecke_Vorgeschaltet is not None or + self.Sperrstrecke is not None or + self.Sperrstrecke_Fussgaenger is not None or + self.Vz_Sperrstrecke_Schranke is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='CVz_Sperrstrecke', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CVz_Sperrstrecke') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CVz_Sperrstrecke': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CVz_Sperrstrecke') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CVz_Sperrstrecke', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBahnuebergang:', name_='CVz_Sperrstrecke'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='CVz_Sperrstrecke', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Vz_Sperrstrecke_Vorgeschaltet is not None: + namespaceprefix_ = self.Vz_Sperrstrecke_Vorgeschaltet_nsprefix_ + ':' if (UseCapturedNS_ and self.Vz_Sperrstrecke_Vorgeschaltet_nsprefix_) else '' + self.Vz_Sperrstrecke_Vorgeschaltet.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Vz_Sperrstrecke_Vorgeschaltet', pretty_print=pretty_print) + if self.Sperrstrecke is not None: + namespaceprefix_ = self.Sperrstrecke_nsprefix_ + ':' if (UseCapturedNS_ and self.Sperrstrecke_nsprefix_) else '' + self.Sperrstrecke.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Sperrstrecke', pretty_print=pretty_print) + if self.Sperrstrecke_Fussgaenger is not None: + namespaceprefix_ = self.Sperrstrecke_Fussgaenger_nsprefix_ + ':' if (UseCapturedNS_ and self.Sperrstrecke_Fussgaenger_nsprefix_) else '' + self.Sperrstrecke_Fussgaenger.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Sperrstrecke_Fussgaenger', pretty_print=pretty_print) + if self.Vz_Sperrstrecke_Schranke is not None: + namespaceprefix_ = self.Vz_Sperrstrecke_Schranke_nsprefix_ + ':' if (UseCapturedNS_ and self.Vz_Sperrstrecke_Schranke_nsprefix_) else '' + self.Vz_Sperrstrecke_Schranke.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Vz_Sperrstrecke_Schranke', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Vz_Sperrstrecke_Vorgeschaltet': + obj_ = CVz_Sperrstrecke_Vorgeschaltet.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Vz_Sperrstrecke_Vorgeschaltet = obj_ + obj_.original_tagname_ = 'Vz_Sperrstrecke_Vorgeschaltet' + elif nodeName_ == 'Sperrstrecke': + obj_ = TCSperrstrecke.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Sperrstrecke = obj_ + obj_.original_tagname_ = 'Sperrstrecke' + elif nodeName_ == 'Sperrstrecke_Fussgaenger': + obj_ = TCSperrstrecke_Fussgaenger.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Sperrstrecke_Fussgaenger = obj_ + obj_.original_tagname_ = 'Sperrstrecke_Fussgaenger' + elif nodeName_ == 'Vz_Sperrstrecke_Schranke': + obj_ = CVz_Sperrstrecke_Schranke.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Vz_Sperrstrecke_Schranke = obj_ + obj_.original_tagname_ = 'Vz_Sperrstrecke_Schranke' +# end class CVz_Sperrstrecke + + +class CBUE_Bedien_Anz_Element_Allg(GeneratedsSuper): + """BUE_Handschalteinrichtung -- Handschalteinrichtungen des technisch gesicherten B + Ü + , die direkt auf die B + Ü + -Ein-/Ausschaltung wirken. AT: Ausschalttaste; ET: Einschalttaste; HAT: Hilfsausschalttaste; HET: Hilfseinschalttaste; RS: Rangierschalter; RT_ein_aus: 1. Tastendruck=EIN, 2. Tastendruck=AUS; RT_ein_RT_aus: jeweils ein Taster f + ü + r EIN und AUS; UT: Unwirksamkeitstaste. AT, ET, HET und UT k + ö + nnen gleisbezogen angeordnet werden; HAT, RS und RT (beide Ausf + ü + hrungen) wirken auf die gesamte B + Ü + -Anlage. DB-Regelwerk 819.1204 8 TM 2012.001 I.NVT 3 + ID_Bedien_Anzeige_Element -- Verweis auf das Bedien Anzeige Element, welches die Zuordnung zur Bedien Einrichtung Oertlich und damit zur physischen Unterbringung der Tasten herstellt. + ID_Handschalt_Wirkfunktion -- Verweis auf die zugeh + ö + rige BUE Anlage (bei B + Ü + -bezogenen Funktionen) bzw. auf die zugeh + ö + rige BUE Einschaltung / BUE Ausschaltung (bei gleisbezogenen Funktionen). + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, BUE_Handschalteinrichtung=None, ID_Bedien_Anzeige_Element=None, ID_Handschalt_Wirkfunktion=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.BUE_Handschalteinrichtung = BUE_Handschalteinrichtung + self.BUE_Handschalteinrichtung_nsprefix_ = None + self.ID_Bedien_Anzeige_Element = ID_Bedien_Anzeige_Element + self.ID_Bedien_Anzeige_Element_nsprefix_ = None + self.ID_Handschalt_Wirkfunktion = ID_Handschalt_Wirkfunktion + self.ID_Handschalt_Wirkfunktion_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CBUE_Bedien_Anz_Element_Allg) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CBUE_Bedien_Anz_Element_Allg.subclass: + return CBUE_Bedien_Anz_Element_Allg.subclass(*args_, **kwargs_) + else: + return CBUE_Bedien_Anz_Element_Allg(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_BUE_Handschalteinrichtung(self): + return self.BUE_Handschalteinrichtung + def set_BUE_Handschalteinrichtung(self, BUE_Handschalteinrichtung): + self.BUE_Handschalteinrichtung = BUE_Handschalteinrichtung + def get_ID_Bedien_Anzeige_Element(self): + return self.ID_Bedien_Anzeige_Element + def set_ID_Bedien_Anzeige_Element(self, ID_Bedien_Anzeige_Element): + self.ID_Bedien_Anzeige_Element = ID_Bedien_Anzeige_Element + def get_ID_Handschalt_Wirkfunktion(self): + return self.ID_Handschalt_Wirkfunktion + def set_ID_Handschalt_Wirkfunktion(self, ID_Handschalt_Wirkfunktion): + self.ID_Handschalt_Wirkfunktion = ID_Handschalt_Wirkfunktion + def has__content(self): + if ( + self.BUE_Handschalteinrichtung is not None or + self.ID_Bedien_Anzeige_Element is not None or + self.ID_Handschalt_Wirkfunktion is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CBUE_Bedien_Anz_Element_Allg', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CBUE_Bedien_Anz_Element_Allg') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CBUE_Bedien_Anz_Element_Allg': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CBUE_Bedien_Anz_Element_Allg') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CBUE_Bedien_Anz_Element_Allg', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBahnuebergang:', name_='CBUE_Bedien_Anz_Element_Allg'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CBUE_Bedien_Anz_Element_Allg', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.BUE_Handschalteinrichtung is not None: + namespaceprefix_ = self.BUE_Handschalteinrichtung_nsprefix_ + ':' if (UseCapturedNS_ and self.BUE_Handschalteinrichtung_nsprefix_) else '' + self.BUE_Handschalteinrichtung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='BUE_Handschalteinrichtung', pretty_print=pretty_print) + if self.ID_Bedien_Anzeige_Element is not None: + namespaceprefix_ = self.ID_Bedien_Anzeige_Element_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bedien_Anzeige_Element_nsprefix_) else '' + self.ID_Bedien_Anzeige_Element.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bedien_Anzeige_Element', pretty_print=pretty_print) + if self.ID_Handschalt_Wirkfunktion is not None: + namespaceprefix_ = self.ID_Handschalt_Wirkfunktion_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Handschalt_Wirkfunktion_nsprefix_) else '' + self.ID_Handschalt_Wirkfunktion.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Handschalt_Wirkfunktion', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'BUE_Handschalteinrichtung': + obj_ = TCBUE_Handschalteinrichtung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.BUE_Handschalteinrichtung = obj_ + obj_.original_tagname_ = 'BUE_Handschalteinrichtung' + elif nodeName_ == 'ID_Bedien_Anzeige_Element': + obj_ = TCID_Bedien_Anzeige_Element.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bedien_Anzeige_Element = obj_ + obj_.original_tagname_ = 'ID_Bedien_Anzeige_Element' + elif nodeName_ == 'ID_Handschalt_Wirkfunktion': + obj_ = TCID_Handschalt_Wirkfunktion.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Handschalt_Wirkfunktion = obj_ + obj_.original_tagname_ = 'ID_Handschalt_Wirkfunktion' +# end class CBUE_Bedien_Anz_Element_Allg + + +class TCKurzzugschaltung(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCKurzzugschaltung"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCKurzzugschaltung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCKurzzugschaltung.subclass: + return TCKurzzugschaltung.subclass(*args_, **kwargs_) + else: + return TCKurzzugschaltung(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def has__content(self): + if ( + self.Wert is not None or + super(TCKurzzugschaltung, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='TCKurzzugschaltung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCKurzzugschaltung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCKurzzugschaltung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCKurzzugschaltung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCKurzzugschaltung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBahnuebergang:', name_='TCKurzzugschaltung'): + super(TCKurzzugschaltung, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCKurzzugschaltung') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='TCKurzzugschaltung', fromsubclass_=False, pretty_print=True): + super(TCKurzzugschaltung, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_boolean(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCKurzzugschaltung, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + sval_ = child_.text + ival_ = self.gds_parse_boolean(sval_, node, 'Wert') + ival_ = self.gds_validate_boolean(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + super(TCKurzzugschaltung, self)._buildChildren(child_, node, nodeName_, True) +# end class TCKurzzugschaltung + + +class TCBUE_Nachlaufzeit(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCBUE_Nachlaufzeit"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TBUE_Nachlaufzeit(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCBUE_Nachlaufzeit) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCBUE_Nachlaufzeit.subclass: + return TCBUE_Nachlaufzeit.subclass(*args_, **kwargs_) + else: + return TCBUE_Nachlaufzeit(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TBUE_Nachlaufzeit(self, value): + result = True + # Validate type TBUE_Nachlaufzeit, a restriction on nsBasisTypen:TSekunde. + 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 not self.gds_validate_simple_patterns( + self.validate_TBUE_Nachlaufzeit_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TBUE_Nachlaufzeit_patterns_, )) + result = False + return result + validate_TBUE_Nachlaufzeit_patterns_ = [['^((0|[1-9][0-9]{0,4})\\.[0-9]{2})$'], ['^([0-9]{1,5}(\\.[0-9]{2})?)$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCBUE_Nachlaufzeit, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='TCBUE_Nachlaufzeit', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCBUE_Nachlaufzeit') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCBUE_Nachlaufzeit': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBUE_Nachlaufzeit') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCBUE_Nachlaufzeit', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBahnuebergang:', name_='TCBUE_Nachlaufzeit'): + super(TCBUE_Nachlaufzeit, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBUE_Nachlaufzeit') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='TCBUE_Nachlaufzeit', fromsubclass_=False, pretty_print=True): + super(TCBUE_Nachlaufzeit, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_decimal(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCBUE_Nachlaufzeit, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + fval_ = self.gds_parse_decimal(sval_, node, 'Wert') + fval_ = self.gds_validate_decimal(fval_, node, 'Wert') + self.Wert = fval_ + self.Wert_nsprefix_ = child_.prefix + # validate type TBUE_Nachlaufzeit + self.validate_TBUE_Nachlaufzeit(self.Wert) + super(TCBUE_Nachlaufzeit, self)._buildChildren(child_, node, nodeName_, True) +# end class TCBUE_Nachlaufzeit + + +class TCHaltezeit(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCHaltezeit"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_THaltezeit(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCHaltezeit) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCHaltezeit.subclass: + return TCHaltezeit.subclass(*args_, **kwargs_) + else: + return TCHaltezeit(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_THaltezeit(self, value): + result = True + # Validate type THaltezeit, a restriction on nsBasisTypen:TSekunde. + 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 not self.gds_validate_simple_patterns( + self.validate_THaltezeit_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_THaltezeit_patterns_, )) + result = False + return result + validate_THaltezeit_patterns_ = [['^([0-9]{1,5}(\\.[0-9]{2})?)$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCHaltezeit, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='TCHaltezeit', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCHaltezeit') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCHaltezeit': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCHaltezeit') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCHaltezeit', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBahnuebergang:', name_='TCHaltezeit'): + super(TCHaltezeit, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCHaltezeit') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='TCHaltezeit', fromsubclass_=False, pretty_print=True): + super(TCHaltezeit, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_decimal(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCHaltezeit, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + fval_ = self.gds_parse_decimal(sval_, node, 'Wert') + fval_ = self.gds_validate_decimal(fval_, node, 'Wert') + self.Wert = fval_ + self.Wert_nsprefix_ = child_.prefix + # validate type THaltezeit + self.validate_THaltezeit(self.Wert) + super(TCHaltezeit, self)._buildChildren(child_, node, nodeName_, True) +# end class TCHaltezeit + + +class CGFR_Element(CBasis_Objekt): + """CGFR_Element -- Detektor der GFR-Anlage (z. B. Radar). Elemente f + ü + r eine Kamera- + Ü + berwachung sind Bestandteil TK-Ausr + ü + stung und werden daher nicht abgebildet. + ID_GFR_Anlage -- Verweis auf die zugeh + ö + rige GFR_Anlage. + ID_Unterbringung -- Verweis auf eine Unterbringung zur Angabe von Position und Befestigungsart des Detektors der GFR-Anlage. + BUE_Neigung -- Neigung des B + Ü + in Bezug auf die Waagerechte in der Achse Detektor - gegen + ü + berliegender Eckpunkt des Gefahrraums. + GFR_Neigung -- Neigung des GFR-Elements (Detektors) bezogen auf die Senkrechte in Grad. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasis_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, Bezeichnung=None, ID_GFR_Anlage=None, ID_Unterbringung=None, BUE_Neigung=None, GFR_Neigung=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CGFR_Element"), self).__init__(Identitaet, Basis_Objekt_Allg, ID_Bearbeitungsvermerk, ID_Oertlichkeit_Ausgabe, Objektreferenzen, **kwargs_) + self.Bezeichnung = Bezeichnung + self.Bezeichnung_nsprefix_ = None + self.ID_GFR_Anlage = ID_GFR_Anlage + self.ID_GFR_Anlage_nsprefix_ = None + self.ID_Unterbringung = ID_Unterbringung + self.ID_Unterbringung_nsprefix_ = None + self.BUE_Neigung = BUE_Neigung + self.BUE_Neigung_nsprefix_ = None + self.GFR_Neigung = GFR_Neigung + self.GFR_Neigung_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CGFR_Element) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CGFR_Element.subclass: + return CGFR_Element.subclass(*args_, **kwargs_) + else: + return CGFR_Element(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Bezeichnung(self): + return self.Bezeichnung + def set_Bezeichnung(self, Bezeichnung): + self.Bezeichnung = Bezeichnung + def get_ID_GFR_Anlage(self): + return self.ID_GFR_Anlage + def set_ID_GFR_Anlage(self, ID_GFR_Anlage): + self.ID_GFR_Anlage = ID_GFR_Anlage + def get_ID_Unterbringung(self): + return self.ID_Unterbringung + def set_ID_Unterbringung(self, ID_Unterbringung): + self.ID_Unterbringung = ID_Unterbringung + def get_BUE_Neigung(self): + return self.BUE_Neigung + def set_BUE_Neigung(self, BUE_Neigung): + self.BUE_Neigung = BUE_Neigung + def get_GFR_Neigung(self): + return self.GFR_Neigung + def set_GFR_Neigung(self, GFR_Neigung): + self.GFR_Neigung = GFR_Neigung + def has__content(self): + if ( + self.Bezeichnung is not None or + self.ID_GFR_Anlage is not None or + self.ID_Unterbringung is not None or + self.BUE_Neigung is not None or + self.GFR_Neigung is not None or + super(CGFR_Element, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CGFR_Element', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CGFR_Element') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CGFR_Element': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CGFR_Element') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CGFR_Element', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBahnuebergang:', name_='CGFR_Element'): + super(CGFR_Element, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CGFR_Element') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CGFR_Element', fromsubclass_=False, pretty_print=True): + super(CGFR_Element, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Bezeichnung is not None: + namespaceprefix_ = self.Bezeichnung_nsprefix_ + ':' if (UseCapturedNS_ and self.Bezeichnung_nsprefix_) else '' + self.Bezeichnung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Bezeichnung', pretty_print=pretty_print) + if self.ID_GFR_Anlage is not None: + namespaceprefix_ = self.ID_GFR_Anlage_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_GFR_Anlage_nsprefix_) else '' + self.ID_GFR_Anlage.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_GFR_Anlage', pretty_print=pretty_print) + if self.ID_Unterbringung is not None: + namespaceprefix_ = self.ID_Unterbringung_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Unterbringung_nsprefix_) else '' + self.ID_Unterbringung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Unterbringung', pretty_print=pretty_print) + if self.BUE_Neigung is not None: + namespaceprefix_ = self.BUE_Neigung_nsprefix_ + ':' if (UseCapturedNS_ and self.BUE_Neigung_nsprefix_) else '' + self.BUE_Neigung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='BUE_Neigung', pretty_print=pretty_print) + if self.GFR_Neigung is not None: + namespaceprefix_ = self.GFR_Neigung_nsprefix_ + ':' if (UseCapturedNS_ and self.GFR_Neigung_nsprefix_) else '' + self.GFR_Neigung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='GFR_Neigung', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CGFR_Element, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Bezeichnung': + obj_ = CGFR_Element_Bezeichnung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Bezeichnung = obj_ + obj_.original_tagname_ = 'Bezeichnung' + elif nodeName_ == 'ID_GFR_Anlage': + obj_ = TCID_GFR_Anlage_ohne_Proxy.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_GFR_Anlage = obj_ + obj_.original_tagname_ = 'ID_GFR_Anlage' + elif nodeName_ == 'ID_Unterbringung': + obj_ = TCID_Unterbringung_ohne_Proxy.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Unterbringung = obj_ + obj_.original_tagname_ = 'ID_Unterbringung' + elif nodeName_ == 'BUE_Neigung': + obj_ = TCBUE_Neigung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.BUE_Neigung = obj_ + obj_.original_tagname_ = 'BUE_Neigung' + elif nodeName_ == 'GFR_Neigung': + obj_ = TCGFR_Neigung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.GFR_Neigung = obj_ + obj_.original_tagname_ = 'GFR_Neigung' + super(CGFR_Element, self)._buildChildren(child_, node, nodeName_, True) +# end class CGFR_Element + + +class TCBUE_Technik(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCBUE_Technik"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMBUE_Technik(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCBUE_Technik) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCBUE_Technik.subclass: + return TCBUE_Technik.subclass(*args_, **kwargs_) + else: + return TCBUE_Technik(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMBUE_Technik(self, value): + result = True + # Validate type ENUMBUE_Technik, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['Anrufschranke', 'BUEP_93', 'BUES_72D', 'BUES_72Z', 'BUES2000', 'EBUET_80', 'EBUET_80_VB', 'FUE_58', 'FUE_60', 'HL_64_B', 'HL_64_C', 'HS_64_B', 'HS_64_C', 'keine', 'LO1', 'LO1_57', 'NE_BUE_90', 'RBUET', 'SIMIS_LC', 'sonstige'] + 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 ENUMBUE_Technik' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCBUE_Technik, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='TCBUE_Technik', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCBUE_Technik') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCBUE_Technik': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBUE_Technik') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCBUE_Technik', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBahnuebergang:', name_='TCBUE_Technik'): + super(TCBUE_Technik, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBUE_Technik') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='TCBUE_Technik', fromsubclass_=False, pretty_print=True): + super(TCBUE_Technik, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCBUE_Technik, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMBUE_Technik + self.validate_ENUMBUE_Technik(self.Wert) + super(TCBUE_Technik, self)._buildChildren(child_, node, nodeName_, True) +# end class TCBUE_Technik + + +class TCTeilsperrstrecke(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCTeilsperrstrecke"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TTeilsperrstrecke(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCTeilsperrstrecke) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCTeilsperrstrecke.subclass: + return TCTeilsperrstrecke.subclass(*args_, **kwargs_) + else: + return TCTeilsperrstrecke(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TTeilsperrstrecke(self, value): + result = True + # Validate type TTeilsperrstrecke, a restriction on nsBasisTypen:TMeter. + 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 + pass + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCTeilsperrstrecke, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='TCTeilsperrstrecke', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCTeilsperrstrecke') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCTeilsperrstrecke': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCTeilsperrstrecke') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCTeilsperrstrecke', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBahnuebergang:', name_='TCTeilsperrstrecke'): + super(TCTeilsperrstrecke, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCTeilsperrstrecke') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='TCTeilsperrstrecke', fromsubclass_=False, pretty_print=True): + super(TCTeilsperrstrecke, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_decimal(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCTeilsperrstrecke, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + fval_ = self.gds_parse_decimal(sval_, node, 'Wert') + fval_ = self.gds_validate_decimal(fval_, node, 'Wert') + self.Wert = fval_ + self.Wert_nsprefix_ = child_.prefix + # validate type TTeilsperrstrecke + self.validate_TTeilsperrstrecke(self.Wert) + super(TCTeilsperrstrecke, self)._buildChildren(child_, node, nodeName_, True) +# end class TCTeilsperrstrecke + + +class CGFR_Tripelspiegel_Allg(GeneratedsSuper): + """Montagehoehe -- H + ö + he, in der der Tripelspiegel angebracht ist (R + ü + cklaufdatum PT 2). + Pegel -- R + ü + cklaufdatum (PT 2) + Winkel_Alpha -- Winkel des Tripelspiegels ausgehend von der Linie GFR-Anlage - Tripelspiegel 1. Die Z + ä + hlung erfolgt entgegen des Uhrzeigersinns. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Montagehoehe=None, Pegel=None, Winkel_Alpha=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Montagehoehe = Montagehoehe + self.Montagehoehe_nsprefix_ = None + self.Pegel = Pegel + self.Pegel_nsprefix_ = None + self.Winkel_Alpha = Winkel_Alpha + self.Winkel_Alpha_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CGFR_Tripelspiegel_Allg) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CGFR_Tripelspiegel_Allg.subclass: + return CGFR_Tripelspiegel_Allg.subclass(*args_, **kwargs_) + else: + return CGFR_Tripelspiegel_Allg(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Montagehoehe(self): + return self.Montagehoehe + def set_Montagehoehe(self, Montagehoehe): + self.Montagehoehe = Montagehoehe + def get_Pegel(self): + return self.Pegel + def set_Pegel(self, Pegel): + self.Pegel = Pegel + def get_Winkel_Alpha(self): + return self.Winkel_Alpha + def set_Winkel_Alpha(self, Winkel_Alpha): + self.Winkel_Alpha = Winkel_Alpha + def has__content(self): + if ( + self.Montagehoehe is not None or + self.Pegel is not None or + self.Winkel_Alpha is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='CGFR_Tripelspiegel_Allg', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CGFR_Tripelspiegel_Allg') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CGFR_Tripelspiegel_Allg': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CGFR_Tripelspiegel_Allg') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CGFR_Tripelspiegel_Allg', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBahnuebergang:', name_='CGFR_Tripelspiegel_Allg'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='CGFR_Tripelspiegel_Allg', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Montagehoehe is not None: + namespaceprefix_ = self.Montagehoehe_nsprefix_ + ':' if (UseCapturedNS_ and self.Montagehoehe_nsprefix_) else '' + self.Montagehoehe.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Montagehoehe', pretty_print=pretty_print) + if self.Pegel is not None: + namespaceprefix_ = self.Pegel_nsprefix_ + ':' if (UseCapturedNS_ and self.Pegel_nsprefix_) else '' + self.Pegel.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Pegel', pretty_print=pretty_print) + if self.Winkel_Alpha is not None: + namespaceprefix_ = self.Winkel_Alpha_nsprefix_ + ':' if (UseCapturedNS_ and self.Winkel_Alpha_nsprefix_) else '' + self.Winkel_Alpha.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Winkel_Alpha', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Montagehoehe': + obj_ = TCMontagehoehe.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Montagehoehe = obj_ + obj_.original_tagname_ = 'Montagehoehe' + elif nodeName_ == 'Pegel': + obj_ = TCPegel.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Pegel = obj_ + obj_.original_tagname_ = 'Pegel' + elif nodeName_ == 'Winkel_Alpha': + obj_ = TCWinkel_Alpha.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Winkel_Alpha = obj_ + obj_.original_tagname_ = 'Winkel_Alpha' +# end class CGFR_Tripelspiegel_Allg + + +class CBUE_Anlage_V_Allg(GeneratedsSuper): + """V_Max_Schiene -- Zul + ä + ssige gleisbezogene Geschwindkeit im im Bereich der Einschaltstrecke bzw. im B + Ü + -Bereich (vE). + V_Max_Strasse -- Zul + ä + ssige Geschwindkeit auf der den B + Ü + kreuzenden Stra + ß + e (vST). + V_Min_Fussweg -- Minimale R + ä + umgeschwindigkeit von Fu + ß + g + ä + ngern auf dem den B + Ü + kreuzenden Weg in m/s (vF). Zul + ä + ssig sind 1,0 bis 1,5 m/s bzw. 0,5 oder 0,8 m/s bei technischer Reisendensicherung. + V_Min_Schiene -- Geschwindkeit des langsamsten Regelzugs im Bereich der Einschaltstrecke bzw. im B + Ü + -Bereich (vEL). + V_Min_Strasse -- Minimale R + ä + umgeschwindigkeit von Fahrzeugen auf der den B + Ü + kreuzenden Stra + ß + e (vST). Zul + ä + ssig sind 5 oder 10 km/h. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, V_Max_Schiene=None, V_Max_Strasse=None, V_Min_Fussweg=None, V_Min_Schiene=None, V_Min_Strasse=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.V_Max_Schiene = V_Max_Schiene + self.V_Max_Schiene_nsprefix_ = None + self.V_Max_Strasse = V_Max_Strasse + self.V_Max_Strasse_nsprefix_ = None + self.V_Min_Fussweg = V_Min_Fussweg + self.V_Min_Fussweg_nsprefix_ = None + self.V_Min_Schiene = V_Min_Schiene + self.V_Min_Schiene_nsprefix_ = None + self.V_Min_Strasse = V_Min_Strasse + self.V_Min_Strasse_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CBUE_Anlage_V_Allg) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CBUE_Anlage_V_Allg.subclass: + return CBUE_Anlage_V_Allg.subclass(*args_, **kwargs_) + else: + return CBUE_Anlage_V_Allg(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_V_Max_Schiene(self): + return self.V_Max_Schiene + def set_V_Max_Schiene(self, V_Max_Schiene): + self.V_Max_Schiene = V_Max_Schiene + def get_V_Max_Strasse(self): + return self.V_Max_Strasse + def set_V_Max_Strasse(self, V_Max_Strasse): + self.V_Max_Strasse = V_Max_Strasse + def get_V_Min_Fussweg(self): + return self.V_Min_Fussweg + def set_V_Min_Fussweg(self, V_Min_Fussweg): + self.V_Min_Fussweg = V_Min_Fussweg + def get_V_Min_Schiene(self): + return self.V_Min_Schiene + def set_V_Min_Schiene(self, V_Min_Schiene): + self.V_Min_Schiene = V_Min_Schiene + def get_V_Min_Strasse(self): + return self.V_Min_Strasse + def set_V_Min_Strasse(self, V_Min_Strasse): + self.V_Min_Strasse = V_Min_Strasse + def has__content(self): + if ( + self.V_Max_Schiene is not None or + self.V_Max_Strasse is not None or + self.V_Min_Fussweg is not None or + self.V_Min_Schiene is not None or + self.V_Min_Strasse is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='CBUE_Anlage_V_Allg', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CBUE_Anlage_V_Allg') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CBUE_Anlage_V_Allg': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CBUE_Anlage_V_Allg') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CBUE_Anlage_V_Allg', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBahnuebergang:', name_='CBUE_Anlage_V_Allg'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='CBUE_Anlage_V_Allg', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.V_Max_Schiene is not None: + namespaceprefix_ = self.V_Max_Schiene_nsprefix_ + ':' if (UseCapturedNS_ and self.V_Max_Schiene_nsprefix_) else '' + self.V_Max_Schiene.export(outfile, level, namespaceprefix_, namespacedef_='', name_='V_Max_Schiene', pretty_print=pretty_print) + if self.V_Max_Strasse is not None: + namespaceprefix_ = self.V_Max_Strasse_nsprefix_ + ':' if (UseCapturedNS_ and self.V_Max_Strasse_nsprefix_) else '' + self.V_Max_Strasse.export(outfile, level, namespaceprefix_, namespacedef_='', name_='V_Max_Strasse', pretty_print=pretty_print) + if self.V_Min_Fussweg is not None: + namespaceprefix_ = self.V_Min_Fussweg_nsprefix_ + ':' if (UseCapturedNS_ and self.V_Min_Fussweg_nsprefix_) else '' + self.V_Min_Fussweg.export(outfile, level, namespaceprefix_, namespacedef_='', name_='V_Min_Fussweg', pretty_print=pretty_print) + if self.V_Min_Schiene is not None: + namespaceprefix_ = self.V_Min_Schiene_nsprefix_ + ':' if (UseCapturedNS_ and self.V_Min_Schiene_nsprefix_) else '' + self.V_Min_Schiene.export(outfile, level, namespaceprefix_, namespacedef_='', name_='V_Min_Schiene', pretty_print=pretty_print) + if self.V_Min_Strasse is not None: + namespaceprefix_ = self.V_Min_Strasse_nsprefix_ + ':' if (UseCapturedNS_ and self.V_Min_Strasse_nsprefix_) else '' + self.V_Min_Strasse.export(outfile, level, namespaceprefix_, namespacedef_='', name_='V_Min_Strasse', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'V_Max_Schiene': + obj_ = TCV_Max_Schiene.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.V_Max_Schiene = obj_ + obj_.original_tagname_ = 'V_Max_Schiene' + elif nodeName_ == 'V_Max_Strasse': + obj_ = TCV_Max_Strasse.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.V_Max_Strasse = obj_ + obj_.original_tagname_ = 'V_Max_Strasse' + elif nodeName_ == 'V_Min_Fussweg': + obj_ = TCV_Min_Fussweg.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.V_Min_Fussweg = obj_ + obj_.original_tagname_ = 'V_Min_Fussweg' + elif nodeName_ == 'V_Min_Schiene': + obj_ = TCV_Min_Schiene.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.V_Min_Schiene = obj_ + obj_.original_tagname_ = 'V_Min_Schiene' + elif nodeName_ == 'V_Min_Strasse': + obj_ = TCV_Min_Strasse.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.V_Min_Strasse = obj_ + obj_.original_tagname_ = 'V_Min_Strasse' +# end class CBUE_Anlage_V_Allg + + +class CGFR_Tripelspiegel_Bezeichnung(GeneratedsSuper): + """Bezeichnung_GFR_Tripelspiegel -- Bezeichnung des Tripelspiegels. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Bezeichnung_GFR_Tripelspiegel=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Bezeichnung_GFR_Tripelspiegel = Bezeichnung_GFR_Tripelspiegel + self.Bezeichnung_GFR_Tripelspiegel_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CGFR_Tripelspiegel_Bezeichnung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CGFR_Tripelspiegel_Bezeichnung.subclass: + return CGFR_Tripelspiegel_Bezeichnung.subclass(*args_, **kwargs_) + else: + return CGFR_Tripelspiegel_Bezeichnung(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Bezeichnung_GFR_Tripelspiegel(self): + return self.Bezeichnung_GFR_Tripelspiegel + def set_Bezeichnung_GFR_Tripelspiegel(self, Bezeichnung_GFR_Tripelspiegel): + self.Bezeichnung_GFR_Tripelspiegel = Bezeichnung_GFR_Tripelspiegel + def has__content(self): + if ( + self.Bezeichnung_GFR_Tripelspiegel is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='CGFR_Tripelspiegel_Bezeichnung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CGFR_Tripelspiegel_Bezeichnung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CGFR_Tripelspiegel_Bezeichnung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CGFR_Tripelspiegel_Bezeichnung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CGFR_Tripelspiegel_Bezeichnung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBahnuebergang:', name_='CGFR_Tripelspiegel_Bezeichnung'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='CGFR_Tripelspiegel_Bezeichnung', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Bezeichnung_GFR_Tripelspiegel is not None: + namespaceprefix_ = self.Bezeichnung_GFR_Tripelspiegel_nsprefix_ + ':' if (UseCapturedNS_ and self.Bezeichnung_GFR_Tripelspiegel_nsprefix_) else '' + self.Bezeichnung_GFR_Tripelspiegel.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Bezeichnung_GFR_Tripelspiegel', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Bezeichnung_GFR_Tripelspiegel': + obj_ = TCBezeichnung_GFR_Tripelspiegel.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Bezeichnung_GFR_Tripelspiegel = obj_ + obj_.original_tagname_ = 'Bezeichnung_GFR_Tripelspiegel' +# end class CGFR_Tripelspiegel_Bezeichnung + + +class TCMontage_Ausgleichsgewichte(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCMontage_Ausgleichsgewichte"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMMontage_Ausgleichsgewichte(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCMontage_Ausgleichsgewichte) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCMontage_Ausgleichsgewichte.subclass: + return TCMontage_Ausgleichsgewichte.subclass(*args_, **kwargs_) + else: + return TCMontage_Ausgleichsgewichte(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMMontage_Ausgleichsgewichte(self, value): + result = True + # Validate type ENUMMontage_Ausgleichsgewichte, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['beidseitig', 'einseitig'] + 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 ENUMMontage_Ausgleichsgewichte' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCMontage_Ausgleichsgewichte, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='TCMontage_Ausgleichsgewichte', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCMontage_Ausgleichsgewichte') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCMontage_Ausgleichsgewichte': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCMontage_Ausgleichsgewichte') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCMontage_Ausgleichsgewichte', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBahnuebergang:', name_='TCMontage_Ausgleichsgewichte'): + super(TCMontage_Ausgleichsgewichte, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCMontage_Ausgleichsgewichte') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='TCMontage_Ausgleichsgewichte', fromsubclass_=False, pretty_print=True): + super(TCMontage_Ausgleichsgewichte, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCMontage_Ausgleichsgewichte, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMMontage_Ausgleichsgewichte + self.validate_ENUMMontage_Ausgleichsgewichte(self.Wert) + super(TCMontage_Ausgleichsgewichte, self)._buildChildren(child_, node, nodeName_, True) +# end class TCMontage_Ausgleichsgewichte + + +class TCTragkopf_Verstellbar(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCTragkopf_Verstellbar"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TTragkopf_Verstellbar(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCTragkopf_Verstellbar) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCTragkopf_Verstellbar.subclass: + return TCTragkopf_Verstellbar.subclass(*args_, **kwargs_) + else: + return TCTragkopf_Verstellbar(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TTragkopf_Verstellbar(self, value): + result = True + # Validate type TTragkopf_Verstellbar, a restriction on xs:boolean. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + pass + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCTragkopf_Verstellbar, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='TCTragkopf_Verstellbar', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCTragkopf_Verstellbar') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCTragkopf_Verstellbar': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCTragkopf_Verstellbar') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCTragkopf_Verstellbar', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBahnuebergang:', name_='TCTragkopf_Verstellbar'): + super(TCTragkopf_Verstellbar, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCTragkopf_Verstellbar') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='TCTragkopf_Verstellbar', fromsubclass_=False, pretty_print=True): + super(TCTragkopf_Verstellbar, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_boolean(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCTragkopf_Verstellbar, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + sval_ = child_.text + ival_ = self.gds_parse_boolean(sval_, node, 'Wert') + ival_ = self.gds_validate_boolean(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + # validate type TTragkopf_Verstellbar + self.validate_TTragkopf_Verstellbar(self.Wert) + super(TCTragkopf_Verstellbar, self)._buildChildren(child_, node, nodeName_, True) +# end class TCTragkopf_Verstellbar + + +class TCWinkel_Alpha(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCWinkel_Alpha"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TWinkel_Alpha(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCWinkel_Alpha) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCWinkel_Alpha.subclass: + return TCWinkel_Alpha.subclass(*args_, **kwargs_) + else: + return TCWinkel_Alpha(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TWinkel_Alpha(self, value): + result = True + # Validate type TWinkel_Alpha, a restriction on xs:integer. + 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 + pass + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCWinkel_Alpha, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='TCWinkel_Alpha', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCWinkel_Alpha') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCWinkel_Alpha': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCWinkel_Alpha') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCWinkel_Alpha', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBahnuebergang:', name_='TCWinkel_Alpha'): + super(TCWinkel_Alpha, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCWinkel_Alpha') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='TCWinkel_Alpha', fromsubclass_=False, pretty_print=True): + super(TCWinkel_Alpha, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_integer(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCWinkel_Alpha, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + ival_ = self.gds_parse_integer(sval_, node, 'Wert') + ival_ = self.gds_validate_integer(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + # validate type TWinkel_Alpha + self.validate_TWinkel_Alpha(self.Wert) + super(TCWinkel_Alpha, self)._buildChildren(child_, node, nodeName_, True) +# end class TCWinkel_Alpha + + +class TCKontrastblende(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCKontrastblende"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TKontrastblende(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCKontrastblende) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCKontrastblende.subclass: + return TCKontrastblende.subclass(*args_, **kwargs_) + else: + return TCKontrastblende(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TKontrastblende(self, value): + result = True + # Validate type TKontrastblende, a restriction on xs:boolean. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + pass + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCKontrastblende, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='TCKontrastblende', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCKontrastblende') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCKontrastblende': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCKontrastblende') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCKontrastblende', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBahnuebergang:', name_='TCKontrastblende'): + super(TCKontrastblende, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCKontrastblende') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='TCKontrastblende', fromsubclass_=False, pretty_print=True): + super(TCKontrastblende, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_boolean(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCKontrastblende, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + sval_ = child_.text + ival_ = self.gds_parse_boolean(sval_, node, 'Wert') + ival_ = self.gds_validate_boolean(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + # validate type TKontrastblende + self.validate_TKontrastblende(self.Wert) + super(TCKontrastblende, self)._buildChildren(child_, node, nodeName_, True) +# end class TCKontrastblende + + +class TCFuss_Radweg_Seite(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCFuss_Radweg_Seite"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMFuss_Radweg_Seite(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCFuss_Radweg_Seite) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCFuss_Radweg_Seite.subclass: + return TCFuss_Radweg_Seite.subclass(*args_, **kwargs_) + else: + return TCFuss_Radweg_Seite(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMFuss_Radweg_Seite(self, value): + result = True + # Validate type ENUMFuss_Radweg_Seite, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['beidseitig', 'Quadrant_1_2', 'Quadrant_3_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 ENUMFuss_Radweg_Seite' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCFuss_Radweg_Seite, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='TCFuss_Radweg_Seite', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCFuss_Radweg_Seite') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCFuss_Radweg_Seite': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCFuss_Radweg_Seite') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCFuss_Radweg_Seite', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBahnuebergang:', name_='TCFuss_Radweg_Seite'): + super(TCFuss_Radweg_Seite, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCFuss_Radweg_Seite') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='TCFuss_Radweg_Seite', fromsubclass_=False, pretty_print=True): + super(TCFuss_Radweg_Seite, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCFuss_Radweg_Seite, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMFuss_Radweg_Seite + self.validate_ENUMFuss_Radweg_Seite(self.Wert) + super(TCFuss_Radweg_Seite, self)._buildChildren(child_, node, nodeName_, True) +# end class TCFuss_Radweg_Seite + + +class TCBezeichnung_GFR_Tripelspiegel(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCBezeichnung_GFR_Tripelspiegel"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TBezeichnung_GFR_Tripelspiegel(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCBezeichnung_GFR_Tripelspiegel) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCBezeichnung_GFR_Tripelspiegel.subclass: + return TCBezeichnung_GFR_Tripelspiegel.subclass(*args_, **kwargs_) + else: + return TCBezeichnung_GFR_Tripelspiegel(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TBezeichnung_GFR_Tripelspiegel(self, value): + result = True + # Validate type TBezeichnung_GFR_Tripelspiegel, a restriction on xs:integer. + 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_TBezeichnung_GFR_Tripelspiegel_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TBezeichnung_GFR_Tripelspiegel_patterns_, )) + result = False + return result + validate_TBezeichnung_GFR_Tripelspiegel_patterns_ = [['^([1-9])$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCBezeichnung_GFR_Tripelspiegel, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='TCBezeichnung_GFR_Tripelspiegel', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCBezeichnung_GFR_Tripelspiegel') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCBezeichnung_GFR_Tripelspiegel': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBezeichnung_GFR_Tripelspiegel') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCBezeichnung_GFR_Tripelspiegel', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBahnuebergang:', name_='TCBezeichnung_GFR_Tripelspiegel'): + super(TCBezeichnung_GFR_Tripelspiegel, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBezeichnung_GFR_Tripelspiegel') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='TCBezeichnung_GFR_Tripelspiegel', fromsubclass_=False, pretty_print=True): + super(TCBezeichnung_GFR_Tripelspiegel, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_integer(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCBezeichnung_GFR_Tripelspiegel, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + ival_ = self.gds_parse_integer(sval_, node, 'Wert') + ival_ = self.gds_validate_integer(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + # validate type TBezeichnung_GFR_Tripelspiegel + self.validate_TBezeichnung_GFR_Tripelspiegel(self.Wert) + super(TCBezeichnung_GFR_Tripelspiegel, self)._buildChildren(child_, node, nodeName_, True) +# end class TCBezeichnung_GFR_Tripelspiegel + + +class CBUE_Anlage_Fuss_Rad(GeneratedsSuper): + """Fuss_Radweg_Art -- Art zu ber + ü + cksichtigender Fu + ß + - und Radwege. + Fuss_Radweg_Seite -- Seite, auf der sich der Fu + ß + - bzw. Radweg befindet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Fuss_Radweg_Art=None, Fuss_Radweg_Seite=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Fuss_Radweg_Art = Fuss_Radweg_Art + self.Fuss_Radweg_Art_nsprefix_ = None + self.Fuss_Radweg_Seite = Fuss_Radweg_Seite + self.Fuss_Radweg_Seite_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CBUE_Anlage_Fuss_Rad) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CBUE_Anlage_Fuss_Rad.subclass: + return CBUE_Anlage_Fuss_Rad.subclass(*args_, **kwargs_) + else: + return CBUE_Anlage_Fuss_Rad(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Fuss_Radweg_Art(self): + return self.Fuss_Radweg_Art + def set_Fuss_Radweg_Art(self, Fuss_Radweg_Art): + self.Fuss_Radweg_Art = Fuss_Radweg_Art + def get_Fuss_Radweg_Seite(self): + return self.Fuss_Radweg_Seite + def set_Fuss_Radweg_Seite(self, Fuss_Radweg_Seite): + self.Fuss_Radweg_Seite = Fuss_Radweg_Seite + def has__content(self): + if ( + self.Fuss_Radweg_Art is not None or + self.Fuss_Radweg_Seite is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='CBUE_Anlage_Fuss_Rad', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CBUE_Anlage_Fuss_Rad') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CBUE_Anlage_Fuss_Rad': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CBUE_Anlage_Fuss_Rad') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CBUE_Anlage_Fuss_Rad', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBahnuebergang:', name_='CBUE_Anlage_Fuss_Rad'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='CBUE_Anlage_Fuss_Rad', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Fuss_Radweg_Art is not None: + namespaceprefix_ = self.Fuss_Radweg_Art_nsprefix_ + ':' if (UseCapturedNS_ and self.Fuss_Radweg_Art_nsprefix_) else '' + self.Fuss_Radweg_Art.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Fuss_Radweg_Art', pretty_print=pretty_print) + if self.Fuss_Radweg_Seite is not None: + namespaceprefix_ = self.Fuss_Radweg_Seite_nsprefix_ + ':' if (UseCapturedNS_ and self.Fuss_Radweg_Seite_nsprefix_) else '' + self.Fuss_Radweg_Seite.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Fuss_Radweg_Seite', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Fuss_Radweg_Art': + obj_ = TCFuss_Radweg_Art.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Fuss_Radweg_Art = obj_ + obj_.original_tagname_ = 'Fuss_Radweg_Art' + elif nodeName_ == 'Fuss_Radweg_Seite': + obj_ = TCFuss_Radweg_Seite.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Fuss_Radweg_Seite = obj_ + obj_.original_tagname_ = 'Fuss_Radweg_Seite' +# end class CBUE_Anlage_Fuss_Rad + + +class TCGFR_Neigung(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCGFR_Neigung"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TGFR_Neigung(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCGFR_Neigung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCGFR_Neigung.subclass: + return TCGFR_Neigung.subclass(*args_, **kwargs_) + else: + return TCGFR_Neigung(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TGFR_Neigung(self, value): + result = True + # Validate type TGFR_Neigung, 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 + pass + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCGFR_Neigung, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='TCGFR_Neigung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCGFR_Neigung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCGFR_Neigung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCGFR_Neigung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCGFR_Neigung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBahnuebergang:', name_='TCGFR_Neigung'): + super(TCGFR_Neigung, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCGFR_Neigung') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='TCGFR_Neigung', fromsubclass_=False, pretty_print=True): + super(TCGFR_Neigung, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_decimal(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCGFR_Neigung, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + fval_ = self.gds_parse_decimal(sval_, node, 'Wert') + fval_ = self.gds_validate_decimal(fval_, node, 'Wert') + self.Wert = fval_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGFR_Neigung + self.validate_TGFR_Neigung(self.Wert) + super(TCGFR_Neigung, self)._buildChildren(child_, node, nodeName_, True) +# end class TCGFR_Neigung + + +class TCBezeichnung_BUE_GFR_Eckpunkt(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCBezeichnung_BUE_GFR_Eckpunkt"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TBezeichnung_BUE_GFR_Eckpunkt(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCBezeichnung_BUE_GFR_Eckpunkt) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCBezeichnung_BUE_GFR_Eckpunkt.subclass: + return TCBezeichnung_BUE_GFR_Eckpunkt.subclass(*args_, **kwargs_) + else: + return TCBezeichnung_BUE_GFR_Eckpunkt(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TBezeichnung_BUE_GFR_Eckpunkt(self, value): + result = True + # Validate type TBezeichnung_BUE_GFR_Eckpunkt, a restriction on nsBasisTypen:TZeichenkette. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TBezeichnung_BUE_GFR_Eckpunkt_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TBezeichnung_BUE_GFR_Eckpunkt_patterns_, )) + result = False + return result + validate_TBezeichnung_BUE_GFR_Eckpunkt_patterns_ = [['^([a-zA-Z_0-9]{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCBezeichnung_BUE_GFR_Eckpunkt, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='TCBezeichnung_BUE_GFR_Eckpunkt', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCBezeichnung_BUE_GFR_Eckpunkt') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCBezeichnung_BUE_GFR_Eckpunkt': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBezeichnung_BUE_GFR_Eckpunkt') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCBezeichnung_BUE_GFR_Eckpunkt', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBahnuebergang:', name_='TCBezeichnung_BUE_GFR_Eckpunkt'): + super(TCBezeichnung_BUE_GFR_Eckpunkt, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBezeichnung_BUE_GFR_Eckpunkt') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='TCBezeichnung_BUE_GFR_Eckpunkt', fromsubclass_=False, pretty_print=True): + super(TCBezeichnung_BUE_GFR_Eckpunkt, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCBezeichnung_BUE_GFR_Eckpunkt, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TBezeichnung_BUE_GFR_Eckpunkt + self.validate_TBezeichnung_BUE_GFR_Eckpunkt(self.Wert) + super(TCBezeichnung_BUE_GFR_Eckpunkt, self)._buildChildren(child_, node, nodeName_, True) +# end class TCBezeichnung_BUE_GFR_Eckpunkt + + +class TCKreuzungswinkel(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCKreuzungswinkel"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TKreuzungswinkel(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCKreuzungswinkel) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCKreuzungswinkel.subclass: + return TCKreuzungswinkel.subclass(*args_, **kwargs_) + else: + return TCKreuzungswinkel(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TKreuzungswinkel(self, value): + result = True + # Validate type TKreuzungswinkel, a restriction on xs:integer. + 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 + pass + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCKreuzungswinkel, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='TCKreuzungswinkel', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCKreuzungswinkel') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCKreuzungswinkel': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCKreuzungswinkel') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCKreuzungswinkel', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBahnuebergang:', name_='TCKreuzungswinkel'): + super(TCKreuzungswinkel, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCKreuzungswinkel') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='TCKreuzungswinkel', fromsubclass_=False, pretty_print=True): + super(TCKreuzungswinkel, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_integer(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCKreuzungswinkel, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + ival_ = self.gds_parse_integer(sval_, node, 'Wert') + ival_ = self.gds_validate_integer(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + # validate type TKreuzungswinkel + self.validate_TKreuzungswinkel(self.Wert) + super(TCKreuzungswinkel, self)._buildChildren(child_, node, nodeName_, True) +# end class TCKreuzungswinkel + + +class CBUE_Schnittstelle_Allg(GeneratedsSuper): + """BUE_Nachlaufzeit -- Nachlaufzeit des B + Ü + . Eine Nachlaufzeit wird vorgesehen, um an mehrgleisigen B + Ü + nach der Ausschaltung des B + Ü + eine Mindest + ö + ffnungszeit f + ü + r den kreuzenden Stra + ß + enverkehr einzuhalten, bevor der B + Ü + erneut wieder eingeschaltet wird. Die Nachlaufzeit wirkt unmittelbar bei manueller Einschaltung durch den Fahrdienstleiter oder fahrstra + ß + enbewirkter Einschaltung. DB-Regelwerk Einschaltstreckenberechnung + BUE_Vorlaufzeit -- Vorlaufzeit des B + Ü + . Eine Vorlaufzeit wird vorgesehen, um an mehrgleisigen B + Ü + nach der Ausschaltung des B + Ü + eine Mindest + ö + ffnungszeit f + ü + r den kreuzenden Stra + ß + enverkehr einzuhalten, bevor der B + Ü + erneut wieder eingeschaltet wird. Sie wird bei zugbewirkter Einschaltung vorgesehen und durch die Vorverlegung des Einschaltkontaktes erzwungen. Die sich daraus ergebene Verz + ö + gerungszeit wird als \"Vorlaufzeit\" bezeichnet. Damit verbunden ist der Nachteil, dass der B + Ü + zu fr + ü + h eingeschaltet wird, wenn keine Zugbegegnung stattfindet. DB-Regelwerk Einschaltstreckenberechnung + Hp_Ersatzstecker -- Stecker, der die Betriebsart des zugeh + ö + rigen Stellteils bestimmt. Bei vorbereiteten B + Ü + -Abh + ä + ngigkeiten im Stellwerk, ohne dass die Au + ß + enanlage des B + Ü + vorhanden ist, kann mittels Ersatzstecker f + ü + r das Stellwerk die Abh + ä + ngigkeit zum B + Ü + aufgehoben werden. DB-Regelwerk Das Planungsdatum ist im Regelwerk der DB AG nicht enthalten. Die Anwendung ist mit allen Beteiligten projektbezogen abzustimmen. + LFUE_Impuls -- Art des Impulses bei vorhandener Ladefern + ü + berwachung. In Abh + ä + ngigkeit vom Hersteller der B + Ü + SA und vom Stellwerkstyp kann eine Ladefern + ü + berwachung der B + Ü + -Batterie + ü + ber die Hp- oder F + ü + -Schnittstelle erfolgen. Das Attribut ist anzulegen, wenn die B + Ü + SA die technische M + ö + glichkeit bietet. DB-Regelwerk Das Regelwerk der DB AG enth + ä + lt keine entsprechende Vorgabe. Ob eine Ladefern + ü + berwachung m + ö + glich ist, geht aus den Projektierungsrichtlinien der B + Ü + -Hersteller hervor. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, BUE_Nachlaufzeit=None, BUE_Vorlaufzeit=None, Hp_Ersatzstecker=None, LFUE_Impuls=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.BUE_Nachlaufzeit = BUE_Nachlaufzeit + self.BUE_Nachlaufzeit_nsprefix_ = None + self.BUE_Vorlaufzeit = BUE_Vorlaufzeit + self.BUE_Vorlaufzeit_nsprefix_ = None + self.Hp_Ersatzstecker = Hp_Ersatzstecker + self.Hp_Ersatzstecker_nsprefix_ = None + self.LFUE_Impuls = LFUE_Impuls + self.LFUE_Impuls_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CBUE_Schnittstelle_Allg) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CBUE_Schnittstelle_Allg.subclass: + return CBUE_Schnittstelle_Allg.subclass(*args_, **kwargs_) + else: + return CBUE_Schnittstelle_Allg(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_BUE_Nachlaufzeit(self): + return self.BUE_Nachlaufzeit + def set_BUE_Nachlaufzeit(self, BUE_Nachlaufzeit): + self.BUE_Nachlaufzeit = BUE_Nachlaufzeit + def get_BUE_Vorlaufzeit(self): + return self.BUE_Vorlaufzeit + def set_BUE_Vorlaufzeit(self, BUE_Vorlaufzeit): + self.BUE_Vorlaufzeit = BUE_Vorlaufzeit + def get_Hp_Ersatzstecker(self): + return self.Hp_Ersatzstecker + def set_Hp_Ersatzstecker(self, Hp_Ersatzstecker): + self.Hp_Ersatzstecker = Hp_Ersatzstecker + def get_LFUE_Impuls(self): + return self.LFUE_Impuls + def set_LFUE_Impuls(self, LFUE_Impuls): + self.LFUE_Impuls = LFUE_Impuls + def has__content(self): + if ( + self.BUE_Nachlaufzeit is not None or + self.BUE_Vorlaufzeit is not None or + self.Hp_Ersatzstecker is not None or + self.LFUE_Impuls is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='CBUE_Schnittstelle_Allg', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CBUE_Schnittstelle_Allg') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CBUE_Schnittstelle_Allg': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CBUE_Schnittstelle_Allg') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CBUE_Schnittstelle_Allg', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBahnuebergang:', name_='CBUE_Schnittstelle_Allg'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='CBUE_Schnittstelle_Allg', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.BUE_Nachlaufzeit is not None: + namespaceprefix_ = self.BUE_Nachlaufzeit_nsprefix_ + ':' if (UseCapturedNS_ and self.BUE_Nachlaufzeit_nsprefix_) else '' + self.BUE_Nachlaufzeit.export(outfile, level, namespaceprefix_, namespacedef_='', name_='BUE_Nachlaufzeit', pretty_print=pretty_print) + if self.BUE_Vorlaufzeit is not None: + namespaceprefix_ = self.BUE_Vorlaufzeit_nsprefix_ + ':' if (UseCapturedNS_ and self.BUE_Vorlaufzeit_nsprefix_) else '' + self.BUE_Vorlaufzeit.export(outfile, level, namespaceprefix_, namespacedef_='', name_='BUE_Vorlaufzeit', pretty_print=pretty_print) + if self.Hp_Ersatzstecker is not None: + namespaceprefix_ = self.Hp_Ersatzstecker_nsprefix_ + ':' if (UseCapturedNS_ and self.Hp_Ersatzstecker_nsprefix_) else '' + self.Hp_Ersatzstecker.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Hp_Ersatzstecker', pretty_print=pretty_print) + if self.LFUE_Impuls is not None: + namespaceprefix_ = self.LFUE_Impuls_nsprefix_ + ':' if (UseCapturedNS_ and self.LFUE_Impuls_nsprefix_) else '' + self.LFUE_Impuls.export(outfile, level, namespaceprefix_, namespacedef_='', name_='LFUE_Impuls', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'BUE_Nachlaufzeit': + obj_ = TCBUE_Nachlaufzeit.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.BUE_Nachlaufzeit = obj_ + obj_.original_tagname_ = 'BUE_Nachlaufzeit' + elif nodeName_ == 'BUE_Vorlaufzeit': + obj_ = TCBUE_Vorlaufzeit.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.BUE_Vorlaufzeit = obj_ + obj_.original_tagname_ = 'BUE_Vorlaufzeit' + elif nodeName_ == 'Hp_Ersatzstecker': + obj_ = TCHp_Ersatzstecker.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Hp_Ersatzstecker = obj_ + obj_.original_tagname_ = 'Hp_Ersatzstecker' + elif nodeName_ == 'LFUE_Impuls': + obj_ = TCLFUE_Impuls.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.LFUE_Impuls = obj_ + obj_.original_tagname_ = 'LFUE_Impuls' +# end class CBUE_Schnittstelle_Allg + + +class TCV_Min_Fussweg(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCV_Min_Fussweg"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TV_Min_Fussweg(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCV_Min_Fussweg) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCV_Min_Fussweg.subclass: + return TCV_Min_Fussweg.subclass(*args_, **kwargs_) + else: + return TCV_Min_Fussweg(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TV_Min_Fussweg(self, value): + result = True + # Validate type TV_Min_Fussweg, 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 not self.gds_validate_simple_patterns( + self.validate_TV_Min_Fussweg_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TV_Min_Fussweg_patterns_, )) + result = False + return result + validate_TV_Min_Fussweg_patterns_ = [['^(0\\.[5-9]|1\\.[0-5])$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCV_Min_Fussweg, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='TCV_Min_Fussweg', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCV_Min_Fussweg') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCV_Min_Fussweg': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCV_Min_Fussweg') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCV_Min_Fussweg', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBahnuebergang:', name_='TCV_Min_Fussweg'): + super(TCV_Min_Fussweg, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCV_Min_Fussweg') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='TCV_Min_Fussweg', fromsubclass_=False, pretty_print=True): + super(TCV_Min_Fussweg, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_decimal(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCV_Min_Fussweg, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + fval_ = self.gds_parse_decimal(sval_, node, 'Wert') + fval_ = self.gds_validate_decimal(fval_, node, 'Wert') + self.Wert = fval_ + self.Wert_nsprefix_ = child_.prefix + # validate type TV_Min_Fussweg + self.validate_TV_Min_Fussweg(self.Wert) + super(TCV_Min_Fussweg, self)._buildChildren(child_, node, nodeName_, True) +# end class TCV_Min_Fussweg + + +class TCZusatzschild(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCZusatzschild"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TZusatzschild(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCZusatzschild) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCZusatzschild.subclass: + return TCZusatzschild.subclass(*args_, **kwargs_) + else: + return TCZusatzschild(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TZusatzschild(self, value): + result = True + # Validate type TZusatzschild, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TZusatzschild_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TZusatzschild_patterns_, )) + result = False + return result + validate_TZusatzschild_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCZusatzschild, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='TCZusatzschild', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCZusatzschild') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCZusatzschild': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCZusatzschild') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCZusatzschild', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBahnuebergang:', name_='TCZusatzschild'): + super(TCZusatzschild, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCZusatzschild') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='TCZusatzschild', fromsubclass_=False, pretty_print=True): + super(TCZusatzschild, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCZusatzschild, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TZusatzschild + self.validate_TZusatzschild(self.Wert) + super(TCZusatzschild, self)._buildChildren(child_, node, nodeName_, True) +# end class TCZusatzschild + + +class TCMontagehoehe(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCMontagehoehe"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TMontagehoehe(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCMontagehoehe) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCMontagehoehe.subclass: + return TCMontagehoehe.subclass(*args_, **kwargs_) + else: + return TCMontagehoehe(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TMontagehoehe(self, value): + result = True + # Validate type TMontagehoehe, a restriction on nsBasisTypen:TMeter. + 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 + pass + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCMontagehoehe, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='TCMontagehoehe', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCMontagehoehe') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCMontagehoehe': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCMontagehoehe') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCMontagehoehe', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBahnuebergang:', name_='TCMontagehoehe'): + super(TCMontagehoehe, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCMontagehoehe') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='TCMontagehoehe', fromsubclass_=False, pretty_print=True): + super(TCMontagehoehe, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_decimal(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCMontagehoehe, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + fval_ = self.gds_parse_decimal(sval_, node, 'Wert') + fval_ = self.gds_validate_decimal(fval_, node, 'Wert') + self.Wert = fval_ + self.Wert_nsprefix_ = child_.prefix + # validate type TMontagehoehe + self.validate_TMontagehoehe(self.Wert) + super(TCMontagehoehe, self)._buildChildren(child_, node, nodeName_, True) +# end class TCMontagehoehe + + +class TCBUE_Mit_GFR(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCBUE_Mit_GFR"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCBUE_Mit_GFR) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCBUE_Mit_GFR.subclass: + return TCBUE_Mit_GFR.subclass(*args_, **kwargs_) + else: + return TCBUE_Mit_GFR(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def has__content(self): + if ( + self.Wert is not None or + super(TCBUE_Mit_GFR, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='TCBUE_Mit_GFR', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCBUE_Mit_GFR') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCBUE_Mit_GFR': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBUE_Mit_GFR') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCBUE_Mit_GFR', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBahnuebergang:', name_='TCBUE_Mit_GFR'): + super(TCBUE_Mit_GFR, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBUE_Mit_GFR') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='TCBUE_Mit_GFR', fromsubclass_=False, pretty_print=True): + super(TCBUE_Mit_GFR, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_boolean(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCBUE_Mit_GFR, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + sval_ = child_.text + ival_ = self.gds_parse_boolean(sval_, node, 'Wert') + ival_ = self.gds_validate_boolean(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + super(TCBUE_Mit_GFR, self)._buildChildren(child_, node, nodeName_, True) +# end class TCBUE_Mit_GFR + + +class CBUE_Ausschaltung(CBasis_Objekt): + """CBUE_Ausschaltung -- Logisches Objekt, das alle Informationen zur Ausschaltung eines Bahn + ü + bergangs enth + ä + lt. + Ü + ber den Verweis auf BUE Gleisbezogener Gefahrraum findet eine Verortung am zugeh + ö + rigen Gleis statt, f + ü + r das der Ausschaltkontakt angeordnet wird. Der Ausschaltkontakt selbst ist + ü + ber das Objekt Schaltmittel Zuordnung abgebildet. F + ü + r die BUE_Ausschaltung ist, in Fahrtrichtung Ausschaltkontakt weg vom B + Ü + gesehen, die R + Ü + CKGELEGENE Grenze von BUE Gleisbezogener Gefahrraum f + ü + r die Verortung ma + ß + gebend. Die Gefahrraum-Grenze liegt damit in Fahrtrichtung VOR dem Ausschaltkontakt. DB-Regelwerk 815.0032 4 (3) Die Planung der Ausschaltung erfolgt entsprechend der Projektierungshinweise der konkreten B + Ü + -Technik. Seitens der Ril 815 gibt es dazu keine konkreten Vorgaben. + ID_BUE_Gleisbez_Gefahrraum -- Verweis auf den zugeh + ö + rigen Gefahrraum, auf den sich die Ausschaltung + – + gleisbezogen - bezieht. Ist bei der Planung von technisch gesicherten B + Ü + zu bef + ü + llen. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasis_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, ID_BUE_Gleisbez_Gefahrraum=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CBUE_Ausschaltung"), self).__init__(Identitaet, Basis_Objekt_Allg, ID_Bearbeitungsvermerk, ID_Oertlichkeit_Ausgabe, Objektreferenzen, **kwargs_) + self.ID_BUE_Gleisbez_Gefahrraum = ID_BUE_Gleisbez_Gefahrraum + self.ID_BUE_Gleisbez_Gefahrraum_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CBUE_Ausschaltung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CBUE_Ausschaltung.subclass: + return CBUE_Ausschaltung.subclass(*args_, **kwargs_) + else: + return CBUE_Ausschaltung(*args_, **kwargs_) + factory = staticmethod(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_BUE_Gleisbez_Gefahrraum(self): + return self.ID_BUE_Gleisbez_Gefahrraum + def set_ID_BUE_Gleisbez_Gefahrraum(self, ID_BUE_Gleisbez_Gefahrraum): + self.ID_BUE_Gleisbez_Gefahrraum = ID_BUE_Gleisbez_Gefahrraum + def has__content(self): + if ( + self.ID_BUE_Gleisbez_Gefahrraum is not None or + super(CBUE_Ausschaltung, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CBUE_Ausschaltung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CBUE_Ausschaltung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CBUE_Ausschaltung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CBUE_Ausschaltung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CBUE_Ausschaltung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBahnuebergang:', name_='CBUE_Ausschaltung'): + super(CBUE_Ausschaltung, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CBUE_Ausschaltung') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CBUE_Ausschaltung', fromsubclass_=False, pretty_print=True): + super(CBUE_Ausschaltung, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.ID_BUE_Gleisbez_Gefahrraum is not None: + namespaceprefix_ = self.ID_BUE_Gleisbez_Gefahrraum_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_BUE_Gleisbez_Gefahrraum_nsprefix_) else '' + self.ID_BUE_Gleisbez_Gefahrraum.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_BUE_Gleisbez_Gefahrraum', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CBUE_Ausschaltung, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_BUE_Gleisbez_Gefahrraum': + obj_ = TCID_BUE_Gleisbezogener_Gefahrraum.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_BUE_Gleisbez_Gefahrraum = obj_ + obj_.original_tagname_ = 'ID_BUE_Gleisbez_Gefahrraum' + super(CBUE_Ausschaltung, self)._buildChildren(child_, node, nodeName_, True) +# end class CBUE_Ausschaltung + + +class TCBUE_Bauart(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCBUE_Bauart"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMBUE_Bauart(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCBUE_Bauart) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCBUE_Bauart.subclass: + return TCBUE_Bauart.subclass(*args_, **kwargs_) + else: + return TCBUE_Bauart(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMBUE_Bauart(self, value): + result = True + # Validate type ENUMBUE_Bauart, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['Bau_Bue', 'Bue', 'ntResi', 'tResi'] + 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 ENUMBUE_Bauart' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCBUE_Bauart, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='TCBUE_Bauart', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCBUE_Bauart') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCBUE_Bauart': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBUE_Bauart') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCBUE_Bauart', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBahnuebergang:', name_='TCBUE_Bauart'): + super(TCBUE_Bauart, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBUE_Bauart') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='TCBUE_Bauart', fromsubclass_=False, pretty_print=True): + super(TCBUE_Bauart, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCBUE_Bauart, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMBUE_Bauart + self.validate_ENUMBUE_Bauart(self.Wert) + super(TCBUE_Bauart, self)._buildChildren(child_, node, nodeName_, True) +# end class TCBUE_Bauart + + +class CBUE_Einschaltung_Hp(GeneratedsSuper): + """Einschaltverz_Errechnet -- Errechnete Einschaltverz + ö + gerungszeit aus der Einschaltstreckenberechnung. Die Einschaltverz + ö + gerungszeit (Angabe in vollen Sekunden) dient der Optimierung der zugbewirkten Einschaltung. Zur Auswertung werden Gleisfreimeldeabschnitte verwendet, wobei der Beginn der Besetzung den Einschaltimpuls bewirkt. Da der Beginn eines Gleisfreimeldeabschnitte selten am Ort des optimalen, errechneten Einschaltpunktes des B + Ü + liegt, wird eine Verz + ö + gerungszeit vorgesehen, die zun + ä + chst vergehen muss, bis der Einschaltimpuls nach Befahren der Gleisfreimeldeabschnittsgrenze vom ESTW an den B + Ü + weitergegeben wird. DB-Regelwerk Einschaltstreckenberechnung Datenblatt f + ü + r die Abh + ä + ngigkeiten B + Ü + - Stw + Einschaltverz_Gewaehlt -- Auf der Grundlage der errechneten Einschaltverz + ö + gerung (siehe dazu Definition unter Einschaltverz Errechnet) wird in Abh + ä + ngigkeit des ESTW-Herstellers eine firmenspezifische Einschaltverz + ö + gerungszeit ausgerechnet. Das gegenw + ä + rtig g + ü + ltige \"Datenblatt f + ü + r die Abh + ä + ngigkeiten B + Ü + - Stw\" sieht eine firmenspezifisch errechnete Einschaltverz + ö + gerung (Spalte \"Faktor beim ESTW\") mit Hilfe eines \"ESTW-Faktors\" vor. Auf diese Berechnung wird im Modell verzichtet. DB-Regelwerk Einschaltstreckenberechnung Datenblatt f + ü + r die Abh + ä + ngigkeiten B + Ü + - Stw + Haltezeit -- Haltezeit der haltenden Z + ü + ge am Haltepunkt in der Einschaltstrecke inklusive der Brems- und Anfahrbeschleunigung (tZH) + Kurzzugschaltung -- Eine Kurzzugschaltung ist zu ber + ü + cksichtigen. Dies w + ä + re der Fall, wenn sich der Bahn + ü + bergang in einem Bahnhofsgleis befindet und nach Einfahrt des Zuges durch diesen nicht mehr besetzt ist. DB-Regelwerk Datenblatt f + ü + r die Abh + ä + ngigkeiten B + Ü + - Stw + Signalverz_Errechnet -- Errechnete Signalverz + ö + gerungszeit aus der Einschaltstreckenberechnung. Bei abh + ä + ngigen Signalen vor B + Ü + mit Halbschranken wird die Signalfahrtstellung so lange verz + ö + gert, dass am Signal anfahrende Z + ü + ge den vom B + Ü + abflie + ß + enden Stra + ß + enverkehr nicht mehr gef + ä + hrden k + ö + nnen. In den Planungsdaten wird dieser Wert je Signal festgelegt. DB-Regelwerk Einschaltstreckenberechnung Datenblatt f + ü + r die Abh + ä + ngigkeiten B + Ü + - Stw + Signalverz_Gewaehlt -- Firmenspezifische Signalverz + ö + gerungszeit, die auf Basis der errechneten Signalverz + ö + gerungszeit (Definition siehe Signalverz Errechnet) in Abh + ä + ngigkeit des ESTW-Herstellers errechnet wird. Das gegenw + ä + rtig g + ü + ltige \"Datenblatt f + ü + r die Abh + ä + ngigkeiten B + Ü + - Stw\" sieht eine firmenspezifisch errechnete Signalverz + ö + gerungszeit (Spalte \"Faktor beim ESTW\") mit Hilfe eines \"ESTW-Faktors\" vor. Auf diese Berechnung wird im Modell verzichtet. DB-Regelwerk Datenblatt f + ü + r die Abh + ä + ngigkeiten B + Ü + - Stw + Teilvorgabezeit -- Angabe des Wertes tvg1 aus der Einschaltstreckenberechnung in ganzzahligen Sekunden. + Die Teilvorgabezeit ist die Summe aus Nachlaufzeit, erforderlicher Vorleuchtzeit, Schrankenschlie + ß + zeit, Ma + ß + gebender R + ä + umzeit, Bedienzeit/GFR-Freigabezeit und Teilzeitkonstante bei vorgeschalteten Lichtzeichen. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Einschaltverz_Errechnet=None, Einschaltverz_Gewaehlt=None, Haltezeit=None, Kurzzugschaltung=None, Signalverz_Errechnet=None, Signalverz_Gewaehlt=None, Teilvorgabezeit=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Einschaltverz_Errechnet = Einschaltverz_Errechnet + self.Einschaltverz_Errechnet_nsprefix_ = None + self.Einschaltverz_Gewaehlt = Einschaltverz_Gewaehlt + self.Einschaltverz_Gewaehlt_nsprefix_ = None + self.Haltezeit = Haltezeit + self.Haltezeit_nsprefix_ = None + self.Kurzzugschaltung = Kurzzugschaltung + self.Kurzzugschaltung_nsprefix_ = None + self.Signalverz_Errechnet = Signalverz_Errechnet + self.Signalverz_Errechnet_nsprefix_ = None + self.Signalverz_Gewaehlt = Signalverz_Gewaehlt + self.Signalverz_Gewaehlt_nsprefix_ = None + self.Teilvorgabezeit = Teilvorgabezeit + self.Teilvorgabezeit_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CBUE_Einschaltung_Hp) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CBUE_Einschaltung_Hp.subclass: + return CBUE_Einschaltung_Hp.subclass(*args_, **kwargs_) + else: + return CBUE_Einschaltung_Hp(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Einschaltverz_Errechnet(self): + return self.Einschaltverz_Errechnet + def set_Einschaltverz_Errechnet(self, Einschaltverz_Errechnet): + self.Einschaltverz_Errechnet = Einschaltverz_Errechnet + def get_Einschaltverz_Gewaehlt(self): + return self.Einschaltverz_Gewaehlt + def set_Einschaltverz_Gewaehlt(self, Einschaltverz_Gewaehlt): + self.Einschaltverz_Gewaehlt = Einschaltverz_Gewaehlt + def get_Haltezeit(self): + return self.Haltezeit + def set_Haltezeit(self, Haltezeit): + self.Haltezeit = Haltezeit + def get_Kurzzugschaltung(self): + return self.Kurzzugschaltung + def set_Kurzzugschaltung(self, Kurzzugschaltung): + self.Kurzzugschaltung = Kurzzugschaltung + def get_Signalverz_Errechnet(self): + return self.Signalverz_Errechnet + def set_Signalverz_Errechnet(self, Signalverz_Errechnet): + self.Signalverz_Errechnet = Signalverz_Errechnet + def get_Signalverz_Gewaehlt(self): + return self.Signalverz_Gewaehlt + def set_Signalverz_Gewaehlt(self, Signalverz_Gewaehlt): + self.Signalverz_Gewaehlt = Signalverz_Gewaehlt + def get_Teilvorgabezeit(self): + return self.Teilvorgabezeit + def set_Teilvorgabezeit(self, Teilvorgabezeit): + self.Teilvorgabezeit = Teilvorgabezeit + def has__content(self): + if ( + self.Einschaltverz_Errechnet is not None or + self.Einschaltverz_Gewaehlt is not None or + self.Haltezeit is not None or + self.Kurzzugschaltung is not None or + self.Signalverz_Errechnet is not None or + self.Signalverz_Gewaehlt is not None or + self.Teilvorgabezeit is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='CBUE_Einschaltung_Hp', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CBUE_Einschaltung_Hp') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CBUE_Einschaltung_Hp': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CBUE_Einschaltung_Hp') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CBUE_Einschaltung_Hp', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBahnuebergang:', name_='CBUE_Einschaltung_Hp'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='CBUE_Einschaltung_Hp', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Einschaltverz_Errechnet is not None: + namespaceprefix_ = self.Einschaltverz_Errechnet_nsprefix_ + ':' if (UseCapturedNS_ and self.Einschaltverz_Errechnet_nsprefix_) else '' + self.Einschaltverz_Errechnet.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Einschaltverz_Errechnet', pretty_print=pretty_print) + if self.Einschaltverz_Gewaehlt is not None: + namespaceprefix_ = self.Einschaltverz_Gewaehlt_nsprefix_ + ':' if (UseCapturedNS_ and self.Einschaltverz_Gewaehlt_nsprefix_) else '' + self.Einschaltverz_Gewaehlt.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Einschaltverz_Gewaehlt', pretty_print=pretty_print) + if self.Haltezeit is not None: + namespaceprefix_ = self.Haltezeit_nsprefix_ + ':' if (UseCapturedNS_ and self.Haltezeit_nsprefix_) else '' + self.Haltezeit.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Haltezeit', pretty_print=pretty_print) + if self.Kurzzugschaltung is not None: + namespaceprefix_ = self.Kurzzugschaltung_nsprefix_ + ':' if (UseCapturedNS_ and self.Kurzzugschaltung_nsprefix_) else '' + self.Kurzzugschaltung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Kurzzugschaltung', pretty_print=pretty_print) + if self.Signalverz_Errechnet is not None: + namespaceprefix_ = self.Signalverz_Errechnet_nsprefix_ + ':' if (UseCapturedNS_ and self.Signalverz_Errechnet_nsprefix_) else '' + self.Signalverz_Errechnet.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Signalverz_Errechnet', pretty_print=pretty_print) + if self.Signalverz_Gewaehlt is not None: + namespaceprefix_ = self.Signalverz_Gewaehlt_nsprefix_ + ':' if (UseCapturedNS_ and self.Signalverz_Gewaehlt_nsprefix_) else '' + self.Signalverz_Gewaehlt.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Signalverz_Gewaehlt', pretty_print=pretty_print) + if self.Teilvorgabezeit is not None: + namespaceprefix_ = self.Teilvorgabezeit_nsprefix_ + ':' if (UseCapturedNS_ and self.Teilvorgabezeit_nsprefix_) else '' + self.Teilvorgabezeit.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Teilvorgabezeit', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Einschaltverz_Errechnet': + obj_ = TCEinschaltverz_Errechnet.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Einschaltverz_Errechnet = obj_ + obj_.original_tagname_ = 'Einschaltverz_Errechnet' + elif nodeName_ == 'Einschaltverz_Gewaehlt': + obj_ = TCEinschaltverz_Gewaehlt.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Einschaltverz_Gewaehlt = obj_ + obj_.original_tagname_ = 'Einschaltverz_Gewaehlt' + elif nodeName_ == 'Haltezeit': + obj_ = TCHaltezeit.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Haltezeit = obj_ + obj_.original_tagname_ = 'Haltezeit' + elif nodeName_ == 'Kurzzugschaltung': + obj_ = TCKurzzugschaltung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Kurzzugschaltung = obj_ + obj_.original_tagname_ = 'Kurzzugschaltung' + elif nodeName_ == 'Signalverz_Errechnet': + obj_ = TCSignalverz_Errechnet.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Signalverz_Errechnet = obj_ + obj_.original_tagname_ = 'Signalverz_Errechnet' + elif nodeName_ == 'Signalverz_Gewaehlt': + obj_ = TCSignalverz_Gewaehlt.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Signalverz_Gewaehlt = obj_ + obj_.original_tagname_ = 'Signalverz_Gewaehlt' + elif nodeName_ == 'Teilvorgabezeit': + obj_ = TCTeilvorgabezeit.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Teilvorgabezeit = obj_ + obj_.original_tagname_ = 'Teilvorgabezeit' +# end class CBUE_Einschaltung_Hp + + +class CVz_Sperrstrecke_Schranke(GeneratedsSuper): + """Raeumstrecke -- R + ä + umstrecke als Abstand Schranke - gegen + ü + berliegende Gefahrraumgrenze (d2). + Teilsperrstrecke -- Teilsperrstrecke als Abstand Lz - Schranke (d1). + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Raeumstrecke=None, Teilsperrstrecke=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Raeumstrecke = Raeumstrecke + self.Raeumstrecke_nsprefix_ = None + self.Teilsperrstrecke = Teilsperrstrecke + self.Teilsperrstrecke_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CVz_Sperrstrecke_Schranke) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CVz_Sperrstrecke_Schranke.subclass: + return CVz_Sperrstrecke_Schranke.subclass(*args_, **kwargs_) + else: + return CVz_Sperrstrecke_Schranke(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Raeumstrecke(self): + return self.Raeumstrecke + def set_Raeumstrecke(self, Raeumstrecke): + self.Raeumstrecke = Raeumstrecke + def get_Teilsperrstrecke(self): + return self.Teilsperrstrecke + def set_Teilsperrstrecke(self, Teilsperrstrecke): + self.Teilsperrstrecke = Teilsperrstrecke + def has__content(self): + if ( + self.Raeumstrecke is not None or + self.Teilsperrstrecke is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='CVz_Sperrstrecke_Schranke', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CVz_Sperrstrecke_Schranke') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CVz_Sperrstrecke_Schranke': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CVz_Sperrstrecke_Schranke') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CVz_Sperrstrecke_Schranke', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBahnuebergang:', name_='CVz_Sperrstrecke_Schranke'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='CVz_Sperrstrecke_Schranke', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Raeumstrecke is not None: + namespaceprefix_ = self.Raeumstrecke_nsprefix_ + ':' if (UseCapturedNS_ and self.Raeumstrecke_nsprefix_) else '' + self.Raeumstrecke.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Raeumstrecke', pretty_print=pretty_print) + if self.Teilsperrstrecke is not None: + namespaceprefix_ = self.Teilsperrstrecke_nsprefix_ + ':' if (UseCapturedNS_ and self.Teilsperrstrecke_nsprefix_) else '' + self.Teilsperrstrecke.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Teilsperrstrecke', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Raeumstrecke': + obj_ = TCRaeumstrecke.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Raeumstrecke = obj_ + obj_.original_tagname_ = 'Raeumstrecke' + elif nodeName_ == 'Teilsperrstrecke': + obj_ = TCTeilsperrstrecke.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Teilsperrstrecke = obj_ + obj_.original_tagname_ = 'Teilsperrstrecke' +# end class CVz_Sperrstrecke_Schranke + + +class TCSicherheitsabstand(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCSicherheitsabstand"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TSicherheitsabstand(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCSicherheitsabstand) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCSicherheitsabstand.subclass: + return TCSicherheitsabstand.subclass(*args_, **kwargs_) + else: + return TCSicherheitsabstand(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TSicherheitsabstand(self, value): + result = True + # Validate type TSicherheitsabstand, a restriction on nsBasisTypen:TMeter. + 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 + pass + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCSicherheitsabstand, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='TCSicherheitsabstand', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCSicherheitsabstand') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCSicherheitsabstand': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCSicherheitsabstand') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCSicherheitsabstand', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBahnuebergang:', name_='TCSicherheitsabstand'): + super(TCSicherheitsabstand, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCSicherheitsabstand') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='TCSicherheitsabstand', fromsubclass_=False, pretty_print=True): + super(TCSicherheitsabstand, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_decimal(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCSicherheitsabstand, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + fval_ = self.gds_parse_decimal(sval_, node, 'Wert') + fval_ = self.gds_validate_decimal(fval_, node, 'Wert') + self.Wert = fval_ + self.Wert_nsprefix_ = child_.prefix + # validate type TSicherheitsabstand + self.validate_TSicherheitsabstand(self.Wert) + super(TCSicherheitsabstand, self)._buildChildren(child_, node, nodeName_, True) +# end class TCSicherheitsabstand + + +class CVerkehrszeichen_Lz(GeneratedsSuper): + """Akustik_Fussgaenger -- Das Lichtzeichen ist mit einer Fu + ß + g + ä + nger-Akustik auszur + ü + sten (true). Das Attribut entf + ä + llt, sofern keine Akustik ben + ö + tigt wird. + Kontrastblende -- F + ü + r das Lichtzeichen ist eine Kontrastblende vorzusehen (true). Das Attribut entf + ä + llt, wenn keine Kontrastblende ben + ö + tigt wird. + Optik_Durchmesser -- Durchmesser der Signalgeberoptik in mm. Der Standardwert sind 200 mm. + Optik_Symbolmaske -- Die Signalgeberoptiken sind mit einer Symbolmaske auszur + ü + sten (true). Das Attribut entf + ä + llt, sofern keine Symbolmaske ben + ö + tigt wird. + Schaltgruppe -- Bei BUESTRA und vorgeschalteten Lz: Zuordnung des Lz zu einer Schaltgruppe. + Tragkopf_Verstellbar -- Der Tragkopf des Lichtzeichens ist verstellbar (true). Das Attribut entf + ä + llt, wenn der Tragkopf nicht verstellbar ist (Standard). + Vorgeschaltet -- Bei dem Lichtzeichen handelt es sich um ein vorgeschaltetes Lichtzeichen (true). Das Attribut entf + ä + llt, sofern das Lichtzeichen nicht vorgeschaltet ist. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Akustik_Fussgaenger=None, Kontrastblende=None, Optik_Durchmesser=None, Optik_Symbolmaske=None, Schaltgruppe=None, Tragkopf_Verstellbar=None, Vorgeschaltet=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Akustik_Fussgaenger = Akustik_Fussgaenger + self.Akustik_Fussgaenger_nsprefix_ = None + self.Kontrastblende = Kontrastblende + self.Kontrastblende_nsprefix_ = None + self.Optik_Durchmesser = Optik_Durchmesser + self.Optik_Durchmesser_nsprefix_ = None + self.Optik_Symbolmaske = Optik_Symbolmaske + self.Optik_Symbolmaske_nsprefix_ = None + self.Schaltgruppe = Schaltgruppe + self.Schaltgruppe_nsprefix_ = None + self.Tragkopf_Verstellbar = Tragkopf_Verstellbar + self.Tragkopf_Verstellbar_nsprefix_ = None + self.Vorgeschaltet = Vorgeschaltet + self.Vorgeschaltet_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CVerkehrszeichen_Lz) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CVerkehrszeichen_Lz.subclass: + return CVerkehrszeichen_Lz.subclass(*args_, **kwargs_) + else: + return CVerkehrszeichen_Lz(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Akustik_Fussgaenger(self): + return self.Akustik_Fussgaenger + def set_Akustik_Fussgaenger(self, Akustik_Fussgaenger): + self.Akustik_Fussgaenger = Akustik_Fussgaenger + def get_Kontrastblende(self): + return self.Kontrastblende + def set_Kontrastblende(self, Kontrastblende): + self.Kontrastblende = Kontrastblende + def get_Optik_Durchmesser(self): + return self.Optik_Durchmesser + def set_Optik_Durchmesser(self, Optik_Durchmesser): + self.Optik_Durchmesser = Optik_Durchmesser + def get_Optik_Symbolmaske(self): + return self.Optik_Symbolmaske + def set_Optik_Symbolmaske(self, Optik_Symbolmaske): + self.Optik_Symbolmaske = Optik_Symbolmaske + def get_Schaltgruppe(self): + return self.Schaltgruppe + def set_Schaltgruppe(self, Schaltgruppe): + self.Schaltgruppe = Schaltgruppe + def get_Tragkopf_Verstellbar(self): + return self.Tragkopf_Verstellbar + def set_Tragkopf_Verstellbar(self, Tragkopf_Verstellbar): + self.Tragkopf_Verstellbar = Tragkopf_Verstellbar + def get_Vorgeschaltet(self): + return self.Vorgeschaltet + def set_Vorgeschaltet(self, Vorgeschaltet): + self.Vorgeschaltet = Vorgeschaltet + def has__content(self): + if ( + self.Akustik_Fussgaenger is not None or + self.Kontrastblende is not None or + self.Optik_Durchmesser is not None or + self.Optik_Symbolmaske is not None or + self.Schaltgruppe is not None or + self.Tragkopf_Verstellbar is not None or + self.Vorgeschaltet is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='CVerkehrszeichen_Lz', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CVerkehrszeichen_Lz') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CVerkehrszeichen_Lz': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CVerkehrszeichen_Lz') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CVerkehrszeichen_Lz', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBahnuebergang:', name_='CVerkehrszeichen_Lz'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='CVerkehrszeichen_Lz', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Akustik_Fussgaenger is not None: + namespaceprefix_ = self.Akustik_Fussgaenger_nsprefix_ + ':' if (UseCapturedNS_ and self.Akustik_Fussgaenger_nsprefix_) else '' + self.Akustik_Fussgaenger.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Akustik_Fussgaenger', pretty_print=pretty_print) + if self.Kontrastblende is not None: + namespaceprefix_ = self.Kontrastblende_nsprefix_ + ':' if (UseCapturedNS_ and self.Kontrastblende_nsprefix_) else '' + self.Kontrastblende.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Kontrastblende', pretty_print=pretty_print) + if self.Optik_Durchmesser is not None: + namespaceprefix_ = self.Optik_Durchmesser_nsprefix_ + ':' if (UseCapturedNS_ and self.Optik_Durchmesser_nsprefix_) else '' + self.Optik_Durchmesser.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Optik_Durchmesser', pretty_print=pretty_print) + if self.Optik_Symbolmaske is not None: + namespaceprefix_ = self.Optik_Symbolmaske_nsprefix_ + ':' if (UseCapturedNS_ and self.Optik_Symbolmaske_nsprefix_) else '' + self.Optik_Symbolmaske.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Optik_Symbolmaske', pretty_print=pretty_print) + if self.Schaltgruppe is not None: + namespaceprefix_ = self.Schaltgruppe_nsprefix_ + ':' if (UseCapturedNS_ and self.Schaltgruppe_nsprefix_) else '' + self.Schaltgruppe.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Schaltgruppe', pretty_print=pretty_print) + if self.Tragkopf_Verstellbar is not None: + namespaceprefix_ = self.Tragkopf_Verstellbar_nsprefix_ + ':' if (UseCapturedNS_ and self.Tragkopf_Verstellbar_nsprefix_) else '' + self.Tragkopf_Verstellbar.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Tragkopf_Verstellbar', pretty_print=pretty_print) + if self.Vorgeschaltet is not None: + namespaceprefix_ = self.Vorgeschaltet_nsprefix_ + ':' if (UseCapturedNS_ and self.Vorgeschaltet_nsprefix_) else '' + self.Vorgeschaltet.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Vorgeschaltet', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Akustik_Fussgaenger': + obj_ = TCAkustik_Fussgaenger.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Akustik_Fussgaenger = obj_ + obj_.original_tagname_ = 'Akustik_Fussgaenger' + elif nodeName_ == 'Kontrastblende': + obj_ = TCKontrastblende.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Kontrastblende = obj_ + obj_.original_tagname_ = 'Kontrastblende' + elif nodeName_ == 'Optik_Durchmesser': + obj_ = TCOptik_Durchmesser.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Optik_Durchmesser = obj_ + obj_.original_tagname_ = 'Optik_Durchmesser' + elif nodeName_ == 'Optik_Symbolmaske': + obj_ = TCOptik_Symbolmaske.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Optik_Symbolmaske = obj_ + obj_.original_tagname_ = 'Optik_Symbolmaske' + elif nodeName_ == 'Schaltgruppe': + obj_ = TCSchaltgruppe.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Schaltgruppe = obj_ + obj_.original_tagname_ = 'Schaltgruppe' + elif nodeName_ == 'Tragkopf_Verstellbar': + obj_ = TCTragkopf_Verstellbar.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Tragkopf_Verstellbar = obj_ + obj_.original_tagname_ = 'Tragkopf_Verstellbar' + elif nodeName_ == 'Vorgeschaltet': + obj_ = TCVorgeschaltet.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Vorgeschaltet = obj_ + obj_.original_tagname_ = 'Vorgeschaltet' +# end class CVerkehrszeichen_Lz + + +class CGFR_Anlage(CBasis_Objekt): + """CGFR_Anlage -- Gerfahrraumfreimeldeanlage. Folgende Rahmenbedingungen sind f + ü + r den Einsatz einer GFR zu beachten: max. H + ö + he der Bodenwellen des B + Ü + : 15 cm; max. Neigung des B + Ü + : 2 + ° + . + ID_BUE_Anlage -- Verweis auf die zugeh + ö + rige B + Ü + -Anlage. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasis_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, GFR_Anlage_Allg=None, ID_BUE_Anlage=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CGFR_Anlage"), self).__init__(Identitaet, Basis_Objekt_Allg, ID_Bearbeitungsvermerk, ID_Oertlichkeit_Ausgabe, Objektreferenzen, **kwargs_) + self.GFR_Anlage_Allg = GFR_Anlage_Allg + self.GFR_Anlage_Allg_nsprefix_ = None + self.ID_BUE_Anlage = ID_BUE_Anlage + self.ID_BUE_Anlage_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CGFR_Anlage) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CGFR_Anlage.subclass: + return CGFR_Anlage.subclass(*args_, **kwargs_) + else: + return CGFR_Anlage(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_GFR_Anlage_Allg(self): + return self.GFR_Anlage_Allg + def set_GFR_Anlage_Allg(self, GFR_Anlage_Allg): + self.GFR_Anlage_Allg = GFR_Anlage_Allg + def get_ID_BUE_Anlage(self): + return self.ID_BUE_Anlage + def set_ID_BUE_Anlage(self, ID_BUE_Anlage): + self.ID_BUE_Anlage = ID_BUE_Anlage + def has__content(self): + if ( + self.GFR_Anlage_Allg is not None or + self.ID_BUE_Anlage is not None or + super(CGFR_Anlage, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CGFR_Anlage', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CGFR_Anlage') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CGFR_Anlage': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CGFR_Anlage') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CGFR_Anlage', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBahnuebergang:', name_='CGFR_Anlage'): + super(CGFR_Anlage, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CGFR_Anlage') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CGFR_Anlage', fromsubclass_=False, pretty_print=True): + super(CGFR_Anlage, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.GFR_Anlage_Allg is not None: + namespaceprefix_ = self.GFR_Anlage_Allg_nsprefix_ + ':' if (UseCapturedNS_ and self.GFR_Anlage_Allg_nsprefix_) else '' + self.GFR_Anlage_Allg.export(outfile, level, namespaceprefix_, namespacedef_='', name_='GFR_Anlage_Allg', pretty_print=pretty_print) + if self.ID_BUE_Anlage is not None: + namespaceprefix_ = self.ID_BUE_Anlage_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_BUE_Anlage_nsprefix_) else '' + self.ID_BUE_Anlage.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_BUE_Anlage', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CGFR_Anlage, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'GFR_Anlage_Allg': + obj_ = CGFR_Anlage_Allg.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.GFR_Anlage_Allg = obj_ + obj_.original_tagname_ = 'GFR_Anlage_Allg' + elif nodeName_ == 'ID_BUE_Anlage': + obj_ = TCID_BUE_Anlage_ohne_Proxy.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_BUE_Anlage = obj_ + obj_.original_tagname_ = 'ID_BUE_Anlage' + super(CGFR_Anlage, self)._buildChildren(child_, node, nodeName_, True) +# end class CGFR_Anlage + + +class TCSignalverz_Gewaehlt(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCSignalverz_Gewaehlt"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TSignalverz_Gewaehlt(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCSignalverz_Gewaehlt) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCSignalverz_Gewaehlt.subclass: + return TCSignalverz_Gewaehlt.subclass(*args_, **kwargs_) + else: + return TCSignalverz_Gewaehlt(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TSignalverz_Gewaehlt(self, value): + result = True + # Validate type TSignalverz_Gewaehlt, a restriction on nsBasisTypen:TSekunde. + 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 not self.gds_validate_simple_patterns( + self.validate_TSignalverz_Gewaehlt_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TSignalverz_Gewaehlt_patterns_, )) + result = False + return result + validate_TSignalverz_Gewaehlt_patterns_ = [['^((0|[1-9][0-9]{0,4})\\.[0-9]{2})$'], ['^([0-9]{1,5}(\\.[0-9]{2})?)$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCSignalverz_Gewaehlt, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='TCSignalverz_Gewaehlt', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCSignalverz_Gewaehlt') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCSignalverz_Gewaehlt': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCSignalverz_Gewaehlt') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCSignalverz_Gewaehlt', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBahnuebergang:', name_='TCSignalverz_Gewaehlt'): + super(TCSignalverz_Gewaehlt, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCSignalverz_Gewaehlt') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='TCSignalverz_Gewaehlt', fromsubclass_=False, pretty_print=True): + super(TCSignalverz_Gewaehlt, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_decimal(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCSignalverz_Gewaehlt, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + fval_ = self.gds_parse_decimal(sval_, node, 'Wert') + fval_ = self.gds_validate_decimal(fval_, node, 'Wert') + self.Wert = fval_ + self.Wert_nsprefix_ = child_.prefix + # validate type TSignalverz_Gewaehlt + self.validate_TSignalverz_Gewaehlt(self.Wert) + super(TCSignalverz_Gewaehlt, self)._buildChildren(child_, node, nodeName_, True) +# end class TCSignalverz_Gewaehlt + + +class TCErsatzstecker_Gleisbezogen(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCErsatzstecker_Gleisbezogen"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCErsatzstecker_Gleisbezogen) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCErsatzstecker_Gleisbezogen.subclass: + return TCErsatzstecker_Gleisbezogen.subclass(*args_, **kwargs_) + else: + return TCErsatzstecker_Gleisbezogen(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def has__content(self): + if ( + self.Wert is not None or + super(TCErsatzstecker_Gleisbezogen, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='TCErsatzstecker_Gleisbezogen', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCErsatzstecker_Gleisbezogen') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCErsatzstecker_Gleisbezogen': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCErsatzstecker_Gleisbezogen') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCErsatzstecker_Gleisbezogen', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBahnuebergang:', name_='TCErsatzstecker_Gleisbezogen'): + super(TCErsatzstecker_Gleisbezogen, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCErsatzstecker_Gleisbezogen') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='TCErsatzstecker_Gleisbezogen', fromsubclass_=False, pretty_print=True): + super(TCErsatzstecker_Gleisbezogen, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_boolean(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCErsatzstecker_Gleisbezogen, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + sval_ = child_.text + ival_ = self.gds_parse_boolean(sval_, node, 'Wert') + ival_ = self.gds_validate_boolean(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + super(TCErsatzstecker_Gleisbezogen, self)._buildChildren(child_, node, nodeName_, True) +# end class TCErsatzstecker_Gleisbezogen + + +class CBUE_Spezifisches_Signal(CBasis_Objekt): + """CBUE_Spezifisches_Signal -- Objekt zur Zuordnung von Signalen, die ausschlie + ß + lich im Zusammenhang mit einem Bahn + ü + bergang (B + Ü + ) angeordnet werden. Dazu geh + ö + ren zum Beispiel Pfeiftafeln, Lf-Signale mit und ohne Zusatz \"B + Ü + \" oder + Ü + berwachungssignale f + ü + r B + Ü + , Merktafeln oder Merkpf + ä + hle u.a. Die Anwendung von Pfeiftafeln und Lf-Signalen erfolgt zumeist bei nichttechnisch gesicherten B + Ü + ; die Anwendung der + Ü + berwachungssignale bei Bahn + ü + berg + ä + ngen der Funktions + ü + berwachung \" + Ü + S\". F + ü + r die vorgenannten F + ä + lle ist der Verweis auf BUE Anlage zu bef + ü + llen. Wird zum Beispiel ein Merkpfahl zur Kennzeichnung eines Einschaltpunktes (Anwendung in besonderen Planungsf + ä + llen) vorgesehen, ist der Verweis auf BUE Einschaltung zu bef + ü + llen. F + ü + r die Bezeichnung von B + Ü + -spezifischen Signalen, insbesondere + Ü + berwachungssignale, sind Ausf + ü + hrungen auf der Seite Bezeichnung Signal vorhanden. DB-Regelwerk Formblatt zur Ermittlung der Sichtfl + ä + chen f + ü + r nichttechnisch gesicherte B + Ü + 819.1204 9 f + ü + r + Ü + S SPU 24 f + ü + r Merktafel /-pfahl B + Ü + -Kabellage- und - + ü + bersichtsplan + ID_Signal -- Verweis auf das Signal, welches im Zusammenhang mit dem B + Ü + angeordnet wird. Es ist zu unterscheiden, ob das Signal zur BUE Anlage (z. B. + Ü + S, Pfeiftafel) oder zur BUE Einschaltung (z. B. Merktafel) geh + ö + rt. + ID_BUE_Anlage -- Verweis auf die BUE Anlage, f + ü + r die das Signal angeordnet wird. + ID_BUE_Einschaltung -- Verweis auf die BUE_Einschaltung, an der das Signal angeordnet wird (z.B. Tafel f + ü + r die Markierung des Einschaltkontaktes). DB-Regelwerk SPU (Sammlung der Planunterlagen) 24 + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasis_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, ID_Signal=None, ID_BUE_Anlage=None, ID_BUE_Einschaltung=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CBUE_Spezifisches_Signal"), self).__init__(Identitaet, Basis_Objekt_Allg, ID_Bearbeitungsvermerk, ID_Oertlichkeit_Ausgabe, Objektreferenzen, **kwargs_) + self.ID_Signal = ID_Signal + self.ID_Signal_nsprefix_ = None + self.ID_BUE_Anlage = ID_BUE_Anlage + self.ID_BUE_Anlage_nsprefix_ = None + self.ID_BUE_Einschaltung = ID_BUE_Einschaltung + self.ID_BUE_Einschaltung_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CBUE_Spezifisches_Signal) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CBUE_Spezifisches_Signal.subclass: + return CBUE_Spezifisches_Signal.subclass(*args_, **kwargs_) + else: + return CBUE_Spezifisches_Signal(*args_, **kwargs_) + factory = staticmethod(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_Signal(self): + return self.ID_Signal + def set_ID_Signal(self, ID_Signal): + self.ID_Signal = ID_Signal + def get_ID_BUE_Anlage(self): + return self.ID_BUE_Anlage + def set_ID_BUE_Anlage(self, ID_BUE_Anlage): + self.ID_BUE_Anlage = ID_BUE_Anlage + def get_ID_BUE_Einschaltung(self): + return self.ID_BUE_Einschaltung + def set_ID_BUE_Einschaltung(self, ID_BUE_Einschaltung): + self.ID_BUE_Einschaltung = ID_BUE_Einschaltung + def has__content(self): + if ( + self.ID_Signal is not None or + self.ID_BUE_Anlage is not None or + self.ID_BUE_Einschaltung is not None or + super(CBUE_Spezifisches_Signal, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CBUE_Spezifisches_Signal', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CBUE_Spezifisches_Signal') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CBUE_Spezifisches_Signal': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CBUE_Spezifisches_Signal') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CBUE_Spezifisches_Signal', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBahnuebergang:', name_='CBUE_Spezifisches_Signal'): + super(CBUE_Spezifisches_Signal, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CBUE_Spezifisches_Signal') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CBUE_Spezifisches_Signal', fromsubclass_=False, pretty_print=True): + super(CBUE_Spezifisches_Signal, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.ID_Signal is not None: + namespaceprefix_ = self.ID_Signal_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Signal_nsprefix_) else '' + self.ID_Signal.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Signal', pretty_print=pretty_print) + if self.ID_BUE_Anlage is not None: + namespaceprefix_ = self.ID_BUE_Anlage_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_BUE_Anlage_nsprefix_) else '' + self.ID_BUE_Anlage.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_BUE_Anlage', pretty_print=pretty_print) + if self.ID_BUE_Einschaltung is not None: + namespaceprefix_ = self.ID_BUE_Einschaltung_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_BUE_Einschaltung_nsprefix_) else '' + self.ID_BUE_Einschaltung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_BUE_Einschaltung', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CBUE_Spezifisches_Signal, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Signal': + obj_ = TCID_Signal.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Signal = obj_ + obj_.original_tagname_ = 'ID_Signal' + elif nodeName_ == 'ID_BUE_Anlage': + obj_ = TCID_BUE_Anlage.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_BUE_Anlage = obj_ + obj_.original_tagname_ = 'ID_BUE_Anlage' + elif nodeName_ == 'ID_BUE_Einschaltung': + obj_ = TCID_BUE_Einschaltung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_BUE_Einschaltung = obj_ + obj_.original_tagname_ = 'ID_BUE_Einschaltung' + super(CBUE_Spezifisches_Signal, self)._buildChildren(child_, node, nodeName_, True) +# end class CBUE_Spezifisches_Signal + + +class CBUE_Bedien_Anzeige_Element(CBasis_Objekt): + """CBUE_Bedien_Anzeige_Element -- Objekt zur Definition der logischen Bedienfunktionen, die + ü + ber Taster auf den B + Ü + einwirken. Es dient der Zuordnung der ausgew + ä + hlten Bedienfunktionen zum B + Ü + bzw. zu den Ein-/Ausschaltungen des zugeh + ö + rigen Gleises. Die Zuordnung zur physischen Unterbringung erfolgt + ü + ber den Verweis auf Bedien Anzeige Element. DB-Regelwerk 819.1204 8 TM 2012 - 001 I.NVT 3 + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasis_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, BUE_Bedien_Anz_Element_Allg=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CBUE_Bedien_Anzeige_Element"), self).__init__(Identitaet, Basis_Objekt_Allg, ID_Bearbeitungsvermerk, ID_Oertlichkeit_Ausgabe, Objektreferenzen, **kwargs_) + self.BUE_Bedien_Anz_Element_Allg = BUE_Bedien_Anz_Element_Allg + self.BUE_Bedien_Anz_Element_Allg_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CBUE_Bedien_Anzeige_Element) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CBUE_Bedien_Anzeige_Element.subclass: + return CBUE_Bedien_Anzeige_Element.subclass(*args_, **kwargs_) + else: + return CBUE_Bedien_Anzeige_Element(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_BUE_Bedien_Anz_Element_Allg(self): + return self.BUE_Bedien_Anz_Element_Allg + def set_BUE_Bedien_Anz_Element_Allg(self, BUE_Bedien_Anz_Element_Allg): + self.BUE_Bedien_Anz_Element_Allg = BUE_Bedien_Anz_Element_Allg + def has__content(self): + if ( + self.BUE_Bedien_Anz_Element_Allg is not None or + super(CBUE_Bedien_Anzeige_Element, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='CBUE_Bedien_Anzeige_Element', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CBUE_Bedien_Anzeige_Element') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CBUE_Bedien_Anzeige_Element': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CBUE_Bedien_Anzeige_Element') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CBUE_Bedien_Anzeige_Element', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBahnuebergang:', name_='CBUE_Bedien_Anzeige_Element'): + super(CBUE_Bedien_Anzeige_Element, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CBUE_Bedien_Anzeige_Element') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='CBUE_Bedien_Anzeige_Element', fromsubclass_=False, pretty_print=True): + super(CBUE_Bedien_Anzeige_Element, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.BUE_Bedien_Anz_Element_Allg is not None: + namespaceprefix_ = self.BUE_Bedien_Anz_Element_Allg_nsprefix_ + ':' if (UseCapturedNS_ and self.BUE_Bedien_Anz_Element_Allg_nsprefix_) else '' + self.BUE_Bedien_Anz_Element_Allg.export(outfile, level, namespaceprefix_, namespacedef_='', name_='BUE_Bedien_Anz_Element_Allg', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CBUE_Bedien_Anzeige_Element, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'BUE_Bedien_Anz_Element_Allg': + obj_ = CBUE_Bedien_Anz_Element_Allg.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.BUE_Bedien_Anz_Element_Allg = obj_ + obj_.original_tagname_ = 'BUE_Bedien_Anz_Element_Allg' + super(CBUE_Bedien_Anzeige_Element, self)._buildChildren(child_, node, nodeName_, True) +# end class CBUE_Bedien_Anzeige_Element + + +class CVerkehrszeichen(CBasis_Objekt): + """CVerkehrszeichen -- Abbildung von Lichtzeichen und Andreaskreuzen im Rahmen der B + Ü + -Planung. Die Attributgruppe Verkehrszeichen_Lz entf + ä + llt bei nichttechnisch gesicherten B + Ü + oder beschrankten B + Ü + mit L + ä + utewerk. Die Attributgruppe Verkehrszeichen_Andreaskreuz entf + ä + llt bei vorgeschalteten Lichtzeichen. Mehrere Andreaskreuze bei einm + ü + ndenden Stra + ß + en sind m + ö + glich (i. d. R. max 3). Die Attributgruppe Vz_Sperrstrecke entf + ä + llt bei vorgeschalteten Lichtzeichen + ID_BUE_Anlage -- Verweis auf die B + Ü + -Anlage, zu der das Verkehrszeichen geh + ö + rt. + ID_Unterbringung -- Verweis auf eine Unterbringung zur Verortung des Verkehrszeichens + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasis_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, Bezeichnung=None, ID_BUE_Anlage=None, ID_Unterbringung=None, Verkehrszeichen_Allg=None, Verkehrszeichen_Andreaskreuz=None, Verkehrszeichen_Lz=None, Vz_Sperrstrecke=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CVerkehrszeichen"), self).__init__(Identitaet, Basis_Objekt_Allg, ID_Bearbeitungsvermerk, ID_Oertlichkeit_Ausgabe, Objektreferenzen, **kwargs_) + self.Bezeichnung = Bezeichnung + self.Bezeichnung_nsprefix_ = None + self.ID_BUE_Anlage = ID_BUE_Anlage + self.ID_BUE_Anlage_nsprefix_ = None + self.ID_Unterbringung = ID_Unterbringung + self.ID_Unterbringung_nsprefix_ = None + self.Verkehrszeichen_Allg = Verkehrszeichen_Allg + self.Verkehrszeichen_Allg_nsprefix_ = None + if Verkehrszeichen_Andreaskreuz is None: + self.Verkehrszeichen_Andreaskreuz = [] + else: + self.Verkehrszeichen_Andreaskreuz = Verkehrszeichen_Andreaskreuz + self.Verkehrszeichen_Andreaskreuz_nsprefix_ = None + self.Verkehrszeichen_Lz = Verkehrszeichen_Lz + self.Verkehrszeichen_Lz_nsprefix_ = None + self.Vz_Sperrstrecke = Vz_Sperrstrecke + self.Vz_Sperrstrecke_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CVerkehrszeichen) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CVerkehrszeichen.subclass: + return CVerkehrszeichen.subclass(*args_, **kwargs_) + else: + return CVerkehrszeichen(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Bezeichnung(self): + return self.Bezeichnung + def set_Bezeichnung(self, Bezeichnung): + self.Bezeichnung = Bezeichnung + def get_ID_BUE_Anlage(self): + return self.ID_BUE_Anlage + def set_ID_BUE_Anlage(self, ID_BUE_Anlage): + self.ID_BUE_Anlage = ID_BUE_Anlage + def get_ID_Unterbringung(self): + return self.ID_Unterbringung + def set_ID_Unterbringung(self, ID_Unterbringung): + self.ID_Unterbringung = ID_Unterbringung + def get_Verkehrszeichen_Allg(self): + return self.Verkehrszeichen_Allg + def set_Verkehrszeichen_Allg(self, Verkehrszeichen_Allg): + self.Verkehrszeichen_Allg = Verkehrszeichen_Allg + def get_Verkehrszeichen_Andreaskreuz(self): + return self.Verkehrszeichen_Andreaskreuz + def set_Verkehrszeichen_Andreaskreuz(self, Verkehrszeichen_Andreaskreuz): + self.Verkehrszeichen_Andreaskreuz = Verkehrszeichen_Andreaskreuz + def add_Verkehrszeichen_Andreaskreuz(self, value): + self.Verkehrszeichen_Andreaskreuz.append(value) + def insert_Verkehrszeichen_Andreaskreuz_at(self, index, value): + self.Verkehrszeichen_Andreaskreuz.insert(index, value) + def replace_Verkehrszeichen_Andreaskreuz_at(self, index, value): + self.Verkehrszeichen_Andreaskreuz[index] = value + def get_Verkehrszeichen_Lz(self): + return self.Verkehrszeichen_Lz + def set_Verkehrszeichen_Lz(self, Verkehrszeichen_Lz): + self.Verkehrszeichen_Lz = Verkehrszeichen_Lz + def get_Vz_Sperrstrecke(self): + return self.Vz_Sperrstrecke + def set_Vz_Sperrstrecke(self, Vz_Sperrstrecke): + self.Vz_Sperrstrecke = Vz_Sperrstrecke + def has__content(self): + if ( + self.Bezeichnung is not None or + self.ID_BUE_Anlage is not None or + self.ID_Unterbringung is not None or + self.Verkehrszeichen_Allg is not None or + self.Verkehrszeichen_Andreaskreuz or + self.Verkehrszeichen_Lz is not None or + self.Vz_Sperrstrecke is not None or + super(CVerkehrszeichen, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CVerkehrszeichen', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CVerkehrszeichen') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CVerkehrszeichen': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CVerkehrszeichen') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CVerkehrszeichen', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBahnuebergang:', name_='CVerkehrszeichen'): + super(CVerkehrszeichen, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CVerkehrszeichen') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CVerkehrszeichen', fromsubclass_=False, pretty_print=True): + super(CVerkehrszeichen, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Bezeichnung is not None: + namespaceprefix_ = self.Bezeichnung_nsprefix_ + ':' if (UseCapturedNS_ and self.Bezeichnung_nsprefix_) else '' + self.Bezeichnung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Bezeichnung', pretty_print=pretty_print) + if self.ID_BUE_Anlage is not None: + namespaceprefix_ = self.ID_BUE_Anlage_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_BUE_Anlage_nsprefix_) else '' + self.ID_BUE_Anlage.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_BUE_Anlage', pretty_print=pretty_print) + if self.ID_Unterbringung is not None: + namespaceprefix_ = self.ID_Unterbringung_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Unterbringung_nsprefix_) else '' + self.ID_Unterbringung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Unterbringung', pretty_print=pretty_print) + if self.Verkehrszeichen_Allg is not None: + namespaceprefix_ = self.Verkehrszeichen_Allg_nsprefix_ + ':' if (UseCapturedNS_ and self.Verkehrszeichen_Allg_nsprefix_) else '' + self.Verkehrszeichen_Allg.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Verkehrszeichen_Allg', pretty_print=pretty_print) + for Verkehrszeichen_Andreaskreuz_ in self.Verkehrszeichen_Andreaskreuz: + namespaceprefix_ = self.Verkehrszeichen_Andreaskreuz_nsprefix_ + ':' if (UseCapturedNS_ and self.Verkehrszeichen_Andreaskreuz_nsprefix_) else '' + Verkehrszeichen_Andreaskreuz_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Verkehrszeichen_Andreaskreuz', pretty_print=pretty_print) + if self.Verkehrszeichen_Lz is not None: + namespaceprefix_ = self.Verkehrszeichen_Lz_nsprefix_ + ':' if (UseCapturedNS_ and self.Verkehrszeichen_Lz_nsprefix_) else '' + self.Verkehrszeichen_Lz.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Verkehrszeichen_Lz', pretty_print=pretty_print) + if self.Vz_Sperrstrecke is not None: + namespaceprefix_ = self.Vz_Sperrstrecke_nsprefix_ + ':' if (UseCapturedNS_ and self.Vz_Sperrstrecke_nsprefix_) else '' + self.Vz_Sperrstrecke.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Vz_Sperrstrecke', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CVerkehrszeichen, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Bezeichnung': + obj_ = CVerkehrszeichen_Bezeichnung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Bezeichnung = obj_ + obj_.original_tagname_ = 'Bezeichnung' + elif nodeName_ == 'ID_BUE_Anlage': + obj_ = TCID_BUE_Anlage_ohne_Proxy.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_BUE_Anlage = obj_ + obj_.original_tagname_ = 'ID_BUE_Anlage' + elif nodeName_ == 'ID_Unterbringung': + obj_ = TCID_Unterbringung_ohne_Proxy.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Unterbringung = obj_ + obj_.original_tagname_ = 'ID_Unterbringung' + elif nodeName_ == 'Verkehrszeichen_Allg': + obj_ = CVerkehrszeichen_Allg.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Verkehrszeichen_Allg = obj_ + obj_.original_tagname_ = 'Verkehrszeichen_Allg' + elif nodeName_ == 'Verkehrszeichen_Andreaskreuz': + obj_ = CVerkehrszeichen_Andreaskreuz.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Verkehrszeichen_Andreaskreuz.append(obj_) + obj_.original_tagname_ = 'Verkehrszeichen_Andreaskreuz' + elif nodeName_ == 'Verkehrszeichen_Lz': + obj_ = CVerkehrszeichen_Lz.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Verkehrszeichen_Lz = obj_ + obj_.original_tagname_ = 'Verkehrszeichen_Lz' + elif nodeName_ == 'Vz_Sperrstrecke': + obj_ = CVz_Sperrstrecke.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Vz_Sperrstrecke = obj_ + obj_.original_tagname_ = 'Vz_Sperrstrecke' + super(CVerkehrszeichen, self)._buildChildren(child_, node, nodeName_, True) +# end class CVerkehrszeichen + + +class TCAkustik_Fussgaenger(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCAkustik_Fussgaenger"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TAkustik_Fussgaenger(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCAkustik_Fussgaenger) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCAkustik_Fussgaenger.subclass: + return TCAkustik_Fussgaenger.subclass(*args_, **kwargs_) + else: + return TCAkustik_Fussgaenger(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TAkustik_Fussgaenger(self, value): + result = True + # Validate type TAkustik_Fussgaenger, a restriction on xs:boolean. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + pass + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCAkustik_Fussgaenger, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='TCAkustik_Fussgaenger', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCAkustik_Fussgaenger') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCAkustik_Fussgaenger': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCAkustik_Fussgaenger') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCAkustik_Fussgaenger', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBahnuebergang:', name_='TCAkustik_Fussgaenger'): + super(TCAkustik_Fussgaenger, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCAkustik_Fussgaenger') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='TCAkustik_Fussgaenger', fromsubclass_=False, pretty_print=True): + super(TCAkustik_Fussgaenger, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_boolean(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCAkustik_Fussgaenger, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + sval_ = child_.text + ival_ = self.gds_parse_boolean(sval_, node, 'Wert') + ival_ = self.gds_validate_boolean(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + # validate type TAkustik_Fussgaenger + self.validate_TAkustik_Fussgaenger(self.Wert) + super(TCAkustik_Fussgaenger, self)._buildChildren(child_, node, nodeName_, True) +# end class TCAkustik_Fussgaenger + + +class TCFahrbahn_Befestigung_Gleis(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCFahrbahn_Befestigung_Gleis"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TFahrbahn_Befestigung_Gleis(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCFahrbahn_Befestigung_Gleis) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCFahrbahn_Befestigung_Gleis.subclass: + return TCFahrbahn_Befestigung_Gleis.subclass(*args_, **kwargs_) + else: + return TCFahrbahn_Befestigung_Gleis(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TFahrbahn_Befestigung_Gleis(self, value): + result = True + # Validate type TFahrbahn_Befestigung_Gleis, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TFahrbahn_Befestigung_Gleis_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TFahrbahn_Befestigung_Gleis_patterns_, )) + result = False + return result + validate_TFahrbahn_Befestigung_Gleis_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCFahrbahn_Befestigung_Gleis, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='TCFahrbahn_Befestigung_Gleis', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCFahrbahn_Befestigung_Gleis') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCFahrbahn_Befestigung_Gleis': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCFahrbahn_Befestigung_Gleis') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCFahrbahn_Befestigung_Gleis', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBahnuebergang:', name_='TCFahrbahn_Befestigung_Gleis'): + super(TCFahrbahn_Befestigung_Gleis, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCFahrbahn_Befestigung_Gleis') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='TCFahrbahn_Befestigung_Gleis', fromsubclass_=False, pretty_print=True): + super(TCFahrbahn_Befestigung_Gleis, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCFahrbahn_Befestigung_Gleis, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TFahrbahn_Befestigung_Gleis + self.validate_TFahrbahn_Befestigung_Gleis(self.Wert) + super(TCFahrbahn_Befestigung_Gleis, self)._buildChildren(child_, node, nodeName_, True) +# end class TCFahrbahn_Befestigung_Gleis + + +class TCHp_Ersatzstecker(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCHp_Ersatzstecker"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMHp_Ersatzstecker(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCHp_Ersatzstecker) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCHp_Ersatzstecker.subclass: + return TCHp_Ersatzstecker.subclass(*args_, **kwargs_) + else: + return TCHp_Ersatzstecker(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMHp_Ersatzstecker(self, value): + result = True + # Validate type ENUMHp_Ersatzstecker, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['Abhaengigkeit_aufgehoben', 'sonstige'] + 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 ENUMHp_Ersatzstecker' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCHp_Ersatzstecker, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='TCHp_Ersatzstecker', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCHp_Ersatzstecker') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCHp_Ersatzstecker': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCHp_Ersatzstecker') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCHp_Ersatzstecker', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBahnuebergang:', name_='TCHp_Ersatzstecker'): + super(TCHp_Ersatzstecker, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCHp_Ersatzstecker') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='TCHp_Ersatzstecker', fromsubclass_=False, pretty_print=True): + super(TCHp_Ersatzstecker, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCHp_Ersatzstecker, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMHp_Ersatzstecker + self.validate_ENUMHp_Ersatzstecker(self.Wert) + super(TCHp_Ersatzstecker, self)._buildChildren(child_, node, nodeName_, True) +# end class TCHp_Ersatzstecker + + +class TCV_Min_Schiene(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCV_Min_Schiene"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TV_Min_Schiene(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCV_Min_Schiene) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCV_Min_Schiene.subclass: + return TCV_Min_Schiene.subclass(*args_, **kwargs_) + else: + return TCV_Min_Schiene(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TV_Min_Schiene(self, value): + result = True + # Validate type TV_Min_Schiene, a restriction on nsBasisTypen:TGeschwindigkeit. + 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_TV_Min_Schiene_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TV_Min_Schiene_patterns_, )) + result = False + return result + validate_TV_Min_Schiene_patterns_ = [['^(0|[1-9][0-9]{0,1}|[1-4][0-9]{2}|500)$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCV_Min_Schiene, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='TCV_Min_Schiene', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCV_Min_Schiene') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCV_Min_Schiene': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCV_Min_Schiene') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCV_Min_Schiene', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBahnuebergang:', name_='TCV_Min_Schiene'): + super(TCV_Min_Schiene, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCV_Min_Schiene') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='TCV_Min_Schiene', fromsubclass_=False, pretty_print=True): + super(TCV_Min_Schiene, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_integer(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCV_Min_Schiene, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + ival_ = self.gds_parse_integer(sval_, node, 'Wert') + ival_ = self.gds_validate_integer(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + # validate type TV_Min_Schiene + self.validate_TV_Min_Schiene(self.Wert) + super(TCV_Min_Schiene, self)._buildChildren(child_, node, nodeName_, True) +# end class TCV_Min_Schiene + + +class CBUE_Gefahrraum_Eckpunkt_Bezeichnung(GeneratedsSuper): + """Bezeichnung_BUE_GFR_Eckpunkt -- Bezeichnung des B + Ü + -Gefahrraum-Eckpunkts. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Bezeichnung_BUE_GFR_Eckpunkt=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Bezeichnung_BUE_GFR_Eckpunkt = Bezeichnung_BUE_GFR_Eckpunkt + self.Bezeichnung_BUE_GFR_Eckpunkt_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CBUE_Gefahrraum_Eckpunkt_Bezeichnung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CBUE_Gefahrraum_Eckpunkt_Bezeichnung.subclass: + return CBUE_Gefahrraum_Eckpunkt_Bezeichnung.subclass(*args_, **kwargs_) + else: + return CBUE_Gefahrraum_Eckpunkt_Bezeichnung(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Bezeichnung_BUE_GFR_Eckpunkt(self): + return self.Bezeichnung_BUE_GFR_Eckpunkt + def set_Bezeichnung_BUE_GFR_Eckpunkt(self, Bezeichnung_BUE_GFR_Eckpunkt): + self.Bezeichnung_BUE_GFR_Eckpunkt = Bezeichnung_BUE_GFR_Eckpunkt + def has__content(self): + if ( + self.Bezeichnung_BUE_GFR_Eckpunkt is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='CBUE_Gefahrraum_Eckpunkt_Bezeichnung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CBUE_Gefahrraum_Eckpunkt_Bezeichnung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CBUE_Gefahrraum_Eckpunkt_Bezeichnung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CBUE_Gefahrraum_Eckpunkt_Bezeichnung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CBUE_Gefahrraum_Eckpunkt_Bezeichnung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBahnuebergang:', name_='CBUE_Gefahrraum_Eckpunkt_Bezeichnung'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='CBUE_Gefahrraum_Eckpunkt_Bezeichnung', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Bezeichnung_BUE_GFR_Eckpunkt is not None: + namespaceprefix_ = self.Bezeichnung_BUE_GFR_Eckpunkt_nsprefix_ + ':' if (UseCapturedNS_ and self.Bezeichnung_BUE_GFR_Eckpunkt_nsprefix_) else '' + self.Bezeichnung_BUE_GFR_Eckpunkt.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Bezeichnung_BUE_GFR_Eckpunkt', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Bezeichnung_BUE_GFR_Eckpunkt': + obj_ = TCBezeichnung_BUE_GFR_Eckpunkt.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Bezeichnung_BUE_GFR_Eckpunkt = obj_ + obj_.original_tagname_ = 'Bezeichnung_BUE_GFR_Eckpunkt' +# end class CBUE_Gefahrraum_Eckpunkt_Bezeichnung + + +class TCBez_Schrankenantrieb(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCBez_Schrankenantrieb"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TBez_Schrankenantrieb(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCBez_Schrankenantrieb) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCBez_Schrankenantrieb.subclass: + return TCBez_Schrankenantrieb.subclass(*args_, **kwargs_) + else: + return TCBez_Schrankenantrieb(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TBez_Schrankenantrieb(self, value): + result = True + # Validate type TBez_Schrankenantrieb, a restriction on nsBasisTypen:TZeichenkette. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TBez_Schrankenantrieb_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TBez_Schrankenantrieb_patterns_, )) + result = False + return result + validate_TBez_Schrankenantrieb_patterns_ = [['^(.{2,3})$'], ['^([a-zA-Z_0-9]{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCBez_Schrankenantrieb, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='TCBez_Schrankenantrieb', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCBez_Schrankenantrieb') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCBez_Schrankenantrieb': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBez_Schrankenantrieb') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCBez_Schrankenantrieb', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBahnuebergang:', name_='TCBez_Schrankenantrieb'): + super(TCBez_Schrankenantrieb, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBez_Schrankenantrieb') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='TCBez_Schrankenantrieb', fromsubclass_=False, pretty_print=True): + super(TCBez_Schrankenantrieb, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCBez_Schrankenantrieb, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TBez_Schrankenantrieb + self.validate_TBez_Schrankenantrieb(self.Wert) + super(TCBez_Schrankenantrieb, self)._buildChildren(child_, node, nodeName_, True) +# end class TCBez_Schrankenantrieb + + +class TCSchutzbuegel(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCSchutzbuegel"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TSchutzbuegel(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCSchutzbuegel) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCSchutzbuegel.subclass: + return TCSchutzbuegel.subclass(*args_, **kwargs_) + else: + return TCSchutzbuegel(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TSchutzbuegel(self, value): + result = True + # Validate type TSchutzbuegel, a restriction on xs:boolean. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + pass + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCSchutzbuegel, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='TCSchutzbuegel', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCSchutzbuegel') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCSchutzbuegel': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCSchutzbuegel') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCSchutzbuegel', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBahnuebergang:', name_='TCSchutzbuegel'): + super(TCSchutzbuegel, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCSchutzbuegel') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='TCSchutzbuegel', fromsubclass_=False, pretty_print=True): + super(TCSchutzbuegel, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_boolean(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCSchutzbuegel, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + sval_ = child_.text + ival_ = self.gds_parse_boolean(sval_, node, 'Wert') + ival_ = self.gds_validate_boolean(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + # validate type TSchutzbuegel + self.validate_TSchutzbuegel(self.Wert) + super(TCSchutzbuegel, self)._buildChildren(child_, node, nodeName_, True) +# end class TCSchutzbuegel + + +class CBUE_Abhaengigkeit_Fue(GeneratedsSuper): + """Auto_Het -- F + ü + r fern + ü + berwachte Bahn + ü + berg + ä + nge (F + Ü + -B + Ü + ) ist die Auto-Het-Funktion (automatische Einschaltung mit Befahren der Ausschaltkontakte) zu realisieren. Ausschl + ü + sse gem + ä + ß + Ril 819.1204 (4) sind zu beachten. DB-Regelwerk Ril 819.1204 (4) TM 2012-001 I.NVT 3 + Fue_Schaltfall -- Im Stellwerk zu realisierende Schaltung bei F + ü + -Anlagen: + 2: Wirksamschaltung der Einschaltpunkte; + 12: Art der B + Ü + -Einschaltung in Abh + ä + ngigkeit eines Signals in der Einschaltstrecke. + Stoerhalt_Haltfall -- Haltfall des vor einem F + Ü + -B + Ü + liegenden Signals, wenn dieser gest + ö + rt ist. Ist ein Abschnitt der freien Strecke in die Zuglenkung einbezogen und befinden sich in diesem Streckenabschnitt B + Ü + mit der Funktions + ü + berwachung F + Ü + , dann ist bei Bedienung des ESTW aus der Betriebszentrale die St + ö + rhaltabh + ä + ngigkeit zu planen. Damit wird verhindert, dass die Zuglenkung auch bei gest + ö + rtem B + Ü + Fahrstra + ß + en in Richtung Strecke mit gest + ö + rtem B + Ü + einstellt. DB-Regelwerk TM 2010 - 120 I.NVT3 (Fa. Siemens) Datenblatt f + ü + r die Abh + ä + ngigkeiten B + Ü + - Stw Weiterhin existiert ein Lastenheft f + ü + r die technisch-funktionale St + ö + rhaltfunktionalit + ä + t, das dem LST-Fachplaner nicht zur Verf + ü + gung steht. + Stoerhalt_Merkhinweis -- Ein Merkhinweis ist zu setzen. Der Merkhinweis wird gesetzt, wenn die Verbindung zwischen Betriebszentrale (BZ) und derjenigen ESTW-Unterzentrale (UZ) getrennt ist, in der der entsprechende Bahn + ü + bergang fern + ü + berwacht wird. DB-Regelwerk TM 2010 - 120 I.NVT3 (Fa. Siemens) Datenblatt f + ü + r die Abh + ä + ngigkeiten B + Ü + - Stw Weiterhin existiert ein Lastenheft f + ü + r die technisch-funktionale St + ö + rhaltfunktionalit + ä + t, das dem LST-Fachplaner nicht zur Verf + ü + gung steht. + Zeitueberschreitungsmeldung -- Angabe der gew + ä + hlten Zeit f + ü + r die Zeit + ü + berschreitungsmeldung aus der Einschaltstreckenberechnung. DB-Regelwerk Einschaltstreckenberechnung + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Auto_Het=None, Fue_Schaltfall=None, Stoerhalt_Haltfall=None, Stoerhalt_Merkhinweis=None, Zeitueberschreitungsmeldung=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Auto_Het = Auto_Het + self.Auto_Het_nsprefix_ = None + self.Fue_Schaltfall = Fue_Schaltfall + self.Fue_Schaltfall_nsprefix_ = None + self.Stoerhalt_Haltfall = Stoerhalt_Haltfall + self.Stoerhalt_Haltfall_nsprefix_ = None + self.Stoerhalt_Merkhinweis = Stoerhalt_Merkhinweis + self.Stoerhalt_Merkhinweis_nsprefix_ = None + self.Zeitueberschreitungsmeldung = Zeitueberschreitungsmeldung + self.Zeitueberschreitungsmeldung_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CBUE_Abhaengigkeit_Fue) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CBUE_Abhaengigkeit_Fue.subclass: + return CBUE_Abhaengigkeit_Fue.subclass(*args_, **kwargs_) + else: + return CBUE_Abhaengigkeit_Fue(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Auto_Het(self): + return self.Auto_Het + def set_Auto_Het(self, Auto_Het): + self.Auto_Het = Auto_Het + def get_Fue_Schaltfall(self): + return self.Fue_Schaltfall + def set_Fue_Schaltfall(self, Fue_Schaltfall): + self.Fue_Schaltfall = Fue_Schaltfall + def get_Stoerhalt_Haltfall(self): + return self.Stoerhalt_Haltfall + def set_Stoerhalt_Haltfall(self, Stoerhalt_Haltfall): + self.Stoerhalt_Haltfall = Stoerhalt_Haltfall + def get_Stoerhalt_Merkhinweis(self): + return self.Stoerhalt_Merkhinweis + def set_Stoerhalt_Merkhinweis(self, Stoerhalt_Merkhinweis): + self.Stoerhalt_Merkhinweis = Stoerhalt_Merkhinweis + def get_Zeitueberschreitungsmeldung(self): + return self.Zeitueberschreitungsmeldung + def set_Zeitueberschreitungsmeldung(self, Zeitueberschreitungsmeldung): + self.Zeitueberschreitungsmeldung = Zeitueberschreitungsmeldung + def has__content(self): + if ( + self.Auto_Het is not None or + self.Fue_Schaltfall is not None or + self.Stoerhalt_Haltfall is not None or + self.Stoerhalt_Merkhinweis is not None or + self.Zeitueberschreitungsmeldung is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='CBUE_Abhaengigkeit_Fue', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CBUE_Abhaengigkeit_Fue') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CBUE_Abhaengigkeit_Fue': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CBUE_Abhaengigkeit_Fue') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CBUE_Abhaengigkeit_Fue', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBahnuebergang:', name_='CBUE_Abhaengigkeit_Fue'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='CBUE_Abhaengigkeit_Fue', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Auto_Het is not None: + namespaceprefix_ = self.Auto_Het_nsprefix_ + ':' if (UseCapturedNS_ and self.Auto_Het_nsprefix_) else '' + self.Auto_Het.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Auto_Het', pretty_print=pretty_print) + if self.Fue_Schaltfall is not None: + namespaceprefix_ = self.Fue_Schaltfall_nsprefix_ + ':' if (UseCapturedNS_ and self.Fue_Schaltfall_nsprefix_) else '' + self.Fue_Schaltfall.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Fue_Schaltfall', pretty_print=pretty_print) + if self.Stoerhalt_Haltfall is not None: + namespaceprefix_ = self.Stoerhalt_Haltfall_nsprefix_ + ':' if (UseCapturedNS_ and self.Stoerhalt_Haltfall_nsprefix_) else '' + self.Stoerhalt_Haltfall.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Stoerhalt_Haltfall', pretty_print=pretty_print) + if self.Stoerhalt_Merkhinweis is not None: + namespaceprefix_ = self.Stoerhalt_Merkhinweis_nsprefix_ + ':' if (UseCapturedNS_ and self.Stoerhalt_Merkhinweis_nsprefix_) else '' + self.Stoerhalt_Merkhinweis.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Stoerhalt_Merkhinweis', pretty_print=pretty_print) + if self.Zeitueberschreitungsmeldung is not None: + namespaceprefix_ = self.Zeitueberschreitungsmeldung_nsprefix_ + ':' if (UseCapturedNS_ and self.Zeitueberschreitungsmeldung_nsprefix_) else '' + self.Zeitueberschreitungsmeldung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Zeitueberschreitungsmeldung', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Auto_Het': + obj_ = TCAuto_Het.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Auto_Het = obj_ + obj_.original_tagname_ = 'Auto_Het' + elif nodeName_ == 'Fue_Schaltfall': + obj_ = TCFue_Schaltfall.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Fue_Schaltfall = obj_ + obj_.original_tagname_ = 'Fue_Schaltfall' + elif nodeName_ == 'Stoerhalt_Haltfall': + obj_ = TCStoerhalt_Haltfall.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Stoerhalt_Haltfall = obj_ + obj_.original_tagname_ = 'Stoerhalt_Haltfall' + elif nodeName_ == 'Stoerhalt_Merkhinweis': + obj_ = TCStoerhalt_Merkhinweis.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Stoerhalt_Merkhinweis = obj_ + obj_.original_tagname_ = 'Stoerhalt_Merkhinweis' + elif nodeName_ == 'Zeitueberschreitungsmeldung': + obj_ = TCZeitueberschreitungsmeldung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Zeitueberschreitungsmeldung = obj_ + obj_.original_tagname_ = 'Zeitueberschreitungsmeldung' +# end class CBUE_Abhaengigkeit_Fue + + +class CSA_Schrankenbaum(GeneratedsSuper): + """Ausrichtung -- Generelle Ausrichtung des Schrankenbaums in Bezug auf die Topologierichtung der TOP_Kante, an der der Schrankenantrieb verortet ist. + Ausrichtung_Winkel -- Ausrichtungswinkel des Schrankenbaums in Bezug auf die Tangente am Verortungspunkt auf der topologischen Kante. Ein direkter Bezug zur Stra + ß + enachse ist nicht m + ö + glich, da der Stra + ß + enverlauf zun + ä + chst nur als Bild eingebunden wird. + Baumprofil -- Art des Baumprofils, z. B. Rundprofil oder Rechteckprofil. + Gitterbehang -- Ein Gitterbehang ist vorhanden (true) oder nicht vorhanden (false). + Lagerung_Art -- Angabe, in welcher Art der Schrankenbaum gelagert ist. + Lieferlaenge -- Lieferl + ä + nge des Schrankenbaums. + Montage_Ausgleichsgewichte -- Angabe, ob und in welcher Ausf + ü + hrung Ausgleichsgewichte montiert werden sollen. + Sperrlaenge -- Sperrl + ä + nge des Schrankenbaums. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Ausrichtung=None, Ausrichtung_Winkel=None, Baumprofil=None, Gitterbehang=None, Lagerung_Art=None, Lieferlaenge=None, Montage_Ausgleichsgewichte=None, Sperrlaenge=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Ausrichtung = Ausrichtung + self.Ausrichtung_nsprefix_ = None + self.Ausrichtung_Winkel = Ausrichtung_Winkel + self.Ausrichtung_Winkel_nsprefix_ = None + self.Baumprofil = Baumprofil + self.Baumprofil_nsprefix_ = None + self.Gitterbehang = Gitterbehang + self.Gitterbehang_nsprefix_ = None + self.Lagerung_Art = Lagerung_Art + self.Lagerung_Art_nsprefix_ = None + self.Lieferlaenge = Lieferlaenge + self.Lieferlaenge_nsprefix_ = None + self.Montage_Ausgleichsgewichte = Montage_Ausgleichsgewichte + self.Montage_Ausgleichsgewichte_nsprefix_ = None + self.Sperrlaenge = Sperrlaenge + self.Sperrlaenge_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CSA_Schrankenbaum) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CSA_Schrankenbaum.subclass: + return CSA_Schrankenbaum.subclass(*args_, **kwargs_) + else: + return CSA_Schrankenbaum(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Ausrichtung(self): + return self.Ausrichtung + def set_Ausrichtung(self, Ausrichtung): + self.Ausrichtung = Ausrichtung + def get_Ausrichtung_Winkel(self): + return self.Ausrichtung_Winkel + def set_Ausrichtung_Winkel(self, Ausrichtung_Winkel): + self.Ausrichtung_Winkel = Ausrichtung_Winkel + def get_Baumprofil(self): + return self.Baumprofil + def set_Baumprofil(self, Baumprofil): + self.Baumprofil = Baumprofil + def get_Gitterbehang(self): + return self.Gitterbehang + def set_Gitterbehang(self, Gitterbehang): + self.Gitterbehang = Gitterbehang + def get_Lagerung_Art(self): + return self.Lagerung_Art + def set_Lagerung_Art(self, Lagerung_Art): + self.Lagerung_Art = Lagerung_Art + def get_Lieferlaenge(self): + return self.Lieferlaenge + def set_Lieferlaenge(self, Lieferlaenge): + self.Lieferlaenge = Lieferlaenge + def get_Montage_Ausgleichsgewichte(self): + return self.Montage_Ausgleichsgewichte + def set_Montage_Ausgleichsgewichte(self, Montage_Ausgleichsgewichte): + self.Montage_Ausgleichsgewichte = Montage_Ausgleichsgewichte + def get_Sperrlaenge(self): + return self.Sperrlaenge + def set_Sperrlaenge(self, Sperrlaenge): + self.Sperrlaenge = Sperrlaenge + def has__content(self): + if ( + self.Ausrichtung is not None or + self.Ausrichtung_Winkel is not None or + self.Baumprofil is not None or + self.Gitterbehang is not None or + self.Lagerung_Art is not None or + self.Lieferlaenge is not None or + self.Montage_Ausgleichsgewichte is not None or + self.Sperrlaenge is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='CSA_Schrankenbaum', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CSA_Schrankenbaum') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CSA_Schrankenbaum': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CSA_Schrankenbaum') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CSA_Schrankenbaum', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBahnuebergang:', name_='CSA_Schrankenbaum'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='CSA_Schrankenbaum', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Ausrichtung is not None: + namespaceprefix_ = self.Ausrichtung_nsprefix_ + ':' if (UseCapturedNS_ and self.Ausrichtung_nsprefix_) else '' + self.Ausrichtung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Ausrichtung', pretty_print=pretty_print) + if self.Ausrichtung_Winkel is not None: + namespaceprefix_ = self.Ausrichtung_Winkel_nsprefix_ + ':' if (UseCapturedNS_ and self.Ausrichtung_Winkel_nsprefix_) else '' + self.Ausrichtung_Winkel.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Ausrichtung_Winkel', pretty_print=pretty_print) + if self.Baumprofil is not None: + namespaceprefix_ = self.Baumprofil_nsprefix_ + ':' if (UseCapturedNS_ and self.Baumprofil_nsprefix_) else '' + self.Baumprofil.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Baumprofil', pretty_print=pretty_print) + if self.Gitterbehang is not None: + namespaceprefix_ = self.Gitterbehang_nsprefix_ + ':' if (UseCapturedNS_ and self.Gitterbehang_nsprefix_) else '' + self.Gitterbehang.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Gitterbehang', pretty_print=pretty_print) + if self.Lagerung_Art is not None: + namespaceprefix_ = self.Lagerung_Art_nsprefix_ + ':' if (UseCapturedNS_ and self.Lagerung_Art_nsprefix_) else '' + self.Lagerung_Art.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Lagerung_Art', pretty_print=pretty_print) + if self.Lieferlaenge is not None: + namespaceprefix_ = self.Lieferlaenge_nsprefix_ + ':' if (UseCapturedNS_ and self.Lieferlaenge_nsprefix_) else '' + self.Lieferlaenge.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Lieferlaenge', pretty_print=pretty_print) + if self.Montage_Ausgleichsgewichte is not None: + namespaceprefix_ = self.Montage_Ausgleichsgewichte_nsprefix_ + ':' if (UseCapturedNS_ and self.Montage_Ausgleichsgewichte_nsprefix_) else '' + self.Montage_Ausgleichsgewichte.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Montage_Ausgleichsgewichte', pretty_print=pretty_print) + if self.Sperrlaenge is not None: + namespaceprefix_ = self.Sperrlaenge_nsprefix_ + ':' if (UseCapturedNS_ and self.Sperrlaenge_nsprefix_) else '' + self.Sperrlaenge.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Sperrlaenge', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Ausrichtung': + obj_ = TCAusrichtung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Ausrichtung = obj_ + obj_.original_tagname_ = 'Ausrichtung' + elif nodeName_ == 'Ausrichtung_Winkel': + obj_ = TCAusrichtung_Winkel.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Ausrichtung_Winkel = obj_ + obj_.original_tagname_ = 'Ausrichtung_Winkel' + elif nodeName_ == 'Baumprofil': + obj_ = TCBaumprofil.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Baumprofil = obj_ + obj_.original_tagname_ = 'Baumprofil' + elif nodeName_ == 'Gitterbehang': + obj_ = TCGitterbehang.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Gitterbehang = obj_ + obj_.original_tagname_ = 'Gitterbehang' + elif nodeName_ == 'Lagerung_Art': + obj_ = TCLagerung_Art.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Lagerung_Art = obj_ + obj_.original_tagname_ = 'Lagerung_Art' + elif nodeName_ == 'Lieferlaenge': + obj_ = TCLieferlaenge.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Lieferlaenge = obj_ + obj_.original_tagname_ = 'Lieferlaenge' + elif nodeName_ == 'Montage_Ausgleichsgewichte': + obj_ = TCMontage_Ausgleichsgewichte.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Montage_Ausgleichsgewichte = obj_ + obj_.original_tagname_ = 'Montage_Ausgleichsgewichte' + elif nodeName_ == 'Sperrlaenge': + obj_ = TCSperrlaenge.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Sperrlaenge = obj_ + obj_.original_tagname_ = 'Sperrlaenge' +# end class CSA_Schrankenbaum + + +class CSchrankenantrieb_Bezeichnung(GeneratedsSuper): + """Bez_Schrankenantrieb -- Bezeichnung des Schrankenantriebs, z. B. A1. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Bez_Schrankenantrieb=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Bez_Schrankenantrieb = Bez_Schrankenantrieb + self.Bez_Schrankenantrieb_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CSchrankenantrieb_Bezeichnung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CSchrankenantrieb_Bezeichnung.subclass: + return CSchrankenantrieb_Bezeichnung.subclass(*args_, **kwargs_) + else: + return CSchrankenantrieb_Bezeichnung(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Bez_Schrankenantrieb(self): + return self.Bez_Schrankenantrieb + def set_Bez_Schrankenantrieb(self, Bez_Schrankenantrieb): + self.Bez_Schrankenantrieb = Bez_Schrankenantrieb + def has__content(self): + if ( + self.Bez_Schrankenantrieb is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='CSchrankenantrieb_Bezeichnung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CSchrankenantrieb_Bezeichnung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CSchrankenantrieb_Bezeichnung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CSchrankenantrieb_Bezeichnung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CSchrankenantrieb_Bezeichnung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBahnuebergang:', name_='CSchrankenantrieb_Bezeichnung'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='CSchrankenantrieb_Bezeichnung', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Bez_Schrankenantrieb is not None: + namespaceprefix_ = self.Bez_Schrankenantrieb_nsprefix_ + ':' if (UseCapturedNS_ and self.Bez_Schrankenantrieb_nsprefix_) else '' + self.Bez_Schrankenantrieb.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Bez_Schrankenantrieb', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Bez_Schrankenantrieb': + obj_ = TCBez_Schrankenantrieb.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Bez_Schrankenantrieb = obj_ + obj_.original_tagname_ = 'Bez_Schrankenantrieb' +# end class CSchrankenantrieb_Bezeichnung + + +class TCLagerung_Art(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCLagerung_Art"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMLagerung(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCLagerung_Art) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCLagerung_Art.subclass: + return TCLagerung_Art.subclass(*args_, **kwargs_) + else: + return TCLagerung_Art(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMLagerung(self, value): + result = True + # Validate type ENUMLagerung, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['beidseitig', 'einseitig'] + 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 ENUMLagerung' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCLagerung_Art, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='TCLagerung_Art', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCLagerung_Art') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCLagerung_Art': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCLagerung_Art') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCLagerung_Art', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBahnuebergang:', name_='TCLagerung_Art'): + super(TCLagerung_Art, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCLagerung_Art') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='TCLagerung_Art', fromsubclass_=False, pretty_print=True): + super(TCLagerung_Art, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCLagerung_Art, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMLagerung + self.validate_ENUMLagerung(self.Wert) + super(TCLagerung_Art, self)._buildChildren(child_, node, nodeName_, True) +# end class TCLagerung_Art + + +class TCSignalverz_Errechnet(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCSignalverz_Errechnet"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TSignalverz_Errechnet(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCSignalverz_Errechnet) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCSignalverz_Errechnet.subclass: + return TCSignalverz_Errechnet.subclass(*args_, **kwargs_) + else: + return TCSignalverz_Errechnet(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TSignalverz_Errechnet(self, value): + result = True + # Validate type TSignalverz_Errechnet, a restriction on nsBasisTypen:TSekunde. + 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 not self.gds_validate_simple_patterns( + self.validate_TSignalverz_Errechnet_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TSignalverz_Errechnet_patterns_, )) + result = False + return result + validate_TSignalverz_Errechnet_patterns_ = [['^((0|[1-9][0-9]{0,4})\\.[0-9]{2})$'], ['^([0-9]{1,5}(\\.[0-9]{2})?)$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCSignalverz_Errechnet, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='TCSignalverz_Errechnet', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCSignalverz_Errechnet') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCSignalverz_Errechnet': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCSignalverz_Errechnet') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCSignalverz_Errechnet', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBahnuebergang:', name_='TCSignalverz_Errechnet'): + super(TCSignalverz_Errechnet, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCSignalverz_Errechnet') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='TCSignalverz_Errechnet', fromsubclass_=False, pretty_print=True): + super(TCSignalverz_Errechnet, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_decimal(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCSignalverz_Errechnet, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + fval_ = self.gds_parse_decimal(sval_, node, 'Wert') + fval_ = self.gds_validate_decimal(fval_, node, 'Wert') + self.Wert = fval_ + self.Wert_nsprefix_ = child_.prefix + # validate type TSignalverz_Errechnet + self.validate_TSignalverz_Errechnet(self.Wert) + super(TCSignalverz_Errechnet, self)._buildChildren(child_, node, nodeName_, True) +# end class TCSignalverz_Errechnet + + +class TCSperrstrecke(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCSperrstrecke"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TSperrstrecke(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCSperrstrecke) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCSperrstrecke.subclass: + return TCSperrstrecke.subclass(*args_, **kwargs_) + else: + return TCSperrstrecke(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TSperrstrecke(self, value): + result = True + # Validate type TSperrstrecke, a restriction on nsBasisTypen:TMeter. + 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 + pass + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCSperrstrecke, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='TCSperrstrecke', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCSperrstrecke') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCSperrstrecke': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCSperrstrecke') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCSperrstrecke', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBahnuebergang:', name_='TCSperrstrecke'): + super(TCSperrstrecke, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCSperrstrecke') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='TCSperrstrecke', fromsubclass_=False, pretty_print=True): + super(TCSperrstrecke, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_decimal(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCSperrstrecke, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + fval_ = self.gds_parse_decimal(sval_, node, 'Wert') + fval_ = self.gds_validate_decimal(fval_, node, 'Wert') + self.Wert = fval_ + self.Wert_nsprefix_ = child_.prefix + # validate type TSperrstrecke + self.validate_TSperrstrecke(self.Wert) + super(TCSperrstrecke, self)._buildChildren(child_, node, nodeName_, True) +# end class TCSperrstrecke + + +class CBUE_Schnittstelle(CBasis_Objekt): + """CBUE_Schnittstelle -- Schnittstelle zwischen dem Planer des ESTW und dem Planer der technischen Sicherung des Bahn + ü + bergangs. Im ESTW wird eine technische Schnittstelle f + ü + r Hp-Abh + ä + ngigkeiten zwischen ESTW und B + Ü + und/oder Fern + ü + berwachung (F + Ü + ) durch den + ö + zF vorgesehen. Bau-B + Ü + , die + ü + ber eine Schl + ü + sselsperre gesichert werden, sowie nichttechnisch gesicherte B + Ü + erhalten keine BUE_Schnittstelle. DB-Regelwerk Die betreffenden Angaben finden sich im \"Datenblatt f + ü + r die Abh + ä + ngigkeiten B + Ü + - Stw\". + ID_Stellelement -- Verweis auf das Objekt Stellelement zur Zusammenfassung von Eigenschaften der Objekte BUE Schnittstelle, PZB Element, Schluesselsperre, Signal, W Kr Gsp Element. Das Stellelement enth + ä + lt Informationen + ü + ber den energetischen und logischen Anschluss der Objekte. F + ü + r das PZB Element ist der Verweis nur zu f + ü + llen, wenn das PZB_Element eine G + Ü + ist. DB-Regelwerk Bisher ohne eindeutige Darstellung + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasis_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, BUE_Abhaengigkeit_Fue=None, BUE_Schnittstelle_Allg=None, ID_Stellelement=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CBUE_Schnittstelle"), self).__init__(Identitaet, Basis_Objekt_Allg, ID_Bearbeitungsvermerk, ID_Oertlichkeit_Ausgabe, Objektreferenzen, **kwargs_) + self.BUE_Abhaengigkeit_Fue = BUE_Abhaengigkeit_Fue + self.BUE_Abhaengigkeit_Fue_nsprefix_ = None + self.BUE_Schnittstelle_Allg = BUE_Schnittstelle_Allg + self.BUE_Schnittstelle_Allg_nsprefix_ = None + self.ID_Stellelement = ID_Stellelement + self.ID_Stellelement_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CBUE_Schnittstelle) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CBUE_Schnittstelle.subclass: + return CBUE_Schnittstelle.subclass(*args_, **kwargs_) + else: + return CBUE_Schnittstelle(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_BUE_Abhaengigkeit_Fue(self): + return self.BUE_Abhaengigkeit_Fue + def set_BUE_Abhaengigkeit_Fue(self, BUE_Abhaengigkeit_Fue): + self.BUE_Abhaengigkeit_Fue = BUE_Abhaengigkeit_Fue + def get_BUE_Schnittstelle_Allg(self): + return self.BUE_Schnittstelle_Allg + def set_BUE_Schnittstelle_Allg(self, BUE_Schnittstelle_Allg): + self.BUE_Schnittstelle_Allg = BUE_Schnittstelle_Allg + def get_ID_Stellelement(self): + return self.ID_Stellelement + def set_ID_Stellelement(self, ID_Stellelement): + self.ID_Stellelement = ID_Stellelement + def has__content(self): + if ( + self.BUE_Abhaengigkeit_Fue is not None or + self.BUE_Schnittstelle_Allg is not None or + self.ID_Stellelement is not None or + super(CBUE_Schnittstelle, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CBUE_Schnittstelle', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CBUE_Schnittstelle') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CBUE_Schnittstelle': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CBUE_Schnittstelle') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CBUE_Schnittstelle', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBahnuebergang:', name_='CBUE_Schnittstelle'): + super(CBUE_Schnittstelle, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CBUE_Schnittstelle') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CBUE_Schnittstelle', fromsubclass_=False, pretty_print=True): + super(CBUE_Schnittstelle, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.BUE_Abhaengigkeit_Fue is not None: + namespaceprefix_ = self.BUE_Abhaengigkeit_Fue_nsprefix_ + ':' if (UseCapturedNS_ and self.BUE_Abhaengigkeit_Fue_nsprefix_) else '' + self.BUE_Abhaengigkeit_Fue.export(outfile, level, namespaceprefix_, namespacedef_='', name_='BUE_Abhaengigkeit_Fue', pretty_print=pretty_print) + if self.BUE_Schnittstelle_Allg is not None: + namespaceprefix_ = self.BUE_Schnittstelle_Allg_nsprefix_ + ':' if (UseCapturedNS_ and self.BUE_Schnittstelle_Allg_nsprefix_) else '' + self.BUE_Schnittstelle_Allg.export(outfile, level, namespaceprefix_, namespacedef_='', name_='BUE_Schnittstelle_Allg', pretty_print=pretty_print) + if self.ID_Stellelement is not None: + namespaceprefix_ = self.ID_Stellelement_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Stellelement_nsprefix_) else '' + self.ID_Stellelement.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Stellelement', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CBUE_Schnittstelle, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'BUE_Abhaengigkeit_Fue': + obj_ = CBUE_Abhaengigkeit_Fue.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.BUE_Abhaengigkeit_Fue = obj_ + obj_.original_tagname_ = 'BUE_Abhaengigkeit_Fue' + elif nodeName_ == 'BUE_Schnittstelle_Allg': + obj_ = CBUE_Schnittstelle_Allg.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.BUE_Schnittstelle_Allg = obj_ + obj_.original_tagname_ = 'BUE_Schnittstelle_Allg' + elif nodeName_ == 'ID_Stellelement': + obj_ = TCID_Stellelement.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Stellelement = obj_ + obj_.original_tagname_ = 'ID_Stellelement' + super(CBUE_Schnittstelle, self)._buildChildren(child_, node, nodeName_, True) +# end class CBUE_Schnittstelle + + +class CBUE_Deckendes_Signal_Zuordnung(CBasis_Objekt): + """CBUE_Deckendes_Signal_Zuordnung -- Das Zuordnungsobjekt BUE_Deckendes_Signal bildet die diesbez + ü + gliche Angabe in der Signaltabelle 1 sowie in der Einschaltstreckenberechnung ab. Die Angaben in der Signaltabelle 1 sowie in der Einschaltstreckenberechnung beziehen sich auf das deckende Signal (Haupt-/LS-Signal) und nicht auf die den B + Ü + -Schlie + ß + vorgang ansto + ß + ende Fahrstra + ß + e. DB-Regelwerk Signaltabelle 1, Zeile 33 und 34 Einschaltstreckenberechnung + ID_BUE_Einschaltung -- Verweis auf die zu dem deckenden Signal zugeh + ö + rige Einschaltung. DB-Regelwerk Signaltabelle 1 + ID_Signal -- Zuordnung zu dem Signal, welches den B + Ü + deckt (deckendes Haupt-/ LS-Signal). + Sicherheitsabstand -- Abstand vom deckenden Signal zur B + Ü + -Kante. Im Gegensatz zum B + Ü + -Gefahrraum werden abgesetzte Fu + ß + - und Radwege dabei ber + ü + cksichtigt. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasis_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, ID_BUE_Einschaltung=None, ID_Signal=None, Sicherheitsabstand=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CBUE_Deckendes_Signal_Zuordnung"), self).__init__(Identitaet, Basis_Objekt_Allg, ID_Bearbeitungsvermerk, ID_Oertlichkeit_Ausgabe, Objektreferenzen, **kwargs_) + self.ID_BUE_Einschaltung = ID_BUE_Einschaltung + self.ID_BUE_Einschaltung_nsprefix_ = None + self.ID_Signal = ID_Signal + self.ID_Signal_nsprefix_ = None + self.Sicherheitsabstand = Sicherheitsabstand + self.Sicherheitsabstand_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CBUE_Deckendes_Signal_Zuordnung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CBUE_Deckendes_Signal_Zuordnung.subclass: + return CBUE_Deckendes_Signal_Zuordnung.subclass(*args_, **kwargs_) + else: + return CBUE_Deckendes_Signal_Zuordnung(*args_, **kwargs_) + factory = staticmethod(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_BUE_Einschaltung(self): + return self.ID_BUE_Einschaltung + def set_ID_BUE_Einschaltung(self, ID_BUE_Einschaltung): + self.ID_BUE_Einschaltung = ID_BUE_Einschaltung + def get_ID_Signal(self): + return self.ID_Signal + def set_ID_Signal(self, ID_Signal): + self.ID_Signal = ID_Signal + def get_Sicherheitsabstand(self): + return self.Sicherheitsabstand + def set_Sicherheitsabstand(self, Sicherheitsabstand): + self.Sicherheitsabstand = Sicherheitsabstand + def has__content(self): + if ( + self.ID_BUE_Einschaltung is not None or + self.ID_Signal is not None or + self.Sicherheitsabstand is not None or + super(CBUE_Deckendes_Signal_Zuordnung, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CBUE_Deckendes_Signal_Zuordnung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CBUE_Deckendes_Signal_Zuordnung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CBUE_Deckendes_Signal_Zuordnung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CBUE_Deckendes_Signal_Zuordnung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CBUE_Deckendes_Signal_Zuordnung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBahnuebergang:', name_='CBUE_Deckendes_Signal_Zuordnung'): + super(CBUE_Deckendes_Signal_Zuordnung, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CBUE_Deckendes_Signal_Zuordnung') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CBUE_Deckendes_Signal_Zuordnung', fromsubclass_=False, pretty_print=True): + super(CBUE_Deckendes_Signal_Zuordnung, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.ID_BUE_Einschaltung is not None: + namespaceprefix_ = self.ID_BUE_Einschaltung_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_BUE_Einschaltung_nsprefix_) else '' + self.ID_BUE_Einschaltung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_BUE_Einschaltung', pretty_print=pretty_print) + if self.ID_Signal is not None: + namespaceprefix_ = self.ID_Signal_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Signal_nsprefix_) else '' + self.ID_Signal.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Signal', pretty_print=pretty_print) + if self.Sicherheitsabstand is not None: + namespaceprefix_ = self.Sicherheitsabstand_nsprefix_ + ':' if (UseCapturedNS_ and self.Sicherheitsabstand_nsprefix_) else '' + self.Sicherheitsabstand.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Sicherheitsabstand', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CBUE_Deckendes_Signal_Zuordnung, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_BUE_Einschaltung': + obj_ = TCID_BUE_Einschaltung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_BUE_Einschaltung = obj_ + obj_.original_tagname_ = 'ID_BUE_Einschaltung' + elif nodeName_ == 'ID_Signal': + obj_ = TCID_Signal.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Signal = obj_ + obj_.original_tagname_ = 'ID_Signal' + elif nodeName_ == 'Sicherheitsabstand': + obj_ = TCSicherheitsabstand.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Sicherheitsabstand = obj_ + obj_.original_tagname_ = 'Sicherheitsabstand' + super(CBUE_Deckendes_Signal_Zuordnung, self)._buildChildren(child_, node, nodeName_, True) +# end class CBUE_Deckendes_Signal_Zuordnung + + +class TCAusrichtung(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCAusrichtung"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TAusrichtung(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCAusrichtung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCAusrichtung.subclass: + return TCAusrichtung.subclass(*args_, **kwargs_) + else: + return TCAusrichtung(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TAusrichtung(self, value): + result = True + # Validate type TAusrichtung, a restriction on nsBasisTypen:ENUMAusrichtung. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['gegen', 'in', 'keine'] + 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 TAusrichtung' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCAusrichtung, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCAusrichtung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCAusrichtung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCAusrichtung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCAusrichtung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCAusrichtung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBahnuebergang:', name_='TCAusrichtung'): + super(TCAusrichtung, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCAusrichtung') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCAusrichtung', fromsubclass_=False, pretty_print=True): + super(TCAusrichtung, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCAusrichtung, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TAusrichtung + self.validate_TAusrichtung(self.Wert) + super(TCAusrichtung, self)._buildChildren(child_, node, nodeName_, True) +# end class TCAusrichtung + + +class TCMontage_Besonders(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCMontage_Besonders"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TMontage_Besonders(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCMontage_Besonders) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCMontage_Besonders.subclass: + return TCMontage_Besonders.subclass(*args_, **kwargs_) + else: + return TCMontage_Besonders(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TMontage_Besonders(self, value): + result = True + # Validate type TMontage_Besonders, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TMontage_Besonders_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TMontage_Besonders_patterns_, )) + result = False + return result + validate_TMontage_Besonders_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCMontage_Besonders, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='TCMontage_Besonders', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCMontage_Besonders') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCMontage_Besonders': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCMontage_Besonders') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCMontage_Besonders', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBahnuebergang:', name_='TCMontage_Besonders'): + super(TCMontage_Besonders, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCMontage_Besonders') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='TCMontage_Besonders', fromsubclass_=False, pretty_print=True): + super(TCMontage_Besonders, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCMontage_Besonders, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TMontage_Besonders + self.validate_TMontage_Besonders(self.Wert) + super(TCMontage_Besonders, self)._buildChildren(child_, node, nodeName_, True) +# end class TCMontage_Besonders + + +class CSchrankenantrieb_Allg(GeneratedsSuper): + """Abstand_Gehweg_Fahrbahn -- Abstand von der Mitte des Schrankenantriebs zur n + ä + chstgelegenen Gehweg- bzw. Fahrbahnkante. Der seitlicher Abstand zur Gleisachse ist + ü + ber die Eigenschaft \"Punkt_Objekt\" abgebildet. + Hersteller -- Unternehmen, das die Funktionsf + ä + higkeit der Anlage verantwortlich hergestellt hat oder Hersteller des jeweiligen Elements. Diese Eigenschaft ist kein Datum einer Planung, sondern dient im R + ü + cklauf der Planung dazu den Hersteller im Bestand zu erfassen. Es ist die zum Zeitpunkt der Inbetriebnahme g + ü + ltige Firmierung zu verwenden. DB-Regelwerk Beschreibung im Erl + ä + uterungsbericht + Schaltgruppe -- Zuordnung des Schrankenantriebs zu einer Schaltgruppe. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Abstand_Gehweg_Fahrbahn=None, Hersteller=None, Schaltgruppe=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Abstand_Gehweg_Fahrbahn = Abstand_Gehweg_Fahrbahn + self.Abstand_Gehweg_Fahrbahn_nsprefix_ = None + self.Hersteller = Hersteller + self.Hersteller_nsprefix_ = None + self.Schaltgruppe = Schaltgruppe + self.Schaltgruppe_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CSchrankenantrieb_Allg) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CSchrankenantrieb_Allg.subclass: + return CSchrankenantrieb_Allg.subclass(*args_, **kwargs_) + else: + return CSchrankenantrieb_Allg(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Abstand_Gehweg_Fahrbahn(self): + return self.Abstand_Gehweg_Fahrbahn + def set_Abstand_Gehweg_Fahrbahn(self, Abstand_Gehweg_Fahrbahn): + self.Abstand_Gehweg_Fahrbahn = Abstand_Gehweg_Fahrbahn + def get_Hersteller(self): + return self.Hersteller + def set_Hersteller(self, Hersteller): + self.Hersteller = Hersteller + def get_Schaltgruppe(self): + return self.Schaltgruppe + def set_Schaltgruppe(self, Schaltgruppe): + self.Schaltgruppe = Schaltgruppe + def has__content(self): + if ( + self.Abstand_Gehweg_Fahrbahn is not None or + self.Hersteller is not None or + self.Schaltgruppe is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='CSchrankenantrieb_Allg', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CSchrankenantrieb_Allg') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CSchrankenantrieb_Allg': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CSchrankenantrieb_Allg') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CSchrankenantrieb_Allg', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBahnuebergang:', name_='CSchrankenantrieb_Allg'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='CSchrankenantrieb_Allg', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Abstand_Gehweg_Fahrbahn is not None: + namespaceprefix_ = self.Abstand_Gehweg_Fahrbahn_nsprefix_ + ':' if (UseCapturedNS_ and self.Abstand_Gehweg_Fahrbahn_nsprefix_) else '' + self.Abstand_Gehweg_Fahrbahn.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Abstand_Gehweg_Fahrbahn', pretty_print=pretty_print) + if self.Hersteller is not None: + namespaceprefix_ = self.Hersteller_nsprefix_ + ':' if (UseCapturedNS_ and self.Hersteller_nsprefix_) else '' + self.Hersteller.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Hersteller', pretty_print=pretty_print) + if self.Schaltgruppe is not None: + namespaceprefix_ = self.Schaltgruppe_nsprefix_ + ':' if (UseCapturedNS_ and self.Schaltgruppe_nsprefix_) else '' + self.Schaltgruppe.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Schaltgruppe', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Abstand_Gehweg_Fahrbahn': + obj_ = TCAbstand_Gehweg_Fahrbahn.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Abstand_Gehweg_Fahrbahn = obj_ + obj_.original_tagname_ = 'Abstand_Gehweg_Fahrbahn' + elif nodeName_ == 'Hersteller': + obj_ = TCHersteller.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Hersteller = obj_ + obj_.original_tagname_ = 'Hersteller' + elif nodeName_ == 'Schaltgruppe': + obj_ = TCSchaltgruppe.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Schaltgruppe = obj_ + obj_.original_tagname_ = 'Schaltgruppe' +# end class CSchrankenantrieb_Allg + + +class TCEinschaltverz_Gewaehlt(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCEinschaltverz_Gewaehlt"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TEinschaltverz_Gewaehlt(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCEinschaltverz_Gewaehlt) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCEinschaltverz_Gewaehlt.subclass: + return TCEinschaltverz_Gewaehlt.subclass(*args_, **kwargs_) + else: + return TCEinschaltverz_Gewaehlt(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TEinschaltverz_Gewaehlt(self, value): + result = True + # Validate type TEinschaltverz_Gewaehlt, a restriction on nsBasisTypen:TSekunde. + 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 not self.gds_validate_simple_patterns( + self.validate_TEinschaltverz_Gewaehlt_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TEinschaltverz_Gewaehlt_patterns_, )) + result = False + return result + validate_TEinschaltverz_Gewaehlt_patterns_ = [['^((0|[1-9][0-9]{0,4})\\.[0-9]{2})$'], ['^([0-9]{1,5}(\\.[0-9]{2})?)$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCEinschaltverz_Gewaehlt, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='TCEinschaltverz_Gewaehlt', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCEinschaltverz_Gewaehlt') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCEinschaltverz_Gewaehlt': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCEinschaltverz_Gewaehlt') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCEinschaltverz_Gewaehlt', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBahnuebergang:', name_='TCEinschaltverz_Gewaehlt'): + super(TCEinschaltverz_Gewaehlt, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCEinschaltverz_Gewaehlt') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='TCEinschaltverz_Gewaehlt', fromsubclass_=False, pretty_print=True): + super(TCEinschaltverz_Gewaehlt, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_decimal(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCEinschaltverz_Gewaehlt, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + fval_ = self.gds_parse_decimal(sval_, node, 'Wert') + fval_ = self.gds_validate_decimal(fval_, node, 'Wert') + self.Wert = fval_ + self.Wert_nsprefix_ = child_.prefix + # validate type TEinschaltverz_Gewaehlt + self.validate_TEinschaltverz_Gewaehlt(self.Wert) + super(TCEinschaltverz_Gewaehlt, self)._buildChildren(child_, node, nodeName_, True) +# end class TCEinschaltverz_Gewaehlt + + +class TCBUE_Handschalteinrichtung(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCBUE_Handschalteinrichtung"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMBUE_Handschalteinrichtung(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCBUE_Handschalteinrichtung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCBUE_Handschalteinrichtung.subclass: + return TCBUE_Handschalteinrichtung.subclass(*args_, **kwargs_) + else: + return TCBUE_Handschalteinrichtung(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMBUE_Handschalteinrichtung(self, value): + result = True + # Validate type ENUMBUE_Handschalteinrichtung, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['AT', 'ET', 'HAT', 'HET', 'RS', 'RT_ein_aus', 'RT_ein_RT_aus', 'sonstige', 'UT'] + 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 ENUMBUE_Handschalteinrichtung' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCBUE_Handschalteinrichtung, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='TCBUE_Handschalteinrichtung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCBUE_Handschalteinrichtung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCBUE_Handschalteinrichtung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBUE_Handschalteinrichtung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCBUE_Handschalteinrichtung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBahnuebergang:', name_='TCBUE_Handschalteinrichtung'): + super(TCBUE_Handschalteinrichtung, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBUE_Handschalteinrichtung') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='TCBUE_Handschalteinrichtung', fromsubclass_=False, pretty_print=True): + super(TCBUE_Handschalteinrichtung, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCBUE_Handschalteinrichtung, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMBUE_Handschalteinrichtung + self.validate_ENUMBUE_Handschalteinrichtung(self.Wert) + super(TCBUE_Handschalteinrichtung, self)._buildChildren(child_, node, nodeName_, True) +# end class TCBUE_Handschalteinrichtung + + +class TCBUE_Strasse(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCBUE_Strasse"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TBUE_Strasse(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCBUE_Strasse) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCBUE_Strasse.subclass: + return TCBUE_Strasse.subclass(*args_, **kwargs_) + else: + return TCBUE_Strasse(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TBUE_Strasse(self, value): + result = True + # Validate type TBUE_Strasse, a restriction on nsBasisTypen:TText. + pass + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCBUE_Strasse, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='TCBUE_Strasse', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCBUE_Strasse') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCBUE_Strasse': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBUE_Strasse') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCBUE_Strasse', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBahnuebergang:', name_='TCBUE_Strasse'): + super(TCBUE_Strasse, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBUE_Strasse') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='TCBUE_Strasse', fromsubclass_=False, pretty_print=True): + super(TCBUE_Strasse, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(' '.join(self.Wert)), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCBUE_Strasse, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TBUE_Strasse + self.validate_TBUE_Strasse(self.Wert) + super(TCBUE_Strasse, self)._buildChildren(child_, node, nodeName_, True) +# end class TCBUE_Strasse + + +class TCPixel_Koordinate_Y(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCPixel_Koordinate_Y"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TPixel_Koordinate_Y(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCPixel_Koordinate_Y) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCPixel_Koordinate_Y.subclass: + return TCPixel_Koordinate_Y.subclass(*args_, **kwargs_) + else: + return TCPixel_Koordinate_Y(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TPixel_Koordinate_Y(self, value): + result = True + # Validate type TPixel_Koordinate_Y, a restriction on xs:integer. + 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 + pass + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCPixel_Koordinate_Y, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='TCPixel_Koordinate_Y', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCPixel_Koordinate_Y') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCPixel_Koordinate_Y': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCPixel_Koordinate_Y') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCPixel_Koordinate_Y', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBahnuebergang:', name_='TCPixel_Koordinate_Y'): + super(TCPixel_Koordinate_Y, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCPixel_Koordinate_Y') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='TCPixel_Koordinate_Y', fromsubclass_=False, pretty_print=True): + super(TCPixel_Koordinate_Y, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_integer(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCPixel_Koordinate_Y, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + ival_ = self.gds_parse_integer(sval_, node, 'Wert') + ival_ = self.gds_validate_integer(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + # validate type TPixel_Koordinate_Y + self.validate_TPixel_Koordinate_Y(self.Wert) + super(TCPixel_Koordinate_Y, self)._buildChildren(child_, node, nodeName_, True) +# end class TCPixel_Koordinate_Y + + +class TCRaeumstrecke_DAB(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCRaeumstrecke_DAB"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TRaeumstrecke_DAB(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCRaeumstrecke_DAB) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCRaeumstrecke_DAB.subclass: + return TCRaeumstrecke_DAB.subclass(*args_, **kwargs_) + else: + return TCRaeumstrecke_DAB(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TRaeumstrecke_DAB(self, value): + result = True + # Validate type TRaeumstrecke_DAB, a restriction on nsBasisTypen:TMeter. + 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 + pass + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCRaeumstrecke_DAB, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='TCRaeumstrecke_DAB', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCRaeumstrecke_DAB') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCRaeumstrecke_DAB': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCRaeumstrecke_DAB') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCRaeumstrecke_DAB', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBahnuebergang:', name_='TCRaeumstrecke_DAB'): + super(TCRaeumstrecke_DAB, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCRaeumstrecke_DAB') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='TCRaeumstrecke_DAB', fromsubclass_=False, pretty_print=True): + super(TCRaeumstrecke_DAB, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_decimal(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCRaeumstrecke_DAB, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + fval_ = self.gds_parse_decimal(sval_, node, 'Wert') + fval_ = self.gds_validate_decimal(fval_, node, 'Wert') + self.Wert = fval_ + self.Wert_nsprefix_ = child_.prefix + # validate type TRaeumstrecke_DAB + self.validate_TRaeumstrecke_DAB(self.Wert) + super(TCRaeumstrecke_DAB, self)._buildChildren(child_, node, nodeName_, True) +# end class TCRaeumstrecke_DAB + + +class CSchaltmittel_Fstr_Zuordnung(CBasis_Objekt): + """CSchaltmittel_Fstr_Zuordnung -- Verkn + ü + pft bei einem Bahn + ü + bergang mit der Funktions + ü + berwachung F + ü + die m + ö + glichen Fahrstra + ß + en mit den Elementen f + ü + r die Wirksamschaltung. + ID_BUE_WS_Fstr_Zuordnung -- Ordnet eine zul + ä + ssige Kombination von Fahrstra + ß + e und B + Ü + -Einschaltung f + ü + r die Wirksamkeitsschaltung der Einschaltstelle zu. Falls Einschaltstellen von B + Ü + nur dann wirksam sein sollen, wenn bestimmte Fahrstra + ß + en eingestellt sind, so werden in einem ersten Schritt Zuordnungsobjekte zwischen der Funktion Einschaltung eines B + Ü + und allen auf diesen B + Ü + zulaufenden Fahrstra + ß + en gebildet. ID_BUE_WS_Fstr_Zuordnung verweist auf dieses Zuordnungsobjekt. + ID_Schaltmittel_Zuordnung -- Ordnet einer vom Befahren eines bestimmten Punktes abh + ä + ngigen Funktion ein Schaltmittel zu. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasis_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, ID_BUE_WS_Fstr_Zuordnung=None, ID_Schaltmittel_Zuordnung=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CSchaltmittel_Fstr_Zuordnung"), self).__init__(Identitaet, Basis_Objekt_Allg, ID_Bearbeitungsvermerk, ID_Oertlichkeit_Ausgabe, Objektreferenzen, **kwargs_) + self.ID_BUE_WS_Fstr_Zuordnung = ID_BUE_WS_Fstr_Zuordnung + self.ID_BUE_WS_Fstr_Zuordnung_nsprefix_ = None + self.ID_Schaltmittel_Zuordnung = ID_Schaltmittel_Zuordnung + self.ID_Schaltmittel_Zuordnung_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CSchaltmittel_Fstr_Zuordnung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CSchaltmittel_Fstr_Zuordnung.subclass: + return CSchaltmittel_Fstr_Zuordnung.subclass(*args_, **kwargs_) + else: + return CSchaltmittel_Fstr_Zuordnung(*args_, **kwargs_) + factory = staticmethod(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_BUE_WS_Fstr_Zuordnung(self): + return self.ID_BUE_WS_Fstr_Zuordnung + def set_ID_BUE_WS_Fstr_Zuordnung(self, ID_BUE_WS_Fstr_Zuordnung): + self.ID_BUE_WS_Fstr_Zuordnung = ID_BUE_WS_Fstr_Zuordnung + def get_ID_Schaltmittel_Zuordnung(self): + return self.ID_Schaltmittel_Zuordnung + def set_ID_Schaltmittel_Zuordnung(self, ID_Schaltmittel_Zuordnung): + self.ID_Schaltmittel_Zuordnung = ID_Schaltmittel_Zuordnung + def has__content(self): + if ( + self.ID_BUE_WS_Fstr_Zuordnung is not None or + self.ID_Schaltmittel_Zuordnung is not None or + super(CSchaltmittel_Fstr_Zuordnung, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CSchaltmittel_Fstr_Zuordnung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CSchaltmittel_Fstr_Zuordnung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CSchaltmittel_Fstr_Zuordnung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CSchaltmittel_Fstr_Zuordnung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CSchaltmittel_Fstr_Zuordnung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBahnuebergang:', name_='CSchaltmittel_Fstr_Zuordnung'): + super(CSchaltmittel_Fstr_Zuordnung, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CSchaltmittel_Fstr_Zuordnung') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CSchaltmittel_Fstr_Zuordnung', fromsubclass_=False, pretty_print=True): + super(CSchaltmittel_Fstr_Zuordnung, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.ID_BUE_WS_Fstr_Zuordnung is not None: + namespaceprefix_ = self.ID_BUE_WS_Fstr_Zuordnung_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_BUE_WS_Fstr_Zuordnung_nsprefix_) else '' + self.ID_BUE_WS_Fstr_Zuordnung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_BUE_WS_Fstr_Zuordnung', pretty_print=pretty_print) + if self.ID_Schaltmittel_Zuordnung is not None: + namespaceprefix_ = self.ID_Schaltmittel_Zuordnung_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Schaltmittel_Zuordnung_nsprefix_) else '' + self.ID_Schaltmittel_Zuordnung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Schaltmittel_Zuordnung', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CSchaltmittel_Fstr_Zuordnung, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_BUE_WS_Fstr_Zuordnung': + obj_ = TCID_BUE_WS_Fstr_Zuordnung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_BUE_WS_Fstr_Zuordnung = obj_ + obj_.original_tagname_ = 'ID_BUE_WS_Fstr_Zuordnung' + elif nodeName_ == 'ID_Schaltmittel_Zuordnung': + obj_ = TCID_Schaltmittel_Zuordnung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Schaltmittel_Zuordnung = obj_ + obj_.original_tagname_ = 'ID_Schaltmittel_Zuordnung' + super(CSchaltmittel_Fstr_Zuordnung, self)._buildChildren(child_, node, nodeName_, True) +# end class CSchaltmittel_Fstr_Zuordnung + + +class TCOptik_Symbolmaske(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCOptik_Symbolmaske"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMOptik_Symbol(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCOptik_Symbolmaske) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCOptik_Symbolmaske.subclass: + return TCOptik_Symbolmaske.subclass(*args_, **kwargs_) + else: + return TCOptik_Symbolmaske(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMOptik_Symbol(self, value): + result = True + # Validate type ENUMOptik_Symbol, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['Fussgaenger', 'Fussgaenger_Radfahrer', 'Pfeil_links', 'Pfeil_rechts', 'Radfahrer', 'sonstige'] + 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 ENUMOptik_Symbol' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCOptik_Symbolmaske, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='TCOptik_Symbolmaske', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCOptik_Symbolmaske') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCOptik_Symbolmaske': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCOptik_Symbolmaske') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCOptik_Symbolmaske', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBahnuebergang:', name_='TCOptik_Symbolmaske'): + super(TCOptik_Symbolmaske, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCOptik_Symbolmaske') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='TCOptik_Symbolmaske', fromsubclass_=False, pretty_print=True): + super(TCOptik_Symbolmaske, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCOptik_Symbolmaske, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMOptik_Symbol + self.validate_ENUMOptik_Symbol(self.Wert) + super(TCOptik_Symbolmaske, self)._buildChildren(child_, node, nodeName_, True) +# end class TCOptik_Symbolmaske + + +class TCV_Min_Strasse(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCV_Min_Strasse"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TV_Min_Strasse(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCV_Min_Strasse) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCV_Min_Strasse.subclass: + return TCV_Min_Strasse.subclass(*args_, **kwargs_) + else: + return TCV_Min_Strasse(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TV_Min_Strasse(self, value): + result = True + # Validate type TV_Min_Strasse, a restriction on nsBasisTypen:TGeschwindigkeit. + 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_TV_Min_Strasse_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TV_Min_Strasse_patterns_, )) + result = False + return result + validate_TV_Min_Strasse_patterns_ = [['^(5|10)$'], ['^(0|[1-9][0-9]{0,1}|[1-4][0-9]{2}|500)$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCV_Min_Strasse, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='TCV_Min_Strasse', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCV_Min_Strasse') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCV_Min_Strasse': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCV_Min_Strasse') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCV_Min_Strasse', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBahnuebergang:', name_='TCV_Min_Strasse'): + super(TCV_Min_Strasse, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCV_Min_Strasse') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='TCV_Min_Strasse', fromsubclass_=False, pretty_print=True): + super(TCV_Min_Strasse, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_integer(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCV_Min_Strasse, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + ival_ = self.gds_parse_integer(sval_, node, 'Wert') + ival_ = self.gds_validate_integer(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + # validate type TV_Min_Strasse + self.validate_TV_Min_Strasse(self.Wert) + super(TCV_Min_Strasse, self)._buildChildren(child_, node, nodeName_, True) +# end class TCV_Min_Strasse + + +class TCGFR_Typ(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCGFR_Typ"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TGFR_Typ(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCGFR_Typ) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCGFR_Typ.subclass: + return TCGFR_Typ.subclass(*args_, **kwargs_) + else: + return TCGFR_Typ(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TGFR_Typ(self, value): + result = True + # Validate type TGFR_Typ, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGFR_Typ_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGFR_Typ_patterns_, )) + result = False + return result + validate_TGFR_Typ_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCGFR_Typ, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='TCGFR_Typ', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCGFR_Typ') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCGFR_Typ': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCGFR_Typ') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCGFR_Typ', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBahnuebergang:', name_='TCGFR_Typ'): + super(TCGFR_Typ, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCGFR_Typ') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='TCGFR_Typ', fromsubclass_=False, pretty_print=True): + super(TCGFR_Typ, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCGFR_Typ, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGFR_Typ + self.validate_TGFR_Typ(self.Wert) + super(TCGFR_Typ, self)._buildChildren(child_, node, nodeName_, True) +# end class TCGFR_Typ + + +class TCAbstand_Gehweg_Fahrbahn(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCAbstand_Gehweg_Fahrbahn"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TAbstand_Gehweg_Fahrbahn(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCAbstand_Gehweg_Fahrbahn) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCAbstand_Gehweg_Fahrbahn.subclass: + return TCAbstand_Gehweg_Fahrbahn.subclass(*args_, **kwargs_) + else: + return TCAbstand_Gehweg_Fahrbahn(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TAbstand_Gehweg_Fahrbahn(self, value): + result = True + # Validate type TAbstand_Gehweg_Fahrbahn, a restriction on nsBasisTypen:TMeter. + 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 + pass + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCAbstand_Gehweg_Fahrbahn, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='TCAbstand_Gehweg_Fahrbahn', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCAbstand_Gehweg_Fahrbahn') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCAbstand_Gehweg_Fahrbahn': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCAbstand_Gehweg_Fahrbahn') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCAbstand_Gehweg_Fahrbahn', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBahnuebergang:', name_='TCAbstand_Gehweg_Fahrbahn'): + super(TCAbstand_Gehweg_Fahrbahn, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCAbstand_Gehweg_Fahrbahn') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='TCAbstand_Gehweg_Fahrbahn', fromsubclass_=False, pretty_print=True): + super(TCAbstand_Gehweg_Fahrbahn, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_decimal(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCAbstand_Gehweg_Fahrbahn, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + fval_ = self.gds_parse_decimal(sval_, node, 'Wert') + fval_ = self.gds_validate_decimal(fval_, node, 'Wert') + self.Wert = fval_ + self.Wert_nsprefix_ = child_.prefix + # validate type TAbstand_Gehweg_Fahrbahn + self.validate_TAbstand_Gehweg_Fahrbahn(self.Wert) + super(TCAbstand_Gehweg_Fahrbahn, self)._buildChildren(child_, node, nodeName_, True) +# end class TCAbstand_Gehweg_Fahrbahn + + +class TCSchaltgruppe(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCSchaltgruppe"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TSchaltgruppe(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCSchaltgruppe) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCSchaltgruppe.subclass: + return TCSchaltgruppe.subclass(*args_, **kwargs_) + else: + return TCSchaltgruppe(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TSchaltgruppe(self, value): + result = True + # Validate type TSchaltgruppe, a restriction on xs:integer. + 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_TSchaltgruppe_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TSchaltgruppe_patterns_, )) + result = False + return result + validate_TSchaltgruppe_patterns_ = [['^([1-9]|10)$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCSchaltgruppe, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='TCSchaltgruppe', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCSchaltgruppe') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCSchaltgruppe': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCSchaltgruppe') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCSchaltgruppe', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBahnuebergang:', name_='TCSchaltgruppe'): + super(TCSchaltgruppe, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCSchaltgruppe') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='TCSchaltgruppe', fromsubclass_=False, pretty_print=True): + super(TCSchaltgruppe, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_integer(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCSchaltgruppe, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + ival_ = self.gds_parse_integer(sval_, node, 'Wert') + ival_ = self.gds_validate_integer(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + # validate type TSchaltgruppe + self.validate_TSchaltgruppe(self.Wert) + super(TCSchaltgruppe, self)._buildChildren(child_, node, nodeName_, True) +# end class TCSchaltgruppe + + +class TCTeilvorgabezeit(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCTeilvorgabezeit"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TTeilvorgabezeit(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCTeilvorgabezeit) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCTeilvorgabezeit.subclass: + return TCTeilvorgabezeit.subclass(*args_, **kwargs_) + else: + return TCTeilvorgabezeit(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TTeilvorgabezeit(self, value): + result = True + # Validate type TTeilvorgabezeit, a restriction on xs:integer. + 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 + pass + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCTeilvorgabezeit, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='TCTeilvorgabezeit', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCTeilvorgabezeit') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCTeilvorgabezeit': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCTeilvorgabezeit') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCTeilvorgabezeit', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBahnuebergang:', name_='TCTeilvorgabezeit'): + super(TCTeilvorgabezeit, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCTeilvorgabezeit') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='TCTeilvorgabezeit', fromsubclass_=False, pretty_print=True): + super(TCTeilvorgabezeit, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_integer(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCTeilvorgabezeit, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + ival_ = self.gds_parse_integer(sval_, node, 'Wert') + ival_ = self.gds_validate_integer(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + # validate type TTeilvorgabezeit + self.validate_TTeilvorgabezeit(self.Wert) + super(TCTeilvorgabezeit, self)._buildChildren(child_, node, nodeName_, True) +# end class TCTeilvorgabezeit + + +class TCBUE_Vorlaufzeit(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCBUE_Vorlaufzeit"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TBUE_Vorlaufzeit(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCBUE_Vorlaufzeit) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCBUE_Vorlaufzeit.subclass: + return TCBUE_Vorlaufzeit.subclass(*args_, **kwargs_) + else: + return TCBUE_Vorlaufzeit(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TBUE_Vorlaufzeit(self, value): + result = True + # Validate type TBUE_Vorlaufzeit, a restriction on nsBasisTypen:TSekunde. + 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 not self.gds_validate_simple_patterns( + self.validate_TBUE_Vorlaufzeit_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TBUE_Vorlaufzeit_patterns_, )) + result = False + return result + validate_TBUE_Vorlaufzeit_patterns_ = [['^((0|[1-9][0-9]{0,4})\\.[0-9]{2})$'], ['^([0-9]{1,5}(\\.[0-9]{2})?)$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCBUE_Vorlaufzeit, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='TCBUE_Vorlaufzeit', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCBUE_Vorlaufzeit') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCBUE_Vorlaufzeit': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBUE_Vorlaufzeit') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCBUE_Vorlaufzeit', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBahnuebergang:', name_='TCBUE_Vorlaufzeit'): + super(TCBUE_Vorlaufzeit, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBUE_Vorlaufzeit') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='TCBUE_Vorlaufzeit', fromsubclass_=False, pretty_print=True): + super(TCBUE_Vorlaufzeit, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_decimal(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCBUE_Vorlaufzeit, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + fval_ = self.gds_parse_decimal(sval_, node, 'Wert') + fval_ = self.gds_validate_decimal(fval_, node, 'Wert') + self.Wert = fval_ + self.Wert_nsprefix_ = child_.prefix + # validate type TBUE_Vorlaufzeit + self.validate_TBUE_Vorlaufzeit(self.Wert) + super(TCBUE_Vorlaufzeit, self)._buildChildren(child_, node, nodeName_, True) +# end class TCBUE_Vorlaufzeit + + +class TCBezeichnung_Verkehrszeichen(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCBezeichnung_Verkehrszeichen"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TBezeichnung_Verkehrszeichen(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCBezeichnung_Verkehrszeichen) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCBezeichnung_Verkehrszeichen.subclass: + return TCBezeichnung_Verkehrszeichen.subclass(*args_, **kwargs_) + else: + return TCBezeichnung_Verkehrszeichen(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TBezeichnung_Verkehrszeichen(self, value): + result = True + # Validate type TBezeichnung_Verkehrszeichen, a restriction on nsBasisTypen:TZeichenkette. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TBezeichnung_Verkehrszeichen_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TBezeichnung_Verkehrszeichen_patterns_, )) + result = False + return result + validate_TBezeichnung_Verkehrszeichen_patterns_ = [['^([a-zA-Z_0-9]{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCBezeichnung_Verkehrszeichen, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='TCBezeichnung_Verkehrszeichen', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCBezeichnung_Verkehrszeichen') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCBezeichnung_Verkehrszeichen': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBezeichnung_Verkehrszeichen') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCBezeichnung_Verkehrszeichen', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBahnuebergang:', name_='TCBezeichnung_Verkehrszeichen'): + super(TCBezeichnung_Verkehrszeichen, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBezeichnung_Verkehrszeichen') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='TCBezeichnung_Verkehrszeichen', fromsubclass_=False, pretty_print=True): + super(TCBezeichnung_Verkehrszeichen, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCBezeichnung_Verkehrszeichen, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TBezeichnung_Verkehrszeichen + self.validate_TBezeichnung_Verkehrszeichen(self.Wert) + super(TCBezeichnung_Verkehrszeichen, self)._buildChildren(child_, node, nodeName_, True) +# end class TCBezeichnung_Verkehrszeichen + + +class TCSperrstrecke_Fussgaenger(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCSperrstrecke_Fussgaenger"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TSperrstrecke_Fussgaenger(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCSperrstrecke_Fussgaenger) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCSperrstrecke_Fussgaenger.subclass: + return TCSperrstrecke_Fussgaenger.subclass(*args_, **kwargs_) + else: + return TCSperrstrecke_Fussgaenger(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TSperrstrecke_Fussgaenger(self, value): + result = True + # Validate type TSperrstrecke_Fussgaenger, a restriction on nsBasisTypen:TMeter. + 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 + pass + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCSperrstrecke_Fussgaenger, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='TCSperrstrecke_Fussgaenger', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCSperrstrecke_Fussgaenger') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCSperrstrecke_Fussgaenger': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCSperrstrecke_Fussgaenger') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCSperrstrecke_Fussgaenger', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBahnuebergang:', name_='TCSperrstrecke_Fussgaenger'): + super(TCSperrstrecke_Fussgaenger, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCSperrstrecke_Fussgaenger') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='TCSperrstrecke_Fussgaenger', fromsubclass_=False, pretty_print=True): + super(TCSperrstrecke_Fussgaenger, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_decimal(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCSperrstrecke_Fussgaenger, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + fval_ = self.gds_parse_decimal(sval_, node, 'Wert') + fval_ = self.gds_validate_decimal(fval_, node, 'Wert') + self.Wert = fval_ + self.Wert_nsprefix_ = child_.prefix + # validate type TSperrstrecke_Fussgaenger + self.validate_TSperrstrecke_Fussgaenger(self.Wert) + super(TCSperrstrecke_Fussgaenger, self)._buildChildren(child_, node, nodeName_, True) +# end class TCSperrstrecke_Fussgaenger + + +class CBUE_Kreuzungsplan_Koordinaten(GeneratedsSuper): + """ID_GEO_Punkt -- Verweis auf einen GEO_Punkt zur geografischen Verortung des Bildpunktes. Eine Mehrfachangabe ist bei Verortung in unterschiedlichen Koordinatensystemen notwendig. + Pixel_Koordinate_X -- X-Wert der Raster-Koordinate zur Positionierung des bautechnischen Kreuzungsplans, der der B + Ü + -Planung zugrunde liegt. + Pixel_Koordinate_Y -- Y-Wert der Raster-Koordinate zur Positionierung des bautechnischen Kreuzungsplans, der der B + Ü + -Planung zugrunde liegt. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, ID_GEO_Punkt=None, Pixel_Koordinate_X=None, Pixel_Koordinate_Y=None, gds_collector_=None, **kwargs_): + self.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 ID_GEO_Punkt is None: + self.ID_GEO_Punkt = [] + else: + self.ID_GEO_Punkt = ID_GEO_Punkt + self.ID_GEO_Punkt_nsprefix_ = None + self.Pixel_Koordinate_X = Pixel_Koordinate_X + self.Pixel_Koordinate_X_nsprefix_ = None + self.Pixel_Koordinate_Y = Pixel_Koordinate_Y + self.Pixel_Koordinate_Y_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CBUE_Kreuzungsplan_Koordinaten) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CBUE_Kreuzungsplan_Koordinaten.subclass: + return CBUE_Kreuzungsplan_Koordinaten.subclass(*args_, **kwargs_) + else: + return CBUE_Kreuzungsplan_Koordinaten(*args_, **kwargs_) + factory = staticmethod(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_GEO_Punkt(self): + return self.ID_GEO_Punkt + def set_ID_GEO_Punkt(self, ID_GEO_Punkt): + self.ID_GEO_Punkt = ID_GEO_Punkt + def add_ID_GEO_Punkt(self, value): + self.ID_GEO_Punkt.append(value) + def insert_ID_GEO_Punkt_at(self, index, value): + self.ID_GEO_Punkt.insert(index, value) + def replace_ID_GEO_Punkt_at(self, index, value): + self.ID_GEO_Punkt[index] = value + def get_Pixel_Koordinate_X(self): + return self.Pixel_Koordinate_X + def set_Pixel_Koordinate_X(self, Pixel_Koordinate_X): + self.Pixel_Koordinate_X = Pixel_Koordinate_X + def get_Pixel_Koordinate_Y(self): + return self.Pixel_Koordinate_Y + def set_Pixel_Koordinate_Y(self, Pixel_Koordinate_Y): + self.Pixel_Koordinate_Y = Pixel_Koordinate_Y + def has__content(self): + if ( + self.ID_GEO_Punkt or + self.Pixel_Koordinate_X is not None or + self.Pixel_Koordinate_Y is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CBUE_Kreuzungsplan_Koordinaten', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CBUE_Kreuzungsplan_Koordinaten') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CBUE_Kreuzungsplan_Koordinaten': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CBUE_Kreuzungsplan_Koordinaten') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CBUE_Kreuzungsplan_Koordinaten', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBahnuebergang:', name_='CBUE_Kreuzungsplan_Koordinaten'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CBUE_Kreuzungsplan_Koordinaten', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_GEO_Punkt_ in self.ID_GEO_Punkt: + namespaceprefix_ = self.ID_GEO_Punkt_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_GEO_Punkt_nsprefix_) else '' + ID_GEO_Punkt_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_GEO_Punkt', pretty_print=pretty_print) + if self.Pixel_Koordinate_X is not None: + namespaceprefix_ = self.Pixel_Koordinate_X_nsprefix_ + ':' if (UseCapturedNS_ and self.Pixel_Koordinate_X_nsprefix_) else '' + self.Pixel_Koordinate_X.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Pixel_Koordinate_X', pretty_print=pretty_print) + if self.Pixel_Koordinate_Y is not None: + namespaceprefix_ = self.Pixel_Koordinate_Y_nsprefix_ + ':' if (UseCapturedNS_ and self.Pixel_Koordinate_Y_nsprefix_) else '' + self.Pixel_Koordinate_Y.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Pixel_Koordinate_Y', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_GEO_Punkt': + obj_ = TCID_GEO_Punkt_ohne_Proxy.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_GEO_Punkt.append(obj_) + obj_.original_tagname_ = 'ID_GEO_Punkt' + elif nodeName_ == 'Pixel_Koordinate_X': + obj_ = TCPixel_Koordinate_X.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Pixel_Koordinate_X = obj_ + obj_.original_tagname_ = 'Pixel_Koordinate_X' + elif nodeName_ == 'Pixel_Koordinate_Y': + obj_ = TCPixel_Koordinate_Y.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Pixel_Koordinate_Y = obj_ + obj_.original_tagname_ = 'Pixel_Koordinate_Y' +# end class CBUE_Kreuzungsplan_Koordinaten + + +class CVz_Sperrstrecke_Vorgeschaltet(GeneratedsSuper): + """Beeinflussung_Strassenverkehr -- Nur bei BUESTRA: Beeinflussung des Stra + ß + enverkehrs (Parameter tK1 gem + ä + ß + Ril 815.0051). + Raeumstrecke_DAB -- R + ä + umstrecke dAB gem + ä + ß + Ril 815.0033A01 (vorgeschaltete Lichtzeichen). + Raeumstrecke_DBK -- R + ä + umstrecke dBK gem + ä + ß + Ril 815.0033A01 (vorgeschaltete Lichtzeichen). + Raeumstrecke_DCK -- R + ä + umstrecke dCK gem + ä + ß + Ril 815.0033A01 (vorgeschaltete Lichtzeichen). + Raeumstrecke_DSK_Strich -- R + ä + umstrecke dSK\u0027 gem + ä + ß + Ril 815.0033A01 (vorgeschaltete Lichtzeichen). + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Beeinflussung_Strassenverkehr=None, Raeumstrecke_DAB=None, Raeumstrecke_DBK=None, Raeumstrecke_DCK=None, Raeumstrecke_DSK_Strich=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Beeinflussung_Strassenverkehr = Beeinflussung_Strassenverkehr + self.Beeinflussung_Strassenverkehr_nsprefix_ = None + self.Raeumstrecke_DAB = Raeumstrecke_DAB + self.Raeumstrecke_DAB_nsprefix_ = None + self.Raeumstrecke_DBK = Raeumstrecke_DBK + self.Raeumstrecke_DBK_nsprefix_ = None + self.Raeumstrecke_DCK = Raeumstrecke_DCK + self.Raeumstrecke_DCK_nsprefix_ = None + self.Raeumstrecke_DSK_Strich = Raeumstrecke_DSK_Strich + self.Raeumstrecke_DSK_Strich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CVz_Sperrstrecke_Vorgeschaltet) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CVz_Sperrstrecke_Vorgeschaltet.subclass: + return CVz_Sperrstrecke_Vorgeschaltet.subclass(*args_, **kwargs_) + else: + return CVz_Sperrstrecke_Vorgeschaltet(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Beeinflussung_Strassenverkehr(self): + return self.Beeinflussung_Strassenverkehr + def set_Beeinflussung_Strassenverkehr(self, Beeinflussung_Strassenverkehr): + self.Beeinflussung_Strassenverkehr = Beeinflussung_Strassenverkehr + def get_Raeumstrecke_DAB(self): + return self.Raeumstrecke_DAB + def set_Raeumstrecke_DAB(self, Raeumstrecke_DAB): + self.Raeumstrecke_DAB = Raeumstrecke_DAB + def get_Raeumstrecke_DBK(self): + return self.Raeumstrecke_DBK + def set_Raeumstrecke_DBK(self, Raeumstrecke_DBK): + self.Raeumstrecke_DBK = Raeumstrecke_DBK + def get_Raeumstrecke_DCK(self): + return self.Raeumstrecke_DCK + def set_Raeumstrecke_DCK(self, Raeumstrecke_DCK): + self.Raeumstrecke_DCK = Raeumstrecke_DCK + def get_Raeumstrecke_DSK_Strich(self): + return self.Raeumstrecke_DSK_Strich + def set_Raeumstrecke_DSK_Strich(self, Raeumstrecke_DSK_Strich): + self.Raeumstrecke_DSK_Strich = Raeumstrecke_DSK_Strich + def has__content(self): + if ( + self.Beeinflussung_Strassenverkehr is not None or + self.Raeumstrecke_DAB is not None or + self.Raeumstrecke_DBK is not None or + self.Raeumstrecke_DCK is not None or + self.Raeumstrecke_DSK_Strich is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='CVz_Sperrstrecke_Vorgeschaltet', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CVz_Sperrstrecke_Vorgeschaltet') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CVz_Sperrstrecke_Vorgeschaltet': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CVz_Sperrstrecke_Vorgeschaltet') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CVz_Sperrstrecke_Vorgeschaltet', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBahnuebergang:', name_='CVz_Sperrstrecke_Vorgeschaltet'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='CVz_Sperrstrecke_Vorgeschaltet', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Beeinflussung_Strassenverkehr is not None: + namespaceprefix_ = self.Beeinflussung_Strassenverkehr_nsprefix_ + ':' if (UseCapturedNS_ and self.Beeinflussung_Strassenverkehr_nsprefix_) else '' + self.Beeinflussung_Strassenverkehr.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Beeinflussung_Strassenverkehr', pretty_print=pretty_print) + if self.Raeumstrecke_DAB is not None: + namespaceprefix_ = self.Raeumstrecke_DAB_nsprefix_ + ':' if (UseCapturedNS_ and self.Raeumstrecke_DAB_nsprefix_) else '' + self.Raeumstrecke_DAB.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Raeumstrecke_DAB', pretty_print=pretty_print) + if self.Raeumstrecke_DBK is not None: + namespaceprefix_ = self.Raeumstrecke_DBK_nsprefix_ + ':' if (UseCapturedNS_ and self.Raeumstrecke_DBK_nsprefix_) else '' + self.Raeumstrecke_DBK.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Raeumstrecke_DBK', pretty_print=pretty_print) + if self.Raeumstrecke_DCK is not None: + namespaceprefix_ = self.Raeumstrecke_DCK_nsprefix_ + ':' if (UseCapturedNS_ and self.Raeumstrecke_DCK_nsprefix_) else '' + self.Raeumstrecke_DCK.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Raeumstrecke_DCK', pretty_print=pretty_print) + if self.Raeumstrecke_DSK_Strich is not None: + namespaceprefix_ = self.Raeumstrecke_DSK_Strich_nsprefix_ + ':' if (UseCapturedNS_ and self.Raeumstrecke_DSK_Strich_nsprefix_) else '' + self.Raeumstrecke_DSK_Strich.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Raeumstrecke_DSK_Strich', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Beeinflussung_Strassenverkehr': + obj_ = TCBeeinflussung_Strassenverkehr.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Beeinflussung_Strassenverkehr = obj_ + obj_.original_tagname_ = 'Beeinflussung_Strassenverkehr' + elif nodeName_ == 'Raeumstrecke_DAB': + obj_ = TCRaeumstrecke_DAB.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Raeumstrecke_DAB = obj_ + obj_.original_tagname_ = 'Raeumstrecke_DAB' + elif nodeName_ == 'Raeumstrecke_DBK': + obj_ = TCRaeumstrecke_DBK.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Raeumstrecke_DBK = obj_ + obj_.original_tagname_ = 'Raeumstrecke_DBK' + elif nodeName_ == 'Raeumstrecke_DCK': + obj_ = TCRaeumstrecke_DCK.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Raeumstrecke_DCK = obj_ + obj_.original_tagname_ = 'Raeumstrecke_DCK' + elif nodeName_ == 'Raeumstrecke_DSK_Strich': + obj_ = TCRaeumstrecke_DSK_Strich.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Raeumstrecke_DSK_Strich = obj_ + obj_.original_tagname_ = 'Raeumstrecke_DSK_Strich' +# end class CVz_Sperrstrecke_Vorgeschaltet + + +class TCStoerhalt_Haltfall(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCStoerhalt_Haltfall"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCStoerhalt_Haltfall) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCStoerhalt_Haltfall.subclass: + return TCStoerhalt_Haltfall.subclass(*args_, **kwargs_) + else: + return TCStoerhalt_Haltfall(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def has__content(self): + if ( + self.Wert is not None or + super(TCStoerhalt_Haltfall, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='TCStoerhalt_Haltfall', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCStoerhalt_Haltfall') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCStoerhalt_Haltfall': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCStoerhalt_Haltfall') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCStoerhalt_Haltfall', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBahnuebergang:', name_='TCStoerhalt_Haltfall'): + super(TCStoerhalt_Haltfall, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCStoerhalt_Haltfall') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='TCStoerhalt_Haltfall', fromsubclass_=False, pretty_print=True): + super(TCStoerhalt_Haltfall, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_boolean(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCStoerhalt_Haltfall, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + sval_ = child_.text + ival_ = self.gds_parse_boolean(sval_, node, 'Wert') + ival_ = self.gds_validate_boolean(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + super(TCStoerhalt_Haltfall, self)._buildChildren(child_, node, nodeName_, True) +# end class TCStoerhalt_Haltfall + + +class TCBeeinflussung_Strassenverkehr(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCBeeinflussung_Strassenverkehr"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TBeeinflussung_Strassenverkehr(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCBeeinflussung_Strassenverkehr) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCBeeinflussung_Strassenverkehr.subclass: + return TCBeeinflussung_Strassenverkehr.subclass(*args_, **kwargs_) + else: + return TCBeeinflussung_Strassenverkehr(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TBeeinflussung_Strassenverkehr(self, value): + result = True + # Validate type TBeeinflussung_Strassenverkehr, a restriction on nsBasisTypen:TSekunde. + 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 not self.gds_validate_simple_patterns( + self.validate_TBeeinflussung_Strassenverkehr_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TBeeinflussung_Strassenverkehr_patterns_, )) + result = False + return result + validate_TBeeinflussung_Strassenverkehr_patterns_ = [['^([0-9]{1,5}(\\.[0-9]{2})?)$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCBeeinflussung_Strassenverkehr, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='TCBeeinflussung_Strassenverkehr', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCBeeinflussung_Strassenverkehr') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCBeeinflussung_Strassenverkehr': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBeeinflussung_Strassenverkehr') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCBeeinflussung_Strassenverkehr', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBahnuebergang:', name_='TCBeeinflussung_Strassenverkehr'): + super(TCBeeinflussung_Strassenverkehr, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBeeinflussung_Strassenverkehr') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='TCBeeinflussung_Strassenverkehr', fromsubclass_=False, pretty_print=True): + super(TCBeeinflussung_Strassenverkehr, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_decimal(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCBeeinflussung_Strassenverkehr, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + fval_ = self.gds_parse_decimal(sval_, node, 'Wert') + fval_ = self.gds_validate_decimal(fval_, node, 'Wert') + self.Wert = fval_ + self.Wert_nsprefix_ = child_.prefix + # validate type TBeeinflussung_Strassenverkehr + self.validate_TBeeinflussung_Strassenverkehr(self.Wert) + super(TCBeeinflussung_Strassenverkehr, self)._buildChildren(child_, node, nodeName_, True) +# end class TCBeeinflussung_Strassenverkehr + + +class TCBaulast(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCBaulast"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TBaulast(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCBaulast) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCBaulast.subclass: + return TCBaulast.subclass(*args_, **kwargs_) + else: + return TCBaulast(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TBaulast(self, value): + result = True + # Validate type TBaulast, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TBaulast_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TBaulast_patterns_, )) + result = False + return result + validate_TBaulast_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCBaulast, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='TCBaulast', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCBaulast') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCBaulast': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBaulast') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCBaulast', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBahnuebergang:', name_='TCBaulast'): + super(TCBaulast, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBaulast') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='TCBaulast', fromsubclass_=False, pretty_print=True): + super(TCBaulast, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCBaulast, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TBaulast + self.validate_TBaulast(self.Wert) + super(TCBaulast, self)._buildChildren(child_, node, nodeName_, True) +# end class TCBaulast + + +class TCFahrbahn_Breite(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCFahrbahn_Breite"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TFahrbahn_Breite(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCFahrbahn_Breite) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCFahrbahn_Breite.subclass: + return TCFahrbahn_Breite.subclass(*args_, **kwargs_) + else: + return TCFahrbahn_Breite(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TFahrbahn_Breite(self, value): + result = True + # Validate type TFahrbahn_Breite, a restriction on nsBasisTypen:TMeter. + 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 + pass + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCFahrbahn_Breite, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='TCFahrbahn_Breite', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCFahrbahn_Breite') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCFahrbahn_Breite': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCFahrbahn_Breite') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCFahrbahn_Breite', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBahnuebergang:', name_='TCFahrbahn_Breite'): + super(TCFahrbahn_Breite, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCFahrbahn_Breite') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='TCFahrbahn_Breite', fromsubclass_=False, pretty_print=True): + super(TCFahrbahn_Breite, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_decimal(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCFahrbahn_Breite, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + fval_ = self.gds_parse_decimal(sval_, node, 'Wert') + fval_ = self.gds_validate_decimal(fval_, node, 'Wert') + self.Wert = fval_ + self.Wert_nsprefix_ = child_.prefix + # validate type TFahrbahn_Breite + self.validate_TFahrbahn_Breite(self.Wert) + super(TCFahrbahn_Breite, self)._buildChildren(child_, node, nodeName_, True) +# end class TCFahrbahn_Breite + + +class CGFR_Anlage_Allg(GeneratedsSuper): + """BUE_Sicherungszeit -- Gesamtzeit in s von der Einschaltung des B + Ü + bis zum Abschluss des Schrankenschlie + ß + vorgangs gem + ä + ß + 819.1210, Seite 21. + GFR_Art -- Art der Gefahrraumfreimeldung (automatisch, Kamera + ü + berwachung etc.). + GFR_Typ -- Herstellerspezifischer Typ der GFR, z. B. YD136A2. + Hersteller -- Unternehmen, das die Funktionsf + ä + higkeit der Anlage verantwortlich hergestellt hat oder Hersteller des jeweiligen Elements. Diese Eigenschaft ist kein Datum einer Planung, sondern dient im R + ü + cklauf der Planung dazu den Hersteller im Bestand zu erfassen. Es ist die zum Zeitpunkt der Inbetriebnahme g + ü + ltige Firmierung zu verwenden. DB-Regelwerk Beschreibung im Erl + ä + uterungsbericht + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, BUE_Sicherungszeit=None, GFR_Art=None, GFR_Typ=None, Hersteller=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.BUE_Sicherungszeit = BUE_Sicherungszeit + self.BUE_Sicherungszeit_nsprefix_ = None + self.GFR_Art = GFR_Art + self.GFR_Art_nsprefix_ = None + self.GFR_Typ = GFR_Typ + self.GFR_Typ_nsprefix_ = None + self.Hersteller = Hersteller + self.Hersteller_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CGFR_Anlage_Allg) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CGFR_Anlage_Allg.subclass: + return CGFR_Anlage_Allg.subclass(*args_, **kwargs_) + else: + return CGFR_Anlage_Allg(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_BUE_Sicherungszeit(self): + return self.BUE_Sicherungszeit + def set_BUE_Sicherungszeit(self, BUE_Sicherungszeit): + self.BUE_Sicherungszeit = BUE_Sicherungszeit + def get_GFR_Art(self): + return self.GFR_Art + def set_GFR_Art(self, GFR_Art): + self.GFR_Art = GFR_Art + def get_GFR_Typ(self): + return self.GFR_Typ + def set_GFR_Typ(self, GFR_Typ): + self.GFR_Typ = GFR_Typ + def get_Hersteller(self): + return self.Hersteller + def set_Hersteller(self, Hersteller): + self.Hersteller = Hersteller + def has__content(self): + if ( + self.BUE_Sicherungszeit is not None or + self.GFR_Art is not None or + self.GFR_Typ is not None or + self.Hersteller is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='CGFR_Anlage_Allg', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CGFR_Anlage_Allg') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CGFR_Anlage_Allg': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CGFR_Anlage_Allg') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CGFR_Anlage_Allg', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBahnuebergang:', name_='CGFR_Anlage_Allg'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='CGFR_Anlage_Allg', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.BUE_Sicherungszeit is not None: + namespaceprefix_ = self.BUE_Sicherungszeit_nsprefix_ + ':' if (UseCapturedNS_ and self.BUE_Sicherungszeit_nsprefix_) else '' + self.BUE_Sicherungszeit.export(outfile, level, namespaceprefix_, namespacedef_='', name_='BUE_Sicherungszeit', pretty_print=pretty_print) + if self.GFR_Art is not None: + namespaceprefix_ = self.GFR_Art_nsprefix_ + ':' if (UseCapturedNS_ and self.GFR_Art_nsprefix_) else '' + self.GFR_Art.export(outfile, level, namespaceprefix_, namespacedef_='', name_='GFR_Art', pretty_print=pretty_print) + if self.GFR_Typ is not None: + namespaceprefix_ = self.GFR_Typ_nsprefix_ + ':' if (UseCapturedNS_ and self.GFR_Typ_nsprefix_) else '' + self.GFR_Typ.export(outfile, level, namespaceprefix_, namespacedef_='', name_='GFR_Typ', pretty_print=pretty_print) + if self.Hersteller is not None: + namespaceprefix_ = self.Hersteller_nsprefix_ + ':' if (UseCapturedNS_ and self.Hersteller_nsprefix_) else '' + self.Hersteller.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Hersteller', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'BUE_Sicherungszeit': + obj_ = TCBUE_Sicherungszeit.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.BUE_Sicherungszeit = obj_ + obj_.original_tagname_ = 'BUE_Sicherungszeit' + elif nodeName_ == 'GFR_Art': + obj_ = TCGFR_Art.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.GFR_Art = obj_ + obj_.original_tagname_ = 'GFR_Art' + elif nodeName_ == 'GFR_Typ': + obj_ = TCGFR_Typ.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.GFR_Typ = obj_ + obj_.original_tagname_ = 'GFR_Typ' + elif nodeName_ == 'Hersteller': + obj_ = TCHersteller.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Hersteller = obj_ + obj_.original_tagname_ = 'Hersteller' +# end class CGFR_Anlage_Allg + + +class CBUE_Anlage_Strasse(CBasis_Objekt): + """CBUE_Anlage_Strasse -- Stra + ß + enbezogene Angaben zur BUE_Anlage, die im Wesentlichen im Rahmen der bautechnischen Planung ben + ö + tigt werden. Die Themen L + ä + ngsneigung und Ausrundungshalbmesser werden aufgrund der Vielzahl notwendiger Angaben nicht im Modell abgebildet (separate Betrachtung erforderlich). + ID_BUE_Anlage -- Verweis auf die zugeh + ö + rige B + Ü + -Anlage + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasis_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, BUE_Anlage_Fuss_Rad=None, BUE_Anlage_Strasse_Allg=None, ID_BUE_Anlage=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CBUE_Anlage_Strasse"), self).__init__(Identitaet, Basis_Objekt_Allg, ID_Bearbeitungsvermerk, ID_Oertlichkeit_Ausgabe, Objektreferenzen, **kwargs_) + if BUE_Anlage_Fuss_Rad is None: + self.BUE_Anlage_Fuss_Rad = [] + else: + self.BUE_Anlage_Fuss_Rad = BUE_Anlage_Fuss_Rad + self.BUE_Anlage_Fuss_Rad_nsprefix_ = None + self.BUE_Anlage_Strasse_Allg = BUE_Anlage_Strasse_Allg + self.BUE_Anlage_Strasse_Allg_nsprefix_ = None + self.ID_BUE_Anlage = ID_BUE_Anlage + self.ID_BUE_Anlage_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CBUE_Anlage_Strasse) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CBUE_Anlage_Strasse.subclass: + return CBUE_Anlage_Strasse.subclass(*args_, **kwargs_) + else: + return CBUE_Anlage_Strasse(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_BUE_Anlage_Fuss_Rad(self): + return self.BUE_Anlage_Fuss_Rad + def set_BUE_Anlage_Fuss_Rad(self, BUE_Anlage_Fuss_Rad): + self.BUE_Anlage_Fuss_Rad = BUE_Anlage_Fuss_Rad + def add_BUE_Anlage_Fuss_Rad(self, value): + self.BUE_Anlage_Fuss_Rad.append(value) + def insert_BUE_Anlage_Fuss_Rad_at(self, index, value): + self.BUE_Anlage_Fuss_Rad.insert(index, value) + def replace_BUE_Anlage_Fuss_Rad_at(self, index, value): + self.BUE_Anlage_Fuss_Rad[index] = value + def get_BUE_Anlage_Strasse_Allg(self): + return self.BUE_Anlage_Strasse_Allg + def set_BUE_Anlage_Strasse_Allg(self, BUE_Anlage_Strasse_Allg): + self.BUE_Anlage_Strasse_Allg = BUE_Anlage_Strasse_Allg + def get_ID_BUE_Anlage(self): + return self.ID_BUE_Anlage + def set_ID_BUE_Anlage(self, ID_BUE_Anlage): + self.ID_BUE_Anlage = ID_BUE_Anlage + def has__content(self): + if ( + self.BUE_Anlage_Fuss_Rad or + self.BUE_Anlage_Strasse_Allg is not None or + self.ID_BUE_Anlage is not None or + super(CBUE_Anlage_Strasse, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CBUE_Anlage_Strasse', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CBUE_Anlage_Strasse') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CBUE_Anlage_Strasse': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CBUE_Anlage_Strasse') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CBUE_Anlage_Strasse', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBahnuebergang:', name_='CBUE_Anlage_Strasse'): + super(CBUE_Anlage_Strasse, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CBUE_Anlage_Strasse') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CBUE_Anlage_Strasse', fromsubclass_=False, pretty_print=True): + super(CBUE_Anlage_Strasse, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for BUE_Anlage_Fuss_Rad_ in self.BUE_Anlage_Fuss_Rad: + namespaceprefix_ = self.BUE_Anlage_Fuss_Rad_nsprefix_ + ':' if (UseCapturedNS_ and self.BUE_Anlage_Fuss_Rad_nsprefix_) else '' + BUE_Anlage_Fuss_Rad_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='BUE_Anlage_Fuss_Rad', pretty_print=pretty_print) + if self.BUE_Anlage_Strasse_Allg is not None: + namespaceprefix_ = self.BUE_Anlage_Strasse_Allg_nsprefix_ + ':' if (UseCapturedNS_ and self.BUE_Anlage_Strasse_Allg_nsprefix_) else '' + self.BUE_Anlage_Strasse_Allg.export(outfile, level, namespaceprefix_, namespacedef_='', name_='BUE_Anlage_Strasse_Allg', pretty_print=pretty_print) + if self.ID_BUE_Anlage is not None: + namespaceprefix_ = self.ID_BUE_Anlage_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_BUE_Anlage_nsprefix_) else '' + self.ID_BUE_Anlage.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_BUE_Anlage', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CBUE_Anlage_Strasse, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'BUE_Anlage_Fuss_Rad': + obj_ = CBUE_Anlage_Fuss_Rad.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.BUE_Anlage_Fuss_Rad.append(obj_) + obj_.original_tagname_ = 'BUE_Anlage_Fuss_Rad' + elif nodeName_ == 'BUE_Anlage_Strasse_Allg': + obj_ = CBUE_Anlage_Strasse_Allg.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.BUE_Anlage_Strasse_Allg = obj_ + obj_.original_tagname_ = 'BUE_Anlage_Strasse_Allg' + elif nodeName_ == 'ID_BUE_Anlage': + obj_ = TCID_BUE_Anlage_ohne_Proxy.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_BUE_Anlage = obj_ + obj_.original_tagname_ = 'ID_BUE_Anlage' + super(CBUE_Anlage_Strasse, self)._buildChildren(child_, node, nodeName_, True) +# end class CBUE_Anlage_Strasse + + +class TCRaeumstrecke(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCRaeumstrecke"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TRaeumstrecke(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCRaeumstrecke) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCRaeumstrecke.subclass: + return TCRaeumstrecke.subclass(*args_, **kwargs_) + else: + return TCRaeumstrecke(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TRaeumstrecke(self, value): + result = True + # Validate type TRaeumstrecke, a restriction on nsBasisTypen:TMeter. + 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 + pass + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCRaeumstrecke, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='TCRaeumstrecke', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCRaeumstrecke') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCRaeumstrecke': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCRaeumstrecke') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCRaeumstrecke', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBahnuebergang:', name_='TCRaeumstrecke'): + super(TCRaeumstrecke, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCRaeumstrecke') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='TCRaeumstrecke', fromsubclass_=False, pretty_print=True): + super(TCRaeumstrecke, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_decimal(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCRaeumstrecke, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + fval_ = self.gds_parse_decimal(sval_, node, 'Wert') + fval_ = self.gds_validate_decimal(fval_, node, 'Wert') + self.Wert = fval_ + self.Wert_nsprefix_ = child_.prefix + # validate type TRaeumstrecke + self.validate_TRaeumstrecke(self.Wert) + super(TCRaeumstrecke, self)._buildChildren(child_, node, nodeName_, True) +# end class TCRaeumstrecke + + +class TCOptik_Durchmesser(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCOptik_Durchmesser"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TOptik_Durchmesser(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCOptik_Durchmesser) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCOptik_Durchmesser.subclass: + return TCOptik_Durchmesser.subclass(*args_, **kwargs_) + else: + return TCOptik_Durchmesser(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TOptik_Durchmesser(self, value): + result = True + # Validate type TOptik_Durchmesser, a restriction on xs:integer. + 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_TOptik_Durchmesser_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TOptik_Durchmesser_patterns_, )) + result = False + return result + validate_TOptik_Durchmesser_patterns_ = [['^(200|300)$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCOptik_Durchmesser, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='TCOptik_Durchmesser', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCOptik_Durchmesser') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCOptik_Durchmesser': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCOptik_Durchmesser') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCOptik_Durchmesser', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBahnuebergang:', name_='TCOptik_Durchmesser'): + super(TCOptik_Durchmesser, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCOptik_Durchmesser') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='TCOptik_Durchmesser', fromsubclass_=False, pretty_print=True): + super(TCOptik_Durchmesser, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_integer(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCOptik_Durchmesser, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + ival_ = self.gds_parse_integer(sval_, node, 'Wert') + ival_ = self.gds_validate_integer(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + # validate type TOptik_Durchmesser + self.validate_TOptik_Durchmesser(self.Wert) + super(TCOptik_Durchmesser, self)._buildChildren(child_, node, nodeName_, True) +# end class TCOptik_Durchmesser + + +class CVerkehrszeichen_Bezeichnung(GeneratedsSuper): + """Bezeichnung_Verkehrszeichen -- Bezeichnung des Verkehrszeichens, z. B. S1, Lz1. Die Angabe entf + ä + llt bei alleinstehenden Andreaskreuzen. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Bezeichnung_Verkehrszeichen=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Bezeichnung_Verkehrszeichen = Bezeichnung_Verkehrszeichen + self.Bezeichnung_Verkehrszeichen_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CVerkehrszeichen_Bezeichnung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CVerkehrszeichen_Bezeichnung.subclass: + return CVerkehrszeichen_Bezeichnung.subclass(*args_, **kwargs_) + else: + return CVerkehrszeichen_Bezeichnung(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Bezeichnung_Verkehrszeichen(self): + return self.Bezeichnung_Verkehrszeichen + def set_Bezeichnung_Verkehrszeichen(self, Bezeichnung_Verkehrszeichen): + self.Bezeichnung_Verkehrszeichen = Bezeichnung_Verkehrszeichen + def has__content(self): + if ( + self.Bezeichnung_Verkehrszeichen is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='CVerkehrszeichen_Bezeichnung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CVerkehrszeichen_Bezeichnung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CVerkehrszeichen_Bezeichnung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CVerkehrszeichen_Bezeichnung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CVerkehrszeichen_Bezeichnung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBahnuebergang:', name_='CVerkehrszeichen_Bezeichnung'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='CVerkehrszeichen_Bezeichnung', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Bezeichnung_Verkehrszeichen is not None: + namespaceprefix_ = self.Bezeichnung_Verkehrszeichen_nsprefix_ + ':' if (UseCapturedNS_ and self.Bezeichnung_Verkehrszeichen_nsprefix_) else '' + self.Bezeichnung_Verkehrszeichen.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Bezeichnung_Verkehrszeichen', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Bezeichnung_Verkehrszeichen': + obj_ = TCBezeichnung_Verkehrszeichen.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Bezeichnung_Verkehrszeichen = obj_ + obj_.original_tagname_ = 'Bezeichnung_Verkehrszeichen' +# end class CVerkehrszeichen_Bezeichnung + + +class CBUE_WS_Fstr_Zuordnung(CBasis_Objekt): + """CBUE_WS_Fstr_Zuordnung -- Zuordnung zwischen BUE-Einschaltung und zugeh + ö + rigen Fahrstra + ß + en, f + ü + r die die Wirksamkeitskontakte wirken sollen. + ID_BUE_Einschaltung -- Verweis auf denjenigen Einschaltpunkt, f + ü + r den die Wirksamschaltung vorgesehen wird. DB-Regelwerk Einschaltstreckenberechnung + ID_Fstr_Zug_Rangier -- Zeiger auf die Fahrstra + ß + e, f + ü + r die die Einschaltung des B + Ü + abh + ä + ngig geschaltet wird. DB-Regelwerk Datenblatt f + ü + r die Abh + ä + ngigkeiten B + Ü + - Stw + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasis_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, ID_BUE_Einschaltung=None, ID_Fstr_Zug_Rangier=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CBUE_WS_Fstr_Zuordnung"), self).__init__(Identitaet, Basis_Objekt_Allg, ID_Bearbeitungsvermerk, ID_Oertlichkeit_Ausgabe, Objektreferenzen, **kwargs_) + self.ID_BUE_Einschaltung = ID_BUE_Einschaltung + self.ID_BUE_Einschaltung_nsprefix_ = None + self.ID_Fstr_Zug_Rangier = ID_Fstr_Zug_Rangier + self.ID_Fstr_Zug_Rangier_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CBUE_WS_Fstr_Zuordnung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CBUE_WS_Fstr_Zuordnung.subclass: + return CBUE_WS_Fstr_Zuordnung.subclass(*args_, **kwargs_) + else: + return CBUE_WS_Fstr_Zuordnung(*args_, **kwargs_) + factory = staticmethod(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_BUE_Einschaltung(self): + return self.ID_BUE_Einschaltung + def set_ID_BUE_Einschaltung(self, ID_BUE_Einschaltung): + self.ID_BUE_Einschaltung = ID_BUE_Einschaltung + def get_ID_Fstr_Zug_Rangier(self): + return self.ID_Fstr_Zug_Rangier + def set_ID_Fstr_Zug_Rangier(self, ID_Fstr_Zug_Rangier): + self.ID_Fstr_Zug_Rangier = ID_Fstr_Zug_Rangier + def has__content(self): + if ( + self.ID_BUE_Einschaltung is not None or + self.ID_Fstr_Zug_Rangier is not None or + super(CBUE_WS_Fstr_Zuordnung, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CBUE_WS_Fstr_Zuordnung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CBUE_WS_Fstr_Zuordnung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CBUE_WS_Fstr_Zuordnung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CBUE_WS_Fstr_Zuordnung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CBUE_WS_Fstr_Zuordnung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBahnuebergang:', name_='CBUE_WS_Fstr_Zuordnung'): + super(CBUE_WS_Fstr_Zuordnung, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CBUE_WS_Fstr_Zuordnung') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CBUE_WS_Fstr_Zuordnung', fromsubclass_=False, pretty_print=True): + super(CBUE_WS_Fstr_Zuordnung, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.ID_BUE_Einschaltung is not None: + namespaceprefix_ = self.ID_BUE_Einschaltung_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_BUE_Einschaltung_nsprefix_) else '' + self.ID_BUE_Einschaltung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_BUE_Einschaltung', pretty_print=pretty_print) + if self.ID_Fstr_Zug_Rangier is not None: + namespaceprefix_ = self.ID_Fstr_Zug_Rangier_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Fstr_Zug_Rangier_nsprefix_) else '' + self.ID_Fstr_Zug_Rangier.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Fstr_Zug_Rangier', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CBUE_WS_Fstr_Zuordnung, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_BUE_Einschaltung': + obj_ = TCID_BUE_Einschaltung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_BUE_Einschaltung = obj_ + obj_.original_tagname_ = 'ID_BUE_Einschaltung' + elif nodeName_ == 'ID_Fstr_Zug_Rangier': + obj_ = TCID_Fstr_Zug_Rangier.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Fstr_Zug_Rangier = obj_ + obj_.original_tagname_ = 'ID_Fstr_Zug_Rangier' + super(CBUE_WS_Fstr_Zuordnung, self)._buildChildren(child_, node, nodeName_, True) +# end class CBUE_WS_Fstr_Zuordnung + + +class TCBUE_Buestra(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCBUE_Buestra"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCBUE_Buestra) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCBUE_Buestra.subclass: + return TCBUE_Buestra.subclass(*args_, **kwargs_) + else: + return TCBUE_Buestra(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def has__content(self): + if ( + self.Wert is not None or + super(TCBUE_Buestra, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='TCBUE_Buestra', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCBUE_Buestra') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCBUE_Buestra': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBUE_Buestra') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCBUE_Buestra', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBahnuebergang:', name_='TCBUE_Buestra'): + super(TCBUE_Buestra, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBUE_Buestra') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='TCBUE_Buestra', fromsubclass_=False, pretty_print=True): + super(TCBUE_Buestra, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_boolean(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCBUE_Buestra, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + sval_ = child_.text + ival_ = self.gds_parse_boolean(sval_, node, 'Wert') + ival_ = self.gds_validate_boolean(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + super(TCBUE_Buestra, self)._buildChildren(child_, node, nodeName_, True) +# end class TCBUE_Buestra + + +class TCBlitzpfeil(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCBlitzpfeil"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TBlitzpfeil(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCBlitzpfeil) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCBlitzpfeil.subclass: + return TCBlitzpfeil.subclass(*args_, **kwargs_) + else: + return TCBlitzpfeil(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TBlitzpfeil(self, value): + result = True + # Validate type TBlitzpfeil, a restriction on xs:boolean. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + pass + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCBlitzpfeil, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='TCBlitzpfeil', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCBlitzpfeil') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCBlitzpfeil': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBlitzpfeil') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCBlitzpfeil', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBahnuebergang:', name_='TCBlitzpfeil'): + super(TCBlitzpfeil, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBlitzpfeil') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='TCBlitzpfeil', fromsubclass_=False, pretty_print=True): + super(TCBlitzpfeil, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_boolean(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCBlitzpfeil, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + sval_ = child_.text + ival_ = self.gds_parse_boolean(sval_, node, 'Wert') + ival_ = self.gds_validate_boolean(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + # validate type TBlitzpfeil + self.validate_TBlitzpfeil(self.Wert) + super(TCBlitzpfeil, self)._buildChildren(child_, node, nodeName_, True) +# end class TCBlitzpfeil + + +class TCFuss_Radweg_Art(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCFuss_Radweg_Art"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMFuss_Radweg_Art(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCFuss_Radweg_Art) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCFuss_Radweg_Art.subclass: + return TCFuss_Radweg_Art.subclass(*args_, **kwargs_) + else: + return TCFuss_Radweg_Art(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMFuss_Radweg_Art(self, value): + result = True + # Validate type ENUMFuss_Radweg_Art, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['Fuss_Radweg_abgesetzt', 'Fuss_Radweg_parallel', 'Fussweg_abgesetzt', 'Fussweg_parallel', 'Radweg_abgesetzt', 'Radweg_parallel', 'sonstige'] + 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 ENUMFuss_Radweg_Art' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCFuss_Radweg_Art, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='TCFuss_Radweg_Art', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCFuss_Radweg_Art') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCFuss_Radweg_Art': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCFuss_Radweg_Art') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCFuss_Radweg_Art', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBahnuebergang:', name_='TCFuss_Radweg_Art'): + super(TCFuss_Radweg_Art, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCFuss_Radweg_Art') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='TCFuss_Radweg_Art', fromsubclass_=False, pretty_print=True): + super(TCFuss_Radweg_Art, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCFuss_Radweg_Art, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMFuss_Radweg_Art + self.validate_ENUMFuss_Radweg_Art(self.Wert) + super(TCFuss_Radweg_Art, self)._buildChildren(child_, node, nodeName_, True) +# end class TCFuss_Radweg_Art + + +class CVerkehrszeichen_Andreaskreuz(GeneratedsSuper): + """Blitzpfeil -- Auf dem Andreaskreuz ist ein Blitzfeil anzuordnen (true). Das Attribut entf + ä + llt, sofern kein Blitzfeil ben + ö + tigt wird. + Montage_Besonders -- Angaben zur besonderen Montage, z. B. f + ü + r horizontale Befestigung am Peitschenmastausleger. + Richtungspfeil -- Zus + ä + tzlich zum Andreaskreuz ist ein Richtungspfeil als Schild vorzusehen (true). Das Attribut entf + ä + llt, sofern kein Richtungspfeil ben + ö + tigt wird. + Schutzbuegel -- Das Andreaskreuz ist mit einem Schutzb + ü + gel auszur + ü + sten (true). Das Attribut entf + ä + llt, sofern kein Schutzb + ü + gel ben + ö + tigt wird. + Zusatzschild -- Zusatzschild zum Andreaskreuz, z. B. \"Privatweg\" oder \" + Ü + bergang nur f + ü + r Berechtigte\". + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Blitzpfeil=None, Montage_Besonders=None, Richtungspfeil=None, Schutzbuegel=None, Zusatzschild=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Blitzpfeil = Blitzpfeil + self.Blitzpfeil_nsprefix_ = None + self.Montage_Besonders = Montage_Besonders + self.Montage_Besonders_nsprefix_ = None + self.Richtungspfeil = Richtungspfeil + self.Richtungspfeil_nsprefix_ = None + self.Schutzbuegel = Schutzbuegel + self.Schutzbuegel_nsprefix_ = None + self.Zusatzschild = Zusatzschild + self.Zusatzschild_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CVerkehrszeichen_Andreaskreuz) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CVerkehrszeichen_Andreaskreuz.subclass: + return CVerkehrszeichen_Andreaskreuz.subclass(*args_, **kwargs_) + else: + return CVerkehrszeichen_Andreaskreuz(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Blitzpfeil(self): + return self.Blitzpfeil + def set_Blitzpfeil(self, Blitzpfeil): + self.Blitzpfeil = Blitzpfeil + def get_Montage_Besonders(self): + return self.Montage_Besonders + def set_Montage_Besonders(self, Montage_Besonders): + self.Montage_Besonders = Montage_Besonders + def get_Richtungspfeil(self): + return self.Richtungspfeil + def set_Richtungspfeil(self, Richtungspfeil): + self.Richtungspfeil = Richtungspfeil + def get_Schutzbuegel(self): + return self.Schutzbuegel + def set_Schutzbuegel(self, Schutzbuegel): + self.Schutzbuegel = Schutzbuegel + def get_Zusatzschild(self): + return self.Zusatzschild + def set_Zusatzschild(self, Zusatzschild): + self.Zusatzschild = Zusatzschild + def has__content(self): + if ( + self.Blitzpfeil is not None or + self.Montage_Besonders is not None or + self.Richtungspfeil is not None or + self.Schutzbuegel is not None or + self.Zusatzschild is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='CVerkehrszeichen_Andreaskreuz', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CVerkehrszeichen_Andreaskreuz') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CVerkehrszeichen_Andreaskreuz': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CVerkehrszeichen_Andreaskreuz') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CVerkehrszeichen_Andreaskreuz', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBahnuebergang:', name_='CVerkehrszeichen_Andreaskreuz'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='CVerkehrszeichen_Andreaskreuz', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Blitzpfeil is not None: + namespaceprefix_ = self.Blitzpfeil_nsprefix_ + ':' if (UseCapturedNS_ and self.Blitzpfeil_nsprefix_) else '' + self.Blitzpfeil.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Blitzpfeil', pretty_print=pretty_print) + if self.Montage_Besonders is not None: + namespaceprefix_ = self.Montage_Besonders_nsprefix_ + ':' if (UseCapturedNS_ and self.Montage_Besonders_nsprefix_) else '' + self.Montage_Besonders.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Montage_Besonders', pretty_print=pretty_print) + if self.Richtungspfeil is not None: + namespaceprefix_ = self.Richtungspfeil_nsprefix_ + ':' if (UseCapturedNS_ and self.Richtungspfeil_nsprefix_) else '' + self.Richtungspfeil.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Richtungspfeil', pretty_print=pretty_print) + if self.Schutzbuegel is not None: + namespaceprefix_ = self.Schutzbuegel_nsprefix_ + ':' if (UseCapturedNS_ and self.Schutzbuegel_nsprefix_) else '' + self.Schutzbuegel.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Schutzbuegel', pretty_print=pretty_print) + if self.Zusatzschild is not None: + namespaceprefix_ = self.Zusatzschild_nsprefix_ + ':' if (UseCapturedNS_ and self.Zusatzschild_nsprefix_) else '' + self.Zusatzschild.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Zusatzschild', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Blitzpfeil': + obj_ = TCBlitzpfeil.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Blitzpfeil = obj_ + obj_.original_tagname_ = 'Blitzpfeil' + elif nodeName_ == 'Montage_Besonders': + obj_ = TCMontage_Besonders.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Montage_Besonders = obj_ + obj_.original_tagname_ = 'Montage_Besonders' + elif nodeName_ == 'Richtungspfeil': + obj_ = TCRichtungspfeil.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Richtungspfeil = obj_ + obj_.original_tagname_ = 'Richtungspfeil' + elif nodeName_ == 'Schutzbuegel': + obj_ = TCSchutzbuegel.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Schutzbuegel = obj_ + obj_.original_tagname_ = 'Schutzbuegel' + elif nodeName_ == 'Zusatzschild': + obj_ = TCZusatzschild.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Zusatzschild = obj_ + obj_.original_tagname_ = 'Zusatzschild' +# end class CVerkehrszeichen_Andreaskreuz + + +class TCPegel(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCPegel"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TPegel(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCPegel) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCPegel.subclass: + return TCPegel.subclass(*args_, **kwargs_) + else: + return TCPegel(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TPegel(self, value): + result = True + # Validate type TPegel, a restriction on xs:integer. + 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 + pass + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCPegel, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='TCPegel', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCPegel') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCPegel': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCPegel') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCPegel', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBahnuebergang:', name_='TCPegel'): + super(TCPegel, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCPegel') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='TCPegel', fromsubclass_=False, pretty_print=True): + super(TCPegel, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_integer(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCPegel, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + ival_ = self.gds_parse_integer(sval_, node, 'Wert') + ival_ = self.gds_validate_integer(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + # validate type TPegel + self.validate_TPegel(self.Wert) + super(TCPegel, self)._buildChildren(child_, node, nodeName_, True) +# end class TCPegel + + +class TCHersteller(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCHersteller"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_THersteller(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCHersteller) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCHersteller.subclass: + return TCHersteller.subclass(*args_, **kwargs_) + else: + return TCHersteller(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_THersteller(self, value): + result = True + # Validate type THersteller, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_THersteller_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_THersteller_patterns_, )) + result = False + return result + validate_THersteller_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCHersteller, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCHersteller', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCHersteller') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCHersteller': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCHersteller') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCHersteller', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBahnuebergang:', name_='TCHersteller'): + super(TCHersteller, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCHersteller') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCHersteller', fromsubclass_=False, pretty_print=True): + super(TCHersteller, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCHersteller, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type THersteller + self.validate_THersteller(self.Wert) + super(TCHersteller, self)._buildChildren(child_, node, nodeName_, True) +# end class TCHersteller + + +class TCRichtungspfeil(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCRichtungspfeil"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMRichtungspfeil(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCRichtungspfeil) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCRichtungspfeil.subclass: + return TCRichtungspfeil.subclass(*args_, **kwargs_) + else: + return TCRichtungspfeil(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMRichtungspfeil(self, value): + result = True + # Validate type ENUMRichtungspfeil, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['linksweisend', 'rechtsweisend', 'Richtung_Gefahrenstelle_links', 'Richtung_Gefahrenstelle_rechts', 'sonstige'] + 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 ENUMRichtungspfeil' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCRichtungspfeil, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='TCRichtungspfeil', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCRichtungspfeil') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCRichtungspfeil': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCRichtungspfeil') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCRichtungspfeil', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBahnuebergang:', name_='TCRichtungspfeil'): + super(TCRichtungspfeil, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCRichtungspfeil') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='TCRichtungspfeil', fromsubclass_=False, pretty_print=True): + super(TCRichtungspfeil, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCRichtungspfeil, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMRichtungspfeil + self.validate_ENUMRichtungspfeil(self.Wert) + super(TCRichtungspfeil, self)._buildChildren(child_, node, nodeName_, True) +# end class TCRichtungspfeil + + +class TCStoerhalt_Merkhinweis(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCStoerhalt_Merkhinweis"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCStoerhalt_Merkhinweis) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCStoerhalt_Merkhinweis.subclass: + return TCStoerhalt_Merkhinweis.subclass(*args_, **kwargs_) + else: + return TCStoerhalt_Merkhinweis(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def has__content(self): + if ( + self.Wert is not None or + super(TCStoerhalt_Merkhinweis, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='TCStoerhalt_Merkhinweis', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCStoerhalt_Merkhinweis') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCStoerhalt_Merkhinweis': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCStoerhalt_Merkhinweis') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCStoerhalt_Merkhinweis', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBahnuebergang:', name_='TCStoerhalt_Merkhinweis'): + super(TCStoerhalt_Merkhinweis, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCStoerhalt_Merkhinweis') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='TCStoerhalt_Merkhinweis', fromsubclass_=False, pretty_print=True): + super(TCStoerhalt_Merkhinweis, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_boolean(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCStoerhalt_Merkhinweis, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + sval_ = child_.text + ival_ = self.gds_parse_boolean(sval_, node, 'Wert') + ival_ = self.gds_validate_boolean(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + super(TCStoerhalt_Merkhinweis, self)._buildChildren(child_, node, nodeName_, True) +# end class TCStoerhalt_Merkhinweis + + +class CBUE_Einschaltung(CBasis_Objekt): + """CBUE_Einschaltung -- Logisches Objekt, das alle Informationen zur Einschaltung eines Bahn + ü + bergangs (B + Ü + ) enth + ä + lt. + Ü + ber den Verweis auf BUE Gleisbezogener Gefahrraum findet eine Verortung am zugeh + ö + rigen Gleis statt, f + ü + r das der Einschaltkontakt angeordnet wird. Der Einschaltkontakt selbst ist + ü + ber das Objekt Schaltmittel Zuordnung abgebildet. F + ü + r die BUE Einschaltung ist die in Fahrtrichtung von Anr + ü + ckmelder / Einschaltkontakt in Richtung B + Ü + die VOR der B + Ü + -Mitte liegende Grenze von BUE Gleisbezogener Gefahrraum ma + ß + gebend, auf dem das Objekt verortet wird. Die Gefahrraum-Grenze liegt damit in Fahrtrichtung HINTER dem Anr + ü + ckmelder / Einschaltkontakt. Bei Ausbildung des Einschaltpunktes als Doppelschleife gelten hinsichtlich des ma + ß + gebenden Einschaltpunktes gem + ä + ß + Einschaltstreckenberechnung folgende Unterschiede: Hersteller PintschBamag: ma + ß + gebend ist die Mitte der in Fahrtrichtung B + Ü + liegenden ERSTEN Schleife Hersteller Scheidt\u0026amp;Bachmann: ma + ß + gebend ist die Mitte der in Fahrtrichtung B + Ü + liegenden ZWEITE Schleife DB-Regelwerk 815.0033 in Verbindung mit Einschaltstreckenberechnung Die Angaben zur B + Ü + -Einschaltung beschr + ä + nken sich gegenw + ä + rtig auf die Planungswerte mit Auswirkungen auf das Stellwerk. + BUE_Funktionsueberwachung -- Angabe der Funktions + ü + berwachung, die der Ermittlung der Einschaltung zugrunde liegt. Es wird zwischen folgenden Funktions + ü + berwachungen unterschieden: Hp: Der B + Ü + ist durch Hauptsignal(e) gedeckt. Die Fahrtstellung erfolgt erst, wenn der B + Ü + geschlossen ist. F + ü + : Der B + Ü + wird zugbewirkt eingeschaltet, die + Ü + berwachung erfolgt durch einen Fahrdienstleiter im Stellwerk. Dieser kann im St + ö + rungsfall eingreifen. + Ü + s: Der B + Ü + wird zugbewirkt eingeschaltet und vom Triebfahrzeugf + ü + hrer + ü + berwacht. Der Zustand des B + Ü + wird diesem durch + Ü + berwachungssignale angezeigt. Es gibt keine Verbindung zum Stellwerk. Kombinationen der Funtkions + ü + berwachungen sind m + ö + glich. Die ENUM-Werte \"Fue\", \"Ues\" und \"UesOE\" sollen k + ü + nftig entfernt und daher nicht mehr verwendet werden. DB-Regelwerk 815.0032 1 (1) und (2) 819.1203 3 + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasis_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, BUE_Einschaltung_Hp=None, BUE_Funktionsueberwachung=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CBUE_Einschaltung"), self).__init__(Identitaet, Basis_Objekt_Allg, ID_Bearbeitungsvermerk, ID_Oertlichkeit_Ausgabe, Objektreferenzen, **kwargs_) + self.BUE_Einschaltung_Hp = BUE_Einschaltung_Hp + self.BUE_Einschaltung_Hp_nsprefix_ = None + self.BUE_Funktionsueberwachung = BUE_Funktionsueberwachung + self.BUE_Funktionsueberwachung_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CBUE_Einschaltung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CBUE_Einschaltung.subclass: + return CBUE_Einschaltung.subclass(*args_, **kwargs_) + else: + return CBUE_Einschaltung(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_BUE_Einschaltung_Hp(self): + return self.BUE_Einschaltung_Hp + def set_BUE_Einschaltung_Hp(self, BUE_Einschaltung_Hp): + self.BUE_Einschaltung_Hp = BUE_Einschaltung_Hp + def get_BUE_Funktionsueberwachung(self): + return self.BUE_Funktionsueberwachung + def set_BUE_Funktionsueberwachung(self, BUE_Funktionsueberwachung): + self.BUE_Funktionsueberwachung = BUE_Funktionsueberwachung + def has__content(self): + if ( + self.BUE_Einschaltung_Hp is not None or + self.BUE_Funktionsueberwachung is not None or + super(CBUE_Einschaltung, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='CBUE_Einschaltung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CBUE_Einschaltung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CBUE_Einschaltung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CBUE_Einschaltung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CBUE_Einschaltung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBahnuebergang:', name_='CBUE_Einschaltung'): + super(CBUE_Einschaltung, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CBUE_Einschaltung') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='CBUE_Einschaltung', fromsubclass_=False, pretty_print=True): + super(CBUE_Einschaltung, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.BUE_Einschaltung_Hp is not None: + namespaceprefix_ = self.BUE_Einschaltung_Hp_nsprefix_ + ':' if (UseCapturedNS_ and self.BUE_Einschaltung_Hp_nsprefix_) else '' + self.BUE_Einschaltung_Hp.export(outfile, level, namespaceprefix_, namespacedef_='', name_='BUE_Einschaltung_Hp', pretty_print=pretty_print) + if self.BUE_Funktionsueberwachung is not None: + namespaceprefix_ = self.BUE_Funktionsueberwachung_nsprefix_ + ':' if (UseCapturedNS_ and self.BUE_Funktionsueberwachung_nsprefix_) else '' + self.BUE_Funktionsueberwachung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='BUE_Funktionsueberwachung', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CBUE_Einschaltung, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'BUE_Einschaltung_Hp': + obj_ = CBUE_Einschaltung_Hp.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.BUE_Einschaltung_Hp = obj_ + obj_.original_tagname_ = 'BUE_Einschaltung_Hp' + elif nodeName_ == 'BUE_Funktionsueberwachung': + obj_ = TCBUE_Funktionsueberwachung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.BUE_Funktionsueberwachung = obj_ + obj_.original_tagname_ = 'BUE_Funktionsueberwachung' + super(CBUE_Einschaltung, self)._buildChildren(child_, node, nodeName_, True) +# end class CBUE_Einschaltung + + +class TCFahrbahn_Befestigung(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCFahrbahn_Befestigung"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TFahrbahn_Befestigung(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCFahrbahn_Befestigung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCFahrbahn_Befestigung.subclass: + return TCFahrbahn_Befestigung.subclass(*args_, **kwargs_) + else: + return TCFahrbahn_Befestigung(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TFahrbahn_Befestigung(self, value): + result = True + # Validate type TFahrbahn_Befestigung, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TFahrbahn_Befestigung_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TFahrbahn_Befestigung_patterns_, )) + result = False + return result + validate_TFahrbahn_Befestigung_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCFahrbahn_Befestigung, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='TCFahrbahn_Befestigung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCFahrbahn_Befestigung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCFahrbahn_Befestigung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCFahrbahn_Befestigung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCFahrbahn_Befestigung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBahnuebergang:', name_='TCFahrbahn_Befestigung'): + super(TCFahrbahn_Befestigung, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCFahrbahn_Befestigung') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='TCFahrbahn_Befestigung', fromsubclass_=False, pretty_print=True): + super(TCFahrbahn_Befestigung, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCFahrbahn_Befestigung, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TFahrbahn_Befestigung + self.validate_TFahrbahn_Befestigung(self.Wert) + super(TCFahrbahn_Befestigung, self)._buildChildren(child_, node, nodeName_, True) +# end class TCFahrbahn_Befestigung + + +class TCBaumprofil(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCBaumprofil"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMBaumprofil(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCBaumprofil) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCBaumprofil.subclass: + return TCBaumprofil.subclass(*args_, **kwargs_) + else: + return TCBaumprofil(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMBaumprofil(self, value): + result = True + # Validate type ENUMBaumprofil, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['Rechteck', 'rund', 'sonstige'] + 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 ENUMBaumprofil' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCBaumprofil, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='TCBaumprofil', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCBaumprofil') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCBaumprofil': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBaumprofil') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCBaumprofil', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBahnuebergang:', name_='TCBaumprofil'): + super(TCBaumprofil, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBaumprofil') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='TCBaumprofil', fromsubclass_=False, pretty_print=True): + super(TCBaumprofil, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCBaumprofil, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMBaumprofil + self.validate_ENUMBaumprofil(self.Wert) + super(TCBaumprofil, self)._buildChildren(child_, node, nodeName_, True) +# end class TCBaumprofil + + +class TCSperrlaenge(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCSperrlaenge"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TSperrlaenge(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCSperrlaenge) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCSperrlaenge.subclass: + return TCSperrlaenge.subclass(*args_, **kwargs_) + else: + return TCSperrlaenge(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TSperrlaenge(self, value): + result = True + # Validate type TSperrlaenge, a restriction on nsBasisTypen:TMeter. + 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 not self.gds_validate_simple_patterns( + self.validate_TSperrlaenge_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TSperrlaenge_patterns_, )) + result = False + return result + validate_TSperrlaenge_patterns_ = [['^(1[0-9]|20|[1-9])$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCSperrlaenge, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='TCSperrlaenge', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCSperrlaenge') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCSperrlaenge': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCSperrlaenge') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCSperrlaenge', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBahnuebergang:', name_='TCSperrlaenge'): + super(TCSperrlaenge, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCSperrlaenge') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='TCSperrlaenge', fromsubclass_=False, pretty_print=True): + super(TCSperrlaenge, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_decimal(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCSperrlaenge, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + fval_ = self.gds_parse_decimal(sval_, node, 'Wert') + fval_ = self.gds_validate_decimal(fval_, node, 'Wert') + self.Wert = fval_ + self.Wert_nsprefix_ = child_.prefix + # validate type TSperrlaenge + self.validate_TSperrlaenge(self.Wert) + super(TCSperrlaenge, self)._buildChildren(child_, node, nodeName_, True) +# end class TCSperrlaenge + + +class TCBUE_Sicherungsart(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCBUE_Sicherungsart"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMBUE_Sicherungsart(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCBUE_Sicherungsart) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCBUE_Sicherungsart.subclass: + return TCBUE_Sicherungsart.subclass(*args_, **kwargs_) + else: + return TCBUE_Sicherungsart(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMBUE_Sicherungsart(self, value): + result = True + # Validate type ENUMBUE_Sicherungsart, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['A_und_Lf', 'A_und_Sprechverbindung', 'Lz', 'LzH', 'LzH_2F', 'LzH_F', 'LzHH', 'LzHH_2F', 'LzHH_F', 'LzV', 'P', 'P_und_Lf', 'schluesselabhaengig', 'sonstige', 'Ue', 'Ue_und_P'] + 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 ENUMBUE_Sicherungsart' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCBUE_Sicherungsart, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='TCBUE_Sicherungsart', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCBUE_Sicherungsart') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCBUE_Sicherungsart': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBUE_Sicherungsart') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCBUE_Sicherungsart', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBahnuebergang:', name_='TCBUE_Sicherungsart'): + super(TCBUE_Sicherungsart, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBUE_Sicherungsart') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='TCBUE_Sicherungsart', fromsubclass_=False, pretty_print=True): + super(TCBUE_Sicherungsart, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCBUE_Sicherungsart, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMBUE_Sicherungsart + self.validate_ENUMBUE_Sicherungsart(self.Wert) + super(TCBUE_Sicherungsart, self)._buildChildren(child_, node, nodeName_, True) +# end class TCBUE_Sicherungsart + + +class TCAusrichtung_Winkel(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCAusrichtung_Winkel"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TAusrichtung_Winkel(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCAusrichtung_Winkel) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCAusrichtung_Winkel.subclass: + return TCAusrichtung_Winkel.subclass(*args_, **kwargs_) + else: + return TCAusrichtung_Winkel(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TAusrichtung_Winkel(self, value): + result = True + # Validate type TAusrichtung_Winkel, 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 not self.gds_validate_simple_patterns( + self.validate_TAusrichtung_Winkel_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TAusrichtung_Winkel_patterns_, )) + result = False + return result + validate_TAusrichtung_Winkel_patterns_ = [['^(-?([1-8]?[0-9]|90))$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCAusrichtung_Winkel, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='TCAusrichtung_Winkel', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCAusrichtung_Winkel') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCAusrichtung_Winkel': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCAusrichtung_Winkel') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCAusrichtung_Winkel', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBahnuebergang:', name_='TCAusrichtung_Winkel'): + super(TCAusrichtung_Winkel, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCAusrichtung_Winkel') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='TCAusrichtung_Winkel', fromsubclass_=False, pretty_print=True): + super(TCAusrichtung_Winkel, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_decimal(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCAusrichtung_Winkel, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + fval_ = self.gds_parse_decimal(sval_, node, 'Wert') + fval_ = self.gds_validate_decimal(fval_, node, 'Wert') + self.Wert = fval_ + self.Wert_nsprefix_ = child_.prefix + # validate type TAusrichtung_Winkel + self.validate_TAusrichtung_Winkel(self.Wert) + super(TCAusrichtung_Winkel, self)._buildChildren(child_, node, nodeName_, True) +# end class TCAusrichtung_Winkel + + +class TCLFUE_Impuls(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCLFUE_Impuls"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMLFUE_Impuls(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCLFUE_Impuls) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCLFUE_Impuls.subclass: + return TCLFUE_Impuls.subclass(*args_, **kwargs_) + else: + return TCLFUE_Impuls(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMLFUE_Impuls(self, value): + result = True + # Validate type ENUMLFUE_Impuls, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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_zu_40', 'Dauerimpuls', 'sonstige'] + 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 ENUMLFUE_Impuls' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCLFUE_Impuls, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='TCLFUE_Impuls', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCLFUE_Impuls') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCLFUE_Impuls': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCLFUE_Impuls') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCLFUE_Impuls', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBahnuebergang:', name_='TCLFUE_Impuls'): + super(TCLFUE_Impuls, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCLFUE_Impuls') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='TCLFUE_Impuls', fromsubclass_=False, pretty_print=True): + super(TCLFUE_Impuls, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCLFUE_Impuls, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMLFUE_Impuls + self.validate_ENUMLFUE_Impuls(self.Wert) + super(TCLFUE_Impuls, self)._buildChildren(child_, node, nodeName_, True) +# end class TCLFUE_Impuls + + +class TCVorgeschaltet(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCVorgeschaltet"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TVorgeschaltet(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCVorgeschaltet) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCVorgeschaltet.subclass: + return TCVorgeschaltet.subclass(*args_, **kwargs_) + else: + return TCVorgeschaltet(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TVorgeschaltet(self, value): + result = True + # Validate type TVorgeschaltet, a restriction on xs:boolean. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + pass + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCVorgeschaltet, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='TCVorgeschaltet', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCVorgeschaltet') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCVorgeschaltet': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCVorgeschaltet') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCVorgeschaltet', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBahnuebergang:', name_='TCVorgeschaltet'): + super(TCVorgeschaltet, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCVorgeschaltet') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='TCVorgeschaltet', fromsubclass_=False, pretty_print=True): + super(TCVorgeschaltet, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_boolean(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCVorgeschaltet, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + sval_ = child_.text + ival_ = self.gds_parse_boolean(sval_, node, 'Wert') + ival_ = self.gds_validate_boolean(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + # validate type TVorgeschaltet + self.validate_TVorgeschaltet(self.Wert) + super(TCVorgeschaltet, self)._buildChildren(child_, node, nodeName_, True) +# end class TCVorgeschaltet + + +class TCAuto_Het(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCAuto_Het"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCAuto_Het) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCAuto_Het.subclass: + return TCAuto_Het.subclass(*args_, **kwargs_) + else: + return TCAuto_Het(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def has__content(self): + if ( + self.Wert is not None or + super(TCAuto_Het, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='TCAuto_Het', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCAuto_Het') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCAuto_Het': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCAuto_Het') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCAuto_Het', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBahnuebergang:', name_='TCAuto_Het'): + super(TCAuto_Het, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCAuto_Het') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='TCAuto_Het', fromsubclass_=False, pretty_print=True): + super(TCAuto_Het, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_boolean(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCAuto_Het, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + sval_ = child_.text + ival_ = self.gds_parse_boolean(sval_, node, 'Wert') + ival_ = self.gds_validate_boolean(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + super(TCAuto_Het, self)._buildChildren(child_, node, nodeName_, True) +# end class TCAuto_Het + + +class TCFue_Schaltfall(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCFue_Schaltfall"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMFue_Schaltfall(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCFue_Schaltfall) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCFue_Schaltfall.subclass: + return TCFue_Schaltfall.subclass(*args_, **kwargs_) + else: + return TCFue_Schaltfall(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMFue_Schaltfall(self, value): + result = True + # Validate type ENUMFue_Schaltfall, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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', '2'] + 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 ENUMFue_Schaltfall' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCFue_Schaltfall, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='TCFue_Schaltfall', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCFue_Schaltfall') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCFue_Schaltfall': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCFue_Schaltfall') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCFue_Schaltfall', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBahnuebergang:', name_='TCFue_Schaltfall'): + super(TCFue_Schaltfall, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCFue_Schaltfall') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='TCFue_Schaltfall', fromsubclass_=False, pretty_print=True): + super(TCFue_Schaltfall, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCFue_Schaltfall, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMFue_Schaltfall + self.validate_ENUMFue_Schaltfall(self.Wert) + super(TCFue_Schaltfall, self)._buildChildren(child_, node, nodeName_, True) +# end class TCFue_Schaltfall + + +class TCBUE_Funktionsueberwachung(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCBUE_Funktionsueberwachung"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMBUE_Funktionsueberwachung(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCBUE_Funktionsueberwachung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCBUE_Funktionsueberwachung.subclass: + return TCBUE_Funktionsueberwachung.subclass(*args_, **kwargs_) + else: + return TCBUE_Funktionsueberwachung(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMBUE_Funktionsueberwachung(self, value): + result = True + # Validate type ENUMBUE_Funktionsueberwachung, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['Fü', 'Hp', 'Üs', 'ÜsOE'] + 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 ENUMBUE_Funktionsueberwachung' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCBUE_Funktionsueberwachung, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='TCBUE_Funktionsueberwachung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCBUE_Funktionsueberwachung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCBUE_Funktionsueberwachung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBUE_Funktionsueberwachung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCBUE_Funktionsueberwachung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBahnuebergang:', name_='TCBUE_Funktionsueberwachung'): + super(TCBUE_Funktionsueberwachung, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBUE_Funktionsueberwachung') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='TCBUE_Funktionsueberwachung', fromsubclass_=False, pretty_print=True): + super(TCBUE_Funktionsueberwachung, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCBUE_Funktionsueberwachung, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMBUE_Funktionsueberwachung + self.validate_ENUMBUE_Funktionsueberwachung(self.Wert) + super(TCBUE_Funktionsueberwachung, self)._buildChildren(child_, node, nodeName_, True) +# end class TCBUE_Funktionsueberwachung + + +class TCV_Max_Schiene(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCV_Max_Schiene"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TV_Max_Schiene(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCV_Max_Schiene) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCV_Max_Schiene.subclass: + return TCV_Max_Schiene.subclass(*args_, **kwargs_) + else: + return TCV_Max_Schiene(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TV_Max_Schiene(self, value): + result = True + # Validate type TV_Max_Schiene, a restriction on nsBasisTypen:TGeschwindigkeit. + 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_TV_Max_Schiene_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TV_Max_Schiene_patterns_, )) + result = False + return result + validate_TV_Max_Schiene_patterns_ = [['^(0|[1-9][0-9]{0,1}|[1-4][0-9]{2}|500)$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCV_Max_Schiene, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='TCV_Max_Schiene', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCV_Max_Schiene') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCV_Max_Schiene': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCV_Max_Schiene') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCV_Max_Schiene', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBahnuebergang:', name_='TCV_Max_Schiene'): + super(TCV_Max_Schiene, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCV_Max_Schiene') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='TCV_Max_Schiene', fromsubclass_=False, pretty_print=True): + super(TCV_Max_Schiene, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_integer(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCV_Max_Schiene, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + ival_ = self.gds_parse_integer(sval_, node, 'Wert') + ival_ = self.gds_validate_integer(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + # validate type TV_Max_Schiene + self.validate_TV_Max_Schiene(self.Wert) + super(TCV_Max_Schiene, self)._buildChildren(child_, node, nodeName_, True) +# end class TCV_Max_Schiene + + +class TCBUE_Sicherungszeit(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCBUE_Sicherungszeit"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TBUE_Sicherungszeit(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCBUE_Sicherungszeit) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCBUE_Sicherungszeit.subclass: + return TCBUE_Sicherungszeit.subclass(*args_, **kwargs_) + else: + return TCBUE_Sicherungszeit(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TBUE_Sicherungszeit(self, value): + result = True + # Validate type TBUE_Sicherungszeit, a restriction on xs:integer. + 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 + pass + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCBUE_Sicherungszeit, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='TCBUE_Sicherungszeit', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCBUE_Sicherungszeit') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCBUE_Sicherungszeit': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBUE_Sicherungszeit') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCBUE_Sicherungszeit', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBahnuebergang:', name_='TCBUE_Sicherungszeit'): + super(TCBUE_Sicherungszeit, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBUE_Sicherungszeit') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0"', name_='TCBUE_Sicherungszeit', fromsubclass_=False, pretty_print=True): + super(TCBUE_Sicherungszeit, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_integer(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCBUE_Sicherungszeit, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + ival_ = self.gds_parse_integer(sval_, node, 'Wert') + ival_ = self.gds_validate_integer(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + # validate type TBUE_Sicherungszeit + self.validate_TBUE_Sicherungszeit(self.Wert) + super(TCBUE_Sicherungszeit, self)._buildChildren(child_, node, nodeName_, True) +# end class TCBUE_Sicherungszeit + + +class CBlock_Element(CBasis_Objekt): + """CBlock_Element -- Element am Ende einer Blockstrecke/Blockanlage. Ein Streckengleis, welches mit einer Block Anlage ausger + ü + stet ist, besitzt zwei korrespondierende Blockelemente in den benachbarten Betriebsstellen. Eine Ausnahme bildet der Stichstreckenblock, der nur ein Block_Element besitzt. Das Block_Element verweist auch auf die zugeh + ö + rige Blockstrecke, die die relevanten blocktechnischen und betrieblichen Daten der Strecke enth + ä + lt. Bei zweigleisigen Strecken verweisen zwei Blockelemente auf die Blockstrecke. Das Block_Element verweist auf ein Signal in Form des Streckenziels (A-Feld) und auf ein Schaltmittel zur R + ä + umungspr + ü + fung (E-Feld). Wenn eine gesonderte Zugschlussmeldung verwendet wird, wird mit ID_Zugschlussmeldung auf eine entsprechende Bedieneinrichtung verwiesen. Aus der Blockbauform der jeweiligen Endstelle kann die Art der technischen Realisierung erkannt werden. + ID_Block_Strecke -- Verweis vom Block Element auf die zugeh + ö + rige Block Strecke. Bei zweigleisigen Strecken verweisen zwei Block_Elemente auf die Block_Strecke. Bei eingleisigen Strecken verweist nur ein Block_Element auf die Block_Strecke. + ID_Raeumungspruefung -- Verweis vom Block Element auf die zugeh + ö + rge R + ä + umungspr + ü + fung. Das Blockelement verweist + ü + ber Schaltmittel Zuordnung auf ein Schaltmittel, welches zur R + ä + umungspr + ü + fung befahren und freigefahren werden muss. Nach erfolgreicher R + ä + umungspr + ü + fung kann der (automatische) R + ü + ckblock erfolgen. + ID_Signal -- Verweis auf ein fiktives Signal (Ausfahrziel), + ü + ber das die Abh + ä + ngigkeit des zugeh + ö + rigen A-Feldes beschrieben wird. + ID_Zugschlussmeldung -- Verweis vom Block Element auf die zugeh + ö + rige Bedieneinrichtung zur Abgabe einer Zugschlussmeldung. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasis_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, Block_Element_Allg=None, Block_Element_Erlaubnis=None, ID_Block_Strecke=None, ID_Raeumungspruefung=None, ID_Signal=None, ID_Zugschlussmeldung=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CBlock_Element"), self).__init__(Identitaet, Basis_Objekt_Allg, ID_Bearbeitungsvermerk, ID_Oertlichkeit_Ausgabe, Objektreferenzen, **kwargs_) + self.Block_Element_Allg = Block_Element_Allg + self.Block_Element_Allg_nsprefix_ = None + self.Block_Element_Erlaubnis = Block_Element_Erlaubnis + self.Block_Element_Erlaubnis_nsprefix_ = None + self.ID_Block_Strecke = ID_Block_Strecke + self.ID_Block_Strecke_nsprefix_ = None + self.ID_Raeumungspruefung = ID_Raeumungspruefung + self.ID_Raeumungspruefung_nsprefix_ = None + self.ID_Signal = ID_Signal + self.ID_Signal_nsprefix_ = None + self.ID_Zugschlussmeldung = ID_Zugschlussmeldung + self.ID_Zugschlussmeldung_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CBlock_Element) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CBlock_Element.subclass: + return CBlock_Element.subclass(*args_, **kwargs_) + else: + return CBlock_Element(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Block_Element_Allg(self): + return self.Block_Element_Allg + def set_Block_Element_Allg(self, Block_Element_Allg): + self.Block_Element_Allg = Block_Element_Allg + def get_Block_Element_Erlaubnis(self): + return self.Block_Element_Erlaubnis + def set_Block_Element_Erlaubnis(self, Block_Element_Erlaubnis): + self.Block_Element_Erlaubnis = Block_Element_Erlaubnis + def get_ID_Block_Strecke(self): + return self.ID_Block_Strecke + def set_ID_Block_Strecke(self, ID_Block_Strecke): + self.ID_Block_Strecke = ID_Block_Strecke + def get_ID_Raeumungspruefung(self): + return self.ID_Raeumungspruefung + def set_ID_Raeumungspruefung(self, ID_Raeumungspruefung): + self.ID_Raeumungspruefung = ID_Raeumungspruefung + def get_ID_Signal(self): + return self.ID_Signal + def set_ID_Signal(self, ID_Signal): + self.ID_Signal = ID_Signal + def get_ID_Zugschlussmeldung(self): + return self.ID_Zugschlussmeldung + def set_ID_Zugschlussmeldung(self, ID_Zugschlussmeldung): + self.ID_Zugschlussmeldung = ID_Zugschlussmeldung + def has__content(self): + if ( + self.Block_Element_Allg is not None or + self.Block_Element_Erlaubnis is not None or + self.ID_Block_Strecke is not None or + self.ID_Raeumungspruefung is not None or + self.ID_Signal is not None or + self.ID_Zugschlussmeldung is not None or + super(CBlock_Element, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBlock:', namespacedef_='xmlns:nsBlock="http://www.plan-pro.org/modell/Block/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CBlock_Element', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CBlock_Element') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CBlock_Element': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CBlock_Element') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CBlock_Element', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBlock:', name_='CBlock_Element'): + super(CBlock_Element, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CBlock_Element') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBlock:', namespacedef_='xmlns:nsBlock="http://www.plan-pro.org/modell/Block/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CBlock_Element', fromsubclass_=False, pretty_print=True): + super(CBlock_Element, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Block_Element_Allg is not None: + namespaceprefix_ = self.Block_Element_Allg_nsprefix_ + ':' if (UseCapturedNS_ and self.Block_Element_Allg_nsprefix_) else '' + self.Block_Element_Allg.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Block_Element_Allg', pretty_print=pretty_print) + if self.Block_Element_Erlaubnis is not None: + namespaceprefix_ = self.Block_Element_Erlaubnis_nsprefix_ + ':' if (UseCapturedNS_ and self.Block_Element_Erlaubnis_nsprefix_) else '' + self.Block_Element_Erlaubnis.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Block_Element_Erlaubnis', pretty_print=pretty_print) + if self.ID_Block_Strecke is not None: + namespaceprefix_ = self.ID_Block_Strecke_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Block_Strecke_nsprefix_) else '' + self.ID_Block_Strecke.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Block_Strecke', pretty_print=pretty_print) + if self.ID_Raeumungspruefung is not None: + namespaceprefix_ = self.ID_Raeumungspruefung_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Raeumungspruefung_nsprefix_) else '' + self.ID_Raeumungspruefung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Raeumungspruefung', pretty_print=pretty_print) + if self.ID_Signal is not None: + namespaceprefix_ = self.ID_Signal_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Signal_nsprefix_) else '' + self.ID_Signal.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Signal', pretty_print=pretty_print) + if self.ID_Zugschlussmeldung is not None: + namespaceprefix_ = self.ID_Zugschlussmeldung_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Zugschlussmeldung_nsprefix_) else '' + self.ID_Zugschlussmeldung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Zugschlussmeldung', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CBlock_Element, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Block_Element_Allg': + obj_ = CBlock_Element_Allg.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Block_Element_Allg = obj_ + obj_.original_tagname_ = 'Block_Element_Allg' + elif nodeName_ == 'Block_Element_Erlaubnis': + obj_ = CBlock_Element_Erlaubnis.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Block_Element_Erlaubnis = obj_ + obj_.original_tagname_ = 'Block_Element_Erlaubnis' + elif nodeName_ == 'ID_Block_Strecke': + obj_ = TCID_Block_Strecke.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Block_Strecke = obj_ + obj_.original_tagname_ = 'ID_Block_Strecke' + elif nodeName_ == 'ID_Raeumungspruefung': + obj_ = TCID_Schaltmittel_Zuordnung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Raeumungspruefung = obj_ + obj_.original_tagname_ = 'ID_Raeumungspruefung' + elif nodeName_ == 'ID_Signal': + obj_ = TCID_Signal.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Signal = obj_ + obj_.original_tagname_ = 'ID_Signal' + elif nodeName_ == 'ID_Zugschlussmeldung': + obj_ = TCID_Bedien_Anzeige_Element.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Zugschlussmeldung = obj_ + obj_.original_tagname_ = 'ID_Zugschlussmeldung' + super(CBlock_Element, self)._buildChildren(child_, node, nodeName_, True) +# end class CBlock_Element + + +class TCZugbeeinflussung_Art(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCZugbeeinflussung_Art"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TAnwendungssystem(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCZugbeeinflussung_Art) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCZugbeeinflussung_Art.subclass: + return TCZugbeeinflussung_Art.subclass(*args_, **kwargs_) + else: + return TCZugbeeinflussung_Art(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TAnwendungssystem(self, value): + result = True + # Validate type TAnwendungssystem, a restriction on nsBasisTypen:ENUMAnwendungssystem. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['ESG', 'GNT', 'L2', 'L2oS', 'LZB', 'ohne', 'PZB', 'sonstige', 'ZBS'] + 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 TAnwendungssystem' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCZugbeeinflussung_Art, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBlock:', namespacedef_='xmlns:nsBlock="http://www.plan-pro.org/modell/Block/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCZugbeeinflussung_Art', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCZugbeeinflussung_Art') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCZugbeeinflussung_Art': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCZugbeeinflussung_Art') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCZugbeeinflussung_Art', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBlock:', name_='TCZugbeeinflussung_Art'): + super(TCZugbeeinflussung_Art, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCZugbeeinflussung_Art') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBlock:', namespacedef_='xmlns:nsBlock="http://www.plan-pro.org/modell/Block/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCZugbeeinflussung_Art', fromsubclass_=False, pretty_print=True): + super(TCZugbeeinflussung_Art, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCZugbeeinflussung_Art, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TAnwendungssystem + self.validate_TAnwendungssystem(self.Wert) + super(TCZugbeeinflussung_Art, self)._buildChildren(child_, node, nodeName_, True) +# end class TCZugbeeinflussung_Art + + +class TCSchutzuebertrager(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCSchutzuebertrager"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCSchutzuebertrager) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCSchutzuebertrager.subclass: + return TCSchutzuebertrager.subclass(*args_, **kwargs_) + else: + return TCSchutzuebertrager(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def has__content(self): + if ( + self.Wert is not None or + super(TCSchutzuebertrager, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBlock:', namespacedef_='xmlns:nsBlock="http://www.plan-pro.org/modell/Block/1.10.0"', name_='TCSchutzuebertrager', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCSchutzuebertrager') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCSchutzuebertrager': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCSchutzuebertrager') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCSchutzuebertrager', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBlock:', name_='TCSchutzuebertrager'): + super(TCSchutzuebertrager, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCSchutzuebertrager') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBlock:', namespacedef_='xmlns:nsBlock="http://www.plan-pro.org/modell/Block/1.10.0"', name_='TCSchutzuebertrager', fromsubclass_=False, pretty_print=True): + super(TCSchutzuebertrager, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_boolean(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCSchutzuebertrager, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + sval_ = child_.text + ival_ = self.gds_parse_boolean(sval_, node, 'Wert') + ival_ = self.gds_validate_boolean(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + super(TCSchutzuebertrager, self)._buildChildren(child_, node, nodeName_, True) +# end class TCSchutzuebertrager + + +class TCAuto_Erlaubnisholen(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCAuto_Erlaubnisholen"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCAuto_Erlaubnisholen) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCAuto_Erlaubnisholen.subclass: + return TCAuto_Erlaubnisholen.subclass(*args_, **kwargs_) + else: + return TCAuto_Erlaubnisholen(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def has__content(self): + if ( + self.Wert is not None or + super(TCAuto_Erlaubnisholen, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBlock:', namespacedef_='xmlns:nsBlock="http://www.plan-pro.org/modell/Block/1.10.0"', name_='TCAuto_Erlaubnisholen', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCAuto_Erlaubnisholen') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCAuto_Erlaubnisholen': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCAuto_Erlaubnisholen') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCAuto_Erlaubnisholen', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBlock:', name_='TCAuto_Erlaubnisholen'): + super(TCAuto_Erlaubnisholen, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCAuto_Erlaubnisholen') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBlock:', namespacedef_='xmlns:nsBlock="http://www.plan-pro.org/modell/Block/1.10.0"', name_='TCAuto_Erlaubnisholen', fromsubclass_=False, pretty_print=True): + super(TCAuto_Erlaubnisholen, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_boolean(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCAuto_Erlaubnisholen, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + sval_ = child_.text + ival_ = self.gds_parse_boolean(sval_, node, 'Wert') + ival_ = self.gds_validate_boolean(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + super(TCAuto_Erlaubnisholen, self)._buildChildren(child_, node, nodeName_, True) +# end class TCAuto_Erlaubnisholen + + +class TCErlaubnisabgabespeicherung(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCErlaubnisabgabespeicherung"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCErlaubnisabgabespeicherung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCErlaubnisabgabespeicherung.subclass: + return TCErlaubnisabgabespeicherung.subclass(*args_, **kwargs_) + else: + return TCErlaubnisabgabespeicherung(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def has__content(self): + if ( + self.Wert is not None or + super(TCErlaubnisabgabespeicherung, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBlock:', namespacedef_='xmlns:nsBlock="http://www.plan-pro.org/modell/Block/1.10.0"', name_='TCErlaubnisabgabespeicherung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCErlaubnisabgabespeicherung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCErlaubnisabgabespeicherung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCErlaubnisabgabespeicherung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCErlaubnisabgabespeicherung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBlock:', name_='TCErlaubnisabgabespeicherung'): + super(TCErlaubnisabgabespeicherung, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCErlaubnisabgabespeicherung') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBlock:', namespacedef_='xmlns:nsBlock="http://www.plan-pro.org/modell/Block/1.10.0"', name_='TCErlaubnisabgabespeicherung', fromsubclass_=False, pretty_print=True): + super(TCErlaubnisabgabespeicherung, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_boolean(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCErlaubnisabgabespeicherung, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + sval_ = child_.text + ival_ = self.gds_parse_boolean(sval_, node, 'Wert') + ival_ = self.gds_validate_boolean(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + super(TCErlaubnisabgabespeicherung, self)._buildChildren(child_, node, nodeName_, True) +# end class TCErlaubnisabgabespeicherung + + +class TCVorblockwecker(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCVorblockwecker"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCVorblockwecker) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCVorblockwecker.subclass: + return TCVorblockwecker.subclass(*args_, **kwargs_) + else: + return TCVorblockwecker(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def has__content(self): + if ( + self.Wert is not None or + super(TCVorblockwecker, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBlock:', namespacedef_='xmlns:nsBlock="http://www.plan-pro.org/modell/Block/1.10.0"', name_='TCVorblockwecker', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCVorblockwecker') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCVorblockwecker': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCVorblockwecker') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCVorblockwecker', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBlock:', name_='TCVorblockwecker'): + super(TCVorblockwecker, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCVorblockwecker') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBlock:', namespacedef_='xmlns:nsBlock="http://www.plan-pro.org/modell/Block/1.10.0"', name_='TCVorblockwecker', fromsubclass_=False, pretty_print=True): + super(TCVorblockwecker, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_boolean(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCVorblockwecker, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + sval_ = child_.text + ival_ = self.gds_parse_boolean(sval_, node, 'Wert') + ival_ = self.gds_validate_boolean(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + super(TCVorblockwecker, self)._buildChildren(child_, node, nodeName_, True) +# end class TCVorblockwecker + + +class CBlock_Strecke(CBasis_Objekt): + """CBlock_Strecke -- Speicherung der betrieblich relevanter Streckendaten einer Blockstrecke. Das Objekt enth + ä + lt die zwischen zwei Zugmeldestellen typischen betrieblichen Informationen (Streckendaten) zur Information. Es wird dem Blockelement der zugeh + ö + rigen Blockstelle zugeordnet. + ID_Betriebsstelle_Nachbar -- Verweis auf die + Ö + rtlichkeit der n + ä + chsten Zugmeldestelle. + ID_Knotenbahnhof -- Verweis auf die + Ö + rtlichkeit des n + ä + chsten Knotenbahnhofs oder am Streckenende zur besseren Orientierung. Das Attribut ist nicht zu bef + ü + llen, wenn ID_Betriebsstelle_Nachbar bereits auf einen Knotenbahnhof oder die + Ö + rtlichkeit am Streckenende verweist. + ID_Strecke -- Zuordnung auf die Strecke. + ID_Strecke_Bremsweg -- Verweis auf das Bereichsobjekt Strecke_Bremsweg zur Angabe des Bremswegs der Strecke. Es besteht + ü + bergangsweise noch die M + ö + glichkeit, das Attribut Bremsweg zu bef + ü + llen. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasis_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, Block_Strecke_Allg=None, ID_Betriebsstelle_Nachbar=None, ID_Knotenbahnhof=None, ID_Strecke=None, ID_Strecke_Bremsweg=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CBlock_Strecke"), self).__init__(Identitaet, Basis_Objekt_Allg, ID_Bearbeitungsvermerk, ID_Oertlichkeit_Ausgabe, Objektreferenzen, **kwargs_) + self.Block_Strecke_Allg = Block_Strecke_Allg + self.Block_Strecke_Allg_nsprefix_ = None + self.ID_Betriebsstelle_Nachbar = ID_Betriebsstelle_Nachbar + self.ID_Betriebsstelle_Nachbar_nsprefix_ = None + self.ID_Knotenbahnhof = ID_Knotenbahnhof + self.ID_Knotenbahnhof_nsprefix_ = None + self.ID_Strecke = ID_Strecke + self.ID_Strecke_nsprefix_ = None + self.ID_Strecke_Bremsweg = ID_Strecke_Bremsweg + self.ID_Strecke_Bremsweg_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CBlock_Strecke) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CBlock_Strecke.subclass: + return CBlock_Strecke.subclass(*args_, **kwargs_) + else: + return CBlock_Strecke(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Block_Strecke_Allg(self): + return self.Block_Strecke_Allg + def set_Block_Strecke_Allg(self, Block_Strecke_Allg): + self.Block_Strecke_Allg = Block_Strecke_Allg + def get_ID_Betriebsstelle_Nachbar(self): + return self.ID_Betriebsstelle_Nachbar + def set_ID_Betriebsstelle_Nachbar(self, ID_Betriebsstelle_Nachbar): + self.ID_Betriebsstelle_Nachbar = ID_Betriebsstelle_Nachbar + def get_ID_Knotenbahnhof(self): + return self.ID_Knotenbahnhof + def set_ID_Knotenbahnhof(self, ID_Knotenbahnhof): + self.ID_Knotenbahnhof = ID_Knotenbahnhof + def get_ID_Strecke(self): + return self.ID_Strecke + def set_ID_Strecke(self, ID_Strecke): + self.ID_Strecke = ID_Strecke + def get_ID_Strecke_Bremsweg(self): + return self.ID_Strecke_Bremsweg + def set_ID_Strecke_Bremsweg(self, ID_Strecke_Bremsweg): + self.ID_Strecke_Bremsweg = ID_Strecke_Bremsweg + def has__content(self): + if ( + self.Block_Strecke_Allg is not None or + self.ID_Betriebsstelle_Nachbar is not None or + self.ID_Knotenbahnhof is not None or + self.ID_Strecke is not None or + self.ID_Strecke_Bremsweg is not None or + super(CBlock_Strecke, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBlock:', namespacedef_='xmlns:nsBlock="http://www.plan-pro.org/modell/Block/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CBlock_Strecke', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CBlock_Strecke') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CBlock_Strecke': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CBlock_Strecke') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CBlock_Strecke', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBlock:', name_='CBlock_Strecke'): + super(CBlock_Strecke, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CBlock_Strecke') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBlock:', namespacedef_='xmlns:nsBlock="http://www.plan-pro.org/modell/Block/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CBlock_Strecke', fromsubclass_=False, pretty_print=True): + super(CBlock_Strecke, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Block_Strecke_Allg is not None: + namespaceprefix_ = self.Block_Strecke_Allg_nsprefix_ + ':' if (UseCapturedNS_ and self.Block_Strecke_Allg_nsprefix_) else '' + self.Block_Strecke_Allg.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Block_Strecke_Allg', pretty_print=pretty_print) + if self.ID_Betriebsstelle_Nachbar is not None: + namespaceprefix_ = self.ID_Betriebsstelle_Nachbar_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Betriebsstelle_Nachbar_nsprefix_) else '' + self.ID_Betriebsstelle_Nachbar.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Betriebsstelle_Nachbar', pretty_print=pretty_print) + if self.ID_Knotenbahnhof is not None: + namespaceprefix_ = self.ID_Knotenbahnhof_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Knotenbahnhof_nsprefix_) else '' + self.ID_Knotenbahnhof.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Knotenbahnhof', pretty_print=pretty_print) + if self.ID_Strecke is not None: + namespaceprefix_ = self.ID_Strecke_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Strecke_nsprefix_) else '' + self.ID_Strecke.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Strecke', pretty_print=pretty_print) + if self.ID_Strecke_Bremsweg is not None: + namespaceprefix_ = self.ID_Strecke_Bremsweg_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Strecke_Bremsweg_nsprefix_) else '' + self.ID_Strecke_Bremsweg.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Strecke_Bremsweg', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CBlock_Strecke, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Block_Strecke_Allg': + obj_ = CBlock_Strecke_Allg.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Block_Strecke_Allg = obj_ + obj_.original_tagname_ = 'Block_Strecke_Allg' + elif nodeName_ == 'ID_Betriebsstelle_Nachbar': + obj_ = TCID_Oertlichkeit_Proxy.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Betriebsstelle_Nachbar = obj_ + obj_.original_tagname_ = 'ID_Betriebsstelle_Nachbar' + elif nodeName_ == 'ID_Knotenbahnhof': + obj_ = TCID_Oertlichkeit_Proxy.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Knotenbahnhof = obj_ + obj_.original_tagname_ = 'ID_Knotenbahnhof' + elif nodeName_ == 'ID_Strecke': + obj_ = TCID_Strecke.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Strecke = obj_ + obj_.original_tagname_ = 'ID_Strecke' + elif nodeName_ == 'ID_Strecke_Bremsweg': + obj_ = TCID_Strecke_Bremsweg_ohne_Proxy.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Strecke_Bremsweg = obj_ + obj_.original_tagname_ = 'ID_Strecke_Bremsweg' + super(CBlock_Strecke, self)._buildChildren(child_, node, nodeName_, True) +# end class CBlock_Strecke + + +class TCErlaubnis_Staendig_Vorhanden(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCErlaubnis_Staendig_Vorhanden"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCErlaubnis_Staendig_Vorhanden) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCErlaubnis_Staendig_Vorhanden.subclass: + return TCErlaubnis_Staendig_Vorhanden.subclass(*args_, **kwargs_) + else: + return TCErlaubnis_Staendig_Vorhanden(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def has__content(self): + if ( + self.Wert is not None or + super(TCErlaubnis_Staendig_Vorhanden, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBlock:', namespacedef_='xmlns:nsBlock="http://www.plan-pro.org/modell/Block/1.10.0"', name_='TCErlaubnis_Staendig_Vorhanden', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCErlaubnis_Staendig_Vorhanden') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCErlaubnis_Staendig_Vorhanden': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCErlaubnis_Staendig_Vorhanden') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCErlaubnis_Staendig_Vorhanden', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBlock:', name_='TCErlaubnis_Staendig_Vorhanden'): + super(TCErlaubnis_Staendig_Vorhanden, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCErlaubnis_Staendig_Vorhanden') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBlock:', namespacedef_='xmlns:nsBlock="http://www.plan-pro.org/modell/Block/1.10.0"', name_='TCErlaubnis_Staendig_Vorhanden', fromsubclass_=False, pretty_print=True): + super(TCErlaubnis_Staendig_Vorhanden, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_boolean(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCErlaubnis_Staendig_Vorhanden, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + sval_ = child_.text + ival_ = self.gds_parse_boolean(sval_, node, 'Wert') + ival_ = self.gds_validate_boolean(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + super(TCErlaubnis_Staendig_Vorhanden, self)._buildChildren(child_, node, nodeName_, True) +# end class TCErlaubnis_Staendig_Vorhanden + + +class TCStrecke_Art(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCStrecke_Art"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMStrecke_Art(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCStrecke_Art) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCStrecke_Art.subclass: + return TCStrecke_Art.subclass(*args_, **kwargs_) + else: + return TCStrecke_Art(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMStrecke_Art(self, value): + result = True + # Validate type ENUMStrecke_Art, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['Hauptbahn', 'Nebenbahn'] + 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 ENUMStrecke_Art' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCStrecke_Art, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBlock:', namespacedef_='xmlns:nsBlock="http://www.plan-pro.org/modell/Block/1.10.0"', name_='TCStrecke_Art', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCStrecke_Art') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCStrecke_Art': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCStrecke_Art') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCStrecke_Art', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBlock:', name_='TCStrecke_Art'): + super(TCStrecke_Art, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCStrecke_Art') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBlock:', namespacedef_='xmlns:nsBlock="http://www.plan-pro.org/modell/Block/1.10.0"', name_='TCStrecke_Art', fromsubclass_=False, pretty_print=True): + super(TCStrecke_Art, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCStrecke_Art, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMStrecke_Art + self.validate_ENUMStrecke_Art(self.Wert) + super(TCStrecke_Art, self)._buildChildren(child_, node, nodeName_, True) +# end class TCStrecke_Art + + +class CBlock_Anlage_Allg(GeneratedsSuper): + """Schaltung -- Ausf + ü + hrung der Schaltung f + ü + r die + Ü + bertragung der Blockinformationen. + Schutzuebertrager -- Die Schaltung des Streckenblocks ist mit Schutz + ü + bertrager ausger + ü + stet. Die konkrete Anzahl der Schutz + ü + bertrager ergibt sich aus der Beeinflussungsberechnung, die nicht Bestandteil des Modells ist. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Schaltung=None, Schutzuebertrager=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Schaltung = Schaltung + self.Schaltung_nsprefix_ = None + self.Schutzuebertrager = Schutzuebertrager + self.Schutzuebertrager_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CBlock_Anlage_Allg) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CBlock_Anlage_Allg.subclass: + return CBlock_Anlage_Allg.subclass(*args_, **kwargs_) + else: + return CBlock_Anlage_Allg(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Schaltung(self): + return self.Schaltung + def set_Schaltung(self, Schaltung): + self.Schaltung = Schaltung + def get_Schutzuebertrager(self): + return self.Schutzuebertrager + def set_Schutzuebertrager(self, Schutzuebertrager): + self.Schutzuebertrager = Schutzuebertrager + def has__content(self): + if ( + self.Schaltung is not None or + self.Schutzuebertrager is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBlock:', namespacedef_='xmlns:nsBlock="http://www.plan-pro.org/modell/Block/1.10.0"', name_='CBlock_Anlage_Allg', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CBlock_Anlage_Allg') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CBlock_Anlage_Allg': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CBlock_Anlage_Allg') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CBlock_Anlage_Allg', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBlock:', name_='CBlock_Anlage_Allg'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsBlock:', namespacedef_='xmlns:nsBlock="http://www.plan-pro.org/modell/Block/1.10.0"', name_='CBlock_Anlage_Allg', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Schaltung is not None: + namespaceprefix_ = self.Schaltung_nsprefix_ + ':' if (UseCapturedNS_ and self.Schaltung_nsprefix_) else '' + self.Schaltung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Schaltung', pretty_print=pretty_print) + if self.Schutzuebertrager is not None: + namespaceprefix_ = self.Schutzuebertrager_nsprefix_ + ':' if (UseCapturedNS_ and self.Schutzuebertrager_nsprefix_) else '' + self.Schutzuebertrager.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Schutzuebertrager', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Schaltung': + obj_ = TCSchaltung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Schaltung = obj_ + obj_.original_tagname_ = 'Schaltung' + elif nodeName_ == 'Schutzuebertrager': + obj_ = TCSchutzuebertrager.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Schutzuebertrager = obj_ + obj_.original_tagname_ = 'Schutzuebertrager' +# end class CBlock_Anlage_Allg + + +class TCRueckblockwecker(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCRueckblockwecker"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCRueckblockwecker) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCRueckblockwecker.subclass: + return TCRueckblockwecker.subclass(*args_, **kwargs_) + else: + return TCRueckblockwecker(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def has__content(self): + if ( + self.Wert is not None or + super(TCRueckblockwecker, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBlock:', namespacedef_='xmlns:nsBlock="http://www.plan-pro.org/modell/Block/1.10.0"', name_='TCRueckblockwecker', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCRueckblockwecker') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCRueckblockwecker': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCRueckblockwecker') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCRueckblockwecker', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBlock:', name_='TCRueckblockwecker'): + super(TCRueckblockwecker, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCRueckblockwecker') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBlock:', namespacedef_='xmlns:nsBlock="http://www.plan-pro.org/modell/Block/1.10.0"', name_='TCRueckblockwecker', fromsubclass_=False, pretty_print=True): + super(TCRueckblockwecker, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_boolean(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCRueckblockwecker, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + sval_ = child_.text + ival_ = self.gds_parse_boolean(sval_, node, 'Wert') + ival_ = self.gds_validate_boolean(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + super(TCRueckblockwecker, self)._buildChildren(child_, node, nodeName_, True) +# end class TCRueckblockwecker + + +class CBlock_Element_Allg(GeneratedsSuper): + """Block_Bauform -- Technische Auspr + ä + gung der Blockbauform an den beiden Enden einer Blockanlage. Eine Blockstrecke beginnt und endet an einer Betriebsstelle, zu der jeweils ein Block Element mit der entsprechenden Block_Bauform zugeordnet wird. DB-Regelwerk Ril 482.9001A07, Seite 1 und 5 + Rueckblockwecker -- F + ü + r den Streckenblock des Streckengleises ist ein R + ü + ckblockwecker eingerichtet. Mit dieser technischen Einrichtung wird eine akustische Meldung beim Eintreffen des R + ü + ckblocks von der Gegenstelle ausgegeben. + Vorblockwecker -- F + ü + r den Streckenblock des Streckengleises ist ein Vorkblockwecker eingerichtet. Mit dieser technischen Einrichtung wird eine akustische Meldung beim Eintreffen des Vorblocks von der Gegenstelle ausgegeben. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Block_Bauform=None, Rueckblockwecker=None, Vorblockwecker=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Block_Bauform = Block_Bauform + self.Block_Bauform_nsprefix_ = None + self.Rueckblockwecker = Rueckblockwecker + self.Rueckblockwecker_nsprefix_ = None + self.Vorblockwecker = Vorblockwecker + self.Vorblockwecker_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CBlock_Element_Allg) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CBlock_Element_Allg.subclass: + return CBlock_Element_Allg.subclass(*args_, **kwargs_) + else: + return CBlock_Element_Allg(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Block_Bauform(self): + return self.Block_Bauform + def set_Block_Bauform(self, Block_Bauform): + self.Block_Bauform = Block_Bauform + def get_Rueckblockwecker(self): + return self.Rueckblockwecker + def set_Rueckblockwecker(self, Rueckblockwecker): + self.Rueckblockwecker = Rueckblockwecker + def get_Vorblockwecker(self): + return self.Vorblockwecker + def set_Vorblockwecker(self, Vorblockwecker): + self.Vorblockwecker = Vorblockwecker + def has__content(self): + if ( + self.Block_Bauform is not None or + self.Rueckblockwecker is not None or + self.Vorblockwecker is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBlock:', namespacedef_='xmlns:nsBlock="http://www.plan-pro.org/modell/Block/1.10.0"', name_='CBlock_Element_Allg', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CBlock_Element_Allg') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CBlock_Element_Allg': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CBlock_Element_Allg') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CBlock_Element_Allg', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBlock:', name_='CBlock_Element_Allg'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsBlock:', namespacedef_='xmlns:nsBlock="http://www.plan-pro.org/modell/Block/1.10.0"', name_='CBlock_Element_Allg', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Block_Bauform is not None: + namespaceprefix_ = self.Block_Bauform_nsprefix_ + ':' if (UseCapturedNS_ and self.Block_Bauform_nsprefix_) else '' + self.Block_Bauform.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Block_Bauform', pretty_print=pretty_print) + if self.Rueckblockwecker is not None: + namespaceprefix_ = self.Rueckblockwecker_nsprefix_ + ':' if (UseCapturedNS_ and self.Rueckblockwecker_nsprefix_) else '' + self.Rueckblockwecker.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Rueckblockwecker', pretty_print=pretty_print) + if self.Vorblockwecker is not None: + namespaceprefix_ = self.Vorblockwecker_nsprefix_ + ':' if (UseCapturedNS_ and self.Vorblockwecker_nsprefix_) else '' + self.Vorblockwecker.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Vorblockwecker', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Block_Bauform': + obj_ = TCBlock_Bauform.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Block_Bauform = obj_ + obj_.original_tagname_ = 'Block_Bauform' + elif nodeName_ == 'Rueckblockwecker': + obj_ = TCRueckblockwecker.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Rueckblockwecker = obj_ + obj_.original_tagname_ = 'Rueckblockwecker' + elif nodeName_ == 'Vorblockwecker': + obj_ = TCVorblockwecker.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Vorblockwecker = obj_ + obj_.original_tagname_ = 'Vorblockwecker' +# end class CBlock_Element_Allg + + +class TCZusatzinformation(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCZusatzinformation"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TZusatzinformation(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCZusatzinformation) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCZusatzinformation.subclass: + return TCZusatzinformation.subclass(*args_, **kwargs_) + else: + return TCZusatzinformation(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TZusatzinformation(self, value): + result = True + # Validate type TZusatzinformation, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TZusatzinformation_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TZusatzinformation_patterns_, )) + result = False + return result + validate_TZusatzinformation_patterns_ = [['^(.{1,50})$'], ['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCZusatzinformation, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBlock:', namespacedef_='xmlns:nsBlock="http://www.plan-pro.org/modell/Block/1.10.0"', name_='TCZusatzinformation', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCZusatzinformation') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCZusatzinformation': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCZusatzinformation') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCZusatzinformation', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBlock:', name_='TCZusatzinformation'): + super(TCZusatzinformation, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCZusatzinformation') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBlock:', namespacedef_='xmlns:nsBlock="http://www.plan-pro.org/modell/Block/1.10.0"', name_='TCZusatzinformation', fromsubclass_=False, pretty_print=True): + super(TCZusatzinformation, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCZusatzinformation, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TZusatzinformation + self.validate_TZusatzinformation(self.Wert) + super(TCZusatzinformation, self)._buildChildren(child_, node, nodeName_, True) +# end class TCZusatzinformation + + +class TCTraktion_Art_Elektrisch(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCTraktion_Art_Elektrisch"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TFahrstrom(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCTraktion_Art_Elektrisch) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCTraktion_Art_Elektrisch.subclass: + return TCTraktion_Art_Elektrisch.subclass(*args_, **kwargs_) + else: + return TCTraktion_Art_Elektrisch(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TFahrstrom(self, value): + result = True + # Validate type TFahrstrom, a restriction on nsBasisTypen:ENUMFahrstrom. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['1200V_DC_Stromschiene', '1500V_DC', '15kV_16_7Hz', '2400V_DC', '25kV_50Hz', '3000V_DC', '750V_DC_Stromschiene', 'sonstige'] + 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 TFahrstrom' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCTraktion_Art_Elektrisch, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBlock:', namespacedef_='xmlns:nsBlock="http://www.plan-pro.org/modell/Block/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCTraktion_Art_Elektrisch', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCTraktion_Art_Elektrisch') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCTraktion_Art_Elektrisch': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCTraktion_Art_Elektrisch') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCTraktion_Art_Elektrisch', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBlock:', name_='TCTraktion_Art_Elektrisch'): + super(TCTraktion_Art_Elektrisch, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCTraktion_Art_Elektrisch') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBlock:', namespacedef_='xmlns:nsBlock="http://www.plan-pro.org/modell/Block/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCTraktion_Art_Elektrisch', fromsubclass_=False, pretty_print=True): + super(TCTraktion_Art_Elektrisch, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCTraktion_Art_Elektrisch, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TFahrstrom + self.validate_TFahrstrom(self.Wert) + super(TCTraktion_Art_Elektrisch, self)._buildChildren(child_, node, nodeName_, True) +# end class TCTraktion_Art_Elektrisch + + +class TCErlaubnisholen(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCErlaubnisholen"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCErlaubnisholen) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCErlaubnisholen.subclass: + return TCErlaubnisholen.subclass(*args_, **kwargs_) + else: + return TCErlaubnisholen(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def has__content(self): + if ( + self.Wert is not None or + super(TCErlaubnisholen, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBlock:', namespacedef_='xmlns:nsBlock="http://www.plan-pro.org/modell/Block/1.10.0"', name_='TCErlaubnisholen', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCErlaubnisholen') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCErlaubnisholen': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCErlaubnisholen') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCErlaubnisholen', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBlock:', name_='TCErlaubnisholen'): + super(TCErlaubnisholen, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCErlaubnisholen') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBlock:', namespacedef_='xmlns:nsBlock="http://www.plan-pro.org/modell/Block/1.10.0"', name_='TCErlaubnisholen', fromsubclass_=False, pretty_print=True): + super(TCErlaubnisholen, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_boolean(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCErlaubnisholen, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + sval_ = child_.text + ival_ = self.gds_parse_boolean(sval_, node, 'Wert') + ival_ = self.gds_validate_boolean(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + super(TCErlaubnisholen, self)._buildChildren(child_, node, nodeName_, True) +# end class TCErlaubnisholen + + +class TCAuto_Erlaubnisruecklauf(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCAuto_Erlaubnisruecklauf"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCAuto_Erlaubnisruecklauf) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCAuto_Erlaubnisruecklauf.subclass: + return TCAuto_Erlaubnisruecklauf.subclass(*args_, **kwargs_) + else: + return TCAuto_Erlaubnisruecklauf(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def has__content(self): + if ( + self.Wert is not None or + super(TCAuto_Erlaubnisruecklauf, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBlock:', namespacedef_='xmlns:nsBlock="http://www.plan-pro.org/modell/Block/1.10.0"', name_='TCAuto_Erlaubnisruecklauf', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCAuto_Erlaubnisruecklauf') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCAuto_Erlaubnisruecklauf': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCAuto_Erlaubnisruecklauf') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCAuto_Erlaubnisruecklauf', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBlock:', name_='TCAuto_Erlaubnisruecklauf'): + super(TCAuto_Erlaubnisruecklauf, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCAuto_Erlaubnisruecklauf') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBlock:', namespacedef_='xmlns:nsBlock="http://www.plan-pro.org/modell/Block/1.10.0"', name_='TCAuto_Erlaubnisruecklauf', fromsubclass_=False, pretty_print=True): + super(TCAuto_Erlaubnisruecklauf, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_boolean(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCAuto_Erlaubnisruecklauf, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + sval_ = child_.text + ival_ = self.gds_parse_boolean(sval_, node, 'Wert') + ival_ = self.gds_validate_boolean(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + super(TCAuto_Erlaubnisruecklauf, self)._buildChildren(child_, node, nodeName_, True) +# end class TCAuto_Erlaubnisruecklauf + + +class TCSchaltung(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCSchaltung"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMSchaltung(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCSchaltung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCSchaltung.subclass: + return TCSchaltung.subclass(*args_, **kwargs_) + else: + return TCSchaltung(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMSchaltung(self, value): + result = True + # Validate type ENUMSchaltung, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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_Drahtschaltung', '6_Drahtschaltung', '9_Drahtschaltung', 'sonstige'] + 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 ENUMSchaltung' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCSchaltung, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBlock:', namespacedef_='xmlns:nsBlock="http://www.plan-pro.org/modell/Block/1.10.0"', name_='TCSchaltung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCSchaltung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCSchaltung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCSchaltung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCSchaltung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBlock:', name_='TCSchaltung'): + super(TCSchaltung, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCSchaltung') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBlock:', namespacedef_='xmlns:nsBlock="http://www.plan-pro.org/modell/Block/1.10.0"', name_='TCSchaltung', fromsubclass_=False, pretty_print=True): + super(TCSchaltung, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCSchaltung, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMSchaltung + self.validate_ENUMSchaltung(self.Wert) + super(TCSchaltung, self)._buildChildren(child_, node, nodeName_, True) +# end class TCSchaltung + + +class CBlock_Anlage(CBasis_Objekt): + """CBlock_Anlage -- Technische Einrichtungen f + ü + r die blocktechnische Sicherung von Zugfahrten auf Streckengleisen. Die zugeh + ö + rige Bezeichnung des Streckengleises wird + ü + ber das Objekt Gleis Bezeichnung ermittelt. Die Klammern der Gleisbezeichnung f + ü + r Streckengleise sind Bestandteil der Gleisbezeichnung. F + ü + r die Darstellung der Streckendaten f + ü + r eine Blockstrecke wird + ü + ber das Objekt Block Element das Objekt Block Strecke verwendet. Ist Streckenblock geplant, wird einem Streckengleis eine Block_Anlage zugeordnet. Bei einer zweigleisigen Strecke, bei der beide Streckengleise mit Streckenblock ausger + ü + stet sind, wird den beiden Streckengleisen jeweils eine eigene Block_Anlage zugeordnet. Eine Block_Anlage verf + ü + gt + ü + ber zwei Block_Elemente A und B (Blockendstellen), die entsprechend der Regelfahrrichtung zugewiesen werden. Bei eingleisigen Strecken ergibt sich der Richtungssinn A - B aus der Streckenkilometrierung. Eine Ausnahme bildet der Stichstreckenblock, dem nur ein Block Element zugeordnet wird. Als Zusammenfassung aller Objekte wird auch die Bezeichnung Block verwendet. + ID_Block_Element_A -- Verweis auf das Block_Element am Anfang einer Blockanlage. + ID_Block_Element_B -- Verweis auf das Block_Element am Ende einer Blockanlage. Die Angabe ist nur bei Stichstreckenblock nicht erforderlich. + ID_Gleis_Bezeichnung -- Verweis auf das zugeh + ö + rige Streckengleis als Tr + ä + ger der Bezeichnung des Streckengleises zwischen den beiden Blockendstellen. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasis_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, Block_Anlage_Allg=None, ID_Block_Element_A=None, ID_Block_Element_B=None, ID_Gleis_Bezeichnung=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CBlock_Anlage"), self).__init__(Identitaet, Basis_Objekt_Allg, ID_Bearbeitungsvermerk, ID_Oertlichkeit_Ausgabe, Objektreferenzen, **kwargs_) + self.Block_Anlage_Allg = Block_Anlage_Allg + self.Block_Anlage_Allg_nsprefix_ = None + self.ID_Block_Element_A = ID_Block_Element_A + self.ID_Block_Element_A_nsprefix_ = None + self.ID_Block_Element_B = ID_Block_Element_B + self.ID_Block_Element_B_nsprefix_ = None + self.ID_Gleis_Bezeichnung = ID_Gleis_Bezeichnung + self.ID_Gleis_Bezeichnung_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CBlock_Anlage) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CBlock_Anlage.subclass: + return CBlock_Anlage.subclass(*args_, **kwargs_) + else: + return CBlock_Anlage(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Block_Anlage_Allg(self): + return self.Block_Anlage_Allg + def set_Block_Anlage_Allg(self, Block_Anlage_Allg): + self.Block_Anlage_Allg = Block_Anlage_Allg + def get_ID_Block_Element_A(self): + return self.ID_Block_Element_A + def set_ID_Block_Element_A(self, ID_Block_Element_A): + self.ID_Block_Element_A = ID_Block_Element_A + def get_ID_Block_Element_B(self): + return self.ID_Block_Element_B + def set_ID_Block_Element_B(self, ID_Block_Element_B): + self.ID_Block_Element_B = ID_Block_Element_B + def get_ID_Gleis_Bezeichnung(self): + return self.ID_Gleis_Bezeichnung + def set_ID_Gleis_Bezeichnung(self, ID_Gleis_Bezeichnung): + self.ID_Gleis_Bezeichnung = ID_Gleis_Bezeichnung + def has__content(self): + if ( + self.Block_Anlage_Allg is not None or + self.ID_Block_Element_A is not None or + self.ID_Block_Element_B is not None or + self.ID_Gleis_Bezeichnung is not None or + super(CBlock_Anlage, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBlock:', namespacedef_='xmlns:nsBlock="http://www.plan-pro.org/modell/Block/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CBlock_Anlage', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CBlock_Anlage') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CBlock_Anlage': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CBlock_Anlage') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CBlock_Anlage', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBlock:', name_='CBlock_Anlage'): + super(CBlock_Anlage, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CBlock_Anlage') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBlock:', namespacedef_='xmlns:nsBlock="http://www.plan-pro.org/modell/Block/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CBlock_Anlage', fromsubclass_=False, pretty_print=True): + super(CBlock_Anlage, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Block_Anlage_Allg is not None: + namespaceprefix_ = self.Block_Anlage_Allg_nsprefix_ + ':' if (UseCapturedNS_ and self.Block_Anlage_Allg_nsprefix_) else '' + self.Block_Anlage_Allg.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Block_Anlage_Allg', pretty_print=pretty_print) + if self.ID_Block_Element_A is not None: + namespaceprefix_ = self.ID_Block_Element_A_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Block_Element_A_nsprefix_) else '' + self.ID_Block_Element_A.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Block_Element_A', pretty_print=pretty_print) + if self.ID_Block_Element_B is not None: + namespaceprefix_ = self.ID_Block_Element_B_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Block_Element_B_nsprefix_) else '' + self.ID_Block_Element_B.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Block_Element_B', pretty_print=pretty_print) + if self.ID_Gleis_Bezeichnung is not None: + namespaceprefix_ = self.ID_Gleis_Bezeichnung_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Gleis_Bezeichnung_nsprefix_) else '' + self.ID_Gleis_Bezeichnung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Gleis_Bezeichnung', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CBlock_Anlage, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Block_Anlage_Allg': + obj_ = CBlock_Anlage_Allg.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Block_Anlage_Allg = obj_ + obj_.original_tagname_ = 'Block_Anlage_Allg' + elif nodeName_ == 'ID_Block_Element_A': + obj_ = TCID_Block_Element.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Block_Element_A = obj_ + obj_.original_tagname_ = 'ID_Block_Element_A' + elif nodeName_ == 'ID_Block_Element_B': + obj_ = TCID_Block_Element.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Block_Element_B = obj_ + obj_.original_tagname_ = 'ID_Block_Element_B' + elif nodeName_ == 'ID_Gleis_Bezeichnung': + obj_ = TCID_Gleis_Bezeichnung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Gleis_Bezeichnung = obj_ + obj_.original_tagname_ = 'ID_Gleis_Bezeichnung' + super(CBlock_Anlage, self)._buildChildren(child_, node, nodeName_, True) +# end class CBlock_Anlage + + +class CBlock_Strecke_Allg(GeneratedsSuper): + """Betriebsfuehrung -- Betriebsf + ü + hrung auf der zugeh + ö + rigen Strecke. Bei Auswahl von \"sonstige\" ist ein Bearbeitungsvermerk mit entsprechenden Erl + ä + uterungen anzuf + ü + gen. + Bremsweg -- Bremsweg als Grundlage f + ü + r die Dimesionierung der zugeh + ö + rigen Strecke. Bei Auswahl von \"sonstige\" ist ein Bearbeitungsvermerk mit entsprechenden Erl + ä + uterungen anzuf + ü + gen. Das Attribut wird zuk + ü + nftig durch einen Verweis auf das Objekt Strecke_Bremsweg ersetzt. Zur Unterst + ü + tzung der Migration wird das Attribut jedoch zun + ä + chst optional beibehalten. + Strecke_Art -- Rechtliche Klassifizierung der Strecke (Haupt-/Nebenbahn). DB-Regelwerk Angabe auf dem LP + Streckengeschwindigkeit -- VzG-Geschwindigkeit der zugeh + ö + rigen Strecke. + Traktion_Art_Elektrisch -- Art der Fahrstromversorgung (Stromart, Spannung, besondere Zuf + ü + hrung). Die Angabe entf + ä + llt bei nicht elektrifizierten Strecken. Auf die Angabe verschiedener nicht-elektrischer Traktionsarten (Diesel, Batterie, Wasserstoff etc.) wird verzichtet. DB-Regelwerk Angabe auf dem LP + Zugbeeinflussung_Art -- Vorhandenes bzw. vorgesehenes Zugbeeinflussungssystem. Bei Mehrfachausr + ü + stung ist das Attribut mehrfach einzubinden. DB-Regelwerk Angabe auf dem LP + Zusatzinformation -- Erlaubt die Angabe zus + ä + tzlicher Informationen zur Ausgabe im LP. DB-Regelwerk Angabe auf dem LP + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Betriebsfuehrung=None, Bremsweg=None, Strecke_Art=None, Streckengeschwindigkeit=None, Traktion_Art_Elektrisch=None, Zugbeeinflussung_Art=None, Zusatzinformation=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Betriebsfuehrung = Betriebsfuehrung + self.Betriebsfuehrung_nsprefix_ = None + self.Bremsweg = Bremsweg + self.Bremsweg_nsprefix_ = None + self.Strecke_Art = Strecke_Art + self.Strecke_Art_nsprefix_ = None + self.Streckengeschwindigkeit = Streckengeschwindigkeit + self.Streckengeschwindigkeit_nsprefix_ = None + self.Traktion_Art_Elektrisch = Traktion_Art_Elektrisch + self.Traktion_Art_Elektrisch_nsprefix_ = None + if Zugbeeinflussung_Art is None: + self.Zugbeeinflussung_Art = [] + else: + self.Zugbeeinflussung_Art = Zugbeeinflussung_Art + self.Zugbeeinflussung_Art_nsprefix_ = None + self.Zusatzinformation = Zusatzinformation + self.Zusatzinformation_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CBlock_Strecke_Allg) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CBlock_Strecke_Allg.subclass: + return CBlock_Strecke_Allg.subclass(*args_, **kwargs_) + else: + return CBlock_Strecke_Allg(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Betriebsfuehrung(self): + return self.Betriebsfuehrung + def set_Betriebsfuehrung(self, Betriebsfuehrung): + self.Betriebsfuehrung = Betriebsfuehrung + def get_Bremsweg(self): + return self.Bremsweg + def set_Bremsweg(self, Bremsweg): + self.Bremsweg = Bremsweg + def get_Strecke_Art(self): + return self.Strecke_Art + def set_Strecke_Art(self, Strecke_Art): + self.Strecke_Art = Strecke_Art + def get_Streckengeschwindigkeit(self): + return self.Streckengeschwindigkeit + def set_Streckengeschwindigkeit(self, Streckengeschwindigkeit): + self.Streckengeschwindigkeit = Streckengeschwindigkeit + def get_Traktion_Art_Elektrisch(self): + return self.Traktion_Art_Elektrisch + def set_Traktion_Art_Elektrisch(self, Traktion_Art_Elektrisch): + self.Traktion_Art_Elektrisch = Traktion_Art_Elektrisch + def get_Zugbeeinflussung_Art(self): + return self.Zugbeeinflussung_Art + def set_Zugbeeinflussung_Art(self, Zugbeeinflussung_Art): + self.Zugbeeinflussung_Art = Zugbeeinflussung_Art + def add_Zugbeeinflussung_Art(self, value): + self.Zugbeeinflussung_Art.append(value) + def insert_Zugbeeinflussung_Art_at(self, index, value): + self.Zugbeeinflussung_Art.insert(index, value) + def replace_Zugbeeinflussung_Art_at(self, index, value): + self.Zugbeeinflussung_Art[index] = value + def get_Zusatzinformation(self): + return self.Zusatzinformation + def set_Zusatzinformation(self, Zusatzinformation): + self.Zusatzinformation = Zusatzinformation + def has__content(self): + if ( + self.Betriebsfuehrung is not None or + self.Bremsweg is not None or + self.Strecke_Art is not None or + self.Streckengeschwindigkeit is not None or + self.Traktion_Art_Elektrisch is not None or + self.Zugbeeinflussung_Art or + self.Zusatzinformation is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBlock:', namespacedef_='xmlns:nsBlock="http://www.plan-pro.org/modell/Block/1.10.0"', name_='CBlock_Strecke_Allg', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CBlock_Strecke_Allg') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CBlock_Strecke_Allg': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CBlock_Strecke_Allg') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CBlock_Strecke_Allg', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBlock:', name_='CBlock_Strecke_Allg'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsBlock:', namespacedef_='xmlns:nsBlock="http://www.plan-pro.org/modell/Block/1.10.0"', name_='CBlock_Strecke_Allg', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Betriebsfuehrung is not None: + namespaceprefix_ = self.Betriebsfuehrung_nsprefix_ + ':' if (UseCapturedNS_ and self.Betriebsfuehrung_nsprefix_) else '' + self.Betriebsfuehrung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Betriebsfuehrung', pretty_print=pretty_print) + if self.Bremsweg is not None: + namespaceprefix_ = self.Bremsweg_nsprefix_ + ':' if (UseCapturedNS_ and self.Bremsweg_nsprefix_) else '' + self.Bremsweg.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Bremsweg', pretty_print=pretty_print) + if self.Strecke_Art is not None: + namespaceprefix_ = self.Strecke_Art_nsprefix_ + ':' if (UseCapturedNS_ and self.Strecke_Art_nsprefix_) else '' + self.Strecke_Art.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Strecke_Art', pretty_print=pretty_print) + if self.Streckengeschwindigkeit is not None: + namespaceprefix_ = self.Streckengeschwindigkeit_nsprefix_ + ':' if (UseCapturedNS_ and self.Streckengeschwindigkeit_nsprefix_) else '' + self.Streckengeschwindigkeit.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Streckengeschwindigkeit', pretty_print=pretty_print) + if self.Traktion_Art_Elektrisch is not None: + namespaceprefix_ = self.Traktion_Art_Elektrisch_nsprefix_ + ':' if (UseCapturedNS_ and self.Traktion_Art_Elektrisch_nsprefix_) else '' + self.Traktion_Art_Elektrisch.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Traktion_Art_Elektrisch', pretty_print=pretty_print) + for Zugbeeinflussung_Art_ in self.Zugbeeinflussung_Art: + namespaceprefix_ = self.Zugbeeinflussung_Art_nsprefix_ + ':' if (UseCapturedNS_ and self.Zugbeeinflussung_Art_nsprefix_) else '' + Zugbeeinflussung_Art_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Zugbeeinflussung_Art', pretty_print=pretty_print) + if self.Zusatzinformation is not None: + namespaceprefix_ = self.Zusatzinformation_nsprefix_ + ':' if (UseCapturedNS_ and self.Zusatzinformation_nsprefix_) else '' + self.Zusatzinformation.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Zusatzinformation', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Betriebsfuehrung': + obj_ = TCBetriebsfuehrung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Betriebsfuehrung = obj_ + obj_.original_tagname_ = 'Betriebsfuehrung' + elif nodeName_ == 'Bremsweg': + obj_ = TCBremsweg.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Bremsweg = obj_ + obj_.original_tagname_ = 'Bremsweg' + elif nodeName_ == 'Strecke_Art': + obj_ = TCStrecke_Art.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Strecke_Art = obj_ + obj_.original_tagname_ = 'Strecke_Art' + elif nodeName_ == 'Streckengeschwindigkeit': + obj_ = TCStreckengeschwindigkeit.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Streckengeschwindigkeit = obj_ + obj_.original_tagname_ = 'Streckengeschwindigkeit' + elif nodeName_ == 'Traktion_Art_Elektrisch': + obj_ = TCTraktion_Art_Elektrisch.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Traktion_Art_Elektrisch = obj_ + obj_.original_tagname_ = 'Traktion_Art_Elektrisch' + elif nodeName_ == 'Zugbeeinflussung_Art': + obj_ = TCZugbeeinflussung_Art.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Zugbeeinflussung_Art.append(obj_) + obj_.original_tagname_ = 'Zugbeeinflussung_Art' + elif nodeName_ == 'Zusatzinformation': + obj_ = TCZusatzinformation.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Zusatzinformation = obj_ + obj_.original_tagname_ = 'Zusatzinformation' +# end class CBlock_Strecke_Allg + + +class TCBetriebsfuehrung(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCBetriebsfuehrung"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMBetriebsfuehrung(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCBetriebsfuehrung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCBetriebsfuehrung.subclass: + return TCBetriebsfuehrung.subclass(*args_, **kwargs_) + else: + return TCBetriebsfuehrung(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMBetriebsfuehrung(self, value): + result = True + # Validate type ENUMBetriebsfuehrung, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['eingl', 'sonstige', 'Stichstreckenblock', 'ZLB', 'zweigl', 'zweigl_GWB'] + 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 ENUMBetriebsfuehrung' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCBetriebsfuehrung, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBlock:', namespacedef_='xmlns:nsBlock="http://www.plan-pro.org/modell/Block/1.10.0"', name_='TCBetriebsfuehrung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCBetriebsfuehrung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCBetriebsfuehrung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBetriebsfuehrung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCBetriebsfuehrung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBlock:', name_='TCBetriebsfuehrung'): + super(TCBetriebsfuehrung, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBetriebsfuehrung') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBlock:', namespacedef_='xmlns:nsBlock="http://www.plan-pro.org/modell/Block/1.10.0"', name_='TCBetriebsfuehrung', fromsubclass_=False, pretty_print=True): + super(TCBetriebsfuehrung, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCBetriebsfuehrung, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMBetriebsfuehrung + self.validate_ENUMBetriebsfuehrung(self.Wert) + super(TCBetriebsfuehrung, self)._buildChildren(child_, node, nodeName_, True) +# end class TCBetriebsfuehrung + + +class TCBlock_Bauform(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCBlock_Bauform"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMBlock_Bauform(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCBlock_Bauform) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCBlock_Bauform.subclass: + return TCBlock_Bauform.subclass(*args_, **kwargs_) + else: + return TCBlock_Bauform(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMBlock_Bauform(self, value): + result = True + # Validate type ENUMBlock_Bauform, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['AB64', 'AB70', 'Blockanpassung_RB', 'DB_Block', 'elektronischer_Block_EBL2000', 'ESTW_Zentralblock', 'ESTW_Zentralblock_mit_Sb_Abschluss_MCL84', 'ESTW_Zentralblock_mit_Sb_Abschluss_SBL60', 'ESTW_Zentralblock_mit_Sb_Abschluss_SBS59', 'ESTW_Zentralblock_mit_Sb_Abschluss_SBS60', 'Felderblock', 'firmenneutrale_Blockschnittstelle', 'ILS-Adapter', 'sonstige', 'Selbstblock_SBL60', 'Selbstblock_SBS59', 'Selbstblock_SBS60', 'Relaisblock_RBII60', 'Relaisblock_RBIISp64b', 'Relaisblock_RBIIISp68', 'Zentralblock_ZSB2000', 'Zentralblock_ZBS600', 'Zentralblock_ZBS65'] + 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 ENUMBlock_Bauform' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCBlock_Bauform, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBlock:', namespacedef_='xmlns:nsBlock="http://www.plan-pro.org/modell/Block/1.10.0"', name_='TCBlock_Bauform', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCBlock_Bauform') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCBlock_Bauform': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBlock_Bauform') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCBlock_Bauform', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBlock:', name_='TCBlock_Bauform'): + super(TCBlock_Bauform, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBlock_Bauform') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBlock:', namespacedef_='xmlns:nsBlock="http://www.plan-pro.org/modell/Block/1.10.0"', name_='TCBlock_Bauform', fromsubclass_=False, pretty_print=True): + super(TCBlock_Bauform, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCBlock_Bauform, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMBlock_Bauform + self.validate_ENUMBlock_Bauform(self.Wert) + super(TCBlock_Bauform, self)._buildChildren(child_, node, nodeName_, True) +# end class TCBlock_Bauform + + +class CBlock_Element_Erlaubnis(GeneratedsSuper): + """Auto_Erlaubnisholen -- Das zugeh + ö + rige Block Element kann sich die Erlaubnis von der Gegenstelle automatisch holen. Dass Attribut kann f + ü + r die zu einer Block Anlage zugeh + ö + rigen Block_Elementen unabh + ä + ngig voneinander verwendet werden. Nur die Blockendstelle kann die Erlaubnis automatisch holen, bei der dieses Attribut auf wahr gesetzt ist. Siehe dazu auch Erlaubnisholen als Alternative. + Auto_Erlaubnisruecklauf -- Automatischer Erlaubnisr + ü + cklauf f + ü + r die Block Anlage. Das Attribut ist auf beiden Block_Elementen der Blockanlage anzugeben, wobei eines mit wahr und das andere mit falsch zu bef + ü + llen ist. Die Erlaubnis l + ä + uft zu dem mit wahr gekennzeichneten Block Element zur + ü + ck. Wenn kein automatischer Erlaubnisruecklauf eingerichtet ist, entf + ä + llt das Attribut. DB-Regelwerk [Ril 819.0102A04] Streckenblocktabelle. [482.9014, Abschnitt 3 (4)] Selbstt + ä + tige Erlaubnisr + ü + ckgabe: Ist eine Fahrtrichtung f + ü + r die Erlaubnis bevorrechtigt geschaltet, wird die Erlaubnis nach einer Zugfahrt gegen die bevorrechtigte Fahrtrichtung selbstt + ä + tig an die bevorrechtigte Betriebsstelle zur + ü + ckgegeben. + Erlaubnis_Staendig_Vorhanden -- Die Erlaubnis befindet sind st + ä + ndig im zugeh + ö + rigen Block Element einer Block Anlage. Die Erlaubnis kann nicht abgegeben werden. Die Anwendung ist typisch f + ü + r zweigleisige Strecken im Richtungsbetrieb ohne signalisiertem Gleiswechelbetrieb. Die anderen Funktionen des Erlaubniswechsels sind dann nicht m + ö + glich. + Erlaubnisabgabespeicherung -- Das Block Element kann die Abgabe der Erlaubnis speichern, wenn die Bedingungen zum Erlaubniswechsel noch nicht erf + ü + llt sind. DB-Regelwerk [Ril 482.9014, Abschnitt 3 (3), Abschnitt 7 (3), Abschnitt 11 (3)]. + Erlaubnisholen -- Das Block Element kann die Erlaubnis durch manuelle Bedienung von der Gegenstelle holen. Dass Attribut kann f + ü + r die zu einer Block Anlage zugeh + ö + rigen Block_Elemente unabh + ä + ngig voneinander verwendet werden. Nur die Blockendstelle kann die Erlaubnis holen, bei der dieses Attribut auf true gesetzt ist. Siehe dazu auch Automatisches Erlaubnisholen als Alternative. DB Regelwerk Ril 482.9090 + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Auto_Erlaubnisholen=None, Auto_Erlaubnisruecklauf=None, Erlaubnis_Staendig_Vorhanden=None, Erlaubnisabgabespeicherung=None, Erlaubnisholen=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Auto_Erlaubnisholen = Auto_Erlaubnisholen + self.Auto_Erlaubnisholen_nsprefix_ = None + self.Auto_Erlaubnisruecklauf = Auto_Erlaubnisruecklauf + self.Auto_Erlaubnisruecklauf_nsprefix_ = None + self.Erlaubnis_Staendig_Vorhanden = Erlaubnis_Staendig_Vorhanden + self.Erlaubnis_Staendig_Vorhanden_nsprefix_ = None + self.Erlaubnisabgabespeicherung = Erlaubnisabgabespeicherung + self.Erlaubnisabgabespeicherung_nsprefix_ = None + self.Erlaubnisholen = Erlaubnisholen + self.Erlaubnisholen_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CBlock_Element_Erlaubnis) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CBlock_Element_Erlaubnis.subclass: + return CBlock_Element_Erlaubnis.subclass(*args_, **kwargs_) + else: + return CBlock_Element_Erlaubnis(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Auto_Erlaubnisholen(self): + return self.Auto_Erlaubnisholen + def set_Auto_Erlaubnisholen(self, Auto_Erlaubnisholen): + self.Auto_Erlaubnisholen = Auto_Erlaubnisholen + def get_Auto_Erlaubnisruecklauf(self): + return self.Auto_Erlaubnisruecklauf + def set_Auto_Erlaubnisruecklauf(self, Auto_Erlaubnisruecklauf): + self.Auto_Erlaubnisruecklauf = Auto_Erlaubnisruecklauf + def get_Erlaubnis_Staendig_Vorhanden(self): + return self.Erlaubnis_Staendig_Vorhanden + def set_Erlaubnis_Staendig_Vorhanden(self, Erlaubnis_Staendig_Vorhanden): + self.Erlaubnis_Staendig_Vorhanden = Erlaubnis_Staendig_Vorhanden + def get_Erlaubnisabgabespeicherung(self): + return self.Erlaubnisabgabespeicherung + def set_Erlaubnisabgabespeicherung(self, Erlaubnisabgabespeicherung): + self.Erlaubnisabgabespeicherung = Erlaubnisabgabespeicherung + def get_Erlaubnisholen(self): + return self.Erlaubnisholen + def set_Erlaubnisholen(self, Erlaubnisholen): + self.Erlaubnisholen = Erlaubnisholen + def has__content(self): + if ( + self.Auto_Erlaubnisholen is not None or + self.Auto_Erlaubnisruecklauf is not None or + self.Erlaubnis_Staendig_Vorhanden is not None or + self.Erlaubnisabgabespeicherung is not None or + self.Erlaubnisholen is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBlock:', namespacedef_='xmlns:nsBlock="http://www.plan-pro.org/modell/Block/1.10.0"', name_='CBlock_Element_Erlaubnis', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CBlock_Element_Erlaubnis') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CBlock_Element_Erlaubnis': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CBlock_Element_Erlaubnis') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CBlock_Element_Erlaubnis', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBlock:', name_='CBlock_Element_Erlaubnis'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsBlock:', namespacedef_='xmlns:nsBlock="http://www.plan-pro.org/modell/Block/1.10.0"', name_='CBlock_Element_Erlaubnis', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Auto_Erlaubnisholen is not None: + namespaceprefix_ = self.Auto_Erlaubnisholen_nsprefix_ + ':' if (UseCapturedNS_ and self.Auto_Erlaubnisholen_nsprefix_) else '' + self.Auto_Erlaubnisholen.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Auto_Erlaubnisholen', pretty_print=pretty_print) + if self.Auto_Erlaubnisruecklauf is not None: + namespaceprefix_ = self.Auto_Erlaubnisruecklauf_nsprefix_ + ':' if (UseCapturedNS_ and self.Auto_Erlaubnisruecklauf_nsprefix_) else '' + self.Auto_Erlaubnisruecklauf.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Auto_Erlaubnisruecklauf', pretty_print=pretty_print) + if self.Erlaubnis_Staendig_Vorhanden is not None: + namespaceprefix_ = self.Erlaubnis_Staendig_Vorhanden_nsprefix_ + ':' if (UseCapturedNS_ and self.Erlaubnis_Staendig_Vorhanden_nsprefix_) else '' + self.Erlaubnis_Staendig_Vorhanden.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Erlaubnis_Staendig_Vorhanden', pretty_print=pretty_print) + if self.Erlaubnisabgabespeicherung is not None: + namespaceprefix_ = self.Erlaubnisabgabespeicherung_nsprefix_ + ':' if (UseCapturedNS_ and self.Erlaubnisabgabespeicherung_nsprefix_) else '' + self.Erlaubnisabgabespeicherung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Erlaubnisabgabespeicherung', pretty_print=pretty_print) + if self.Erlaubnisholen is not None: + namespaceprefix_ = self.Erlaubnisholen_nsprefix_ + ':' if (UseCapturedNS_ and self.Erlaubnisholen_nsprefix_) else '' + self.Erlaubnisholen.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Erlaubnisholen', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Auto_Erlaubnisholen': + obj_ = TCAuto_Erlaubnisholen.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Auto_Erlaubnisholen = obj_ + obj_.original_tagname_ = 'Auto_Erlaubnisholen' + elif nodeName_ == 'Auto_Erlaubnisruecklauf': + obj_ = TCAuto_Erlaubnisruecklauf.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Auto_Erlaubnisruecklauf = obj_ + obj_.original_tagname_ = 'Auto_Erlaubnisruecklauf' + elif nodeName_ == 'Erlaubnis_Staendig_Vorhanden': + obj_ = TCErlaubnis_Staendig_Vorhanden.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Erlaubnis_Staendig_Vorhanden = obj_ + obj_.original_tagname_ = 'Erlaubnis_Staendig_Vorhanden' + elif nodeName_ == 'Erlaubnisabgabespeicherung': + obj_ = TCErlaubnisabgabespeicherung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Erlaubnisabgabespeicherung = obj_ + obj_.original_tagname_ = 'Erlaubnisabgabespeicherung' + elif nodeName_ == 'Erlaubnisholen': + obj_ = TCErlaubnisholen.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Erlaubnisholen = obj_ + obj_.original_tagname_ = 'Erlaubnisholen' +# end class CBlock_Element_Erlaubnis + + +class TCStreckengeschwindigkeit(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCStreckengeschwindigkeit"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TStreckengeschwindigkeit(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCStreckengeschwindigkeit) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCStreckengeschwindigkeit.subclass: + return TCStreckengeschwindigkeit.subclass(*args_, **kwargs_) + else: + return TCStreckengeschwindigkeit(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TStreckengeschwindigkeit(self, value): + result = True + # Validate type TStreckengeschwindigkeit, a restriction on nsBasisTypen:TGeschwindigkeit. + 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_TStreckengeschwindigkeit_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TStreckengeschwindigkeit_patterns_, )) + result = False + return result + validate_TStreckengeschwindigkeit_patterns_ = [['^(0|[1-9][0-9]{0,1}|[1-4][0-9]{2}|500)$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCStreckengeschwindigkeit, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBlock:', namespacedef_='xmlns:nsBlock="http://www.plan-pro.org/modell/Block/1.10.0"', name_='TCStreckengeschwindigkeit', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCStreckengeschwindigkeit') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCStreckengeschwindigkeit': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCStreckengeschwindigkeit') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCStreckengeschwindigkeit', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBlock:', name_='TCStreckengeschwindigkeit'): + super(TCStreckengeschwindigkeit, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCStreckengeschwindigkeit') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBlock:', namespacedef_='xmlns:nsBlock="http://www.plan-pro.org/modell/Block/1.10.0"', name_='TCStreckengeschwindigkeit', fromsubclass_=False, pretty_print=True): + super(TCStreckengeschwindigkeit, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_integer(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCStreckengeschwindigkeit, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + ival_ = self.gds_parse_integer(sval_, node, 'Wert') + ival_ = self.gds_validate_integer(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + # validate type TStreckengeschwindigkeit + self.validate_TStreckengeschwindigkeit(self.Wert) + super(TCStreckengeschwindigkeit, self)._buildChildren(child_, node, nodeName_, True) +# end class TCStreckengeschwindigkeit + + +class TCBremsweg5(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCBremsweg5"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TBremsweg(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCBremsweg5) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCBremsweg5.subclass: + return TCBremsweg5.subclass(*args_, **kwargs_) + else: + return TCBremsweg5(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TBremsweg(self, value): + result = True + # Validate type TBremsweg, a restriction on nsBasisTypen:ENUMBremsweg. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['1000', '400', '700', 'sonstige'] + 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 TBremsweg' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCBremsweg5, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBlock:', namespacedef_='xmlns:nsBlock="http://www.plan-pro.org/modell/Block/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCBremsweg5', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCBremsweg5') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCBremsweg5': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBremsweg5') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCBremsweg5', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBlock:', name_='TCBremsweg5'): + super(TCBremsweg5, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBremsweg5') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBlock:', namespacedef_='xmlns:nsBlock="http://www.plan-pro.org/modell/Block/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCBremsweg5', fromsubclass_=False, pretty_print=True): + super(TCBremsweg5, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCBremsweg5, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TBremsweg + self.validate_TBremsweg(self.Wert) + super(TCBremsweg5, self)._buildChildren(child_, node, nodeName_, True) +# end class TCBremsweg5 + + +class TCAnbindung_IB2(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCAnbindung_IB2"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCAnbindung_IB2) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCAnbindung_IB2.subclass: + return TCAnbindung_IB2.subclass(*args_, **kwargs_) + else: + return TCAnbindung_IB2(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def has__content(self): + if ( + self.Wert is not None or + super(TCAnbindung_IB2, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBedienung:', namespacedef_='xmlns:nsBedienung="http://www.plan-pro.org/modell/Bedienung/1.10.0"', name_='TCAnbindung_IB2', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCAnbindung_IB2') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCAnbindung_IB2': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCAnbindung_IB2') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCAnbindung_IB2', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBedienung:', name_='TCAnbindung_IB2'): + super(TCAnbindung_IB2, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCAnbindung_IB2') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBedienung:', namespacedef_='xmlns:nsBedienung="http://www.plan-pro.org/modell/Bedienung/1.10.0"', name_='TCAnbindung_IB2', fromsubclass_=False, pretty_print=True): + super(TCAnbindung_IB2, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_boolean(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCAnbindung_IB2, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + sval_ = child_.text + ival_ = self.gds_parse_boolean(sval_, node, 'Wert') + ival_ = self.gds_validate_boolean(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + super(TCAnbindung_IB2, self)._buildChildren(child_, node, nodeName_, True) +# end class TCAnbindung_IB2 + + +class CBedien_GBT_Allg(GeneratedsSuper): + """Rueckschauzeit -- Angabe der Zeit, in der die GBT f + ü + r Fahrplanzeiten der Vergangenheit gesehen und editiert werden kann. + Vorschauzeit -- Angabe der Zeit, in der die GBT f + ü + r Fahrplanzeiten der Zukunft gesehen und editiert werden kann. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Rueckschauzeit=None, Vorschauzeit=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Rueckschauzeit = Rueckschauzeit + self.Rueckschauzeit_nsprefix_ = None + self.Vorschauzeit = Vorschauzeit + self.Vorschauzeit_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CBedien_GBT_Allg) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CBedien_GBT_Allg.subclass: + return CBedien_GBT_Allg.subclass(*args_, **kwargs_) + else: + return CBedien_GBT_Allg(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Rueckschauzeit(self): + return self.Rueckschauzeit + def set_Rueckschauzeit(self, Rueckschauzeit): + self.Rueckschauzeit = Rueckschauzeit + def get_Vorschauzeit(self): + return self.Vorschauzeit + def set_Vorschauzeit(self, Vorschauzeit): + self.Vorschauzeit = Vorschauzeit + def has__content(self): + if ( + self.Rueckschauzeit is not None or + self.Vorschauzeit is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBedienung:', namespacedef_='xmlns:nsBedienung="http://www.plan-pro.org/modell/Bedienung/1.10.0"', name_='CBedien_GBT_Allg', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CBedien_GBT_Allg') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CBedien_GBT_Allg': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CBedien_GBT_Allg') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CBedien_GBT_Allg', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBedienung:', name_='CBedien_GBT_Allg'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsBedienung:', namespacedef_='xmlns:nsBedienung="http://www.plan-pro.org/modell/Bedienung/1.10.0"', name_='CBedien_GBT_Allg', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Rueckschauzeit is not None: + namespaceprefix_ = self.Rueckschauzeit_nsprefix_ + ':' if (UseCapturedNS_ and self.Rueckschauzeit_nsprefix_) else '' + self.Rueckschauzeit.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Rueckschauzeit', pretty_print=pretty_print) + if self.Vorschauzeit is not None: + namespaceprefix_ = self.Vorschauzeit_nsprefix_ + ':' if (UseCapturedNS_ and self.Vorschauzeit_nsprefix_) else '' + self.Vorschauzeit.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Vorschauzeit', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Rueckschauzeit': + obj_ = TCRueckschauzeit.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Rueckschauzeit = obj_ + obj_.original_tagname_ = 'Rueckschauzeit' + elif nodeName_ == 'Vorschauzeit': + obj_ = TCVorschauzeit.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Vorschauzeit = obj_ + obj_.original_tagname_ = 'Vorschauzeit' +# end class CBedien_GBT_Allg + + +class TCBetriebsstellenbezeichner(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCBetriebsstellenbezeichner"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TBetriebsstellenbezeichner(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCBetriebsstellenbezeichner) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCBetriebsstellenbezeichner.subclass: + return TCBetriebsstellenbezeichner.subclass(*args_, **kwargs_) + else: + return TCBetriebsstellenbezeichner(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TBetriebsstellenbezeichner(self, value): + result = True + # Validate type TBetriebsstellenbezeichner, a restriction on nsBasisTypen:TZeichenkette. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TBetriebsstellenbezeichner_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TBetriebsstellenbezeichner_patterns_, )) + result = False + return result + validate_TBetriebsstellenbezeichner_patterns_ = [['^([a-zA-Z]{2})$'], ['^([a-zA-Z_0-9]{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCBetriebsstellenbezeichner, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBedienung:', namespacedef_='xmlns:nsBedienung="http://www.plan-pro.org/modell/Bedienung/1.10.0"', name_='TCBetriebsstellenbezeichner', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCBetriebsstellenbezeichner') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCBetriebsstellenbezeichner': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBetriebsstellenbezeichner') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCBetriebsstellenbezeichner', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBedienung:', name_='TCBetriebsstellenbezeichner'): + super(TCBetriebsstellenbezeichner, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBetriebsstellenbezeichner') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBedienung:', namespacedef_='xmlns:nsBedienung="http://www.plan-pro.org/modell/Bedienung/1.10.0"', name_='TCBetriebsstellenbezeichner', fromsubclass_=False, pretty_print=True): + super(TCBetriebsstellenbezeichner, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCBetriebsstellenbezeichner, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TBetriebsstellenbezeichner + self.validate_TBetriebsstellenbezeichner(self.Wert) + super(TCBetriebsstellenbezeichner, self)._buildChildren(child_, node, nodeName_, True) +# end class TCBetriebsstellenbezeichner + + +class CBSO_IP_Adressblock(GeneratedsSuper): + """IP_Adressblock_Blau_V4 -- Reservierter IPv4-Adressblock f + ü + r den blauen Weg des bbIP-Netzes. + IP_Adressblock_Blau_V6 -- Reservierter IPv6-Adressblock f + ü + r den blauen Weg des bbIP-Netzes. + IP_Adressblock_Grau_V4 -- Reservierter IPv4-Adressblock f + ü + r den grauen Weg des bbIP-Netzes. + IP_Adressblock_Grau_V6 -- Reservierter IPv6-Adressblock f + ü + r den grauen Weg des bbIP-Netzes. + Regionalbereich -- Regionalbereich, dem der Bedien-Standort zugewiesen ist. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, BSO_IP_AB_Teilsystem=None, IP_Adressblock_Blau_V4=None, IP_Adressblock_Blau_V6=None, IP_Adressblock_Grau_V4=None, IP_Adressblock_Grau_V6=None, Regionalbereich=None, gds_collector_=None, **kwargs_): + self.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 BSO_IP_AB_Teilsystem is None: + self.BSO_IP_AB_Teilsystem = [] + else: + self.BSO_IP_AB_Teilsystem = BSO_IP_AB_Teilsystem + self.BSO_IP_AB_Teilsystem_nsprefix_ = None + self.IP_Adressblock_Blau_V4 = IP_Adressblock_Blau_V4 + self.IP_Adressblock_Blau_V4_nsprefix_ = None + self.IP_Adressblock_Blau_V6 = IP_Adressblock_Blau_V6 + self.IP_Adressblock_Blau_V6_nsprefix_ = None + self.IP_Adressblock_Grau_V4 = IP_Adressblock_Grau_V4 + self.IP_Adressblock_Grau_V4_nsprefix_ = None + self.IP_Adressblock_Grau_V6 = IP_Adressblock_Grau_V6 + self.IP_Adressblock_Grau_V6_nsprefix_ = None + self.Regionalbereich = Regionalbereich + self.Regionalbereich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CBSO_IP_Adressblock) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CBSO_IP_Adressblock.subclass: + return CBSO_IP_Adressblock.subclass(*args_, **kwargs_) + else: + return CBSO_IP_Adressblock(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_BSO_IP_AB_Teilsystem(self): + return self.BSO_IP_AB_Teilsystem + def set_BSO_IP_AB_Teilsystem(self, BSO_IP_AB_Teilsystem): + self.BSO_IP_AB_Teilsystem = BSO_IP_AB_Teilsystem + def add_BSO_IP_AB_Teilsystem(self, value): + self.BSO_IP_AB_Teilsystem.append(value) + def insert_BSO_IP_AB_Teilsystem_at(self, index, value): + self.BSO_IP_AB_Teilsystem.insert(index, value) + def replace_BSO_IP_AB_Teilsystem_at(self, index, value): + self.BSO_IP_AB_Teilsystem[index] = value + def get_IP_Adressblock_Blau_V4(self): + return self.IP_Adressblock_Blau_V4 + def set_IP_Adressblock_Blau_V4(self, IP_Adressblock_Blau_V4): + self.IP_Adressblock_Blau_V4 = IP_Adressblock_Blau_V4 + def get_IP_Adressblock_Blau_V6(self): + return self.IP_Adressblock_Blau_V6 + def set_IP_Adressblock_Blau_V6(self, IP_Adressblock_Blau_V6): + self.IP_Adressblock_Blau_V6 = IP_Adressblock_Blau_V6 + def get_IP_Adressblock_Grau_V4(self): + return self.IP_Adressblock_Grau_V4 + def set_IP_Adressblock_Grau_V4(self, IP_Adressblock_Grau_V4): + self.IP_Adressblock_Grau_V4 = IP_Adressblock_Grau_V4 + def get_IP_Adressblock_Grau_V6(self): + return self.IP_Adressblock_Grau_V6 + def set_IP_Adressblock_Grau_V6(self, IP_Adressblock_Grau_V6): + self.IP_Adressblock_Grau_V6 = IP_Adressblock_Grau_V6 + def get_Regionalbereich(self): + return self.Regionalbereich + def set_Regionalbereich(self, Regionalbereich): + self.Regionalbereich = Regionalbereich + def has__content(self): + if ( + self.BSO_IP_AB_Teilsystem or + self.IP_Adressblock_Blau_V4 is not None or + self.IP_Adressblock_Blau_V6 is not None or + self.IP_Adressblock_Grau_V4 is not None or + self.IP_Adressblock_Grau_V6 is not None or + self.Regionalbereich is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBedienung:', namespacedef_='xmlns:nsBedienung="http://www.plan-pro.org/modell/Bedienung/1.10.0"', name_='CBSO_IP_Adressblock', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CBSO_IP_Adressblock') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CBSO_IP_Adressblock': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CBSO_IP_Adressblock') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CBSO_IP_Adressblock', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBedienung:', name_='CBSO_IP_Adressblock'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsBedienung:', namespacedef_='xmlns:nsBedienung="http://www.plan-pro.org/modell/Bedienung/1.10.0"', name_='CBSO_IP_Adressblock', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for BSO_IP_AB_Teilsystem_ in self.BSO_IP_AB_Teilsystem: + namespaceprefix_ = self.BSO_IP_AB_Teilsystem_nsprefix_ + ':' if (UseCapturedNS_ and self.BSO_IP_AB_Teilsystem_nsprefix_) else '' + BSO_IP_AB_Teilsystem_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='BSO_IP_AB_Teilsystem', pretty_print=pretty_print) + if self.IP_Adressblock_Blau_V4 is not None: + namespaceprefix_ = self.IP_Adressblock_Blau_V4_nsprefix_ + ':' if (UseCapturedNS_ and self.IP_Adressblock_Blau_V4_nsprefix_) else '' + self.IP_Adressblock_Blau_V4.export(outfile, level, namespaceprefix_, namespacedef_='', name_='IP_Adressblock_Blau_V4', pretty_print=pretty_print) + if self.IP_Adressblock_Blau_V6 is not None: + namespaceprefix_ = self.IP_Adressblock_Blau_V6_nsprefix_ + ':' if (UseCapturedNS_ and self.IP_Adressblock_Blau_V6_nsprefix_) else '' + self.IP_Adressblock_Blau_V6.export(outfile, level, namespaceprefix_, namespacedef_='', name_='IP_Adressblock_Blau_V6', pretty_print=pretty_print) + if self.IP_Adressblock_Grau_V4 is not None: + namespaceprefix_ = self.IP_Adressblock_Grau_V4_nsprefix_ + ':' if (UseCapturedNS_ and self.IP_Adressblock_Grau_V4_nsprefix_) else '' + self.IP_Adressblock_Grau_V4.export(outfile, level, namespaceprefix_, namespacedef_='', name_='IP_Adressblock_Grau_V4', pretty_print=pretty_print) + if self.IP_Adressblock_Grau_V6 is not None: + namespaceprefix_ = self.IP_Adressblock_Grau_V6_nsprefix_ + ':' if (UseCapturedNS_ and self.IP_Adressblock_Grau_V6_nsprefix_) else '' + self.IP_Adressblock_Grau_V6.export(outfile, level, namespaceprefix_, namespacedef_='', name_='IP_Adressblock_Grau_V6', pretty_print=pretty_print) + if self.Regionalbereich is not None: + namespaceprefix_ = self.Regionalbereich_nsprefix_ + ':' if (UseCapturedNS_ and self.Regionalbereich_nsprefix_) else '' + self.Regionalbereich.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Regionalbereich', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'BSO_IP_AB_Teilsystem': + obj_ = CBSO_IP_AB_Teilsystem.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.BSO_IP_AB_Teilsystem.append(obj_) + obj_.original_tagname_ = 'BSO_IP_AB_Teilsystem' + elif nodeName_ == 'IP_Adressblock_Blau_V4': + obj_ = TCIP_Adressblock_Blau_V4.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.IP_Adressblock_Blau_V4 = obj_ + obj_.original_tagname_ = 'IP_Adressblock_Blau_V4' + elif nodeName_ == 'IP_Adressblock_Blau_V6': + obj_ = TCIP_Adressblock_Blau_V6.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.IP_Adressblock_Blau_V6 = obj_ + obj_.original_tagname_ = 'IP_Adressblock_Blau_V6' + elif nodeName_ == 'IP_Adressblock_Grau_V4': + obj_ = TCIP_Adressblock_Grau_V4.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.IP_Adressblock_Grau_V4 = obj_ + obj_.original_tagname_ = 'IP_Adressblock_Grau_V4' + elif nodeName_ == 'IP_Adressblock_Grau_V6': + obj_ = TCIP_Adressblock_Grau_V6.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.IP_Adressblock_Grau_V6 = obj_ + obj_.original_tagname_ = 'IP_Adressblock_Grau_V6' + elif nodeName_ == 'Regionalbereich': + obj_ = TCRegionalbereich.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Regionalbereich = obj_ + obj_.original_tagname_ = 'Regionalbereich' +# end class CBSO_IP_Adressblock + + +class TCAnbindung_IB3(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCAnbindung_IB3"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCAnbindung_IB3) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCAnbindung_IB3.subclass: + return TCAnbindung_IB3.subclass(*args_, **kwargs_) + else: + return TCAnbindung_IB3(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def has__content(self): + if ( + self.Wert is not None or + super(TCAnbindung_IB3, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBedienung:', namespacedef_='xmlns:nsBedienung="http://www.plan-pro.org/modell/Bedienung/1.10.0"', name_='TCAnbindung_IB3', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCAnbindung_IB3') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCAnbindung_IB3': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCAnbindung_IB3') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCAnbindung_IB3', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBedienung:', name_='TCAnbindung_IB3'): + super(TCAnbindung_IB3, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCAnbindung_IB3') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBedienung:', namespacedef_='xmlns:nsBedienung="http://www.plan-pro.org/modell/Bedienung/1.10.0"', name_='TCAnbindung_IB3', fromsubclass_=False, pretty_print=True): + super(TCAnbindung_IB3, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_boolean(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCAnbindung_IB3, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + sval_ = child_.text + ival_ = self.gds_parse_boolean(sval_, node, 'Wert') + ival_ = self.gds_validate_boolean(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + super(TCAnbindung_IB3, self)._buildChildren(child_, node, nodeName_, True) +# end class TCAnbindung_IB3 + + +class CBedien_Platz_Allg(GeneratedsSuper): + """Bedien_Platz_Art -- Auspr + ä + gung des Bedienplatzes. Da es verschiedne Kombinationen und mehere Instanzen von Bedien_Platz geben kann, sind nachfolgend beispielhafte Varianten aufgef + ü + hrt: ESTW Zentraleinheit mit Anbindung an einen Bedien Bezirk, + ö + rtlichem Notbedienplatz im Modulgeb + ä + ude und Standardbedienpl + ä + tzen in der Bedien Zentrale (z.B. ESTW Orxhausen/Siemens); ESTW_Zentraleinheit mit abgesetzten Standardbedienpl + ä + tzen und + ö + rtlichem Notbedienplatz im Modulgeb + ä + ude (z.B. ESTW Kreiensen/Bombardier); ESTW_Zentraleinheit mit Anbindung an einen Bedien_Bezirk mit abgesetztem Notbedienplatz im Altstellwerk und Standardbedienpl + ä + tzen in der Bedien_Zentrale (z.B. ESTW Oldenburg Nord/Siemens). Aus diesem Zusammenhang entstehen vier Arten von Bedienpl + ä + tzen. Standard-Bedienplatz-System (Standard_BPS); Standard-Bedienplatz-System abgesetzt (Standard_BPS_abgesetzt); Not-Bedienplatz-System (Not_BPS); Not-Bedienplatz-System abgesetzt (Not_BPS_Abgesetzt). + Bedienplatzbezeichnung -- Bezeichnung des Bedienplatzes. Regional abh + ä + ngig sind Folgen von alphanumerischen- und Sonderzeichen gebr + ä + uchlich. Gemeint ist die orts + ü + bliche Bezeichnung eines Arbeittsplatzes z.B. in einer Bedieninsel. Siehe Beispiel der BZ Hannover: Plan der Bedienebene: Media:Plan Bedieneben BZH.pdf, Raster X22. Dort befindet sich der Bedienplatz + „ + 82 + “ + mit der Bezeichnung + „ + ö + zF Celle S + ü + d + “ + . Daraus ergibt sich: Bedienplatzbezeichnung: + ö + zF Celle S + ü + d Bedienplatznummer: 82 M + ö + gliche weitere Bezeichnungen w + ä + ren z.B. Bedienplatzbezeichnung + ö + zF Celle (S + ü + d) Bedienplatznummer: HC_2 oder HC_S Nicht gemeint ist diese technische Bezeichnung des Systemherstellers, z.B. die fortlaufende Nummer eines Standardbedienplatzes in einem Steuerbezirk, die nicht aus dem PT1 kommt sondern im PT2 von der SBI geliefert wird. Siehe Media:Bedienplatzbezeichnung Nummer.pdf. Hier wird der im Siemens-Bedien_Bezirk angeschaltete Bedienplatz wie folgt erfasst: Bedienplatzbezeichnung: BPS0112 (n + ä + mlich der erste Bedienplatz im Bedienbezirk 12) Bedienplatznummer: 1 (n + ä + mlich in der Schrankbezeichnung erfasst!) + Bedienplatznummer -- Nummer oder Kurzbezeichnung des Bedienplatzes. Regional abh + ä + ngig sind Folgen von alphanumerischen- und Sonderzeichen gebr + ä + uchlich. Gemeint ist die Nummer oder Kurzbezeichnung eines Arbeittsplatzes z.B. in einer Bedieninsel. Siehe Beispiel der BZ Hannover: Plan der Bedienebene: Media:Plan Bedieneben BZH.pdf, Raster X22. Dort befindet sich der Bedienplatz + „ + 82 + “ + mit der Bezeichnung + „ + ö + zF Celle S + ü + d + “ + . Daraus ergibt sich: Bedienplatzbezeichnung: + ö + zF Celle S + ü + d Bedienplatznummer: 82 M + ö + gliche weitere Bezeichnungen w + ä + ren z.B. Bedienplatzbezeichnung + ö + zF Celle (S + ü + d) Bedienplatznummer: HC_2 oder HC_S Nicht gemeint ist diese technische Bezeichnung des Systemherstellers, z.B. die fortlaufende Nummer eines Standardbedienplatzes in einem Steuerbezirk, die nicht aus dem PT1 kommt sondern im PT2 von der SBI geliefert wird. Siehe Media:Bedienplatzbezeichnung Nummer.pdf. Hier wird der im Siemens-Bedien_Bezirk angeschaltete Bedienplatz wie folgt erfasst: Bedienplatzbezeichnung: BPS0112 (n + ä + mlich der erste Bedienplatz im Bedienbezirk 12) Bedienplatznummer: 1 (n + ä + mlich in der Schrankbezeichnung erfasst!) + Bedienraumnummer -- Nummer oder Bezeichnung des Raumes, in dem der Bedienplatz untergebracht ist. Regional abh + ä + ngig sind Folgen von alphanumerischen- und Sonderzeichen gebr + ä + uchlich. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Bedien_Platz_Art=None, Bedienplatzbezeichnung=None, Bedienplatznummer=None, Bedienraumnummer=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Bedien_Platz_Art = Bedien_Platz_Art + self.Bedien_Platz_Art_nsprefix_ = None + self.Bedienplatzbezeichnung = Bedienplatzbezeichnung + self.Bedienplatzbezeichnung_nsprefix_ = None + self.Bedienplatznummer = Bedienplatznummer + self.Bedienplatznummer_nsprefix_ = None + self.Bedienraumnummer = Bedienraumnummer + self.Bedienraumnummer_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CBedien_Platz_Allg) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CBedien_Platz_Allg.subclass: + return CBedien_Platz_Allg.subclass(*args_, **kwargs_) + else: + return CBedien_Platz_Allg(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Bedien_Platz_Art(self): + return self.Bedien_Platz_Art + def set_Bedien_Platz_Art(self, Bedien_Platz_Art): + self.Bedien_Platz_Art = Bedien_Platz_Art + def get_Bedienplatzbezeichnung(self): + return self.Bedienplatzbezeichnung + def set_Bedienplatzbezeichnung(self, Bedienplatzbezeichnung): + self.Bedienplatzbezeichnung = Bedienplatzbezeichnung + def get_Bedienplatznummer(self): + return self.Bedienplatznummer + def set_Bedienplatznummer(self, Bedienplatznummer): + self.Bedienplatznummer = Bedienplatznummer + def get_Bedienraumnummer(self): + return self.Bedienraumnummer + def set_Bedienraumnummer(self, Bedienraumnummer): + self.Bedienraumnummer = Bedienraumnummer + def has__content(self): + if ( + self.Bedien_Platz_Art is not None or + self.Bedienplatzbezeichnung is not None or + self.Bedienplatznummer is not None or + self.Bedienraumnummer is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBedienung:', namespacedef_='xmlns:nsBedienung="http://www.plan-pro.org/modell/Bedienung/1.10.0"', name_='CBedien_Platz_Allg', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CBedien_Platz_Allg') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CBedien_Platz_Allg': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CBedien_Platz_Allg') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CBedien_Platz_Allg', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBedienung:', name_='CBedien_Platz_Allg'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsBedienung:', namespacedef_='xmlns:nsBedienung="http://www.plan-pro.org/modell/Bedienung/1.10.0"', name_='CBedien_Platz_Allg', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Bedien_Platz_Art is not None: + namespaceprefix_ = self.Bedien_Platz_Art_nsprefix_ + ':' if (UseCapturedNS_ and self.Bedien_Platz_Art_nsprefix_) else '' + self.Bedien_Platz_Art.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Bedien_Platz_Art', pretty_print=pretty_print) + if self.Bedienplatzbezeichnung is not None: + namespaceprefix_ = self.Bedienplatzbezeichnung_nsprefix_ + ':' if (UseCapturedNS_ and self.Bedienplatzbezeichnung_nsprefix_) else '' + self.Bedienplatzbezeichnung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Bedienplatzbezeichnung', pretty_print=pretty_print) + if self.Bedienplatznummer is not None: + namespaceprefix_ = self.Bedienplatznummer_nsprefix_ + ':' if (UseCapturedNS_ and self.Bedienplatznummer_nsprefix_) else '' + self.Bedienplatznummer.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Bedienplatznummer', pretty_print=pretty_print) + if self.Bedienraumnummer is not None: + namespaceprefix_ = self.Bedienraumnummer_nsprefix_ + ':' if (UseCapturedNS_ and self.Bedienraumnummer_nsprefix_) else '' + self.Bedienraumnummer.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Bedienraumnummer', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Bedien_Platz_Art': + obj_ = TCBedien_Platz_Art.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Bedien_Platz_Art = obj_ + obj_.original_tagname_ = 'Bedien_Platz_Art' + elif nodeName_ == 'Bedienplatzbezeichnung': + obj_ = TCBedienplatzbezeichnung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Bedienplatzbezeichnung = obj_ + obj_.original_tagname_ = 'Bedienplatzbezeichnung' + elif nodeName_ == 'Bedienplatznummer': + obj_ = TCBedienplatznummer.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Bedienplatznummer = obj_ + obj_.original_tagname_ = 'Bedienplatznummer' + elif nodeName_ == 'Bedienraumnummer': + obj_ = TCBedienraumnummer.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Bedienraumnummer = obj_ + obj_.original_tagname_ = 'Bedienraumnummer' +# end class CBedien_Platz_Allg + + +class CBedien_Standort_Bezeichnung(GeneratedsSuper): + """Bezeichnung_BSO -- Bezeichnung des Bedien-Standorts. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Bezeichnung_BSO=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Bezeichnung_BSO = Bezeichnung_BSO + self.Bezeichnung_BSO_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CBedien_Standort_Bezeichnung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CBedien_Standort_Bezeichnung.subclass: + return CBedien_Standort_Bezeichnung.subclass(*args_, **kwargs_) + else: + return CBedien_Standort_Bezeichnung(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Bezeichnung_BSO(self): + return self.Bezeichnung_BSO + def set_Bezeichnung_BSO(self, Bezeichnung_BSO): + self.Bezeichnung_BSO = Bezeichnung_BSO + def has__content(self): + if ( + self.Bezeichnung_BSO is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBedienung:', namespacedef_='xmlns:nsBedienung="http://www.plan-pro.org/modell/Bedienung/1.10.0"', name_='CBedien_Standort_Bezeichnung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CBedien_Standort_Bezeichnung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CBedien_Standort_Bezeichnung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CBedien_Standort_Bezeichnung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CBedien_Standort_Bezeichnung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBedienung:', name_='CBedien_Standort_Bezeichnung'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsBedienung:', namespacedef_='xmlns:nsBedienung="http://www.plan-pro.org/modell/Bedienung/1.10.0"', name_='CBedien_Standort_Bezeichnung', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Bezeichnung_BSO is not None: + namespaceprefix_ = self.Bezeichnung_BSO_nsprefix_ + ':' if (UseCapturedNS_ and self.Bezeichnung_BSO_nsprefix_) else '' + self.Bezeichnung_BSO.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Bezeichnung_BSO', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Bezeichnung_BSO': + obj_ = TCBezeichnung_BSO.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Bezeichnung_BSO = obj_ + obj_.original_tagname_ = 'Bezeichnung_BSO' +# end class CBedien_Standort_Bezeichnung + + +class TCIP_Adressblock_Blau_V6(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCIP_Adressblock_Blau_V6"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TIP_Adressblock_Blau_V6(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCIP_Adressblock_Blau_V6) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCIP_Adressblock_Blau_V6.subclass: + return TCIP_Adressblock_Blau_V6.subclass(*args_, **kwargs_) + else: + return TCIP_Adressblock_Blau_V6(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TIP_Adressblock_Blau_V6(self, value): + result = True + # Validate type TIP_Adressblock_Blau_V6, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TIP_Adressblock_Blau_V6_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TIP_Adressblock_Blau_V6_patterns_, )) + result = False + return result + validate_TIP_Adressblock_Blau_V6_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCIP_Adressblock_Blau_V6, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBedienung:', namespacedef_='xmlns:nsBedienung="http://www.plan-pro.org/modell/Bedienung/1.10.0"', name_='TCIP_Adressblock_Blau_V6', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCIP_Adressblock_Blau_V6') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCIP_Adressblock_Blau_V6': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCIP_Adressblock_Blau_V6') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCIP_Adressblock_Blau_V6', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBedienung:', name_='TCIP_Adressblock_Blau_V6'): + super(TCIP_Adressblock_Blau_V6, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCIP_Adressblock_Blau_V6') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBedienung:', namespacedef_='xmlns:nsBedienung="http://www.plan-pro.org/modell/Bedienung/1.10.0"', name_='TCIP_Adressblock_Blau_V6', fromsubclass_=False, pretty_print=True): + super(TCIP_Adressblock_Blau_V6, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCIP_Adressblock_Blau_V6, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TIP_Adressblock_Blau_V6 + self.validate_TIP_Adressblock_Blau_V6(self.Wert) + super(TCIP_Adressblock_Blau_V6, self)._buildChildren(child_, node, nodeName_, True) +# end class TCIP_Adressblock_Blau_V6 + + +class TCBedienplatzbezeichnung(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCBedienplatzbezeichnung"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TBedienplatzbezeichnung(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCBedienplatzbezeichnung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCBedienplatzbezeichnung.subclass: + return TCBedienplatzbezeichnung.subclass(*args_, **kwargs_) + else: + return TCBedienplatzbezeichnung(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TBedienplatzbezeichnung(self, value): + result = True + # Validate type TBedienplatzbezeichnung, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TBedienplatzbezeichnung_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TBedienplatzbezeichnung_patterns_, )) + result = False + return result + validate_TBedienplatzbezeichnung_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCBedienplatzbezeichnung, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBedienung:', namespacedef_='xmlns:nsBedienung="http://www.plan-pro.org/modell/Bedienung/1.10.0"', name_='TCBedienplatzbezeichnung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCBedienplatzbezeichnung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCBedienplatzbezeichnung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBedienplatzbezeichnung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCBedienplatzbezeichnung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBedienung:', name_='TCBedienplatzbezeichnung'): + super(TCBedienplatzbezeichnung, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBedienplatzbezeichnung') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBedienung:', namespacedef_='xmlns:nsBedienung="http://www.plan-pro.org/modell/Bedienung/1.10.0"', name_='TCBedienplatzbezeichnung', fromsubclass_=False, pretty_print=True): + super(TCBedienplatzbezeichnung, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCBedienplatzbezeichnung, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TBedienplatzbezeichnung + self.validate_TBedienplatzbezeichnung(self.Wert) + super(TCBedienplatzbezeichnung, self)._buildChildren(child_, node, nodeName_, True) +# end class TCBedienplatzbezeichnung + + +class TCBez_Bed_Anzeige_Element(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCBez_Bed_Anzeige_Element"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TBez_Bed_Anzeige_Element(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCBez_Bed_Anzeige_Element) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCBez_Bed_Anzeige_Element.subclass: + return TCBez_Bed_Anzeige_Element.subclass(*args_, **kwargs_) + else: + return TCBez_Bed_Anzeige_Element(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TBez_Bed_Anzeige_Element(self, value): + result = True + # Validate type TBez_Bed_Anzeige_Element, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TBez_Bed_Anzeige_Element_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TBez_Bed_Anzeige_Element_patterns_, )) + result = False + return result + validate_TBez_Bed_Anzeige_Element_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCBez_Bed_Anzeige_Element, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBedienung:', namespacedef_='xmlns:nsBedienung="http://www.plan-pro.org/modell/Bedienung/1.10.0"', name_='TCBez_Bed_Anzeige_Element', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCBez_Bed_Anzeige_Element') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCBez_Bed_Anzeige_Element': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBez_Bed_Anzeige_Element') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCBez_Bed_Anzeige_Element', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBedienung:', name_='TCBez_Bed_Anzeige_Element'): + super(TCBez_Bed_Anzeige_Element, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBez_Bed_Anzeige_Element') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBedienung:', namespacedef_='xmlns:nsBedienung="http://www.plan-pro.org/modell/Bedienung/1.10.0"', name_='TCBez_Bed_Anzeige_Element', fromsubclass_=False, pretty_print=True): + super(TCBez_Bed_Anzeige_Element, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCBez_Bed_Anzeige_Element, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TBez_Bed_Anzeige_Element + self.validate_TBez_Bed_Anzeige_Element(self.Wert) + super(TCBez_Bed_Anzeige_Element, self)._buildChildren(child_, node, nodeName_, True) +# end class TCBez_Bed_Anzeige_Element + + +class TCSteuerbezirksname(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCSteuerbezirksname"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TSteuerbezirksname(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCSteuerbezirksname) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCSteuerbezirksname.subclass: + return TCSteuerbezirksname.subclass(*args_, **kwargs_) + else: + return TCSteuerbezirksname(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TSteuerbezirksname(self, value): + result = True + # Validate type TSteuerbezirksname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TSteuerbezirksname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TSteuerbezirksname_patterns_, )) + result = False + return result + validate_TSteuerbezirksname_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCSteuerbezirksname, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBedienung:', namespacedef_='xmlns:nsBedienung="http://www.plan-pro.org/modell/Bedienung/1.10.0"', name_='TCSteuerbezirksname', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCSteuerbezirksname') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCSteuerbezirksname': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCSteuerbezirksname') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCSteuerbezirksname', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBedienung:', name_='TCSteuerbezirksname'): + super(TCSteuerbezirksname, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCSteuerbezirksname') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBedienung:', namespacedef_='xmlns:nsBedienung="http://www.plan-pro.org/modell/Bedienung/1.10.0"', name_='TCSteuerbezirksname', fromsubclass_=False, pretty_print=True): + super(TCSteuerbezirksname, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCSteuerbezirksname, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TSteuerbezirksname + self.validate_TSteuerbezirksname(self.Wert) + super(TCSteuerbezirksname, self)._buildChildren(child_, node, nodeName_, True) +# end class TCSteuerbezirksname + + +class CBedien_Platz(CBasis_Objekt): + """CBedien_Platz -- Ö + rtliche Anordnung der Bedien- und Meldeeinrichtungen zur betrieblichen Nutzung eines elektronischen Stellwerks. Der Bedien_Platz kann sowohl an einem Bedien_Bezirk wie auch an einer ESTW_Zentraleinheit angeschaltet sein. Der Aufstellungsort muss aber nicht zwingend der Anschalteort sein. Der Bedien_Platz kann auch als abgesetzter Bedien_Platz an abweichenden Orten untergebracht sein. Z.B. wenn im Modulgeb + ä + ude der ESTW_Zentraleinheit nicht ausreichend Platz ist und der Bedien_Platz im benachbartem alten Stellwerksgeb + ä + ude untergebracht werden soll. Um dem Lieferanten die allgemeine Auspr + ä + gung des Bedien_Platzes im PT 1 zu beschreiben, ist noch der Hinweis zu erbringen, ob es sich um einen Not-Bedien_Platz oder einen Standard-Bedien_Platz handelt. Da es verschiedne Kombinationen und mehere Instanzen von Bedien_Platz geben kann, hier noch mal Beispielhafte Varianten: ESTW_Zentraleinheit mit Anbindung an einen Bedien_Bezirk mit + ö + rtlichem Notbedienplatz im Modulgeb + ä + ude und Standardbedienpl + ä + tzen in der Bedien_Zentrale (z.B. ESTW Orxhausen/Siemens) ESTW_Zentraleinheit mit abgesetzten Standardbedienpl + ä + tzen und mit + ö + rtlichem Notbedienplatz im Modulgeb + ä + ude (z.B. ESTW Kreiensen/Bombardier) ESTW_Zentraleinheit mit Anbindung an einen Bedien_Bezirk mit abgesetztem Notbedienplatz im Altstellwerk und Standardbedienpl + ä + tzen in der Bedien_Zentrale (z.B. ESTW Oldenburg Nord/Siemens) Aus diesem Zusammenhang entstehen vier Typen von Bedienpl + ä + tzen. Standard-Bedienplatz-System (Standard_BPS) Standard-Bedienplatz-System abgesetzt (Standard_BPS_Abgesetzt) Not-Bedienplatz Not-BPS-System (Not_BPS) Not-Bedienplatz Not-BPS-System abgesetzt (Not_BPS_Abgesetzt) Im PT 1 BZ werden f + ü + r den Bedienplatz die Aufstellung im Raum, die Ausstattung und Ausr + ü + stung sowie die Versorgung mit elektrischer Energie und Daten geplant. Siehe Beispiel der BZ Hannover: Plan der Bedienebene: Media:Plan Bedieneben BZH.pdf, Schematischer Plan der Strom- und Datenversorgung am Bedienplatz: Media:Plan Stromversorgung BPL BZH.pdf. + ID_Anhang_Moebelplan_Aufriss -- Anhang im PDF-Format, der den horizontalen Aufbau der Bedienm + ö + bel einer Bedienzentrale beschreibt. Der Ein- und Ausbau der Ausr + ü + stung erfolgt in der + ü + blichen Rot/Gelb-Darstellung. + ID_Anhang_Moebelplan_Grundriss -- Anhang im PDF-Format, der die Aufstellfl + ä + che und die Anschl + ü + sse f + ü + r elektrische Energie und Daten der Bedienpl + ä + tze einer Bedienzentrale beschreibt. Der Ein- und Ausbau von Bedienpl + ä + tzen und Anschl + ü + ssen erfolgt in der + ü + blichen Rot/Gelb-Darstellung. + ID_Unterbringung -- Verweis auf den physischen Ort der Unterbringung von Aussenelementansteuerung, Bedien Einrichtung Oertlich, Bedien Platz, ESTW Zentraleinheit, PZB Element, Schlosskombination, Schluesselsperre und ZN. F + ü + r das PZB Element wird der Verweis nur f + ü + r eine G + Ü + gef + ü + llt - mit der Bedeutung: G + Ü + -Schaltkasten. F + ü + r die ZN ist der Verweis optional, da im Planungswerkzeug ZN/ZL keine Bef + ü + llung aller der f + ü + r die Unterbringung notwendigen Attribute m + ö + glich ist. DB-Regelwerk Darstellung des Geb + ä + udes, der Bediens + ä + ule bzw. des Schaltkastens im sicherungstechnischen Lageplan nach Ril 819.9002 oder Beschreibung im Erl + ä + uterungsbericht. + ID_Bedien_Bezirk -- Verweis auf einen Bedien_Bezirk zur Zuordnung der Bedienpl + ä + tze eines Steuerbereiches und der f + ü + r Ihre Darstellung notwendigen Parameter (z.Zt. noch + ü + ber PDF-Anh + ä + nge). + ID_ESTW_Zentraleinheit -- Zuordnung des Bedienplatzes zu einer ESTW_Zentraleinheit, wenn der Bedienplatz nicht an einen Bedien_Bezirk, sondern direkt an die ESTW_Zentraleinheit angeschaltet ist (z. B. Notbedienplatz). + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasis_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, Bedien_Platz_Allg=None, ID_Anhang_Moebelplan_Aufriss=None, ID_Anhang_Moebelplan_Grundriss=None, ID_Unterbringung=None, ID_Bedien_Bezirk=None, ID_ESTW_Zentraleinheit=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CBedien_Platz"), self).__init__(Identitaet, Basis_Objekt_Allg, ID_Bearbeitungsvermerk, ID_Oertlichkeit_Ausgabe, Objektreferenzen, **kwargs_) + self.Bedien_Platz_Allg = Bedien_Platz_Allg + self.Bedien_Platz_Allg_nsprefix_ = None + self.ID_Anhang_Moebelplan_Aufriss = ID_Anhang_Moebelplan_Aufriss + self.ID_Anhang_Moebelplan_Aufriss_nsprefix_ = None + self.ID_Anhang_Moebelplan_Grundriss = ID_Anhang_Moebelplan_Grundriss + self.ID_Anhang_Moebelplan_Grundriss_nsprefix_ = None + self.ID_Unterbringung = ID_Unterbringung + self.ID_Unterbringung_nsprefix_ = None + self.ID_Bedien_Bezirk = ID_Bedien_Bezirk + self.ID_Bedien_Bezirk_nsprefix_ = None + self.ID_ESTW_Zentraleinheit = ID_ESTW_Zentraleinheit + self.ID_ESTW_Zentraleinheit_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CBedien_Platz) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CBedien_Platz.subclass: + return CBedien_Platz.subclass(*args_, **kwargs_) + else: + return CBedien_Platz(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Bedien_Platz_Allg(self): + return self.Bedien_Platz_Allg + def set_Bedien_Platz_Allg(self, Bedien_Platz_Allg): + self.Bedien_Platz_Allg = Bedien_Platz_Allg + def get_ID_Anhang_Moebelplan_Aufriss(self): + return self.ID_Anhang_Moebelplan_Aufriss + def set_ID_Anhang_Moebelplan_Aufriss(self, ID_Anhang_Moebelplan_Aufriss): + self.ID_Anhang_Moebelplan_Aufriss = ID_Anhang_Moebelplan_Aufriss + def get_ID_Anhang_Moebelplan_Grundriss(self): + return self.ID_Anhang_Moebelplan_Grundriss + def set_ID_Anhang_Moebelplan_Grundriss(self, ID_Anhang_Moebelplan_Grundriss): + self.ID_Anhang_Moebelplan_Grundriss = ID_Anhang_Moebelplan_Grundriss + def get_ID_Unterbringung(self): + return self.ID_Unterbringung + def set_ID_Unterbringung(self, ID_Unterbringung): + self.ID_Unterbringung = ID_Unterbringung + def get_ID_Bedien_Bezirk(self): + return self.ID_Bedien_Bezirk + def set_ID_Bedien_Bezirk(self, ID_Bedien_Bezirk): + self.ID_Bedien_Bezirk = ID_Bedien_Bezirk + def get_ID_ESTW_Zentraleinheit(self): + return self.ID_ESTW_Zentraleinheit + def set_ID_ESTW_Zentraleinheit(self, ID_ESTW_Zentraleinheit): + self.ID_ESTW_Zentraleinheit = ID_ESTW_Zentraleinheit + def has__content(self): + if ( + self.Bedien_Platz_Allg is not None or + self.ID_Anhang_Moebelplan_Aufriss is not None or + self.ID_Anhang_Moebelplan_Grundriss is not None or + self.ID_Unterbringung is not None or + self.ID_Bedien_Bezirk is not None or + self.ID_ESTW_Zentraleinheit is not None or + super(CBedien_Platz, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBedienung:', namespacedef_='xmlns:nsBedienung="http://www.plan-pro.org/modell/Bedienung/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CBedien_Platz', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CBedien_Platz') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CBedien_Platz': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CBedien_Platz') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CBedien_Platz', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBedienung:', name_='CBedien_Platz'): + super(CBedien_Platz, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CBedien_Platz') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBedienung:', namespacedef_='xmlns:nsBedienung="http://www.plan-pro.org/modell/Bedienung/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CBedien_Platz', fromsubclass_=False, pretty_print=True): + super(CBedien_Platz, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Bedien_Platz_Allg is not None: + namespaceprefix_ = self.Bedien_Platz_Allg_nsprefix_ + ':' if (UseCapturedNS_ and self.Bedien_Platz_Allg_nsprefix_) else '' + self.Bedien_Platz_Allg.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Bedien_Platz_Allg', pretty_print=pretty_print) + if self.ID_Anhang_Moebelplan_Aufriss is not None: + namespaceprefix_ = self.ID_Anhang_Moebelplan_Aufriss_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Anhang_Moebelplan_Aufriss_nsprefix_) else '' + self.ID_Anhang_Moebelplan_Aufriss.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Anhang_Moebelplan_Aufriss', pretty_print=pretty_print) + if self.ID_Anhang_Moebelplan_Grundriss is not None: + namespaceprefix_ = self.ID_Anhang_Moebelplan_Grundriss_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Anhang_Moebelplan_Grundriss_nsprefix_) else '' + self.ID_Anhang_Moebelplan_Grundriss.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Anhang_Moebelplan_Grundriss', pretty_print=pretty_print) + if self.ID_Unterbringung is not None: + namespaceprefix_ = self.ID_Unterbringung_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Unterbringung_nsprefix_) else '' + self.ID_Unterbringung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Unterbringung', pretty_print=pretty_print) + if self.ID_Bedien_Bezirk is not None: + namespaceprefix_ = self.ID_Bedien_Bezirk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bedien_Bezirk_nsprefix_) else '' + self.ID_Bedien_Bezirk.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bedien_Bezirk', pretty_print=pretty_print) + if self.ID_ESTW_Zentraleinheit is not None: + namespaceprefix_ = self.ID_ESTW_Zentraleinheit_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_ESTW_Zentraleinheit_nsprefix_) else '' + self.ID_ESTW_Zentraleinheit.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_ESTW_Zentraleinheit', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CBedien_Platz, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Bedien_Platz_Allg': + obj_ = CBedien_Platz_Allg.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Bedien_Platz_Allg = obj_ + obj_.original_tagname_ = 'Bedien_Platz_Allg' + elif nodeName_ == 'ID_Anhang_Moebelplan_Aufriss': + obj_ = TCID_Anhang.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Anhang_Moebelplan_Aufriss = obj_ + obj_.original_tagname_ = 'ID_Anhang_Moebelplan_Aufriss' + elif nodeName_ == 'ID_Anhang_Moebelplan_Grundriss': + obj_ = TCID_Anhang.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Anhang_Moebelplan_Grundriss = obj_ + obj_.original_tagname_ = 'ID_Anhang_Moebelplan_Grundriss' + elif nodeName_ == 'ID_Unterbringung': + obj_ = TCID_Unterbringung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Unterbringung = obj_ + obj_.original_tagname_ = 'ID_Unterbringung' + elif nodeName_ == 'ID_Bedien_Bezirk': + obj_ = TCID_Bedien_Bezirk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bedien_Bezirk = obj_ + obj_.original_tagname_ = 'ID_Bedien_Bezirk' + elif nodeName_ == 'ID_ESTW_Zentraleinheit': + obj_ = TCID_ESTW_Zentraleinheit.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_ESTW_Zentraleinheit = obj_ + obj_.original_tagname_ = 'ID_ESTW_Zentraleinheit' + super(CBedien_Platz, self)._buildChildren(child_, node, nodeName_, True) +# end class CBedien_Platz + + +class TCB_Wert(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCB_Wert"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TB_Wert(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCB_Wert) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCB_Wert.subclass: + return TCB_Wert.subclass(*args_, **kwargs_) + else: + return TCB_Wert(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TB_Wert(self, value): + result = True + # Validate type TB_Wert, a restriction on xs:integer. + 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_TB_Wert_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TB_Wert_patterns_, )) + result = False + return result + validate_TB_Wert_patterns_ = [['^([1-9]|1[0-6])$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCB_Wert, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBedienung:', namespacedef_='xmlns:nsBedienung="http://www.plan-pro.org/modell/Bedienung/1.10.0"', name_='TCB_Wert', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCB_Wert') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCB_Wert': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCB_Wert') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCB_Wert', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBedienung:', name_='TCB_Wert'): + super(TCB_Wert, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCB_Wert') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBedienung:', namespacedef_='xmlns:nsBedienung="http://www.plan-pro.org/modell/Bedienung/1.10.0"', name_='TCB_Wert', fromsubclass_=False, pretty_print=True): + super(TCB_Wert, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_integer(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCB_Wert, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + ival_ = self.gds_parse_integer(sval_, node, 'Wert') + ival_ = self.gds_validate_integer(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + # validate type TB_Wert + self.validate_TB_Wert(self.Wert) + super(TCB_Wert, self)._buildChildren(child_, node, nodeName_, True) +# end class TCB_Wert + + +class TCIP_Adressblock_Grau_V6(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCIP_Adressblock_Grau_V6"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TIP_Adressblock_Grau_V6(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCIP_Adressblock_Grau_V6) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCIP_Adressblock_Grau_V6.subclass: + return TCIP_Adressblock_Grau_V6.subclass(*args_, **kwargs_) + else: + return TCIP_Adressblock_Grau_V6(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TIP_Adressblock_Grau_V6(self, value): + result = True + # Validate type TIP_Adressblock_Grau_V6, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TIP_Adressblock_Grau_V6_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TIP_Adressblock_Grau_V6_patterns_, )) + result = False + return result + validate_TIP_Adressblock_Grau_V6_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCIP_Adressblock_Grau_V6, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBedienung:', namespacedef_='xmlns:nsBedienung="http://www.plan-pro.org/modell/Bedienung/1.10.0"', name_='TCIP_Adressblock_Grau_V6', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCIP_Adressblock_Grau_V6') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCIP_Adressblock_Grau_V6': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCIP_Adressblock_Grau_V6') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCIP_Adressblock_Grau_V6', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBedienung:', name_='TCIP_Adressblock_Grau_V6'): + super(TCIP_Adressblock_Grau_V6, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCIP_Adressblock_Grau_V6') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBedienung:', namespacedef_='xmlns:nsBedienung="http://www.plan-pro.org/modell/Bedienung/1.10.0"', name_='TCIP_Adressblock_Grau_V6', fromsubclass_=False, pretty_print=True): + super(TCIP_Adressblock_Grau_V6, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCIP_Adressblock_Grau_V6, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TIP_Adressblock_Grau_V6 + self.validate_TIP_Adressblock_Grau_V6(self.Wert) + super(TCIP_Adressblock_Grau_V6, self)._buildChildren(child_, node, nodeName_, True) +# end class TCIP_Adressblock_Grau_V6 + + +class TCIP_Adressblock_Grau_V4(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCIP_Adressblock_Grau_V4"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TIP_Adressblock_Grau_V4(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCIP_Adressblock_Grau_V4) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCIP_Adressblock_Grau_V4.subclass: + return TCIP_Adressblock_Grau_V4.subclass(*args_, **kwargs_) + else: + return TCIP_Adressblock_Grau_V4(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TIP_Adressblock_Grau_V4(self, value): + result = True + # Validate type TIP_Adressblock_Grau_V4, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TIP_Adressblock_Grau_V4_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TIP_Adressblock_Grau_V4_patterns_, )) + result = False + return result + validate_TIP_Adressblock_Grau_V4_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCIP_Adressblock_Grau_V4, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBedienung:', namespacedef_='xmlns:nsBedienung="http://www.plan-pro.org/modell/Bedienung/1.10.0"', name_='TCIP_Adressblock_Grau_V4', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCIP_Adressblock_Grau_V4') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCIP_Adressblock_Grau_V4': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCIP_Adressblock_Grau_V4') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCIP_Adressblock_Grau_V4', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBedienung:', name_='TCIP_Adressblock_Grau_V4'): + super(TCIP_Adressblock_Grau_V4, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCIP_Adressblock_Grau_V4') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBedienung:', namespacedef_='xmlns:nsBedienung="http://www.plan-pro.org/modell/Bedienung/1.10.0"', name_='TCIP_Adressblock_Grau_V4', fromsubclass_=False, pretty_print=True): + super(TCIP_Adressblock_Grau_V4, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCIP_Adressblock_Grau_V4, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TIP_Adressblock_Grau_V4 + self.validate_TIP_Adressblock_Grau_V4(self.Wert) + super(TCIP_Adressblock_Grau_V4, self)._buildChildren(child_, node, nodeName_, True) +# end class TCIP_Adressblock_Grau_V4 + + +class CBedien_Anrueckabschnitt(CBasis_Objekt): + """CBedien_Anrueckabschnitt -- Darstellung der Anr + ü + ckmeldung Auf der Bedienoberfl + ä + che wird bei in den Steuerbereich einfahrenden Z + ü + gen die Zugnummer oder, wenn diese nicht vorhanden ist, der vom anr + ü + ckenden Zug belegte Gleisabschnitt angezeigt. Die Anr + ü + ckmeldung wird aus der ZL generiert. Es wird festgelegt, in der N + ä + he welchen Gleisabschnittes auf der Bedienoberfl + ä + che die Zugnummer bzw. der Gleisabschnitt angezeigt werden soll. Der Gleisabschnitt kann au + ß + erhalb des Planungsbereiches liegen. Es muss nicht der direkte Nachbarabschnitt sein, denn z.B. bei Strecken mit hoher Geschwindigkeit wird als Anr + ü + ckabschnitt auch ein weiter entfernter Gleisabschnitt des Nachbarstellwerks genommen. DB-Regelwerk 819.0603 A2, Tabelle 3, Seite 208 + ID_Gleis_Abschnitt_Position -- Angabe des Gleisabschnitts, in dessen N + ä + he auf der Bedienoberfl + ä + che die Anzeige des darzustellenden Gleisabschnitts (Anr + ü + ckabschnitt) positioniert werden soll. + Bezeichnung -- Attributgruppe zur Bezeichnung von Stell- und sonstigen Elementen. Sofern ausreichend, wird an dieser Stelle + ü + ber Vererbung die Basisattributgruppe Bezeichnung Element eingebunden. Ist die Abbildung mit den Attributen der Basisattributgruppe nicht m + ö + glich (z. B. wegen spezieller Patternvorgabe) oder nicht sinnvoll (z. B. weil eine Unterscheidung nach Bezeichnung_Lageplan_..., Bezeichnung_Tabelle und Bezeichnung_Aussenanlage (Pflichtattribute!) nicht notwendig ist), werden in der Attributgruppe Bezeichnung entsprechende objektspezifische Bezeichnungsattribute modelliert. Diese sind nach dem Schema Bezeichnung_[Objektname] zu benennen. Zudem ist es m + ö + glich, gleichzeitig die Basisattributgruppe Bezeichnung Element und objektspezifische Attribute einzubinden. Siehe auch Bildung der Bezeichnungen. DB-Regelwerk Sicherungstechnischer Lage- und + Ü + bersichtsplan, B + Ü + -Lageplan Planungstabellen + ID_Gleis_Abschnitt_Darstellen -- Gleisabschnitt, dessen Belegung auf der Bedien Oberflaeche als Anr + ü + ckabschnitt dargestellt werden soll. Liegt dieser au + ß + erhalb des Planungsbereichs, wird statt des Verweises das Attribut Bez Bed Anrueckabschnitt gef + ü + llt. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasis_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, ID_Gleis_Abschnitt_Position=None, Bezeichnung=None, ID_Gleis_Abschnitt_Darstellen=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CBedien_Anrueckabschnitt"), self).__init__(Identitaet, Basis_Objekt_Allg, ID_Bearbeitungsvermerk, ID_Oertlichkeit_Ausgabe, Objektreferenzen, **kwargs_) + self.ID_Gleis_Abschnitt_Position = ID_Gleis_Abschnitt_Position + self.ID_Gleis_Abschnitt_Position_nsprefix_ = None + self.Bezeichnung = Bezeichnung + self.Bezeichnung_nsprefix_ = None + self.ID_Gleis_Abschnitt_Darstellen = ID_Gleis_Abschnitt_Darstellen + self.ID_Gleis_Abschnitt_Darstellen_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CBedien_Anrueckabschnitt) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CBedien_Anrueckabschnitt.subclass: + return CBedien_Anrueckabschnitt.subclass(*args_, **kwargs_) + else: + return CBedien_Anrueckabschnitt(*args_, **kwargs_) + factory = staticmethod(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_Gleis_Abschnitt_Position(self): + return self.ID_Gleis_Abschnitt_Position + def set_ID_Gleis_Abschnitt_Position(self, ID_Gleis_Abschnitt_Position): + self.ID_Gleis_Abschnitt_Position = ID_Gleis_Abschnitt_Position + def get_Bezeichnung(self): + return self.Bezeichnung + def set_Bezeichnung(self, Bezeichnung): + self.Bezeichnung = Bezeichnung + def get_ID_Gleis_Abschnitt_Darstellen(self): + return self.ID_Gleis_Abschnitt_Darstellen + def set_ID_Gleis_Abschnitt_Darstellen(self, ID_Gleis_Abschnitt_Darstellen): + self.ID_Gleis_Abschnitt_Darstellen = ID_Gleis_Abschnitt_Darstellen + def has__content(self): + if ( + self.ID_Gleis_Abschnitt_Position is not None or + self.Bezeichnung is not None or + self.ID_Gleis_Abschnitt_Darstellen is not None or + super(CBedien_Anrueckabschnitt, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBedienung:', namespacedef_='xmlns:nsBedienung="http://www.plan-pro.org/modell/Bedienung/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CBedien_Anrueckabschnitt', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CBedien_Anrueckabschnitt') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CBedien_Anrueckabschnitt': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CBedien_Anrueckabschnitt') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CBedien_Anrueckabschnitt', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBedienung:', name_='CBedien_Anrueckabschnitt'): + super(CBedien_Anrueckabschnitt, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CBedien_Anrueckabschnitt') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBedienung:', namespacedef_='xmlns:nsBedienung="http://www.plan-pro.org/modell/Bedienung/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CBedien_Anrueckabschnitt', fromsubclass_=False, pretty_print=True): + super(CBedien_Anrueckabschnitt, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.ID_Gleis_Abschnitt_Position is not None: + namespaceprefix_ = self.ID_Gleis_Abschnitt_Position_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Gleis_Abschnitt_Position_nsprefix_) else '' + self.ID_Gleis_Abschnitt_Position.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Gleis_Abschnitt_Position', pretty_print=pretty_print) + if self.Bezeichnung is not None: + namespaceprefix_ = self.Bezeichnung_nsprefix_ + ':' if (UseCapturedNS_ and self.Bezeichnung_nsprefix_) else '' + self.Bezeichnung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Bezeichnung', pretty_print=pretty_print) + if self.ID_Gleis_Abschnitt_Darstellen is not None: + namespaceprefix_ = self.ID_Gleis_Abschnitt_Darstellen_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Gleis_Abschnitt_Darstellen_nsprefix_) else '' + self.ID_Gleis_Abschnitt_Darstellen.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Gleis_Abschnitt_Darstellen', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CBedien_Anrueckabschnitt, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Gleis_Abschnitt_Position': + obj_ = TCID_Gleis_Abschnitt.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Gleis_Abschnitt_Position = obj_ + obj_.original_tagname_ = 'ID_Gleis_Abschnitt_Position' + elif nodeName_ == 'Bezeichnung': + obj_ = CBedien_Anrueckabschnitt_Bezeichnung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Bezeichnung = obj_ + obj_.original_tagname_ = 'Bezeichnung' + elif nodeName_ == 'ID_Gleis_Abschnitt_Darstellen': + obj_ = TCID_Gleis_Abschnitt.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Gleis_Abschnitt_Darstellen = obj_ + obj_.original_tagname_ = 'ID_Gleis_Abschnitt_Darstellen' + super(CBedien_Anrueckabschnitt, self)._buildChildren(child_, node, nodeName_, True) +# end class CBedien_Anrueckabschnitt + + +class TCC_Wert(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCC_Wert"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMC_Wert(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCC_Wert) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCC_Wert.subclass: + return TCC_Wert.subclass(*args_, **kwargs_) + else: + return TCC_Wert(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMC_Wert(self, value): + result = True + # Validate type ENUMC_Wert, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['0', '64', '128', '192'] + 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 ENUMC_Wert' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCC_Wert, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBedienung:', namespacedef_='xmlns:nsBedienung="http://www.plan-pro.org/modell/Bedienung/1.10.0"', name_='TCC_Wert', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCC_Wert') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCC_Wert': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCC_Wert') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCC_Wert', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBedienung:', name_='TCC_Wert'): + super(TCC_Wert, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCC_Wert') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBedienung:', namespacedef_='xmlns:nsBedienung="http://www.plan-pro.org/modell/Bedienung/1.10.0"', name_='TCC_Wert', fromsubclass_=False, pretty_print=True): + super(TCC_Wert, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCC_Wert, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMC_Wert + self.validate_ENUMC_Wert(self.Wert) + super(TCC_Wert, self)._buildChildren(child_, node, nodeName_, True) +# end class TCC_Wert + + +class CBedien_Anzeige_Element_Bezeichnung(GeneratedsSuper): + """Bez_Bed_Anzeige_Element -- Beschriftung des Melders, der Taste oder des Schalters auf der Bedien Einrichtung Oertlich (Bezeichnungsschild). + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Bez_Bed_Anzeige_Element=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Bez_Bed_Anzeige_Element = Bez_Bed_Anzeige_Element + self.Bez_Bed_Anzeige_Element_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CBedien_Anzeige_Element_Bezeichnung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CBedien_Anzeige_Element_Bezeichnung.subclass: + return CBedien_Anzeige_Element_Bezeichnung.subclass(*args_, **kwargs_) + else: + return CBedien_Anzeige_Element_Bezeichnung(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Bez_Bed_Anzeige_Element(self): + return self.Bez_Bed_Anzeige_Element + def set_Bez_Bed_Anzeige_Element(self, Bez_Bed_Anzeige_Element): + self.Bez_Bed_Anzeige_Element = Bez_Bed_Anzeige_Element + def has__content(self): + if ( + self.Bez_Bed_Anzeige_Element is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBedienung:', namespacedef_='xmlns:nsBedienung="http://www.plan-pro.org/modell/Bedienung/1.10.0"', name_='CBedien_Anzeige_Element_Bezeichnung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CBedien_Anzeige_Element_Bezeichnung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CBedien_Anzeige_Element_Bezeichnung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CBedien_Anzeige_Element_Bezeichnung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CBedien_Anzeige_Element_Bezeichnung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBedienung:', name_='CBedien_Anzeige_Element_Bezeichnung'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsBedienung:', namespacedef_='xmlns:nsBedienung="http://www.plan-pro.org/modell/Bedienung/1.10.0"', name_='CBedien_Anzeige_Element_Bezeichnung', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Bez_Bed_Anzeige_Element is not None: + namespaceprefix_ = self.Bez_Bed_Anzeige_Element_nsprefix_ + ':' if (UseCapturedNS_ and self.Bez_Bed_Anzeige_Element_nsprefix_) else '' + self.Bez_Bed_Anzeige_Element.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Bez_Bed_Anzeige_Element', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Bez_Bed_Anzeige_Element': + obj_ = TCBez_Bed_Anzeige_Element.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Bez_Bed_Anzeige_Element = obj_ + obj_.original_tagname_ = 'Bez_Bed_Anzeige_Element' +# end class CBedien_Anzeige_Element_Bezeichnung + + +class TCBedien_Platz_Art(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCBedien_Platz_Art"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMBedien_Platz_Art(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCBedien_Platz_Art) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCBedien_Platz_Art.subclass: + return TCBedien_Platz_Art.subclass(*args_, **kwargs_) + else: + return TCBedien_Platz_Art(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMBedien_Platz_Art(self, value): + result = True + # Validate type ENUMBedien_Platz_Art, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['Not_BPS', 'Not_BPS_abgesetzt', 'sonstige', 'Standard_BPS', 'Standard_BPS_abgesetzt'] + 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 ENUMBedien_Platz_Art' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCBedien_Platz_Art, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBedienung:', namespacedef_='xmlns:nsBedienung="http://www.plan-pro.org/modell/Bedienung/1.10.0"', name_='TCBedien_Platz_Art', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCBedien_Platz_Art') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCBedien_Platz_Art': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBedien_Platz_Art') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCBedien_Platz_Art', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBedienung:', name_='TCBedien_Platz_Art'): + super(TCBedien_Platz_Art, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBedien_Platz_Art') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBedienung:', namespacedef_='xmlns:nsBedienung="http://www.plan-pro.org/modell/Bedienung/1.10.0"', name_='TCBedien_Platz_Art', fromsubclass_=False, pretty_print=True): + super(TCBedien_Platz_Art, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCBedien_Platz_Art, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMBedien_Platz_Art + self.validate_ENUMBedien_Platz_Art(self.Wert) + super(TCBedien_Platz_Art, self)._buildChildren(child_, node, nodeName_, True) +# end class TCBedien_Platz_Art + + +class TCSchrankreihe(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCSchrankreihe"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TSchrankreihe(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCSchrankreihe) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCSchrankreihe.subclass: + return TCSchrankreihe.subclass(*args_, **kwargs_) + else: + return TCSchrankreihe(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TSchrankreihe(self, value): + result = True + # Validate type TSchrankreihe, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TSchrankreihe_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TSchrankreihe_patterns_, )) + result = False + return result + validate_TSchrankreihe_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCSchrankreihe, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBedienung:', namespacedef_='xmlns:nsBedienung="http://www.plan-pro.org/modell/Bedienung/1.10.0"', name_='TCSchrankreihe', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCSchrankreihe') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCSchrankreihe': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCSchrankreihe') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCSchrankreihe', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBedienung:', name_='TCSchrankreihe'): + super(TCSchrankreihe, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCSchrankreihe') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBedienung:', namespacedef_='xmlns:nsBedienung="http://www.plan-pro.org/modell/Bedienung/1.10.0"', name_='TCSchrankreihe', fromsubclass_=False, pretty_print=True): + super(TCSchrankreihe, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCSchrankreihe, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TSchrankreihe + self.validate_TSchrankreihe(self.Wert) + super(TCSchrankreihe, self)._buildChildren(child_, node, nodeName_, True) +# end class TCSchrankreihe + + +class TCOberflaeche_Zustaendigkeit(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCOberflaeche_Zustaendigkeit"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TOberflaeche_Zustaendigkeit(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCOberflaeche_Zustaendigkeit) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCOberflaeche_Zustaendigkeit.subclass: + return TCOberflaeche_Zustaendigkeit.subclass(*args_, **kwargs_) + else: + return TCOberflaeche_Zustaendigkeit(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TOberflaeche_Zustaendigkeit(self, value): + result = True + # Validate type TOberflaeche_Zustaendigkeit, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TOberflaeche_Zustaendigkeit_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TOberflaeche_Zustaendigkeit_patterns_, )) + result = False + return result + validate_TOberflaeche_Zustaendigkeit_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCOberflaeche_Zustaendigkeit, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBedienung:', namespacedef_='xmlns:nsBedienung="http://www.plan-pro.org/modell/Bedienung/1.10.0"', name_='TCOberflaeche_Zustaendigkeit', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCOberflaeche_Zustaendigkeit') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCOberflaeche_Zustaendigkeit': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCOberflaeche_Zustaendigkeit') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCOberflaeche_Zustaendigkeit', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBedienung:', name_='TCOberflaeche_Zustaendigkeit'): + super(TCOberflaeche_Zustaendigkeit, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCOberflaeche_Zustaendigkeit') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBedienung:', namespacedef_='xmlns:nsBedienung="http://www.plan-pro.org/modell/Bedienung/1.10.0"', name_='TCOberflaeche_Zustaendigkeit', fromsubclass_=False, pretty_print=True): + super(TCOberflaeche_Zustaendigkeit, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCOberflaeche_Zustaendigkeit, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TOberflaeche_Zustaendigkeit + self.validate_TOberflaeche_Zustaendigkeit(self.Wert) + super(TCOberflaeche_Zustaendigkeit, self)._buildChildren(child_, node, nodeName_, True) +# end class TCOberflaeche_Zustaendigkeit + + +class CBedien_Einricht_Oertlich_Allg(GeneratedsSuper): + """Bedien_Einricht_Bauart -- Bauart der Bedieneinrichtung. Je nach Art und Anzahl der bedienbaren Elemente werden die erforderlichen Bedieneinrichtungen ausgebildet. F + ü + r Nahbedienungen gilt au + ß + erdem: NB_Art W: Bedienpult oder Bediens + ä + ule; NB_Art R: Bedientablett, Stelltisch- oder -pult. Bei Auswahl von \"sonstige\" ist ein Bearbeitungsvermerk mit entsprechenden Erl + ä + uterungen anzuf + ü + gen. + Hupe_Anschaltzeit -- Angabe der Hupdauer in Sekunden. Das Attribut wird nur gef + ü + llt, wenn es sich um eine Bedieneinrichtung f + ü + r die Nahbedienung handelt. Wird auf die Hupe einer NB-Bedieneinrichtung verzichtet, ist eine Anschaltdauer von Null Sekunden zu planen. DB-Regelwerk Das Planungsdatum ist im Regelwerk der DB AG nicht enthalten. Es findet sich im zugeh + ö + rigen Lastenheft sowie in firmenspezifischen Projektierungsunterlagen, die jedoch dem LST-Fachplaner nicht zur Verf + ü + gung stehen. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Bedien_Einricht_Bauart=None, Hupe_Anschaltzeit=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Bedien_Einricht_Bauart = Bedien_Einricht_Bauart + self.Bedien_Einricht_Bauart_nsprefix_ = None + self.Hupe_Anschaltzeit = Hupe_Anschaltzeit + self.Hupe_Anschaltzeit_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CBedien_Einricht_Oertlich_Allg) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CBedien_Einricht_Oertlich_Allg.subclass: + return CBedien_Einricht_Oertlich_Allg.subclass(*args_, **kwargs_) + else: + return CBedien_Einricht_Oertlich_Allg(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Bedien_Einricht_Bauart(self): + return self.Bedien_Einricht_Bauart + def set_Bedien_Einricht_Bauart(self, Bedien_Einricht_Bauart): + self.Bedien_Einricht_Bauart = Bedien_Einricht_Bauart + def get_Hupe_Anschaltzeit(self): + return self.Hupe_Anschaltzeit + def set_Hupe_Anschaltzeit(self, Hupe_Anschaltzeit): + self.Hupe_Anschaltzeit = Hupe_Anschaltzeit + def has__content(self): + if ( + self.Bedien_Einricht_Bauart is not None or + self.Hupe_Anschaltzeit is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBedienung:', namespacedef_='xmlns:nsBedienung="http://www.plan-pro.org/modell/Bedienung/1.10.0"', name_='CBedien_Einricht_Oertlich_Allg', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CBedien_Einricht_Oertlich_Allg') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CBedien_Einricht_Oertlich_Allg': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CBedien_Einricht_Oertlich_Allg') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CBedien_Einricht_Oertlich_Allg', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBedienung:', name_='CBedien_Einricht_Oertlich_Allg'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsBedienung:', namespacedef_='xmlns:nsBedienung="http://www.plan-pro.org/modell/Bedienung/1.10.0"', name_='CBedien_Einricht_Oertlich_Allg', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Bedien_Einricht_Bauart is not None: + namespaceprefix_ = self.Bedien_Einricht_Bauart_nsprefix_ + ':' if (UseCapturedNS_ and self.Bedien_Einricht_Bauart_nsprefix_) else '' + self.Bedien_Einricht_Bauart.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Bedien_Einricht_Bauart', pretty_print=pretty_print) + if self.Hupe_Anschaltzeit is not None: + namespaceprefix_ = self.Hupe_Anschaltzeit_nsprefix_ + ':' if (UseCapturedNS_ and self.Hupe_Anschaltzeit_nsprefix_) else '' + self.Hupe_Anschaltzeit.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Hupe_Anschaltzeit', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Bedien_Einricht_Bauart': + obj_ = TCBedien_Einricht_Bauart.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Bedien_Einricht_Bauart = obj_ + obj_.original_tagname_ = 'Bedien_Einricht_Bauart' + elif nodeName_ == 'Hupe_Anschaltzeit': + obj_ = TCHupe_Anschaltzeit.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Hupe_Anschaltzeit = obj_ + obj_.original_tagname_ = 'Hupe_Anschaltzeit' +# end class CBedien_Einricht_Oertlich_Allg + + +class TCSchalter(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCSchalter"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMSchalter(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCSchalter) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCSchalter.subclass: + return TCSchalter.subclass(*args_, **kwargs_) + else: + return TCSchalter(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMSchalter(self, value): + result = True + # Validate type ENUMSchalter, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['Schalter_ein_aus', 'Schluesselschalter_DB_21', 'Schluesselschalter_Vierkant', 'sonstige', 'Vorbereitungsmeldung', 'Zustimmungstaste'] + 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 ENUMSchalter' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCSchalter, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBedienung:', namespacedef_='xmlns:nsBedienung="http://www.plan-pro.org/modell/Bedienung/1.10.0"', name_='TCSchalter', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCSchalter') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCSchalter': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCSchalter') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCSchalter', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBedienung:', name_='TCSchalter'): + super(TCSchalter, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCSchalter') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBedienung:', namespacedef_='xmlns:nsBedienung="http://www.plan-pro.org/modell/Bedienung/1.10.0"', name_='TCSchalter', fromsubclass_=False, pretty_print=True): + super(TCSchalter, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCSchalter, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMSchalter + self.validate_ENUMSchalter(self.Wert) + super(TCSchalter, self)._buildChildren(child_, node, nodeName_, True) +# end class TCSchalter + + +class CBedien_Oberflaeche_Anhaenge(GeneratedsSuper): + """ID_Anhang_Monitoraufteilung -- Anhang mit der vom Nutzer gew + ü + nschten groben Aufteilung der Infrastruktur (z. B. Stellelemente) auf die jeweils anzuzeigenden Bildinhalte der Bedienoberfl + ä + che des IB I als Realisierungsvorgabe im Rahmen der AP PT 1 BZ, sofern keine Funktionale und Betriebliche Pr + ü + fung (BEST) stattfindet. Eine Monitoraufteilung im Sinne einer Benutzung der Monitore f + ü + r bestimmte Segmente des Standardbedienplatzes (IB I, IB II, IB III, TK), also die Anordnung der Monitore selbst am Bedienplatz, ist hier nicht gemeint. Diese wird im Attribut ID Anhang Moebelaufstellplan Aufriss verwaltet. Beispiel: Media:Monitoraufteilung.pdf. Wird eine Funktionale und Betriebliche Pr + ü + fung durchgef + ü + hrt (BEST), werden die Vorgaben + ü + ber ID Anhang Vorgabe BELU + ü + bergeben. + ID_Anhang_Richtungssinn -- Anhang zur Erl + ä + uterung des Richtungssinns. Der Richtungssinn ist eine Realisierungsvorgabe der AP PT 1 BZ und wird vom Nutzer vorgegeben. Er muss unter Beachtung der Richtlinie 819.0603 innerhalb des Steuerbezirkes und an den Grenzen einschlie + ß + lich aller dargestellten abzweigenden Strecken eindeutig sein. Die Vorgaben f + ü + r den Richtungssinn beziehen sich zumindest immer auf einen kompletten Steuerbezirk. Eine Angabe f + ü + r den gesamten Bereich einer Betriebszentrale ist ebenfalls m + ö + glich (BZ Hannover). Somit k + ö + nnen einzelne ESTW-Zentraleinheiten bei Bedarf ohne + Ä + nderung des Richtungssinnes in einen anderen Bedienbezirk (Steuerbezirk) umgesetzt werden. Die Vorgabe f + ü + r den Richtungssinn ist jedoch als Eigenschaft der Bedienoberfl + ä + che modelliert. Gegebenenfalls m + ü + ssen hier Zul + ä + ssigkeitspr + ü + fungen ablaufen. Beispiele: UZ Elsterwerda und UZ Dresden-Neustadt Media:Richtungssinn.pdf, BZ Hannover Media:Richtungssinn BZ Hannover.pdf. DB Regelwerk Richtlinie 819.0603 + ID_Anhang_Vorgabe_BELU -- In diesem Anhang werden die Realisierungsvorgaben f + ü + r die Bedienoberfl + ä + chen in Form von Bildern der jeweiligen Bereichs + ü + bersichten und Lupen im PDF-Format geliefert. Diese Realisierungsvorgaben werden in BEST erzeugt, wenn das ESTW einer Funktionalen und Betrieblichen Pr + ü + fung unterzogen wurde. Wenn keine Funktionale und Betriebliche Pr + ü + fung (BEST) erstellt wurde, werden diese Bilder auch vom Auftragnehmer auf Grundlage von ID Anhang Monitoraufteilung erstellt und dem Auftraggeber zur Pr + ü + fung + ü + bergeben. In der Regel werden diese Bilder dann vom zust + ä + ndigen Leiter Fahrdienst gepr + ü + ft und frei gegeben. Beispiel: Media:BELUVorgabe.pdf. DB-Regelwerk Wenn keine Funktionale und Betriebliche Pr + ü + fung stattfindet, werden die Realisierungsvorgaben im Rahmen des PT 1 BZ + ü + bergeben (Monitoraufteilung). + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, ID_Anhang_Monitoraufteilung=None, ID_Anhang_Richtungssinn=None, ID_Anhang_Vorgabe_BELU=None, gds_collector_=None, **kwargs_): + self.gds_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_Anhang_Monitoraufteilung = ID_Anhang_Monitoraufteilung + self.ID_Anhang_Monitoraufteilung_nsprefix_ = None + self.ID_Anhang_Richtungssinn = ID_Anhang_Richtungssinn + self.ID_Anhang_Richtungssinn_nsprefix_ = None + self.ID_Anhang_Vorgabe_BELU = ID_Anhang_Vorgabe_BELU + self.ID_Anhang_Vorgabe_BELU_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CBedien_Oberflaeche_Anhaenge) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CBedien_Oberflaeche_Anhaenge.subclass: + return CBedien_Oberflaeche_Anhaenge.subclass(*args_, **kwargs_) + else: + return CBedien_Oberflaeche_Anhaenge(*args_, **kwargs_) + factory = staticmethod(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_Anhang_Monitoraufteilung(self): + return self.ID_Anhang_Monitoraufteilung + def set_ID_Anhang_Monitoraufteilung(self, ID_Anhang_Monitoraufteilung): + self.ID_Anhang_Monitoraufteilung = ID_Anhang_Monitoraufteilung + def get_ID_Anhang_Richtungssinn(self): + return self.ID_Anhang_Richtungssinn + def set_ID_Anhang_Richtungssinn(self, ID_Anhang_Richtungssinn): + self.ID_Anhang_Richtungssinn = ID_Anhang_Richtungssinn + def get_ID_Anhang_Vorgabe_BELU(self): + return self.ID_Anhang_Vorgabe_BELU + def set_ID_Anhang_Vorgabe_BELU(self, ID_Anhang_Vorgabe_BELU): + self.ID_Anhang_Vorgabe_BELU = ID_Anhang_Vorgabe_BELU + def has__content(self): + if ( + self.ID_Anhang_Monitoraufteilung is not None or + self.ID_Anhang_Richtungssinn is not None or + self.ID_Anhang_Vorgabe_BELU is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBedienung:', namespacedef_='xmlns:nsBedienung="http://www.plan-pro.org/modell/Bedienung/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CBedien_Oberflaeche_Anhaenge', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CBedien_Oberflaeche_Anhaenge') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CBedien_Oberflaeche_Anhaenge': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CBedien_Oberflaeche_Anhaenge') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CBedien_Oberflaeche_Anhaenge', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBedienung:', name_='CBedien_Oberflaeche_Anhaenge'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsBedienung:', namespacedef_='xmlns:nsBedienung="http://www.plan-pro.org/modell/Bedienung/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CBedien_Oberflaeche_Anhaenge', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.ID_Anhang_Monitoraufteilung is not None: + namespaceprefix_ = self.ID_Anhang_Monitoraufteilung_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Anhang_Monitoraufteilung_nsprefix_) else '' + self.ID_Anhang_Monitoraufteilung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Anhang_Monitoraufteilung', pretty_print=pretty_print) + if self.ID_Anhang_Richtungssinn is not None: + namespaceprefix_ = self.ID_Anhang_Richtungssinn_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Anhang_Richtungssinn_nsprefix_) else '' + self.ID_Anhang_Richtungssinn.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Anhang_Richtungssinn', pretty_print=pretty_print) + if self.ID_Anhang_Vorgabe_BELU is not None: + namespaceprefix_ = self.ID_Anhang_Vorgabe_BELU_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Anhang_Vorgabe_BELU_nsprefix_) else '' + self.ID_Anhang_Vorgabe_BELU.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Anhang_Vorgabe_BELU', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Anhang_Monitoraufteilung': + obj_ = TCID_Anhang.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Anhang_Monitoraufteilung = obj_ + obj_.original_tagname_ = 'ID_Anhang_Monitoraufteilung' + elif nodeName_ == 'ID_Anhang_Richtungssinn': + obj_ = TCID_Anhang.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Anhang_Richtungssinn = obj_ + obj_.original_tagname_ = 'ID_Anhang_Richtungssinn' + elif nodeName_ == 'ID_Anhang_Vorgabe_BELU': + obj_ = TCID_Anhang.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Anhang_Vorgabe_BELU = obj_ + obj_.original_tagname_ = 'ID_Anhang_Vorgabe_BELU' +# end class CBedien_Oberflaeche_Anhaenge + + +class TCBedien_Einricht_Bauart(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCBedien_Einricht_Bauart"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMBedien_Einricht_Bauart(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCBedien_Einricht_Bauart) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCBedien_Einricht_Bauart.subclass: + return TCBedien_Einricht_Bauart.subclass(*args_, **kwargs_) + else: + return TCBedien_Einricht_Bauart(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMBedien_Einricht_Bauart(self, value): + result = True + # Validate type ENUMBedien_Einricht_Bauart, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['Bedienpult', 'Bediensaeule', 'Bedientablett', 'Bedientafel', 'sonstige', 'Stellpult', 'Stelltisch'] + 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 ENUMBedien_Einricht_Bauart' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCBedien_Einricht_Bauart, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBedienung:', namespacedef_='xmlns:nsBedienung="http://www.plan-pro.org/modell/Bedienung/1.10.0"', name_='TCBedien_Einricht_Bauart', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCBedien_Einricht_Bauart') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCBedien_Einricht_Bauart': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBedien_Einricht_Bauart') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCBedien_Einricht_Bauart', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBedienung:', name_='TCBedien_Einricht_Bauart'): + super(TCBedien_Einricht_Bauart, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBedien_Einricht_Bauart') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBedienung:', namespacedef_='xmlns:nsBedienung="http://www.plan-pro.org/modell/Bedienung/1.10.0"', name_='TCBedien_Einricht_Bauart', fromsubclass_=False, pretty_print=True): + super(TCBedien_Einricht_Bauart, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCBedien_Einricht_Bauart, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMBedien_Einricht_Bauart + self.validate_ENUMBedien_Einricht_Bauart(self.Wert) + super(TCBedien_Einricht_Bauart, self)._buildChildren(child_, node, nodeName_, True) +# end class TCBedien_Einricht_Bauart + + +class TCA_Wert(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCA_Wert"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMA_Wert(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCA_Wert) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCA_Wert.subclass: + return TCA_Wert.subclass(*args_, **kwargs_) + else: + return TCA_Wert(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMA_Wert(self, value): + result = True + # Validate type ENUMA_Wert, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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', '32', '48', '64', '80', '96', '112', '128', '144', '160', '176', '192', '208', '224', '240'] + 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 ENUMA_Wert' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCA_Wert, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBedienung:', namespacedef_='xmlns:nsBedienung="http://www.plan-pro.org/modell/Bedienung/1.10.0"', name_='TCA_Wert', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCA_Wert') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCA_Wert': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCA_Wert') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCA_Wert', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBedienung:', name_='TCA_Wert'): + super(TCA_Wert, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCA_Wert') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBedienung:', namespacedef_='xmlns:nsBedienung="http://www.plan-pro.org/modell/Bedienung/1.10.0"', name_='TCA_Wert', fromsubclass_=False, pretty_print=True): + super(TCA_Wert, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCA_Wert, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMA_Wert + self.validate_ENUMA_Wert(self.Wert) + super(TCA_Wert, self)._buildChildren(child_, node, nodeName_, True) +# end class TCA_Wert + + +class TCIP_Adressblock_Grau(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCIP_Adressblock_Grau"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TIP_Adressblock_Grau(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCIP_Adressblock_Grau) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCIP_Adressblock_Grau.subclass: + return TCIP_Adressblock_Grau.subclass(*args_, **kwargs_) + else: + return TCIP_Adressblock_Grau(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TIP_Adressblock_Grau(self, value): + result = True + # Validate type TIP_Adressblock_Grau, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TIP_Adressblock_Grau_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TIP_Adressblock_Grau_patterns_, )) + result = False + return result + validate_TIP_Adressblock_Grau_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCIP_Adressblock_Grau, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBedienung:', namespacedef_='xmlns:nsBedienung="http://www.plan-pro.org/modell/Bedienung/1.10.0"', name_='TCIP_Adressblock_Grau', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCIP_Adressblock_Grau') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCIP_Adressblock_Grau': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCIP_Adressblock_Grau') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCIP_Adressblock_Grau', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBedienung:', name_='TCIP_Adressblock_Grau'): + super(TCIP_Adressblock_Grau, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCIP_Adressblock_Grau') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBedienung:', namespacedef_='xmlns:nsBedienung="http://www.plan-pro.org/modell/Bedienung/1.10.0"', name_='TCIP_Adressblock_Grau', fromsubclass_=False, pretty_print=True): + super(TCIP_Adressblock_Grau, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCIP_Adressblock_Grau, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TIP_Adressblock_Grau + self.validate_TIP_Adressblock_Grau(self.Wert) + super(TCIP_Adressblock_Grau, self)._buildChildren(child_, node, nodeName_, True) +# end class TCIP_Adressblock_Grau + + +class CBedien_Oertlichkeit(CBasis_Objekt): + """CBedien_Oertlichkeit -- Zuordnung einer Oertlichkeit zum Bedien Bezirk, aus dem sie bedient wird. Dabei werden in diesem Zuordnungsobjekt die vorhandenen Angaben aus dem Objekt + Ö + rtlichkeit der jeweiligen Betriebsstelle um weitere Angaben wie beispielsweise die ESTW-Kennzahl oder den Betriebsstellenbezeichner (Streckenziel) planerisch angereichert. Gem + ä + ß + Richtlinie 819.0603 m + ü + ssen die ESTW-Kennzahlen und Betriebsstellenbezeichner im Steuerbezirk und an seinen Grenzen eindeutig (einmalig) sein. Diese Regel kann nicht + ü + ber das Modell abgebildet werden, sondern muss in der Plausibilit + ä + ts- und Zul + ä + ssigkeitspr + ü + fung (PlaZ) abgefangen werden. Siehe Beispiel Media:Lupen HBS1.pdf \"Bf Braunschweig Hbf (HBS) 30\": Betriebsstellenbezeichner ==\u0026gt; \"Bf Braunschweig Hbf\", Oertlichkeit ==\u0026gt; \"HBS\", Kennzahl ==\u0026gt; \"30\". DB-Regelwerk 819.0603 + ID_Bedien_Bezirk -- Mit diesem Verweis werden alle aus einem Bedienbezirk steuerbaren + Ö + rtlichkeiten diesem planerisch zugeordnet. Heute erfolgt dies implizit + ü + ber die Kennzahlentabelle, Steuerbezirksgrafiken oder die Beschreibung im Erl + ä + uterungsbericht. + ID_Oertlichkeit -- Verweis zur Ermittlung der Ril 100-Abk + ü + rzung f + ü + r die jeweils im Bedienbezirk bedienten Betriebsstellen. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasis_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, Bedien_Oertlichkeit_Kennzahlen=None, ID_Bedien_Bezirk=None, ID_Oertlichkeit=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CBedien_Oertlichkeit"), self).__init__(Identitaet, Basis_Objekt_Allg, ID_Bearbeitungsvermerk, ID_Oertlichkeit_Ausgabe, Objektreferenzen, **kwargs_) + self.Bedien_Oertlichkeit_Kennzahlen = Bedien_Oertlichkeit_Kennzahlen + self.Bedien_Oertlichkeit_Kennzahlen_nsprefix_ = None + self.ID_Bedien_Bezirk = ID_Bedien_Bezirk + self.ID_Bedien_Bezirk_nsprefix_ = None + self.ID_Oertlichkeit = ID_Oertlichkeit + self.ID_Oertlichkeit_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CBedien_Oertlichkeit) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CBedien_Oertlichkeit.subclass: + return CBedien_Oertlichkeit.subclass(*args_, **kwargs_) + else: + return CBedien_Oertlichkeit(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Bedien_Oertlichkeit_Kennzahlen(self): + return self.Bedien_Oertlichkeit_Kennzahlen + def set_Bedien_Oertlichkeit_Kennzahlen(self, Bedien_Oertlichkeit_Kennzahlen): + self.Bedien_Oertlichkeit_Kennzahlen = Bedien_Oertlichkeit_Kennzahlen + def get_ID_Bedien_Bezirk(self): + return self.ID_Bedien_Bezirk + def set_ID_Bedien_Bezirk(self, ID_Bedien_Bezirk): + self.ID_Bedien_Bezirk = ID_Bedien_Bezirk + def get_ID_Oertlichkeit(self): + return self.ID_Oertlichkeit + def set_ID_Oertlichkeit(self, ID_Oertlichkeit): + self.ID_Oertlichkeit = ID_Oertlichkeit + def has__content(self): + if ( + self.Bedien_Oertlichkeit_Kennzahlen is not None or + self.ID_Bedien_Bezirk is not None or + self.ID_Oertlichkeit is not None or + super(CBedien_Oertlichkeit, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBedienung:', namespacedef_='xmlns:nsBedienung="http://www.plan-pro.org/modell/Bedienung/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CBedien_Oertlichkeit', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CBedien_Oertlichkeit') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CBedien_Oertlichkeit': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CBedien_Oertlichkeit') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CBedien_Oertlichkeit', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBedienung:', name_='CBedien_Oertlichkeit'): + super(CBedien_Oertlichkeit, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CBedien_Oertlichkeit') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBedienung:', namespacedef_='xmlns:nsBedienung="http://www.plan-pro.org/modell/Bedienung/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CBedien_Oertlichkeit', fromsubclass_=False, pretty_print=True): + super(CBedien_Oertlichkeit, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Bedien_Oertlichkeit_Kennzahlen is not None: + namespaceprefix_ = self.Bedien_Oertlichkeit_Kennzahlen_nsprefix_ + ':' if (UseCapturedNS_ and self.Bedien_Oertlichkeit_Kennzahlen_nsprefix_) else '' + self.Bedien_Oertlichkeit_Kennzahlen.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Bedien_Oertlichkeit_Kennzahlen', pretty_print=pretty_print) + if self.ID_Bedien_Bezirk is not None: + namespaceprefix_ = self.ID_Bedien_Bezirk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bedien_Bezirk_nsprefix_) else '' + self.ID_Bedien_Bezirk.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bedien_Bezirk', pretty_print=pretty_print) + if self.ID_Oertlichkeit is not None: + namespaceprefix_ = self.ID_Oertlichkeit_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Oertlichkeit_nsprefix_) else '' + self.ID_Oertlichkeit.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Oertlichkeit', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CBedien_Oertlichkeit, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Bedien_Oertlichkeit_Kennzahlen': + obj_ = CBedien_Oertlichkeit_Kennzahlen.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Bedien_Oertlichkeit_Kennzahlen = obj_ + obj_.original_tagname_ = 'Bedien_Oertlichkeit_Kennzahlen' + elif nodeName_ == 'ID_Bedien_Bezirk': + obj_ = TCID_Bedien_Bezirk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bedien_Bezirk = obj_ + obj_.original_tagname_ = 'ID_Bedien_Bezirk' + elif nodeName_ == 'ID_Oertlichkeit': + obj_ = TCID_Oertlichkeit_Proxy.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Oertlichkeit = obj_ + obj_.original_tagname_ = 'ID_Oertlichkeit' + super(CBedien_Oertlichkeit, self)._buildChildren(child_, node, nodeName_, True) +# end class CBedien_Oertlichkeit + + +class TCRegionalbereich(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCRegionalbereich"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TRegionalbereich(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCRegionalbereich) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCRegionalbereich.subclass: + return TCRegionalbereich.subclass(*args_, **kwargs_) + else: + return TCRegionalbereich(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TRegionalbereich(self, value): + result = True + # Validate type TRegionalbereich, a restriction on nsBasisTypen:ENUMRegionalbereich. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['Mitte', 'Nord', 'Ost', 'Süd', 'Südost', 'Südwest', 'West'] + 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 TRegionalbereich' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCRegionalbereich, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBedienung:', namespacedef_='xmlns:nsBedienung="http://www.plan-pro.org/modell/Bedienung/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCRegionalbereich', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCRegionalbereich') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCRegionalbereich': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCRegionalbereich') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCRegionalbereich', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBedienung:', name_='TCRegionalbereich'): + super(TCRegionalbereich, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCRegionalbereich') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBedienung:', namespacedef_='xmlns:nsBedienung="http://www.plan-pro.org/modell/Bedienung/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCRegionalbereich', fromsubclass_=False, pretty_print=True): + super(TCRegionalbereich, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCRegionalbereich, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TRegionalbereich + self.validate_TRegionalbereich(self.Wert) + super(TCRegionalbereich, self)._buildChildren(child_, node, nodeName_, True) +# end class TCRegionalbereich + + +class TCIP_Adressblock_Blau(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCIP_Adressblock_Blau"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TIP_Adressblock_Blau(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCIP_Adressblock_Blau) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCIP_Adressblock_Blau.subclass: + return TCIP_Adressblock_Blau.subclass(*args_, **kwargs_) + else: + return TCIP_Adressblock_Blau(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TIP_Adressblock_Blau(self, value): + result = True + # Validate type TIP_Adressblock_Blau, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TIP_Adressblock_Blau_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TIP_Adressblock_Blau_patterns_, )) + result = False + return result + validate_TIP_Adressblock_Blau_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCIP_Adressblock_Blau, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBedienung:', namespacedef_='xmlns:nsBedienung="http://www.plan-pro.org/modell/Bedienung/1.10.0"', name_='TCIP_Adressblock_Blau', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCIP_Adressblock_Blau') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCIP_Adressblock_Blau': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCIP_Adressblock_Blau') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCIP_Adressblock_Blau', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBedienung:', name_='TCIP_Adressblock_Blau'): + super(TCIP_Adressblock_Blau, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCIP_Adressblock_Blau') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBedienung:', namespacedef_='xmlns:nsBedienung="http://www.plan-pro.org/modell/Bedienung/1.10.0"', name_='TCIP_Adressblock_Blau', fromsubclass_=False, pretty_print=True): + super(TCIP_Adressblock_Blau, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCIP_Adressblock_Blau, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TIP_Adressblock_Blau + self.validate_TIP_Adressblock_Blau(self.Wert) + super(TCIP_Adressblock_Blau, self)._buildChildren(child_, node, nodeName_, True) +# end class TCIP_Adressblock_Blau + + +class TCKennzahl6(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCKennzahl6"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TKennzahl(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCKennzahl6) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCKennzahl6.subclass: + return TCKennzahl6.subclass(*args_, **kwargs_) + else: + return TCKennzahl6(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TKennzahl(self, value): + result = True + # Validate type TKennzahl, a restriction on nsBasisTypen:TZeichenkette. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TKennzahl_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TKennzahl_patterns_, )) + result = False + return result + validate_TKennzahl_patterns_ = [['^(0[1-9]|[1-9][0-9])$'], ['^([a-zA-Z_0-9]{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCKennzahl6, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBedienung:', namespacedef_='xmlns:nsBedienung="http://www.plan-pro.org/modell/Bedienung/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCKennzahl6', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCKennzahl6') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCKennzahl6': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCKennzahl6') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCKennzahl6', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBedienung:', name_='TCKennzahl6'): + super(TCKennzahl6, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCKennzahl6') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBedienung:', namespacedef_='xmlns:nsBedienung="http://www.plan-pro.org/modell/Bedienung/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCKennzahl6', fromsubclass_=False, pretty_print=True): + super(TCKennzahl6, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCKennzahl6, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TKennzahl + self.validate_TKennzahl(self.Wert) + super(TCKennzahl6, self)._buildChildren(child_, node, nodeName_, True) +# end class TCKennzahl6 + + +class TCHupe_Anschaltzeit(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCHupe_Anschaltzeit"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_THupe_Anschaltzeit(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCHupe_Anschaltzeit) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCHupe_Anschaltzeit.subclass: + return TCHupe_Anschaltzeit.subclass(*args_, **kwargs_) + else: + return TCHupe_Anschaltzeit(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_THupe_Anschaltzeit(self, value): + result = True + # Validate type THupe_Anschaltzeit, a restriction on nsBasisTypen:TSekunde. + 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 not self.gds_validate_simple_patterns( + self.validate_THupe_Anschaltzeit_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_THupe_Anschaltzeit_patterns_, )) + result = False + return result + validate_THupe_Anschaltzeit_patterns_ = [['^(0|[1-9][0-9]{0,3}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5])$'], ['^([0-9]{1,5}(\\.[0-9]{2})?)$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCHupe_Anschaltzeit, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBedienung:', namespacedef_='xmlns:nsBedienung="http://www.plan-pro.org/modell/Bedienung/1.10.0"', name_='TCHupe_Anschaltzeit', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCHupe_Anschaltzeit') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCHupe_Anschaltzeit': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCHupe_Anschaltzeit') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCHupe_Anschaltzeit', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBedienung:', name_='TCHupe_Anschaltzeit'): + super(TCHupe_Anschaltzeit, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCHupe_Anschaltzeit') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBedienung:', namespacedef_='xmlns:nsBedienung="http://www.plan-pro.org/modell/Bedienung/1.10.0"', name_='TCHupe_Anschaltzeit', fromsubclass_=False, pretty_print=True): + super(TCHupe_Anschaltzeit, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_decimal(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCHupe_Anschaltzeit, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + fval_ = self.gds_parse_decimal(sval_, node, 'Wert') + fval_ = self.gds_validate_decimal(fval_, node, 'Wert') + self.Wert = fval_ + self.Wert_nsprefix_ = child_.prefix + # validate type THupe_Anschaltzeit + self.validate_THupe_Anschaltzeit(self.Wert) + super(TCHupe_Anschaltzeit, self)._buildChildren(child_, node, nodeName_, True) +# end class TCHupe_Anschaltzeit + + +class TCBedien_Einricht_Oertl_Bez(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCBedien_Einricht_Oertl_Bez"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TBedien_Einricht_Oertl_Bez(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCBedien_Einricht_Oertl_Bez) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCBedien_Einricht_Oertl_Bez.subclass: + return TCBedien_Einricht_Oertl_Bez.subclass(*args_, **kwargs_) + else: + return TCBedien_Einricht_Oertl_Bez(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TBedien_Einricht_Oertl_Bez(self, value): + result = True + # Validate type TBedien_Einricht_Oertl_Bez, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TBedien_Einricht_Oertl_Bez_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TBedien_Einricht_Oertl_Bez_patterns_, )) + result = False + return result + validate_TBedien_Einricht_Oertl_Bez_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCBedien_Einricht_Oertl_Bez, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBedienung:', namespacedef_='xmlns:nsBedienung="http://www.plan-pro.org/modell/Bedienung/1.10.0"', name_='TCBedien_Einricht_Oertl_Bez', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCBedien_Einricht_Oertl_Bez') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCBedien_Einricht_Oertl_Bez': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBedien_Einricht_Oertl_Bez') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCBedien_Einricht_Oertl_Bez', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBedienung:', name_='TCBedien_Einricht_Oertl_Bez'): + super(TCBedien_Einricht_Oertl_Bez, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBedien_Einricht_Oertl_Bez') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBedienung:', namespacedef_='xmlns:nsBedienung="http://www.plan-pro.org/modell/Bedienung/1.10.0"', name_='TCBedien_Einricht_Oertl_Bez', fromsubclass_=False, pretty_print=True): + super(TCBedien_Einricht_Oertl_Bez, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCBedien_Einricht_Oertl_Bez, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TBedien_Einricht_Oertl_Bez + self.validate_TBedien_Einricht_Oertl_Bez(self.Wert) + super(TCBedien_Einricht_Oertl_Bez, self)._buildChildren(child_, node, nodeName_, True) +# end class TCBedien_Einricht_Oertl_Bez + + +class TCTaste(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCTaste"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMTaste(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCTaste) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCTaste.subclass: + return TCTaste.subclass(*args_, **kwargs_) + else: + return TCTaste(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMTaste(self, value): + result = True + # Validate type ENUMTaste, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['Ausfahrgruppentaste_ZP_9_10', 'Bedientaste_ZP_10', 'Bedientaste_ZP_9', 'Fahrstrassenanforderung', 'Fahrstrassenzustimmung', 'Freimeldetaste', 'Gruppentaste', 'Hilfstaste', 'Loeschtaste', 'Rueckgabetaste', 'Schluesseltaste_DB_21', 'Schluesseltaste_Streckenschluessel', 'Schluesseltaste_Vierkant', 'Signalanforderung', 'sonstige', 'Umstelltaste', 'Weichenauffahrtaste', 'Zieltaste', 'Zugfertigmeldetaste', 'Zugschlussmeldung', 'Zustimmungsanforderung'] + 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 ENUMTaste' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCTaste, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBedienung:', namespacedef_='xmlns:nsBedienung="http://www.plan-pro.org/modell/Bedienung/1.10.0"', name_='TCTaste', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCTaste') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCTaste': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCTaste') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCTaste', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBedienung:', name_='TCTaste'): + super(TCTaste, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCTaste') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBedienung:', namespacedef_='xmlns:nsBedienung="http://www.plan-pro.org/modell/Bedienung/1.10.0"', name_='TCTaste', fromsubclass_=False, pretty_print=True): + super(TCTaste, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCTaste, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMTaste + self.validate_ENUMTaste(self.Wert) + super(TCTaste, self)._buildChildren(child_, node, nodeName_, True) +# end class TCTaste + + +class CBSO_IP_AB_Teilsystem(GeneratedsSuper): + """BSO_Teilsystem_Art -- Art des BSO-Teilsystems (integriertes Bediensystem (iBS) oder Transfernetz Bedienung). + IP_Adressblock_Blau -- F + ü + r das Teilsystem reservierter Adressblock im blauen Weg des bbIP-Netzes. + IP_Adressblock_Grau -- F + ü + r das Teilsystem reservierter Adressblock im grauen Weg des bbIP-Netzes. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, BSO_Teilsystem_Art=None, IP_Adressblock_Blau=None, IP_Adressblock_Grau=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.BSO_Teilsystem_Art = BSO_Teilsystem_Art + self.BSO_Teilsystem_Art_nsprefix_ = None + self.IP_Adressblock_Blau = IP_Adressblock_Blau + self.IP_Adressblock_Blau_nsprefix_ = None + self.IP_Adressblock_Grau = IP_Adressblock_Grau + self.IP_Adressblock_Grau_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CBSO_IP_AB_Teilsystem) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CBSO_IP_AB_Teilsystem.subclass: + return CBSO_IP_AB_Teilsystem.subclass(*args_, **kwargs_) + else: + return CBSO_IP_AB_Teilsystem(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_BSO_Teilsystem_Art(self): + return self.BSO_Teilsystem_Art + def set_BSO_Teilsystem_Art(self, BSO_Teilsystem_Art): + self.BSO_Teilsystem_Art = BSO_Teilsystem_Art + def get_IP_Adressblock_Blau(self): + return self.IP_Adressblock_Blau + def set_IP_Adressblock_Blau(self, IP_Adressblock_Blau): + self.IP_Adressblock_Blau = IP_Adressblock_Blau + def get_IP_Adressblock_Grau(self): + return self.IP_Adressblock_Grau + def set_IP_Adressblock_Grau(self, IP_Adressblock_Grau): + self.IP_Adressblock_Grau = IP_Adressblock_Grau + def has__content(self): + if ( + self.BSO_Teilsystem_Art is not None or + self.IP_Adressblock_Blau is not None or + self.IP_Adressblock_Grau is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBedienung:', namespacedef_='xmlns:nsBedienung="http://www.plan-pro.org/modell/Bedienung/1.10.0"', name_='CBSO_IP_AB_Teilsystem', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CBSO_IP_AB_Teilsystem') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CBSO_IP_AB_Teilsystem': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CBSO_IP_AB_Teilsystem') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CBSO_IP_AB_Teilsystem', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBedienung:', name_='CBSO_IP_AB_Teilsystem'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsBedienung:', namespacedef_='xmlns:nsBedienung="http://www.plan-pro.org/modell/Bedienung/1.10.0"', name_='CBSO_IP_AB_Teilsystem', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.BSO_Teilsystem_Art is not None: + namespaceprefix_ = self.BSO_Teilsystem_Art_nsprefix_ + ':' if (UseCapturedNS_ and self.BSO_Teilsystem_Art_nsprefix_) else '' + self.BSO_Teilsystem_Art.export(outfile, level, namespaceprefix_, namespacedef_='', name_='BSO_Teilsystem_Art', pretty_print=pretty_print) + if self.IP_Adressblock_Blau is not None: + namespaceprefix_ = self.IP_Adressblock_Blau_nsprefix_ + ':' if (UseCapturedNS_ and self.IP_Adressblock_Blau_nsprefix_) else '' + self.IP_Adressblock_Blau.export(outfile, level, namespaceprefix_, namespacedef_='', name_='IP_Adressblock_Blau', pretty_print=pretty_print) + if self.IP_Adressblock_Grau is not None: + namespaceprefix_ = self.IP_Adressblock_Grau_nsprefix_ + ':' if (UseCapturedNS_ and self.IP_Adressblock_Grau_nsprefix_) else '' + self.IP_Adressblock_Grau.export(outfile, level, namespaceprefix_, namespacedef_='', name_='IP_Adressblock_Grau', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'BSO_Teilsystem_Art': + obj_ = TCBSO_Teilsystem_Art.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.BSO_Teilsystem_Art = obj_ + obj_.original_tagname_ = 'BSO_Teilsystem_Art' + elif nodeName_ == 'IP_Adressblock_Blau': + obj_ = TCIP_Adressblock_Blau.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.IP_Adressblock_Blau = obj_ + obj_.original_tagname_ = 'IP_Adressblock_Blau' + elif nodeName_ == 'IP_Adressblock_Grau': + obj_ = TCIP_Adressblock_Grau.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.IP_Adressblock_Grau = obj_ + obj_.original_tagname_ = 'IP_Adressblock_Grau' +# end class CBSO_IP_AB_Teilsystem + + +class CBedien_Einrichtung_Oertlich_Bezeichnung(GeneratedsSuper): + """Bedien_Einricht_Oertl_Bez -- Bezeichnung der + ö + rtlichen Bedieneinrichtung. + Ö + rtliche Bedieneinrichtungen haben in der Regel keine eigene Bezeichnung in der Au + ß + enanlage. Das Attribut wird daher nur gef + ü + llt, wenn davon abweichend die Bedieneinrichtung eine Bezeichnung erhalten soll. Die Bezeichnung der jeweils zu bedienenden Elemente f + ü + r die Beschriftung auf der + ö + rtlichen Bedieneinrichtung ist den Elementen oder dem Anhang Benutzeroberfl + ä + che zu entnehmen. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Bedien_Einricht_Oertl_Bez=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Bedien_Einricht_Oertl_Bez = Bedien_Einricht_Oertl_Bez + self.Bedien_Einricht_Oertl_Bez_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CBedien_Einrichtung_Oertlich_Bezeichnung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CBedien_Einrichtung_Oertlich_Bezeichnung.subclass: + return CBedien_Einrichtung_Oertlich_Bezeichnung.subclass(*args_, **kwargs_) + else: + return CBedien_Einrichtung_Oertlich_Bezeichnung(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Bedien_Einricht_Oertl_Bez(self): + return self.Bedien_Einricht_Oertl_Bez + def set_Bedien_Einricht_Oertl_Bez(self, Bedien_Einricht_Oertl_Bez): + self.Bedien_Einricht_Oertl_Bez = Bedien_Einricht_Oertl_Bez + def has__content(self): + if ( + self.Bedien_Einricht_Oertl_Bez is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBedienung:', namespacedef_='xmlns:nsBedienung="http://www.plan-pro.org/modell/Bedienung/1.10.0"', name_='CBedien_Einrichtung_Oertlich_Bezeichnung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CBedien_Einrichtung_Oertlich_Bezeichnung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CBedien_Einrichtung_Oertlich_Bezeichnung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CBedien_Einrichtung_Oertlich_Bezeichnung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CBedien_Einrichtung_Oertlich_Bezeichnung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBedienung:', name_='CBedien_Einrichtung_Oertlich_Bezeichnung'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsBedienung:', namespacedef_='xmlns:nsBedienung="http://www.plan-pro.org/modell/Bedienung/1.10.0"', name_='CBedien_Einrichtung_Oertlich_Bezeichnung', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Bedien_Einricht_Oertl_Bez is not None: + namespaceprefix_ = self.Bedien_Einricht_Oertl_Bez_nsprefix_ + ':' if (UseCapturedNS_ and self.Bedien_Einricht_Oertl_Bez_nsprefix_) else '' + self.Bedien_Einricht_Oertl_Bez.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Bedien_Einricht_Oertl_Bez', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Bedien_Einricht_Oertl_Bez': + obj_ = TCBedien_Einricht_Oertl_Bez.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Bedien_Einricht_Oertl_Bez = obj_ + obj_.original_tagname_ = 'Bedien_Einricht_Oertl_Bez' +# end class CBedien_Einrichtung_Oertlich_Bezeichnung + + +class TCBez_Bed_Zentrale(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCBez_Bed_Zentrale"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TBez_Bed_Zentrale(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCBez_Bed_Zentrale) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCBez_Bed_Zentrale.subclass: + return TCBez_Bed_Zentrale.subclass(*args_, **kwargs_) + else: + return TCBez_Bed_Zentrale(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TBez_Bed_Zentrale(self, value): + result = True + # Validate type TBez_Bed_Zentrale, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TBez_Bed_Zentrale_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TBez_Bed_Zentrale_patterns_, )) + result = False + return result + validate_TBez_Bed_Zentrale_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCBez_Bed_Zentrale, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBedienung:', namespacedef_='xmlns:nsBedienung="http://www.plan-pro.org/modell/Bedienung/1.10.0"', name_='TCBez_Bed_Zentrale', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCBez_Bed_Zentrale') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCBez_Bed_Zentrale': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBez_Bed_Zentrale') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCBez_Bed_Zentrale', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBedienung:', name_='TCBez_Bed_Zentrale'): + super(TCBez_Bed_Zentrale, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBez_Bed_Zentrale') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBedienung:', namespacedef_='xmlns:nsBedienung="http://www.plan-pro.org/modell/Bedienung/1.10.0"', name_='TCBez_Bed_Zentrale', fromsubclass_=False, pretty_print=True): + super(TCBez_Bed_Zentrale, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCBez_Bed_Zentrale, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TBez_Bed_Zentrale + self.validate_TBez_Bed_Zentrale(self.Wert) + super(TCBez_Bed_Zentrale, self)._buildChildren(child_, node, nodeName_, True) +# end class TCBez_Bed_Zentrale + + +class TCBezeichnung_BSO(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCBezeichnung_BSO"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TBezeichnung_BSO(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCBezeichnung_BSO) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCBezeichnung_BSO.subclass: + return TCBezeichnung_BSO.subclass(*args_, **kwargs_) + else: + return TCBezeichnung_BSO(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TBezeichnung_BSO(self, value): + result = True + # Validate type TBezeichnung_BSO, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TBezeichnung_BSO_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TBezeichnung_BSO_patterns_, )) + result = False + return result + validate_TBezeichnung_BSO_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCBezeichnung_BSO, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBedienung:', namespacedef_='xmlns:nsBedienung="http://www.plan-pro.org/modell/Bedienung/1.10.0"', name_='TCBezeichnung_BSO', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCBezeichnung_BSO') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCBezeichnung_BSO': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBezeichnung_BSO') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCBezeichnung_BSO', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBedienung:', name_='TCBezeichnung_BSO'): + super(TCBezeichnung_BSO, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBezeichnung_BSO') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBedienung:', namespacedef_='xmlns:nsBedienung="http://www.plan-pro.org/modell/Bedienung/1.10.0"', name_='TCBezeichnung_BSO', fromsubclass_=False, pretty_print=True): + super(TCBezeichnung_BSO, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCBezeichnung_BSO, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TBezeichnung_BSO + self.validate_TBezeichnung_BSO(self.Wert) + super(TCBezeichnung_BSO, self)._buildChildren(child_, node, nodeName_, True) +# end class TCBezeichnung_BSO + + +class CBedien_Oberflaeche_Bild_Allg(GeneratedsSuper): + """Oberflaeche_Bildart -- Bildart Ber + ü + oder Lupe. Mit dem Attribut Bildart wird zwischen Ber + ü + und Lupe unterschieden. Eine Beschreibung des Zust + ä + ndigkeitsbereiches der einzelnen Bilder erfolgt im Rahmen eines anderen Attributs. + Oberflaeche_Zustaendigkeit -- Verbale Beschreibung, welche zu steuernden Anteile des ESTW auf diesem Oberfl + ä + chenbild dargestellt werden sollen. Beispiel aus herk + ö + mmlicher Planung (F + ü + r das Beispiel dieses Attributes ist nur die zweite Spalte der Tabelle relevant, die erste Spalte wird neu durch die Attribute Bildart und Bildbezeichnung ersetzt.): Media:Zustaendigkeit.pdf. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Oberflaeche_Bildart=None, Oberflaeche_Zustaendigkeit=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Oberflaeche_Bildart = Oberflaeche_Bildart + self.Oberflaeche_Bildart_nsprefix_ = None + self.Oberflaeche_Zustaendigkeit = Oberflaeche_Zustaendigkeit + self.Oberflaeche_Zustaendigkeit_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CBedien_Oberflaeche_Bild_Allg) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CBedien_Oberflaeche_Bild_Allg.subclass: + return CBedien_Oberflaeche_Bild_Allg.subclass(*args_, **kwargs_) + else: + return CBedien_Oberflaeche_Bild_Allg(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Oberflaeche_Bildart(self): + return self.Oberflaeche_Bildart + def set_Oberflaeche_Bildart(self, Oberflaeche_Bildart): + self.Oberflaeche_Bildart = Oberflaeche_Bildart + def get_Oberflaeche_Zustaendigkeit(self): + return self.Oberflaeche_Zustaendigkeit + def set_Oberflaeche_Zustaendigkeit(self, Oberflaeche_Zustaendigkeit): + self.Oberflaeche_Zustaendigkeit = Oberflaeche_Zustaendigkeit + def has__content(self): + if ( + self.Oberflaeche_Bildart is not None or + self.Oberflaeche_Zustaendigkeit is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBedienung:', namespacedef_='xmlns:nsBedienung="http://www.plan-pro.org/modell/Bedienung/1.10.0"', name_='CBedien_Oberflaeche_Bild_Allg', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CBedien_Oberflaeche_Bild_Allg') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CBedien_Oberflaeche_Bild_Allg': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CBedien_Oberflaeche_Bild_Allg') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CBedien_Oberflaeche_Bild_Allg', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBedienung:', name_='CBedien_Oberflaeche_Bild_Allg'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsBedienung:', namespacedef_='xmlns:nsBedienung="http://www.plan-pro.org/modell/Bedienung/1.10.0"', name_='CBedien_Oberflaeche_Bild_Allg', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Oberflaeche_Bildart is not None: + namespaceprefix_ = self.Oberflaeche_Bildart_nsprefix_ + ':' if (UseCapturedNS_ and self.Oberflaeche_Bildart_nsprefix_) else '' + self.Oberflaeche_Bildart.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Oberflaeche_Bildart', pretty_print=pretty_print) + if self.Oberflaeche_Zustaendigkeit is not None: + namespaceprefix_ = self.Oberflaeche_Zustaendigkeit_nsprefix_ + ':' if (UseCapturedNS_ and self.Oberflaeche_Zustaendigkeit_nsprefix_) else '' + self.Oberflaeche_Zustaendigkeit.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Oberflaeche_Zustaendigkeit', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Oberflaeche_Bildart': + obj_ = TCOberflaeche_Bildart.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Oberflaeche_Bildart = obj_ + obj_.original_tagname_ = 'Oberflaeche_Bildart' + elif nodeName_ == 'Oberflaeche_Zustaendigkeit': + obj_ = TCOberflaeche_Zustaendigkeit.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Oberflaeche_Zustaendigkeit = obj_ + obj_.original_tagname_ = 'Oberflaeche_Zustaendigkeit' +# end class CBedien_Oberflaeche_Bild_Allg + + +class TCMelder(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCMelder"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMMelder(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCMelder) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCMelder.subclass: + return TCMelder.subclass(*args_, **kwargs_) + else: + return TCMelder(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMMelder(self, value): + result = True + # Validate type ENUMMelder, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['Anforderungsempfang', 'Anzeige_Betriebszustand', 'Leuchtmelder_ZP_10', 'Leuchtmelder_ZP_9', 'Signalanforderung_empfangen', 'Signalfahrtmelder', 'Signalhaltmelder', 'sonstige', 'Sperrmelder', 'Vorbereitungsmeldung', 'Weichenmelder', 'Zielmelder'] + 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 ENUMMelder' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCMelder, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBedienung:', namespacedef_='xmlns:nsBedienung="http://www.plan-pro.org/modell/Bedienung/1.10.0"', name_='TCMelder', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCMelder') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCMelder': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCMelder') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCMelder', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBedienung:', name_='TCMelder'): + super(TCMelder, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCMelder') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBedienung:', namespacedef_='xmlns:nsBedienung="http://www.plan-pro.org/modell/Bedienung/1.10.0"', name_='TCMelder', fromsubclass_=False, pretty_print=True): + super(TCMelder, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCMelder, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMMelder + self.validate_ENUMMelder(self.Wert) + super(TCMelder, self)._buildChildren(child_, node, nodeName_, True) +# end class TCMelder + + +class CBedien_Zentrale_Bezeichnung(GeneratedsSuper): + """Bez_Bed_Zentrale -- Bezeichnung einer Betriebszentrale, die nicht gem + ä + ß + Richtlinie 100 bezeichnet ist (z. B. eine regionale Bedienzentrale) und deren Name somit nicht + ü + ber den Verweis auf eine + Ö + rtlichkeit ermittelt werden kann. Derzeit wird noch gepr + ü + ft, ob auch regionale Bedienzentralen gem + ä + ß + Ril 100 bezeichnet werden m + ü + ssen. Entsprechend kann dieses Attribut ggf. entfallen oder als \"nicht Pflicht\" anderweitig verwendet werden. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Bez_Bed_Zentrale=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Bez_Bed_Zentrale = Bez_Bed_Zentrale + self.Bez_Bed_Zentrale_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CBedien_Zentrale_Bezeichnung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CBedien_Zentrale_Bezeichnung.subclass: + return CBedien_Zentrale_Bezeichnung.subclass(*args_, **kwargs_) + else: + return CBedien_Zentrale_Bezeichnung(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Bez_Bed_Zentrale(self): + return self.Bez_Bed_Zentrale + def set_Bez_Bed_Zentrale(self, Bez_Bed_Zentrale): + self.Bez_Bed_Zentrale = Bez_Bed_Zentrale + def has__content(self): + if ( + self.Bez_Bed_Zentrale is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBedienung:', namespacedef_='xmlns:nsBedienung="http://www.plan-pro.org/modell/Bedienung/1.10.0"', name_='CBedien_Zentrale_Bezeichnung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CBedien_Zentrale_Bezeichnung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CBedien_Zentrale_Bezeichnung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CBedien_Zentrale_Bezeichnung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CBedien_Zentrale_Bezeichnung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBedienung:', name_='CBedien_Zentrale_Bezeichnung'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsBedienung:', namespacedef_='xmlns:nsBedienung="http://www.plan-pro.org/modell/Bedienung/1.10.0"', name_='CBedien_Zentrale_Bezeichnung', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Bez_Bed_Zentrale is not None: + namespaceprefix_ = self.Bez_Bed_Zentrale_nsprefix_ + ':' if (UseCapturedNS_ and self.Bez_Bed_Zentrale_nsprefix_) else '' + self.Bez_Bed_Zentrale.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Bez_Bed_Zentrale', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Bez_Bed_Zentrale': + obj_ = TCBez_Bed_Zentrale.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Bez_Bed_Zentrale = obj_ + obj_.original_tagname_ = 'Bez_Bed_Zentrale' +# end class CBedien_Zentrale_Bezeichnung + + +class CBedien_Bezirk_Adressformel(GeneratedsSuper): + """A_Wert -- Vorgabewert f + ü + r Rechneradressen gem + ä + ß + Adressformel f + ü + r die Kommunikation zwischen Bedien Bezirk (Steuerbezirk) und ESTW Zentraleinheit (Unterzentrale). DB-Regelwerk Der A-Wert wird gem + ä + ß + 819.0705 Abschnitt 6 (9) und (10) gebildet. + B_Wert -- Vorgabewert f + ü + r Rechneradressen gem + ä + ß + Adressformel f + ü + r die Kommunikation zwischen Bedien Bezirk (Steuerbezirk) und ESTW Zentraleinheit (Unterzentrale). DB-Regelwerk Der B-Wert wird gem + ä + ß + 819.0705 Abschnitt 6 (9) und (10) gebildet. + C_Wert -- Vorgabewert f + ü + r Rechneradressen gem + ä + ß + Adressformel f + ü + r die Kommunikation zwischen Bedien Bezirk (Steuerbezirk) und ESTW Zentraleinheit (Unterzentrale). DB-Regelwerk Der C-Wert wird gem + ä + ß + 819.0705 Abschnitt 6 (8) gebildet. + DD_Wert -- Vorgabewert f + ü + r Rechneradressen gem + ä + ß + Adressformel f + ü + r die Kommunikation zwischen Bedien Bezirk (Steuerbezirk) und ESTW Zentraleinheit (Unterzentrale). DB-Regelwerk Der DD-Wert wird gem + ä + ß + 819.0705 Abschnitt 6 (11) gebildet. + X_Wert -- Vorgabewert f + ü + r Rechneradressen gem + ä + ß + Adressformel f + ü + r die Kommunikation zwischen Bedien Bezirk (Steuerbezirk) und ESTW Zentraleinheit (Unterzentrale). DB-Regelwerk Der X-Wert wird gem + ä + ß + 819.0705 Abschnitt 6 (5) und (7) gebildet. + Y_Wert -- Vorgabewert f + ü + r Rechneradressen gem + ä + ß + Adressformel f + ü + r die Kommunikation zwischen Bedien Bezirk (Steuerbezirk) und ESTW Zentraleinheit (Unterzentrale). DB-Regelwerk Der Y-Wert wird gem + ä + ß + 819.0705 Abschnitt 6 (5) und (7) gebildet. + YY_Wert -- Vorgabewert f + ü + r Rechneradressen gem + ä + ß + Adressformel f + ü + r die Kommunikation zwischen Bedien Bezirk (Steuerbezirk) und ESTW Zentraleinheit (Unterzentrale). DB-Regelwerk Der YY-Wert wird gem + ä + ß + 819.0705 Abschnitt 6 (8) gebildet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, A_Wert=None, B_Wert=None, C_Wert=None, DD_Wert=None, X_Wert=None, Y_Wert=None, YY_Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.A_Wert = A_Wert + self.A_Wert_nsprefix_ = None + self.B_Wert = B_Wert + self.B_Wert_nsprefix_ = None + self.C_Wert = C_Wert + self.C_Wert_nsprefix_ = None + self.DD_Wert = DD_Wert + self.DD_Wert_nsprefix_ = None + self.X_Wert = X_Wert + self.X_Wert_nsprefix_ = None + self.Y_Wert = Y_Wert + self.Y_Wert_nsprefix_ = None + self.YY_Wert = YY_Wert + self.YY_Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CBedien_Bezirk_Adressformel) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CBedien_Bezirk_Adressformel.subclass: + return CBedien_Bezirk_Adressformel.subclass(*args_, **kwargs_) + else: + return CBedien_Bezirk_Adressformel(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_A_Wert(self): + return self.A_Wert + def set_A_Wert(self, A_Wert): + self.A_Wert = A_Wert + def get_B_Wert(self): + return self.B_Wert + def set_B_Wert(self, B_Wert): + self.B_Wert = B_Wert + def get_C_Wert(self): + return self.C_Wert + def set_C_Wert(self, C_Wert): + self.C_Wert = C_Wert + def get_DD_Wert(self): + return self.DD_Wert + def set_DD_Wert(self, DD_Wert): + self.DD_Wert = DD_Wert + def get_X_Wert(self): + return self.X_Wert + def set_X_Wert(self, X_Wert): + self.X_Wert = X_Wert + def get_Y_Wert(self): + return self.Y_Wert + def set_Y_Wert(self, Y_Wert): + self.Y_Wert = Y_Wert + def get_YY_Wert(self): + return self.YY_Wert + def set_YY_Wert(self, YY_Wert): + self.YY_Wert = YY_Wert + def has__content(self): + if ( + self.A_Wert is not None or + self.B_Wert is not None or + self.C_Wert is not None or + self.DD_Wert is not None or + self.X_Wert is not None or + self.Y_Wert is not None or + self.YY_Wert is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBedienung:', namespacedef_='xmlns:nsBedienung="http://www.plan-pro.org/modell/Bedienung/1.10.0"', name_='CBedien_Bezirk_Adressformel', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CBedien_Bezirk_Adressformel') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CBedien_Bezirk_Adressformel': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CBedien_Bezirk_Adressformel') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CBedien_Bezirk_Adressformel', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBedienung:', name_='CBedien_Bezirk_Adressformel'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsBedienung:', namespacedef_='xmlns:nsBedienung="http://www.plan-pro.org/modell/Bedienung/1.10.0"', name_='CBedien_Bezirk_Adressformel', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.A_Wert is not None: + namespaceprefix_ = self.A_Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.A_Wert_nsprefix_) else '' + self.A_Wert.export(outfile, level, namespaceprefix_, namespacedef_='', name_='A_Wert', pretty_print=pretty_print) + if self.B_Wert is not None: + namespaceprefix_ = self.B_Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.B_Wert_nsprefix_) else '' + self.B_Wert.export(outfile, level, namespaceprefix_, namespacedef_='', name_='B_Wert', pretty_print=pretty_print) + if self.C_Wert is not None: + namespaceprefix_ = self.C_Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.C_Wert_nsprefix_) else '' + self.C_Wert.export(outfile, level, namespaceprefix_, namespacedef_='', name_='C_Wert', pretty_print=pretty_print) + if self.DD_Wert is not None: + namespaceprefix_ = self.DD_Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.DD_Wert_nsprefix_) else '' + self.DD_Wert.export(outfile, level, namespaceprefix_, namespacedef_='', name_='DD_Wert', pretty_print=pretty_print) + if self.X_Wert is not None: + namespaceprefix_ = self.X_Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.X_Wert_nsprefix_) else '' + self.X_Wert.export(outfile, level, namespaceprefix_, namespacedef_='', name_='X_Wert', pretty_print=pretty_print) + if self.Y_Wert is not None: + namespaceprefix_ = self.Y_Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Y_Wert_nsprefix_) else '' + self.Y_Wert.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Y_Wert', pretty_print=pretty_print) + if self.YY_Wert is not None: + namespaceprefix_ = self.YY_Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.YY_Wert_nsprefix_) else '' + self.YY_Wert.export(outfile, level, namespaceprefix_, namespacedef_='', name_='YY_Wert', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'A_Wert': + obj_ = TCA_Wert.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.A_Wert = obj_ + obj_.original_tagname_ = 'A_Wert' + elif nodeName_ == 'B_Wert': + obj_ = TCB_Wert.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.B_Wert = obj_ + obj_.original_tagname_ = 'B_Wert' + elif nodeName_ == 'C_Wert': + obj_ = TCC_Wert.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.C_Wert = obj_ + obj_.original_tagname_ = 'C_Wert' + elif nodeName_ == 'DD_Wert': + obj_ = TCDD_Wert.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.DD_Wert = obj_ + obj_.original_tagname_ = 'DD_Wert' + elif nodeName_ == 'X_Wert': + obj_ = TCX_Wert.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.X_Wert = obj_ + obj_.original_tagname_ = 'X_Wert' + elif nodeName_ == 'Y_Wert': + obj_ = TCY_Wert.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Y_Wert = obj_ + obj_.original_tagname_ = 'Y_Wert' + elif nodeName_ == 'YY_Wert': + obj_ = TCYY_Wert.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.YY_Wert = obj_ + obj_.original_tagname_ = 'YY_Wert' +# end class CBedien_Bezirk_Adressformel + + +class TCHersteller7(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCHersteller7"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_THersteller(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCHersteller7) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCHersteller7.subclass: + return TCHersteller7.subclass(*args_, **kwargs_) + else: + return TCHersteller7(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_THersteller(self, value): + result = True + # Validate type THersteller, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_THersteller_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_THersteller_patterns_, )) + result = False + return result + validate_THersteller_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCHersteller7, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBedienung:', namespacedef_='xmlns:nsBedienung="http://www.plan-pro.org/modell/Bedienung/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCHersteller7', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCHersteller7') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCHersteller7': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCHersteller7') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCHersteller7', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBedienung:', name_='TCHersteller7'): + super(TCHersteller7, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCHersteller7') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBedienung:', namespacedef_='xmlns:nsBedienung="http://www.plan-pro.org/modell/Bedienung/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCHersteller7', fromsubclass_=False, pretty_print=True): + super(TCHersteller7, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCHersteller7, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type THersteller + self.validate_THersteller(self.Wert) + super(TCHersteller7, self)._buildChildren(child_, node, nodeName_, True) +# end class TCHersteller7 + + +class CBedien_Anzeige_Element_Allg(GeneratedsSuper): + """Melder -- Art des Melders f + ü + r eine + ö + rtliche Bedieneinrichtung. Anwendungsbeispiele: Melder an Abfertigungss + ä + ulen, Zustimmungseinrichtungen f + ü + r den Zugleitbetrieb, Bedieneinrichtungen von (tempor + ä + r) + ö + rtlich bedienten stellwerksgesteuerten Stellelementen. F + ü + r Bedieneinrichtungen von Nahstellbereichen und Bahn + ü + berg + ä + ngen werden die Melder im Objekt BUE Bedien Anzeige Element bzw. NB Bedien Anzeige Element geplant. Bei Auswahl von \"sonstige\" ist ein Bearbeitungsvermerk mit entsprechenden Erl + ä + uterungen anzuf + ü + gen. + Schalter -- Art des Schalters f + ü + r eine + ö + rtliche Bedieneinrichtung. Anwendungsbeispiele: Schalter an Abfertigungss + ä + ulen, Zustimmungseinrichtungen f + ü + r den Zugleitbetrieb, Bedieneinrichtungen von (tempor + ä + r) + ö + rtlich bedienten stellwerksgesteuerten Stellelementen. F + ü + r Bedieneinrichtungen von Nahstellbereichen und Bahn + ü + berg + ä + ngen werden die Schalter im Objekt BUE Bedien Anzeige Element bzw. NB Bedien Anzeige Element geplant. Bei Auswahl von \"sonstige\" ist ein Bearbeitungsvermerk mit entsprechenden Erl + ä + uterungen anzuf + ü + gen. + Taste -- Art der Taste f + ü + r eine + ö + rtliche Bedieneinrichtung, au + ß + er solchen mit B + Ü + - und NB-Funktionen. F + ü + r Bedieneinrichtungen von Bahn + ü + berg + ä + ngen und Nahstellbereichen werden die Tasten im Objekt BUE Bedien Anzeige Element bzw. NB Bedien Anzeige Element geplant. Anwendungsbeispiele: Tasten an Abfertigungss + ä + ulen, Zustimmungseinrichtungen f + ü + r den Zugleitbetrieb, Bedieneinrichtungen von (tempor + ä + r) + ö + rtlich bedienten stellwerksgesteuerten Stellelementen. Bei Auswahl von \"sonstige\" ist ein Bearbeitungsvermerk mit entsprechenden Erl + ä + uterungen anzuf + ü + gen. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Melder=None, Schalter=None, Taste=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Melder = Melder + self.Melder_nsprefix_ = None + self.Schalter = Schalter + self.Schalter_nsprefix_ = None + self.Taste = Taste + self.Taste_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CBedien_Anzeige_Element_Allg) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CBedien_Anzeige_Element_Allg.subclass: + return CBedien_Anzeige_Element_Allg.subclass(*args_, **kwargs_) + else: + return CBedien_Anzeige_Element_Allg(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Melder(self): + return self.Melder + def set_Melder(self, Melder): + self.Melder = Melder + def get_Schalter(self): + return self.Schalter + def set_Schalter(self, Schalter): + self.Schalter = Schalter + def get_Taste(self): + return self.Taste + def set_Taste(self, Taste): + self.Taste = Taste + def has__content(self): + if ( + self.Melder is not None or + self.Schalter is not None or + self.Taste is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBedienung:', namespacedef_='xmlns:nsBedienung="http://www.plan-pro.org/modell/Bedienung/1.10.0"', name_='CBedien_Anzeige_Element_Allg', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CBedien_Anzeige_Element_Allg') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CBedien_Anzeige_Element_Allg': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CBedien_Anzeige_Element_Allg') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CBedien_Anzeige_Element_Allg', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBedienung:', name_='CBedien_Anzeige_Element_Allg'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsBedienung:', namespacedef_='xmlns:nsBedienung="http://www.plan-pro.org/modell/Bedienung/1.10.0"', name_='CBedien_Anzeige_Element_Allg', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Melder is not None: + namespaceprefix_ = self.Melder_nsprefix_ + ':' if (UseCapturedNS_ and self.Melder_nsprefix_) else '' + self.Melder.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Melder', pretty_print=pretty_print) + if self.Schalter is not None: + namespaceprefix_ = self.Schalter_nsprefix_ + ':' if (UseCapturedNS_ and self.Schalter_nsprefix_) else '' + self.Schalter.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Schalter', pretty_print=pretty_print) + if self.Taste is not None: + namespaceprefix_ = self.Taste_nsprefix_ + ':' if (UseCapturedNS_ and self.Taste_nsprefix_) else '' + self.Taste.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Taste', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Melder': + obj_ = TCMelder.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Melder = obj_ + obj_.original_tagname_ = 'Melder' + elif nodeName_ == 'Schalter': + obj_ = TCSchalter.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Schalter = obj_ + obj_.original_tagname_ = 'Schalter' + elif nodeName_ == 'Taste': + obj_ = TCTaste.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Taste = obj_ + obj_.original_tagname_ = 'Taste' +# end class CBedien_Anzeige_Element_Allg + + +class CBedien_Anzeige_Element(CBasis_Objekt): + """CBedien_Anzeige_Element -- Zuordnung von Stellelementen zu einer + ö + rtlichen Bedieneinrichtung und Abbildung von Meldern, Tasten und Schaltern einer + ö + rtlichen Bedieneinrichtung. + Bezeichnung -- Attributgruppe zur Bezeichnung von Stell- und sonstigen Elementen. Sofern ausreichend, wird an dieser Stelle + ü + ber Vererbung die Basisattributgruppe Bezeichnung Element eingebunden. Ist die Abbildung mit den Attributen der Basisattributgruppe nicht m + ö + glich (z. B. wegen spezieller Patternvorgabe) oder nicht sinnvoll (z. B. weil eine Unterscheidung nach Bezeichnung_Lageplan_..., Bezeichnung_Tabelle und Bezeichnung_Aussenanlage (Pflichtattribute!) nicht notwendig ist), werden in der Attributgruppe Bezeichnung entsprechende objektspezifische Bezeichnungsattribute modelliert. Diese sind nach dem Schema Bezeichnung_[Objektname] zu benennen. Zudem ist es m + ö + glich, gleichzeitig die Basisattributgruppe Bezeichnung Element und objektspezifische Attribute einzubinden. Siehe auch Bildung der Bezeichnungen. DB-Regelwerk Sicherungstechnischer Lage- und + Ü + bersichtsplan, B + Ü + -Lageplan Planungstabellen + ID_Bedien_Einrichtung_Oertlich -- Mit diesem Verweis erfolgt die Verbindung eines Objekts zu seiner + ö + rtlichen Bedieneinrichtung. + ID_Verknuepftes_Element -- Verweis auf ein Signal oder W Kr Gsp Element, f + ü + r das eine Abh + ä + ngigkeit zu einem Schalter, Melder oder einer Taste besteht. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasis_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, Bedien_Anzeige_Element_Allg=None, Bezeichnung=None, ID_Bedien_Einrichtung_Oertlich=None, ID_Verknuepftes_Element=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CBedien_Anzeige_Element"), self).__init__(Identitaet, Basis_Objekt_Allg, ID_Bearbeitungsvermerk, ID_Oertlichkeit_Ausgabe, Objektreferenzen, **kwargs_) + self.Bedien_Anzeige_Element_Allg = Bedien_Anzeige_Element_Allg + self.Bedien_Anzeige_Element_Allg_nsprefix_ = None + self.Bezeichnung = Bezeichnung + self.Bezeichnung_nsprefix_ = None + self.ID_Bedien_Einrichtung_Oertlich = ID_Bedien_Einrichtung_Oertlich + self.ID_Bedien_Einrichtung_Oertlich_nsprefix_ = None + self.ID_Verknuepftes_Element = ID_Verknuepftes_Element + self.ID_Verknuepftes_Element_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CBedien_Anzeige_Element) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CBedien_Anzeige_Element.subclass: + return CBedien_Anzeige_Element.subclass(*args_, **kwargs_) + else: + return CBedien_Anzeige_Element(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Bedien_Anzeige_Element_Allg(self): + return self.Bedien_Anzeige_Element_Allg + def set_Bedien_Anzeige_Element_Allg(self, Bedien_Anzeige_Element_Allg): + self.Bedien_Anzeige_Element_Allg = Bedien_Anzeige_Element_Allg + def get_Bezeichnung(self): + return self.Bezeichnung + def set_Bezeichnung(self, Bezeichnung): + self.Bezeichnung = Bezeichnung + def get_ID_Bedien_Einrichtung_Oertlich(self): + return self.ID_Bedien_Einrichtung_Oertlich + def set_ID_Bedien_Einrichtung_Oertlich(self, ID_Bedien_Einrichtung_Oertlich): + self.ID_Bedien_Einrichtung_Oertlich = ID_Bedien_Einrichtung_Oertlich + def get_ID_Verknuepftes_Element(self): + return self.ID_Verknuepftes_Element + def set_ID_Verknuepftes_Element(self, ID_Verknuepftes_Element): + self.ID_Verknuepftes_Element = ID_Verknuepftes_Element + def has__content(self): + if ( + self.Bedien_Anzeige_Element_Allg is not None or + self.Bezeichnung is not None or + self.ID_Bedien_Einrichtung_Oertlich is not None or + self.ID_Verknuepftes_Element is not None or + super(CBedien_Anzeige_Element, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBedienung:', namespacedef_='xmlns:nsBedienung="http://www.plan-pro.org/modell/Bedienung/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CBedien_Anzeige_Element', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CBedien_Anzeige_Element') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CBedien_Anzeige_Element': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CBedien_Anzeige_Element') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CBedien_Anzeige_Element', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBedienung:', name_='CBedien_Anzeige_Element'): + super(CBedien_Anzeige_Element, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CBedien_Anzeige_Element') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBedienung:', namespacedef_='xmlns:nsBedienung="http://www.plan-pro.org/modell/Bedienung/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CBedien_Anzeige_Element', fromsubclass_=False, pretty_print=True): + super(CBedien_Anzeige_Element, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Bedien_Anzeige_Element_Allg is not None: + namespaceprefix_ = self.Bedien_Anzeige_Element_Allg_nsprefix_ + ':' if (UseCapturedNS_ and self.Bedien_Anzeige_Element_Allg_nsprefix_) else '' + self.Bedien_Anzeige_Element_Allg.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Bedien_Anzeige_Element_Allg', pretty_print=pretty_print) + if self.Bezeichnung is not None: + namespaceprefix_ = self.Bezeichnung_nsprefix_ + ':' if (UseCapturedNS_ and self.Bezeichnung_nsprefix_) else '' + self.Bezeichnung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Bezeichnung', pretty_print=pretty_print) + if self.ID_Bedien_Einrichtung_Oertlich is not None: + namespaceprefix_ = self.ID_Bedien_Einrichtung_Oertlich_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bedien_Einrichtung_Oertlich_nsprefix_) else '' + self.ID_Bedien_Einrichtung_Oertlich.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bedien_Einrichtung_Oertlich', pretty_print=pretty_print) + if self.ID_Verknuepftes_Element is not None: + namespaceprefix_ = self.ID_Verknuepftes_Element_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Verknuepftes_Element_nsprefix_) else '' + self.ID_Verknuepftes_Element.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Verknuepftes_Element', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CBedien_Anzeige_Element, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Bedien_Anzeige_Element_Allg': + obj_ = CBedien_Anzeige_Element_Allg.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Bedien_Anzeige_Element_Allg = obj_ + obj_.original_tagname_ = 'Bedien_Anzeige_Element_Allg' + elif nodeName_ == 'Bezeichnung': + obj_ = CBedien_Anzeige_Element_Bezeichnung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Bezeichnung = obj_ + obj_.original_tagname_ = 'Bezeichnung' + elif nodeName_ == 'ID_Bedien_Einrichtung_Oertlich': + obj_ = TCID_Bedien_Einrichtung_Oertlich.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bedien_Einrichtung_Oertlich = obj_ + obj_.original_tagname_ = 'ID_Bedien_Einrichtung_Oertlich' + elif nodeName_ == 'ID_Verknuepftes_Element': + obj_ = TCID_Verknuepftes_Element.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Verknuepftes_Element = obj_ + obj_.original_tagname_ = 'ID_Verknuepftes_Element' + super(CBedien_Anzeige_Element, self)._buildChildren(child_, node, nodeName_, True) +# end class CBedien_Anzeige_Element + + +class TCRueckschauzeit(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCRueckschauzeit"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TRueckschauzeit(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCRueckschauzeit) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCRueckschauzeit.subclass: + return TCRueckschauzeit.subclass(*args_, **kwargs_) + else: + return TCRueckschauzeit(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TRueckschauzeit(self, value): + result = True + # Validate type TRueckschauzeit, a restriction on nsBasisTypen:TSekunde. + 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 not self.gds_validate_simple_patterns( + self.validate_TRueckschauzeit_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TRueckschauzeit_patterns_, )) + result = False + return result + validate_TRueckschauzeit_patterns_ = [['^([0-9]{1,5}(\\.[0-9]{2})?)$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCRueckschauzeit, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBedienung:', namespacedef_='xmlns:nsBedienung="http://www.plan-pro.org/modell/Bedienung/1.10.0"', name_='TCRueckschauzeit', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCRueckschauzeit') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCRueckschauzeit': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCRueckschauzeit') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCRueckschauzeit', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBedienung:', name_='TCRueckschauzeit'): + super(TCRueckschauzeit, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCRueckschauzeit') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBedienung:', namespacedef_='xmlns:nsBedienung="http://www.plan-pro.org/modell/Bedienung/1.10.0"', name_='TCRueckschauzeit', fromsubclass_=False, pretty_print=True): + super(TCRueckschauzeit, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_decimal(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCRueckschauzeit, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + fval_ = self.gds_parse_decimal(sval_, node, 'Wert') + fval_ = self.gds_validate_decimal(fval_, node, 'Wert') + self.Wert = fval_ + self.Wert_nsprefix_ = child_.prefix + # validate type TRueckschauzeit + self.validate_TRueckschauzeit(self.Wert) + super(TCRueckschauzeit, self)._buildChildren(child_, node, nodeName_, True) +# end class TCRueckschauzeit + + +class CBedien_Bezirk_Anhaenge(GeneratedsSuper): + """ID_Anhang_Anbindung_IB2 -- Plan zur Kabel-/Trassen-/Datenanbindung. Pl + ä + ne k + ö + nnen z. B. zur Darstellung der Kabelverbindungen vom IB 1 zum IB 2 angef + ü + gt werden. Die Unterlagen sind in den Standorten unterschiedlich oder gar nicht vorhanden und werden ggf. als Anlage der AP PT 1 beigef + ü + gt. + ID_Anhang_Anbindung_IB3 -- Plan zur Kabel-/Trassen-/Datenanbindung. Pl + ä + ne k + ö + nnen z. B. zur Darstellung der Kabelverbindungen vom IB 1 zum IB 3 angef + ü + gt werden. Die Unterlagen sind in den Standorten unterschiedlich oder gar nicht vorhanden und werden ggf. als Anlage der AP PT 1 beigef + ü + gt. + ID_Anhang_Steuerbez_Uebersicht -- In diesen Anhang wird die Steuerbezirks + ü + bersicht gem + ä + ß + 819.0603 als PDF eingebettet. Beispiel: Media:Steuerbezirksuebersicht.pdf DB-Regelwerk 819.0603 + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, ID_Anhang_Anbindung_IB2=None, ID_Anhang_Anbindung_IB3=None, ID_Anhang_Steuerbez_Uebersicht=None, gds_collector_=None, **kwargs_): + self.gds_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_Anhang_Anbindung_IB2 = ID_Anhang_Anbindung_IB2 + self.ID_Anhang_Anbindung_IB2_nsprefix_ = None + self.ID_Anhang_Anbindung_IB3 = ID_Anhang_Anbindung_IB3 + self.ID_Anhang_Anbindung_IB3_nsprefix_ = None + self.ID_Anhang_Steuerbez_Uebersicht = ID_Anhang_Steuerbez_Uebersicht + self.ID_Anhang_Steuerbez_Uebersicht_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CBedien_Bezirk_Anhaenge) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CBedien_Bezirk_Anhaenge.subclass: + return CBedien_Bezirk_Anhaenge.subclass(*args_, **kwargs_) + else: + return CBedien_Bezirk_Anhaenge(*args_, **kwargs_) + factory = staticmethod(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_Anhang_Anbindung_IB2(self): + return self.ID_Anhang_Anbindung_IB2 + def set_ID_Anhang_Anbindung_IB2(self, ID_Anhang_Anbindung_IB2): + self.ID_Anhang_Anbindung_IB2 = ID_Anhang_Anbindung_IB2 + def get_ID_Anhang_Anbindung_IB3(self): + return self.ID_Anhang_Anbindung_IB3 + def set_ID_Anhang_Anbindung_IB3(self, ID_Anhang_Anbindung_IB3): + self.ID_Anhang_Anbindung_IB3 = ID_Anhang_Anbindung_IB3 + def get_ID_Anhang_Steuerbez_Uebersicht(self): + return self.ID_Anhang_Steuerbez_Uebersicht + def set_ID_Anhang_Steuerbez_Uebersicht(self, ID_Anhang_Steuerbez_Uebersicht): + self.ID_Anhang_Steuerbez_Uebersicht = ID_Anhang_Steuerbez_Uebersicht + def has__content(self): + if ( + self.ID_Anhang_Anbindung_IB2 is not None or + self.ID_Anhang_Anbindung_IB3 is not None or + self.ID_Anhang_Steuerbez_Uebersicht is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBedienung:', namespacedef_='xmlns:nsBedienung="http://www.plan-pro.org/modell/Bedienung/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CBedien_Bezirk_Anhaenge', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CBedien_Bezirk_Anhaenge') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CBedien_Bezirk_Anhaenge': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CBedien_Bezirk_Anhaenge') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CBedien_Bezirk_Anhaenge', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBedienung:', name_='CBedien_Bezirk_Anhaenge'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsBedienung:', namespacedef_='xmlns:nsBedienung="http://www.plan-pro.org/modell/Bedienung/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CBedien_Bezirk_Anhaenge', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.ID_Anhang_Anbindung_IB2 is not None: + namespaceprefix_ = self.ID_Anhang_Anbindung_IB2_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Anhang_Anbindung_IB2_nsprefix_) else '' + self.ID_Anhang_Anbindung_IB2.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Anhang_Anbindung_IB2', pretty_print=pretty_print) + if self.ID_Anhang_Anbindung_IB3 is not None: + namespaceprefix_ = self.ID_Anhang_Anbindung_IB3_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Anhang_Anbindung_IB3_nsprefix_) else '' + self.ID_Anhang_Anbindung_IB3.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Anhang_Anbindung_IB3', pretty_print=pretty_print) + if self.ID_Anhang_Steuerbez_Uebersicht is not None: + namespaceprefix_ = self.ID_Anhang_Steuerbez_Uebersicht_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Anhang_Steuerbez_Uebersicht_nsprefix_) else '' + self.ID_Anhang_Steuerbez_Uebersicht.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Anhang_Steuerbez_Uebersicht', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Anhang_Anbindung_IB2': + obj_ = TCID_Anhang.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Anhang_Anbindung_IB2 = obj_ + obj_.original_tagname_ = 'ID_Anhang_Anbindung_IB2' + elif nodeName_ == 'ID_Anhang_Anbindung_IB3': + obj_ = TCID_Anhang.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Anhang_Anbindung_IB3 = obj_ + obj_.original_tagname_ = 'ID_Anhang_Anbindung_IB3' + elif nodeName_ == 'ID_Anhang_Steuerbez_Uebersicht': + obj_ = TCID_Anhang.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Anhang_Steuerbez_Uebersicht = obj_ + obj_.original_tagname_ = 'ID_Anhang_Steuerbez_Uebersicht' +# end class CBedien_Bezirk_Anhaenge + + +class CBedien_Bezirk_Allg(GeneratedsSuper): + """Anbindung_IB2 -- Verbindung IB 1 zu IB 2. Angabe, ob der jeweilige Bedien Bezirk (Steuerbezirk) eine Anbindung zum Integrit + ä + tsbereich 2 (IB II) hat (true) oder nicht (false). Die Planungsdaten f + ü + r die IB I-IB II-Kopplung werden + ü + ber ID Anhang Anbindung IB2 im PDF-Format als Anhang beigegeben. + Anbindung_IB3 -- Verbindung IB 1 zu IB 3. Angabe, ob der jeweilige Bedien Bezirk (Steuerbezirk) eine Anbindung zum Integrit + ä + tsbereich 3 (IB III) hat (true) oder nicht (false). Die Planungsdaten f + ü + r die IB III-Anbindung werden + ü + ber ID Anhang Anbindung IB3 im PDF-Format als Anhang beigegeben. + Hersteller -- Unternehmen, das die Funktionsf + ä + higkeit der Anlage verantwortlich hergestellt hat oder Hersteller des jeweiligen Elements. Diese Eigenschaft ist kein Datum einer Planung, sondern dient im R + ü + cklauf der Planung dazu den Hersteller im Bestand zu erfassen. Es ist die zum Zeitpunkt der Inbetriebnahme g + ü + ltige Firmierung zu verwenden. DB-Regelwerk Beschreibung im Erl + ä + uterungsbericht + Schrankreihe -- Ordnungskriterium eines Bedien_Bezirkes im Rechnerraum. Das Attribut kann, in Abh + ä + ngigkeit von den + ö + rtlichen Gepflogenheiten, aus mehreren alphanumerischen und Sonderzeichen bestehen. + Steuerbezirksname -- Angabe des regional + ü + bliche Namen des Bedienbezirks (Steuerbezirks) in der BZ-Planung (AP PT 1 BZ). Beispiele sind: \"Rechter Rhein\", \"Allg + ä + u/Fichtelgebirge\", etc. + Steuerbezirksnummer -- Ordnungskriterium des Bedien-Bezirks in den Planunterlagen. Die Steuerbezirksnummer besteht in der Regel aus einem numerischen Zeichen, ggf. aus einer Ganzzahl. Da regional Abweichungen m + ö + glich sind, wurde der Basistyp offen gehalten. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anbindung_IB2=None, Anbindung_IB3=None, Hersteller=None, Schrankreihe=None, Steuerbezirksname=None, Steuerbezirksnummer=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anbindung_IB2 = Anbindung_IB2 + self.Anbindung_IB2_nsprefix_ = None + self.Anbindung_IB3 = Anbindung_IB3 + self.Anbindung_IB3_nsprefix_ = None + self.Hersteller = Hersteller + self.Hersteller_nsprefix_ = None + self.Schrankreihe = Schrankreihe + self.Schrankreihe_nsprefix_ = None + self.Steuerbezirksname = Steuerbezirksname + self.Steuerbezirksname_nsprefix_ = None + self.Steuerbezirksnummer = Steuerbezirksnummer + self.Steuerbezirksnummer_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CBedien_Bezirk_Allg) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CBedien_Bezirk_Allg.subclass: + return CBedien_Bezirk_Allg.subclass(*args_, **kwargs_) + else: + return CBedien_Bezirk_Allg(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anbindung_IB2(self): + return self.Anbindung_IB2 + def set_Anbindung_IB2(self, Anbindung_IB2): + self.Anbindung_IB2 = Anbindung_IB2 + def get_Anbindung_IB3(self): + return self.Anbindung_IB3 + def set_Anbindung_IB3(self, Anbindung_IB3): + self.Anbindung_IB3 = Anbindung_IB3 + def get_Hersteller(self): + return self.Hersteller + def set_Hersteller(self, Hersteller): + self.Hersteller = Hersteller + def get_Schrankreihe(self): + return self.Schrankreihe + def set_Schrankreihe(self, Schrankreihe): + self.Schrankreihe = Schrankreihe + def get_Steuerbezirksname(self): + return self.Steuerbezirksname + def set_Steuerbezirksname(self, Steuerbezirksname): + self.Steuerbezirksname = Steuerbezirksname + def get_Steuerbezirksnummer(self): + return self.Steuerbezirksnummer + def set_Steuerbezirksnummer(self, Steuerbezirksnummer): + self.Steuerbezirksnummer = Steuerbezirksnummer + def has__content(self): + if ( + self.Anbindung_IB2 is not None or + self.Anbindung_IB3 is not None or + self.Hersteller is not None or + self.Schrankreihe is not None or + self.Steuerbezirksname is not None or + self.Steuerbezirksnummer is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBedienung:', namespacedef_='xmlns:nsBedienung="http://www.plan-pro.org/modell/Bedienung/1.10.0"', name_='CBedien_Bezirk_Allg', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CBedien_Bezirk_Allg') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CBedien_Bezirk_Allg': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CBedien_Bezirk_Allg') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CBedien_Bezirk_Allg', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBedienung:', name_='CBedien_Bezirk_Allg'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsBedienung:', namespacedef_='xmlns:nsBedienung="http://www.plan-pro.org/modell/Bedienung/1.10.0"', name_='CBedien_Bezirk_Allg', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Anbindung_IB2 is not None: + namespaceprefix_ = self.Anbindung_IB2_nsprefix_ + ':' if (UseCapturedNS_ and self.Anbindung_IB2_nsprefix_) else '' + self.Anbindung_IB2.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Anbindung_IB2', pretty_print=pretty_print) + if self.Anbindung_IB3 is not None: + namespaceprefix_ = self.Anbindung_IB3_nsprefix_ + ':' if (UseCapturedNS_ and self.Anbindung_IB3_nsprefix_) else '' + self.Anbindung_IB3.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Anbindung_IB3', pretty_print=pretty_print) + if self.Hersteller is not None: + namespaceprefix_ = self.Hersteller_nsprefix_ + ':' if (UseCapturedNS_ and self.Hersteller_nsprefix_) else '' + self.Hersteller.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Hersteller', pretty_print=pretty_print) + if self.Schrankreihe is not None: + namespaceprefix_ = self.Schrankreihe_nsprefix_ + ':' if (UseCapturedNS_ and self.Schrankreihe_nsprefix_) else '' + self.Schrankreihe.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Schrankreihe', pretty_print=pretty_print) + if self.Steuerbezirksname is not None: + namespaceprefix_ = self.Steuerbezirksname_nsprefix_ + ':' if (UseCapturedNS_ and self.Steuerbezirksname_nsprefix_) else '' + self.Steuerbezirksname.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Steuerbezirksname', pretty_print=pretty_print) + if self.Steuerbezirksnummer is not None: + namespaceprefix_ = self.Steuerbezirksnummer_nsprefix_ + ':' if (UseCapturedNS_ and self.Steuerbezirksnummer_nsprefix_) else '' + self.Steuerbezirksnummer.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Steuerbezirksnummer', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Anbindung_IB2': + obj_ = TCAnbindung_IB2.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Anbindung_IB2 = obj_ + obj_.original_tagname_ = 'Anbindung_IB2' + elif nodeName_ == 'Anbindung_IB3': + obj_ = TCAnbindung_IB3.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Anbindung_IB3 = obj_ + obj_.original_tagname_ = 'Anbindung_IB3' + elif nodeName_ == 'Hersteller': + obj_ = TCHersteller.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Hersteller = obj_ + obj_.original_tagname_ = 'Hersteller' + elif nodeName_ == 'Schrankreihe': + obj_ = TCSchrankreihe.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Schrankreihe = obj_ + obj_.original_tagname_ = 'Schrankreihe' + elif nodeName_ == 'Steuerbezirksname': + obj_ = TCSteuerbezirksname.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Steuerbezirksname = obj_ + obj_.original_tagname_ = 'Steuerbezirksname' + elif nodeName_ == 'Steuerbezirksnummer': + obj_ = TCSteuerbezirksnummer.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Steuerbezirksnummer = obj_ + obj_.original_tagname_ = 'Steuerbezirksnummer' +# end class CBedien_Bezirk_Allg + + +class CBedien_GBT(CBasis_Objekt): + """CBedien_GBT -- Planung aller Parameter, die f + ü + r die Darstellung der Gleisbenutzungstabelle (GBT) auf dem Bedienplatz f + ü + r den Nutzer erforderlich sind. + ID_Anhang_Vorgabe_GBT -- Anhang mit Parametern f + ü + r die Anzahl und Anordnung der Zuglenkbetriebsstellen in der Gleisbenutzungstabelle (GBT). Die konkreten Inhalte werden derzeit abgestimmt. + ID_Bedien_Bezirk -- Die Eigenschaften der Gleisbelegungstabelle als Element der Bedienoberfl + ä + che werden derzeit noch modelliert. Deshalb erfolgt eine Beschreibung aller damit zusammenh + ä + ngender Eigenschaften und Verweise erst nach Abschluss dieser Konsolidierungsphase. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasis_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, Bedien_GBT_Allg=None, ID_Anhang_Vorgabe_GBT=None, ID_Bedien_Bezirk=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CBedien_GBT"), self).__init__(Identitaet, Basis_Objekt_Allg, ID_Bearbeitungsvermerk, ID_Oertlichkeit_Ausgabe, Objektreferenzen, **kwargs_) + self.Bedien_GBT_Allg = Bedien_GBT_Allg + self.Bedien_GBT_Allg_nsprefix_ = None + self.ID_Anhang_Vorgabe_GBT = ID_Anhang_Vorgabe_GBT + self.ID_Anhang_Vorgabe_GBT_nsprefix_ = None + self.ID_Bedien_Bezirk = ID_Bedien_Bezirk + self.ID_Bedien_Bezirk_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CBedien_GBT) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CBedien_GBT.subclass: + return CBedien_GBT.subclass(*args_, **kwargs_) + else: + return CBedien_GBT(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Bedien_GBT_Allg(self): + return self.Bedien_GBT_Allg + def set_Bedien_GBT_Allg(self, Bedien_GBT_Allg): + self.Bedien_GBT_Allg = Bedien_GBT_Allg + def get_ID_Anhang_Vorgabe_GBT(self): + return self.ID_Anhang_Vorgabe_GBT + def set_ID_Anhang_Vorgabe_GBT(self, ID_Anhang_Vorgabe_GBT): + self.ID_Anhang_Vorgabe_GBT = ID_Anhang_Vorgabe_GBT + def get_ID_Bedien_Bezirk(self): + return self.ID_Bedien_Bezirk + def set_ID_Bedien_Bezirk(self, ID_Bedien_Bezirk): + self.ID_Bedien_Bezirk = ID_Bedien_Bezirk + def has__content(self): + if ( + self.Bedien_GBT_Allg is not None or + self.ID_Anhang_Vorgabe_GBT is not None or + self.ID_Bedien_Bezirk is not None or + super(CBedien_GBT, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBedienung:', namespacedef_='xmlns:nsBedienung="http://www.plan-pro.org/modell/Bedienung/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CBedien_GBT', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CBedien_GBT') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CBedien_GBT': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CBedien_GBT') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CBedien_GBT', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBedienung:', name_='CBedien_GBT'): + super(CBedien_GBT, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CBedien_GBT') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBedienung:', namespacedef_='xmlns:nsBedienung="http://www.plan-pro.org/modell/Bedienung/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CBedien_GBT', fromsubclass_=False, pretty_print=True): + super(CBedien_GBT, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Bedien_GBT_Allg is not None: + namespaceprefix_ = self.Bedien_GBT_Allg_nsprefix_ + ':' if (UseCapturedNS_ and self.Bedien_GBT_Allg_nsprefix_) else '' + self.Bedien_GBT_Allg.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Bedien_GBT_Allg', pretty_print=pretty_print) + if self.ID_Anhang_Vorgabe_GBT is not None: + namespaceprefix_ = self.ID_Anhang_Vorgabe_GBT_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Anhang_Vorgabe_GBT_nsprefix_) else '' + self.ID_Anhang_Vorgabe_GBT.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Anhang_Vorgabe_GBT', pretty_print=pretty_print) + if self.ID_Bedien_Bezirk is not None: + namespaceprefix_ = self.ID_Bedien_Bezirk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bedien_Bezirk_nsprefix_) else '' + self.ID_Bedien_Bezirk.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bedien_Bezirk', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CBedien_GBT, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Bedien_GBT_Allg': + obj_ = CBedien_GBT_Allg.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Bedien_GBT_Allg = obj_ + obj_.original_tagname_ = 'Bedien_GBT_Allg' + elif nodeName_ == 'ID_Anhang_Vorgabe_GBT': + obj_ = TCID_Anhang.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Anhang_Vorgabe_GBT = obj_ + obj_.original_tagname_ = 'ID_Anhang_Vorgabe_GBT' + elif nodeName_ == 'ID_Bedien_Bezirk': + obj_ = TCID_Bedien_Bezirk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bedien_Bezirk = obj_ + obj_.original_tagname_ = 'ID_Bedien_Bezirk' + super(CBedien_GBT, self)._buildChildren(child_, node, nodeName_, True) +# end class CBedien_GBT + + +class TCYY_Wert(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCYY_Wert"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TYY_Wert(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCYY_Wert) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCYY_Wert.subclass: + return TCYY_Wert.subclass(*args_, **kwargs_) + else: + return TCYY_Wert(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TYY_Wert(self, value): + result = True + # Validate type TYY_Wert, a restriction on xs:integer. + 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_TYY_Wert_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TYY_Wert_patterns_, )) + result = False + return result + validate_TYY_Wert_patterns_ = [['^([1-9]|1[0-5])$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCYY_Wert, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBedienung:', namespacedef_='xmlns:nsBedienung="http://www.plan-pro.org/modell/Bedienung/1.10.0"', name_='TCYY_Wert', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCYY_Wert') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCYY_Wert': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCYY_Wert') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCYY_Wert', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBedienung:', name_='TCYY_Wert'): + super(TCYY_Wert, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCYY_Wert') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBedienung:', namespacedef_='xmlns:nsBedienung="http://www.plan-pro.org/modell/Bedienung/1.10.0"', name_='TCYY_Wert', fromsubclass_=False, pretty_print=True): + super(TCYY_Wert, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_integer(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCYY_Wert, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + ival_ = self.gds_parse_integer(sval_, node, 'Wert') + ival_ = self.gds_validate_integer(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + # validate type TYY_Wert + self.validate_TYY_Wert(self.Wert) + super(TCYY_Wert, self)._buildChildren(child_, node, nodeName_, True) +# end class TCYY_Wert + + +class CBedien_Standort(CBasis_Objekt): + """CBedien_Standort -- Bei DSTW: Standort, von dem die Bedienung der DSTW erfolgt. Von einem Bedienstandort k + ö + nnen mehrere Technikstandorte bedient werden. + ID_Unterbringung -- Verweis auf die Unterbringung (Geb + ä + ude), in der der Bedien-Standort untergebracht ist. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasis_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, Bezeichnung=None, BSO_IP_Adressblock=None, ID_Unterbringung=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CBedien_Standort"), self).__init__(Identitaet, Basis_Objekt_Allg, ID_Bearbeitungsvermerk, ID_Oertlichkeit_Ausgabe, Objektreferenzen, **kwargs_) + self.Bezeichnung = Bezeichnung + self.Bezeichnung_nsprefix_ = None + self.BSO_IP_Adressblock = BSO_IP_Adressblock + self.BSO_IP_Adressblock_nsprefix_ = None + self.ID_Unterbringung = ID_Unterbringung + self.ID_Unterbringung_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CBedien_Standort) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CBedien_Standort.subclass: + return CBedien_Standort.subclass(*args_, **kwargs_) + else: + return CBedien_Standort(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Bezeichnung(self): + return self.Bezeichnung + def set_Bezeichnung(self, Bezeichnung): + self.Bezeichnung = Bezeichnung + def get_BSO_IP_Adressblock(self): + return self.BSO_IP_Adressblock + def set_BSO_IP_Adressblock(self, BSO_IP_Adressblock): + self.BSO_IP_Adressblock = BSO_IP_Adressblock + def get_ID_Unterbringung(self): + return self.ID_Unterbringung + def set_ID_Unterbringung(self, ID_Unterbringung): + self.ID_Unterbringung = ID_Unterbringung + def has__content(self): + if ( + self.Bezeichnung is not None or + self.BSO_IP_Adressblock is not None or + self.ID_Unterbringung is not None or + super(CBedien_Standort, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBedienung:', namespacedef_='xmlns:nsBedienung="http://www.plan-pro.org/modell/Bedienung/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CBedien_Standort', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CBedien_Standort') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CBedien_Standort': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CBedien_Standort') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CBedien_Standort', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBedienung:', name_='CBedien_Standort'): + super(CBedien_Standort, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CBedien_Standort') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBedienung:', namespacedef_='xmlns:nsBedienung="http://www.plan-pro.org/modell/Bedienung/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CBedien_Standort', fromsubclass_=False, pretty_print=True): + super(CBedien_Standort, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Bezeichnung is not None: + namespaceprefix_ = self.Bezeichnung_nsprefix_ + ':' if (UseCapturedNS_ and self.Bezeichnung_nsprefix_) else '' + self.Bezeichnung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Bezeichnung', pretty_print=pretty_print) + if self.BSO_IP_Adressblock is not None: + namespaceprefix_ = self.BSO_IP_Adressblock_nsprefix_ + ':' if (UseCapturedNS_ and self.BSO_IP_Adressblock_nsprefix_) else '' + self.BSO_IP_Adressblock.export(outfile, level, namespaceprefix_, namespacedef_='', name_='BSO_IP_Adressblock', pretty_print=pretty_print) + if self.ID_Unterbringung is not None: + namespaceprefix_ = self.ID_Unterbringung_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Unterbringung_nsprefix_) else '' + self.ID_Unterbringung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Unterbringung', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CBedien_Standort, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Bezeichnung': + obj_ = CBedien_Standort_Bezeichnung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Bezeichnung = obj_ + obj_.original_tagname_ = 'Bezeichnung' + elif nodeName_ == 'BSO_IP_Adressblock': + obj_ = CBSO_IP_Adressblock.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.BSO_IP_Adressblock = obj_ + obj_.original_tagname_ = 'BSO_IP_Adressblock' + elif nodeName_ == 'ID_Unterbringung': + obj_ = TCID_Unterbringung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Unterbringung = obj_ + obj_.original_tagname_ = 'ID_Unterbringung' + super(CBedien_Standort, self)._buildChildren(child_, node, nodeName_, True) +# end class CBedien_Standort + + +class CBedien_Oberflaeche(CBasis_Objekt): + """CBedien_Oberflaeche -- Topologisches Abbild der f + ü + r die Bedienung und Anzeige eines ESTW relevanten sicherungstechnischen Anlagen. Dies wird in Form von Meldebildern mit unterschiedlicher Informationstiefe dargestellt. Dar + ü + ber hinaus gibt es weitere zum Bedienplatzsystem geh + ö + rende Meldebilder. Folgende Meldebildtypen stehen an einem Bedienplatzsystem (BPS) zur Verf + ü + gung: Bereichs + ü + bersicht (Ber + ü + ), Bereichs + ü + bergreifende Ber + ü + , Lupe, Gleisbenutzungstabelle (GBT), Kommunikationsanzeige (KA), KA-Bild 1 (PSI-Spiegel), KA-Bild 2 (ESTW-St + ö + rungsmeldungen), Betriebsstatus (Rechnerst + ö + rungen), Sammelmelderbild (SM-Bild), Dokumentation (Doku), Integrierte Bedienerf + ü + hrung. An anderen Bedienplatzsystemen k + ö + nnen andere Meldebildtypen m + ö + glich sein. Die Eigenschaften eines Bildes sind unter dem Objekt Bedien Oberflaeche Bild zusammengefasst. Mehrere Bilder verweisen auf das Objekt Bedien_Oberflaeche. Die M + ö + glichkeiten der Aufschaltung der jeweiligen Bedienoberfl + ä + chen auf den Bedienpl + ä + tzen sind implizite Stellwerksfunktion. Die dazu notwendigen Berechtigungen sind Betriebsdaten der Instandhaltung. Diese Parameter werden im PT I nicht geplant und im Datenmodell nicht abgebildet. Sondern von der + ö + rtlichen Instandhaltung in die Systeme eingegeben. Die Bildbezeichnung des jeweiligen Oberfl + ä + chenbildes nach der signifikanten (also der bedeutenstenten) Betriebsstelle entsprechend Richtlinie 819.0603 in der Form \"(Bildart)_(Ril 100 Abk)\" wird + ü + ber die Attribute Oberflaeche Bildart und ID Oertlichkeit gebildet. + ID_Bedien_Bezirk -- Verweis auf einen Bedien_Bezirk zur Zuordnung der Bedienoberfl + ä + chen eines Steuerbereiches und der f + ü + r Ihre Darstellung notwendigen Parameter. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasis_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, Bedien_Oberflaeche_Anhaenge=None, ID_Bedien_Bezirk=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CBedien_Oberflaeche"), self).__init__(Identitaet, Basis_Objekt_Allg, ID_Bearbeitungsvermerk, ID_Oertlichkeit_Ausgabe, Objektreferenzen, **kwargs_) + self.Bedien_Oberflaeche_Anhaenge = Bedien_Oberflaeche_Anhaenge + self.Bedien_Oberflaeche_Anhaenge_nsprefix_ = None + self.ID_Bedien_Bezirk = ID_Bedien_Bezirk + self.ID_Bedien_Bezirk_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CBedien_Oberflaeche) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CBedien_Oberflaeche.subclass: + return CBedien_Oberflaeche.subclass(*args_, **kwargs_) + else: + return CBedien_Oberflaeche(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Bedien_Oberflaeche_Anhaenge(self): + return self.Bedien_Oberflaeche_Anhaenge + def set_Bedien_Oberflaeche_Anhaenge(self, Bedien_Oberflaeche_Anhaenge): + self.Bedien_Oberflaeche_Anhaenge = Bedien_Oberflaeche_Anhaenge + def get_ID_Bedien_Bezirk(self): + return self.ID_Bedien_Bezirk + def set_ID_Bedien_Bezirk(self, ID_Bedien_Bezirk): + self.ID_Bedien_Bezirk = ID_Bedien_Bezirk + def has__content(self): + if ( + self.Bedien_Oberflaeche_Anhaenge is not None or + self.ID_Bedien_Bezirk is not None or + super(CBedien_Oberflaeche, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBedienung:', namespacedef_='xmlns:nsBedienung="http://www.plan-pro.org/modell/Bedienung/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CBedien_Oberflaeche', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CBedien_Oberflaeche') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CBedien_Oberflaeche': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CBedien_Oberflaeche') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CBedien_Oberflaeche', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBedienung:', name_='CBedien_Oberflaeche'): + super(CBedien_Oberflaeche, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CBedien_Oberflaeche') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBedienung:', namespacedef_='xmlns:nsBedienung="http://www.plan-pro.org/modell/Bedienung/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CBedien_Oberflaeche', fromsubclass_=False, pretty_print=True): + super(CBedien_Oberflaeche, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Bedien_Oberflaeche_Anhaenge is not None: + namespaceprefix_ = self.Bedien_Oberflaeche_Anhaenge_nsprefix_ + ':' if (UseCapturedNS_ and self.Bedien_Oberflaeche_Anhaenge_nsprefix_) else '' + self.Bedien_Oberflaeche_Anhaenge.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Bedien_Oberflaeche_Anhaenge', pretty_print=pretty_print) + if self.ID_Bedien_Bezirk is not None: + namespaceprefix_ = self.ID_Bedien_Bezirk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bedien_Bezirk_nsprefix_) else '' + self.ID_Bedien_Bezirk.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bedien_Bezirk', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CBedien_Oberflaeche, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Bedien_Oberflaeche_Anhaenge': + obj_ = CBedien_Oberflaeche_Anhaenge.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Bedien_Oberflaeche_Anhaenge = obj_ + obj_.original_tagname_ = 'Bedien_Oberflaeche_Anhaenge' + elif nodeName_ == 'ID_Bedien_Bezirk': + obj_ = TCID_Bedien_Bezirk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bedien_Bezirk = obj_ + obj_.original_tagname_ = 'ID_Bedien_Bezirk' + super(CBedien_Oberflaeche, self)._buildChildren(child_, node, nodeName_, True) +# end class CBedien_Oberflaeche + + +class TCBedienplatznummer(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCBedienplatznummer"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TBedienplatznummer(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCBedienplatznummer) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCBedienplatznummer.subclass: + return TCBedienplatznummer.subclass(*args_, **kwargs_) + else: + return TCBedienplatznummer(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TBedienplatznummer(self, value): + result = True + # Validate type TBedienplatznummer, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TBedienplatznummer_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TBedienplatznummer_patterns_, )) + result = False + return result + validate_TBedienplatznummer_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCBedienplatznummer, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBedienung:', namespacedef_='xmlns:nsBedienung="http://www.plan-pro.org/modell/Bedienung/1.10.0"', name_='TCBedienplatznummer', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCBedienplatznummer') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCBedienplatznummer': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBedienplatznummer') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCBedienplatznummer', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBedienung:', name_='TCBedienplatznummer'): + super(TCBedienplatznummer, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBedienplatznummer') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBedienung:', namespacedef_='xmlns:nsBedienung="http://www.plan-pro.org/modell/Bedienung/1.10.0"', name_='TCBedienplatznummer', fromsubclass_=False, pretty_print=True): + super(TCBedienplatznummer, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCBedienplatznummer, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TBedienplatznummer + self.validate_TBedienplatznummer(self.Wert) + super(TCBedienplatznummer, self)._buildChildren(child_, node, nodeName_, True) +# end class TCBedienplatznummer + + +class CBedien_Einrichtung_Oertlich(CBasis_Objekt): + """CBedien_Einrichtung_Oertlich -- Abbildung einer + ö + rtlichen Bedieneinrichtung (Stelltafel, Bedienpult etc.) als physisches Element der Au + ß + enanlage. Bedienbare Elemente, die nicht von einer ESTW-Bedienoberfl + ä + che bedient werden, sind durch eine entsprechende Bedieneinrichtung umstellbar. Weiterhin sind in der Bedieneinrichtung Tasten f + ü + r die Kommunikation zwischen + ö + zF und Bediener untergebracht. Im Objekt Bedien_Einrichtung_Oertlich wird die physische Ausbildung der Bedieneinrichtung abgebildet. Die dazugeh + ö + rigen Melder, Schalter und Taster sind im Objekt Bedien Anzeige Element modelliert. Die logischen Funktionen einer Bedieneinrichtung f + ü + r Nahstellbereiche und Bahn + ü + berg + ä + nge befinden sich in den Objekten + „ + BUE Bedien Anzeige Element + “ + oder + „ + NB Bedien Anzeige Element + “ + . Die Bedien_Einrichtung_Oertlich kommt zur Anwendung bei: Nahstellbereichen, Bahn + ü + berg + ä + ngen (HET, UT, etc.), Schl + ü + sselschaltern- und Tastern (Zustimmung, Gleisfreimeldung, Zugschlussmeldung, etc.), ZP 10/9-Bediens + ä + ulen, + ö + rtlicher Abgabe von Zugschlussmeldungen und Bedieneinrichtungen an Schnittstellen zum Zugleitbetrieb. Bedieneinrichtungen von elektrisch ortsgestellten Weichen (EOW) werden mit diesem Objekt nicht modelliert. + Bezeichnung -- Attributgruppe zur Bezeichnung von Stell- und sonstigen Elementen. Sofern ausreichend, wird an dieser Stelle + ü + ber Vererbung die Basisattributgruppe Bezeichnung Element eingebunden. Ist die Abbildung mit den Attributen der Basisattributgruppe nicht m + ö + glich (z. B. wegen spezieller Patternvorgabe) oder nicht sinnvoll (z. B. weil eine Unterscheidung nach Bezeichnung_Lageplan_..., Bezeichnung_Tabelle und Bezeichnung_Aussenanlage (Pflichtattribute!) nicht notwendig ist), werden in der Attributgruppe Bezeichnung entsprechende objektspezifische Bezeichnungsattribute modelliert. Diese sind nach dem Schema Bezeichnung_[Objektname] zu benennen. Zudem ist es m + ö + glich, gleichzeitig die Basisattributgruppe Bezeichnung Element und objektspezifische Attribute einzubinden. Siehe auch Bildung der Bezeichnungen. DB-Regelwerk Sicherungstechnischer Lage- und + Ü + bersichtsplan, B + Ü + -Lageplan Planungstabellen + ID_Anhang_Benutzeroberflaeche -- Anhang zur Darstellung der Benutzeroberflaeche der Bedieneinrichtung. Beispielsweise kann eine Skizze f + ü + r eine Gleisbilddarstellung oder die Anordnung der Schalter und Tasten beigef + ü + gt werden. + ID_Aussenelementansteuerung -- Verweis auf die Au + ß + enelementansteuerung, von der die + ö + rtliche Bedieneinrichtung angesteuert wird. + ID_Unterbringung -- Verweis auf den physischen Ort der Unterbringung von Aussenelementansteuerung, Bedien Einrichtung Oertlich, Bedien Platz, ESTW Zentraleinheit, PZB Element, Schlosskombination, Schluesselsperre und ZN. F + ü + r das PZB Element wird der Verweis nur f + ü + r eine G + Ü + gef + ü + llt - mit der Bedeutung: G + Ü + -Schaltkasten. F + ü + r die ZN ist der Verweis optional, da im Planungswerkzeug ZN/ZL keine Bef + ü + llung aller der f + ü + r die Unterbringung notwendigen Attribute m + ö + glich ist. DB-Regelwerk Darstellung des Geb + ä + udes, der Bediens + ä + ule bzw. des Schaltkastens im sicherungstechnischen Lageplan nach Ril 819.9002 oder Beschreibung im Erl + ä + uterungsbericht. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasis_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, Bedien_Einricht_Oertlich_Allg=None, Bezeichnung=None, ID_Anhang_Benutzeroberflaeche=None, ID_Aussenelementansteuerung=None, ID_Unterbringung=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CBedien_Einrichtung_Oertlich"), self).__init__(Identitaet, Basis_Objekt_Allg, ID_Bearbeitungsvermerk, ID_Oertlichkeit_Ausgabe, Objektreferenzen, **kwargs_) + self.Bedien_Einricht_Oertlich_Allg = Bedien_Einricht_Oertlich_Allg + self.Bedien_Einricht_Oertlich_Allg_nsprefix_ = None + self.Bezeichnung = Bezeichnung + self.Bezeichnung_nsprefix_ = None + self.ID_Anhang_Benutzeroberflaeche = ID_Anhang_Benutzeroberflaeche + self.ID_Anhang_Benutzeroberflaeche_nsprefix_ = None + self.ID_Aussenelementansteuerung = ID_Aussenelementansteuerung + self.ID_Aussenelementansteuerung_nsprefix_ = None + self.ID_Unterbringung = ID_Unterbringung + self.ID_Unterbringung_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CBedien_Einrichtung_Oertlich) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CBedien_Einrichtung_Oertlich.subclass: + return CBedien_Einrichtung_Oertlich.subclass(*args_, **kwargs_) + else: + return CBedien_Einrichtung_Oertlich(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Bedien_Einricht_Oertlich_Allg(self): + return self.Bedien_Einricht_Oertlich_Allg + def set_Bedien_Einricht_Oertlich_Allg(self, Bedien_Einricht_Oertlich_Allg): + self.Bedien_Einricht_Oertlich_Allg = Bedien_Einricht_Oertlich_Allg + def get_Bezeichnung(self): + return self.Bezeichnung + def set_Bezeichnung(self, Bezeichnung): + self.Bezeichnung = Bezeichnung + def get_ID_Anhang_Benutzeroberflaeche(self): + return self.ID_Anhang_Benutzeroberflaeche + def set_ID_Anhang_Benutzeroberflaeche(self, ID_Anhang_Benutzeroberflaeche): + self.ID_Anhang_Benutzeroberflaeche = ID_Anhang_Benutzeroberflaeche + def get_ID_Aussenelementansteuerung(self): + return self.ID_Aussenelementansteuerung + def set_ID_Aussenelementansteuerung(self, ID_Aussenelementansteuerung): + self.ID_Aussenelementansteuerung = ID_Aussenelementansteuerung + def get_ID_Unterbringung(self): + return self.ID_Unterbringung + def set_ID_Unterbringung(self, ID_Unterbringung): + self.ID_Unterbringung = ID_Unterbringung + def has__content(self): + if ( + self.Bedien_Einricht_Oertlich_Allg is not None or + self.Bezeichnung is not None or + self.ID_Anhang_Benutzeroberflaeche is not None or + self.ID_Aussenelementansteuerung is not None or + self.ID_Unterbringung is not None or + super(CBedien_Einrichtung_Oertlich, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBedienung:', namespacedef_='xmlns:nsBedienung="http://www.plan-pro.org/modell/Bedienung/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CBedien_Einrichtung_Oertlich', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CBedien_Einrichtung_Oertlich') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CBedien_Einrichtung_Oertlich': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CBedien_Einrichtung_Oertlich') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CBedien_Einrichtung_Oertlich', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBedienung:', name_='CBedien_Einrichtung_Oertlich'): + super(CBedien_Einrichtung_Oertlich, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CBedien_Einrichtung_Oertlich') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBedienung:', namespacedef_='xmlns:nsBedienung="http://www.plan-pro.org/modell/Bedienung/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CBedien_Einrichtung_Oertlich', fromsubclass_=False, pretty_print=True): + super(CBedien_Einrichtung_Oertlich, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Bedien_Einricht_Oertlich_Allg is not None: + namespaceprefix_ = self.Bedien_Einricht_Oertlich_Allg_nsprefix_ + ':' if (UseCapturedNS_ and self.Bedien_Einricht_Oertlich_Allg_nsprefix_) else '' + self.Bedien_Einricht_Oertlich_Allg.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Bedien_Einricht_Oertlich_Allg', pretty_print=pretty_print) + if self.Bezeichnung is not None: + namespaceprefix_ = self.Bezeichnung_nsprefix_ + ':' if (UseCapturedNS_ and self.Bezeichnung_nsprefix_) else '' + self.Bezeichnung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Bezeichnung', pretty_print=pretty_print) + if self.ID_Anhang_Benutzeroberflaeche is not None: + namespaceprefix_ = self.ID_Anhang_Benutzeroberflaeche_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Anhang_Benutzeroberflaeche_nsprefix_) else '' + self.ID_Anhang_Benutzeroberflaeche.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Anhang_Benutzeroberflaeche', pretty_print=pretty_print) + if self.ID_Aussenelementansteuerung is not None: + namespaceprefix_ = self.ID_Aussenelementansteuerung_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Aussenelementansteuerung_nsprefix_) else '' + self.ID_Aussenelementansteuerung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Aussenelementansteuerung', pretty_print=pretty_print) + if self.ID_Unterbringung is not None: + namespaceprefix_ = self.ID_Unterbringung_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Unterbringung_nsprefix_) else '' + self.ID_Unterbringung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Unterbringung', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CBedien_Einrichtung_Oertlich, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Bedien_Einricht_Oertlich_Allg': + obj_ = CBedien_Einricht_Oertlich_Allg.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Bedien_Einricht_Oertlich_Allg = obj_ + obj_.original_tagname_ = 'Bedien_Einricht_Oertlich_Allg' + elif nodeName_ == 'Bezeichnung': + obj_ = CBedien_Einrichtung_Oertlich_Bezeichnung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Bezeichnung = obj_ + obj_.original_tagname_ = 'Bezeichnung' + elif nodeName_ == 'ID_Anhang_Benutzeroberflaeche': + obj_ = TCID_Anhang.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Anhang_Benutzeroberflaeche = obj_ + obj_.original_tagname_ = 'ID_Anhang_Benutzeroberflaeche' + elif nodeName_ == 'ID_Aussenelementansteuerung': + obj_ = TCID_Aussenelementansteuerung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Aussenelementansteuerung = obj_ + obj_.original_tagname_ = 'ID_Aussenelementansteuerung' + elif nodeName_ == 'ID_Unterbringung': + obj_ = TCID_Unterbringung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Unterbringung = obj_ + obj_.original_tagname_ = 'ID_Unterbringung' + super(CBedien_Einrichtung_Oertlich, self)._buildChildren(child_, node, nodeName_, True) +# end class CBedien_Einrichtung_Oertlich + + +class TCDD_Wert(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCDD_Wert"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TDD_Wert(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCDD_Wert) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCDD_Wert.subclass: + return TCDD_Wert.subclass(*args_, **kwargs_) + else: + return TCDD_Wert(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TDD_Wert(self, value): + result = True + # Validate type TDD_Wert, a restriction on xs:integer. + 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_TDD_Wert_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TDD_Wert_patterns_, )) + result = False + return result + validate_TDD_Wert_patterns_ = [['^([1-9]|10)$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCDD_Wert, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBedienung:', namespacedef_='xmlns:nsBedienung="http://www.plan-pro.org/modell/Bedienung/1.10.0"', name_='TCDD_Wert', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCDD_Wert') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCDD_Wert': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCDD_Wert') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCDD_Wert', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBedienung:', name_='TCDD_Wert'): + super(TCDD_Wert, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCDD_Wert') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBedienung:', namespacedef_='xmlns:nsBedienung="http://www.plan-pro.org/modell/Bedienung/1.10.0"', name_='TCDD_Wert', fromsubclass_=False, pretty_print=True): + super(TCDD_Wert, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_integer(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCDD_Wert, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + ival_ = self.gds_parse_integer(sval_, node, 'Wert') + ival_ = self.gds_validate_integer(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + # validate type TDD_Wert + self.validate_TDD_Wert(self.Wert) + super(TCDD_Wert, self)._buildChildren(child_, node, nodeName_, True) +# end class TCDD_Wert + + +class TCX_Wert(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCX_Wert"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMX_Wert(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCX_Wert) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCX_Wert.subclass: + return TCX_Wert.subclass(*args_, **kwargs_) + else: + return TCX_Wert(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMX_Wert(self, value): + result = True + # Validate type ENUMX_Wert, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['0', '1', '5', '8', '11', '12', '13', '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 ENUMX_Wert' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCX_Wert, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBedienung:', namespacedef_='xmlns:nsBedienung="http://www.plan-pro.org/modell/Bedienung/1.10.0"', name_='TCX_Wert', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCX_Wert') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCX_Wert': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCX_Wert') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCX_Wert', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBedienung:', name_='TCX_Wert'): + super(TCX_Wert, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCX_Wert') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBedienung:', namespacedef_='xmlns:nsBedienung="http://www.plan-pro.org/modell/Bedienung/1.10.0"', name_='TCX_Wert', fromsubclass_=False, pretty_print=True): + super(TCX_Wert, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCX_Wert, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMX_Wert + self.validate_ENUMX_Wert(self.Wert) + super(TCX_Wert, self)._buildChildren(child_, node, nodeName_, True) +# end class TCX_Wert + + +class TCBez_Bed_Anrueckabschnitt(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCBez_Bed_Anrueckabschnitt"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TBez_Bed_Anrueckabschnitt(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCBez_Bed_Anrueckabschnitt) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCBez_Bed_Anrueckabschnitt.subclass: + return TCBez_Bed_Anrueckabschnitt.subclass(*args_, **kwargs_) + else: + return TCBez_Bed_Anrueckabschnitt(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TBez_Bed_Anrueckabschnitt(self, value): + result = True + # Validate type TBez_Bed_Anrueckabschnitt, a restriction on nsBasisTypen:TZeichenkette. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TBez_Bed_Anrueckabschnitt_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TBez_Bed_Anrueckabschnitt_patterns_, )) + result = False + return result + validate_TBez_Bed_Anrueckabschnitt_patterns_ = [['^([a-zA-Z_0-9]{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCBez_Bed_Anrueckabschnitt, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBedienung:', namespacedef_='xmlns:nsBedienung="http://www.plan-pro.org/modell/Bedienung/1.10.0"', name_='TCBez_Bed_Anrueckabschnitt', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCBez_Bed_Anrueckabschnitt') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCBez_Bed_Anrueckabschnitt': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBez_Bed_Anrueckabschnitt') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCBez_Bed_Anrueckabschnitt', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBedienung:', name_='TCBez_Bed_Anrueckabschnitt'): + super(TCBez_Bed_Anrueckabschnitt, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBez_Bed_Anrueckabschnitt') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBedienung:', namespacedef_='xmlns:nsBedienung="http://www.plan-pro.org/modell/Bedienung/1.10.0"', name_='TCBez_Bed_Anrueckabschnitt', fromsubclass_=False, pretty_print=True): + super(TCBez_Bed_Anrueckabschnitt, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCBez_Bed_Anrueckabschnitt, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TBez_Bed_Anrueckabschnitt + self.validate_TBez_Bed_Anrueckabschnitt(self.Wert) + super(TCBez_Bed_Anrueckabschnitt, self)._buildChildren(child_, node, nodeName_, True) +# end class TCBez_Bed_Anrueckabschnitt + + +class TCVorschauzeit(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCVorschauzeit"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TVorschauzeit(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCVorschauzeit) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCVorschauzeit.subclass: + return TCVorschauzeit.subclass(*args_, **kwargs_) + else: + return TCVorschauzeit(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TVorschauzeit(self, value): + result = True + # Validate type TVorschauzeit, a restriction on nsBasisTypen:TSekunde. + 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 not self.gds_validate_simple_patterns( + self.validate_TVorschauzeit_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TVorschauzeit_patterns_, )) + result = False + return result + validate_TVorschauzeit_patterns_ = [['^([0-9]{1,5}(\\.[0-9]{2})?)$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCVorschauzeit, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBedienung:', namespacedef_='xmlns:nsBedienung="http://www.plan-pro.org/modell/Bedienung/1.10.0"', name_='TCVorschauzeit', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCVorschauzeit') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCVorschauzeit': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCVorschauzeit') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCVorschauzeit', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBedienung:', name_='TCVorschauzeit'): + super(TCVorschauzeit, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCVorschauzeit') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBedienung:', namespacedef_='xmlns:nsBedienung="http://www.plan-pro.org/modell/Bedienung/1.10.0"', name_='TCVorschauzeit', fromsubclass_=False, pretty_print=True): + super(TCVorschauzeit, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_decimal(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCVorschauzeit, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + fval_ = self.gds_parse_decimal(sval_, node, 'Wert') + fval_ = self.gds_validate_decimal(fval_, node, 'Wert') + self.Wert = fval_ + self.Wert_nsprefix_ = child_.prefix + # validate type TVorschauzeit + self.validate_TVorschauzeit(self.Wert) + super(TCVorschauzeit, self)._buildChildren(child_, node, nodeName_, True) +# end class TCVorschauzeit + + +class TCOberflaeche_Bildart(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCOberflaeche_Bildart"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMOberflaeche_Bildart(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCOberflaeche_Bildart) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCOberflaeche_Bildart.subclass: + return TCOberflaeche_Bildart.subclass(*args_, **kwargs_) + else: + return TCOberflaeche_Bildart(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMOberflaeche_Bildart(self, value): + result = True + # Validate type ENUMOberflaeche_Bildart, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['BERUE', 'Lupe', 'sonstige'] + 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 ENUMOberflaeche_Bildart' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCOberflaeche_Bildart, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBedienung:', namespacedef_='xmlns:nsBedienung="http://www.plan-pro.org/modell/Bedienung/1.10.0"', name_='TCOberflaeche_Bildart', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCOberflaeche_Bildart') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCOberflaeche_Bildart': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCOberflaeche_Bildart') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCOberflaeche_Bildart', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBedienung:', name_='TCOberflaeche_Bildart'): + super(TCOberflaeche_Bildart, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCOberflaeche_Bildart') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBedienung:', namespacedef_='xmlns:nsBedienung="http://www.plan-pro.org/modell/Bedienung/1.10.0"', name_='TCOberflaeche_Bildart', fromsubclass_=False, pretty_print=True): + super(TCOberflaeche_Bildart, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCOberflaeche_Bildart, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMOberflaeche_Bildart + self.validate_ENUMOberflaeche_Bildart(self.Wert) + super(TCOberflaeche_Bildart, self)._buildChildren(child_, node, nodeName_, True) +# end class TCOberflaeche_Bildart + + +class CBedien_Bezirk(CBasis_Objekt): + """CBedien_Bezirk -- Bedienung von mehreren ESTW-Zentraleinheiten. Das Objekt Bedien_Bezirk erm + ö + glicht den Anschluss mehrerer ESTW-Zentraleinheiten an einen Bedien_Bezirk z. B. in einer Bedien_Zentrale. F + ü + r einen Bedien_Bezirk gibt es zwei Modellierungen / Auspr + ä + gungen. 1.) Reell in einer Bedien_Zentrale, Regio-BZ oder sonstigem Technikstandort errichteter Bedien_Bezirk mit angeschalteten ESTW_Zentraleinheiten (mindestens einer) ==\u0026gt; zentraler Bedien_Bezirk 2.) Geplante, auf die Streckeninfrastruktur bezogene, logische Zusammenfassung von betrieblich und geographisch zusammenh + ä + ngenden Strecken. ==\u0026gt; virtueller Bedien_Bezirk Beispiele: Siehe auch Anlage Media:Bedien Bezirk Typ.pdf 1.) Zentraler Bedien_Bezirk Das Konzept der zentralen Betriebsf + ü + hrung sieht vor, die Bedienung hochwertiger Strecken von ESTW, durch Bedien_Zentralen (Betriebszentralen) zu b + ü + ndeln. Besonderheit dabei ist, dass in den Bedien_Zentralen selbst keine ESTW_Zentraleinheiten aus Verf + ü + gbarkeitsgr + ü + nden aufgebaut werden d + ü + rfen. Das hei + ß + t, in den Betriebszentralen sind keine ESTW_Zentraleinheiten sondern nur Bedien_Pl + ä + tze und Bedien_Bezirke errichtet. Diese Bedien_Bezirke, die die Bedienung hochwertiger Strecken b + ü + ndeln, sind + „ + zentrale Bedien_Bezirke + “ + . Die Einschr + ä + nkung, ESTW_Zentraleinheiten nicht im selben Geb + ä + ude wie ESTW_Bedien_Bezirke aufzubauen, gilt nicht f + ü + r eine Regio-BZ oder sonstige Technikstandorte. Auch im Regionalnetz werden ESTW_Zentraleinheiten errichtet. Bisher sind diese + ö + rtlich besetzt. Unter anderem ist geplant bzw. in Realisierung, die Geb + ä + ude in denen bereits eine Regio-ESTW_Zentraleinheit errichtet ist, eine weitere Regio-ESTW_Zentraleinheit einzubauen. Um auch hier Redundanzen und Synergien nutzen zu k + ö + nnen, ist geplant auch hier einen Bedien_Bezirk + ü + ber die ESTW_Zentraleinheiten zu installieren. Der entscheidende Unterschied zur Bedienzentrale ist hier, dass Bedien_Bezirk und ESTW_Zentraleinheit in einem Geb + ä + ude untergebracht sind. Da Strecken sowohl das Regionalnetz und das Fern- und Ballungsnetz durchlaufen k + ö + nnen, m + ü + ssen die Kennzahlenplanungen ebenfalls Netzart + ü + bergreifend sein. Siehe auch Attribut + „ + Kennzahl + “ + . 2.) Virtueller Bedienbezirk Als Zweites ist die Option des virtuellen Bedien_Bezirks zu modellieren. Da ein Bedien_Bezirk ja nicht von Heute auf Morgen in ESTW-Technik da steht, m + ü + ssen + Ü + bergangsregelungen geschaffen werden. Auch wenn Stellwerke in einem Bedien_Bezirk (noch) nicht in ESTW-Technik realisiert sind oder die Zuordnung zum Regionalnetz oder Fern- und Ballungsnetz noch offen ist gilt: Die Stw sind einem Bedien_Bezirk zuzuordnen um jegliche sp + ä + tere Realisierungsform zu erm + ö + glichen und so auch die Kennzahlenvergabe sicher zu gestalten. Siehe auch Attribut + „ + Kennzahl + “ + . Am Beispiel der Bedien_Bezirke 08 und 11 in der BZ Hannover sieht man, dass auch Stellwerke, die (noch) nicht an einen Bedien_Bezirk angebunden sind, eine Zuordnung erfahren m + ü + ssen. Alle Stellwerke (HORX, HK, Sarstedt und Barnten) liegen in einem betrieblich zusammenh + ä + ngenden Bezirk. N + ä + mlich auf den Nord-S + ü + d Strecken von Hannover Richtung G + ö + ttingen. Die Stellwerke HK, Sarstedt und Barnten sogar auf derselben Strecke 1732. Aktuell sind die Stellwerke Sarstedt und Barnten noch nicht an einen Bedien_Bezirk angebunden. In den Planungen und betrieblichen Vorgaben des Regionalbereichs aber f + ü + r eine Zuordnung zum Bedien_Bezirk 11 vorgesehen. Daher muss schon jetzt der Bedienbezirk den Stw zugeordnet werden k + ö + nnen, auch wenn sie ggf. trotz ESTW-Aufbau, + ö + rtlich besetzt werden. Durch die Darstellung in dem Verweis + „ + zentral + “ + oder + „ + virtuell + “ + l + ä + sst sich die aktuelle und geplante Anbindung darstellen. Im Verst + ä + ndnis der Betriebszentralen entspricht das Objekt Bedien_Bezirk dem Steuerbezirk. Das Objekt kann im LST-Datenmodell jedoch auch als virtueller Bedien_Bezirk vorkommen. Jeder ESTW-Zentraleinheit wird auch ein Bedien_Bezirk zugeordnet. In der Regel der, der in der Kennzahlenplanung vorgesehen ist. Also auch dann, wenn physisch kein Bedienbezirk (Steuerbezirk) oder eine vergleichbare Einheit vorhanden ist (z. B. Regionale Bedienzentrale mit nur einer ESTW-Zentraleinheit), aber bestimmte Eigenschaften mehrerer gemeinsam gesteuerter ESTW-Zentraleinheiten + ü + bergreifend geplant werden m + ü + ssen (z.B. Richtungssinn und Kennzahlen). Gem + ä + ß + Richtlinie 819.0603 m + ü + ssen Kennzahlen und Betriebsstellenbezeichner im Steuerbezirk und an seinen Grenzen eindeutig (einmalig) sein. Diese Regel kann nicht + ü + ber das Modell abgebildet werden, sondern muss in der Plausibilit + ä + ts- und Zul + ä + ssigkeitspr + ü + fung (PlaZ) abgefangen werden. Die Vorgabe f + ü + r den Richtungssinn bezieht sich immer auf einen kompletten Steuerbezirk. Sie ist jedoch als Eigenschaft der Bedienoberfl + ä + che modelliert. Gegebenenfalls m + ü + ssen hier Zul + ä + ssigkeitspr + ü + fungen ablaufen. Im Bedienbezirk werden au + ß + erdem die Angaben f + ü + r die Datenkommunikation mit den zugeordneten ESTW-Zentraleinheiten geplant. Die Werte A, B und C werden nach Ril 819.0705A01 von der DB Netz festgelegt. Der Ansprechpartner findet sich in der Ril. Alle weiteren Werte lassen sich anhand dieser Unterlage bestimmen. Siehe Anlage Media:ipadr namensv ib1.pdf DB-Regelwerk 819.0603 819.0705A01 + ID_Bedien_Zentrale -- Verweis vom Bedienbezirk auf die Bedienzentrale. Der Verweis ist auch f + ü + r virtuelle Bedienbezirke zu f + ü + llen. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasis_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, Bedien_Bezirk_Adressformel=None, Bedien_Bezirk_Allg=None, Bedien_Bezirk_Anhaenge=None, ID_Bedien_Zentrale=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CBedien_Bezirk"), self).__init__(Identitaet, Basis_Objekt_Allg, ID_Bearbeitungsvermerk, ID_Oertlichkeit_Ausgabe, Objektreferenzen, **kwargs_) + self.Bedien_Bezirk_Adressformel = Bedien_Bezirk_Adressformel + self.Bedien_Bezirk_Adressformel_nsprefix_ = None + self.Bedien_Bezirk_Allg = Bedien_Bezirk_Allg + self.Bedien_Bezirk_Allg_nsprefix_ = None + self.Bedien_Bezirk_Anhaenge = Bedien_Bezirk_Anhaenge + self.Bedien_Bezirk_Anhaenge_nsprefix_ = None + self.ID_Bedien_Zentrale = ID_Bedien_Zentrale + self.ID_Bedien_Zentrale_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CBedien_Bezirk) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CBedien_Bezirk.subclass: + return CBedien_Bezirk.subclass(*args_, **kwargs_) + else: + return CBedien_Bezirk(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Bedien_Bezirk_Adressformel(self): + return self.Bedien_Bezirk_Adressformel + def set_Bedien_Bezirk_Adressformel(self, Bedien_Bezirk_Adressformel): + self.Bedien_Bezirk_Adressformel = Bedien_Bezirk_Adressformel + def get_Bedien_Bezirk_Allg(self): + return self.Bedien_Bezirk_Allg + def set_Bedien_Bezirk_Allg(self, Bedien_Bezirk_Allg): + self.Bedien_Bezirk_Allg = Bedien_Bezirk_Allg + def get_Bedien_Bezirk_Anhaenge(self): + return self.Bedien_Bezirk_Anhaenge + def set_Bedien_Bezirk_Anhaenge(self, Bedien_Bezirk_Anhaenge): + self.Bedien_Bezirk_Anhaenge = Bedien_Bezirk_Anhaenge + def get_ID_Bedien_Zentrale(self): + return self.ID_Bedien_Zentrale + def set_ID_Bedien_Zentrale(self, ID_Bedien_Zentrale): + self.ID_Bedien_Zentrale = ID_Bedien_Zentrale + def has__content(self): + if ( + self.Bedien_Bezirk_Adressformel is not None or + self.Bedien_Bezirk_Allg is not None or + self.Bedien_Bezirk_Anhaenge is not None or + self.ID_Bedien_Zentrale is not None or + super(CBedien_Bezirk, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBedienung:', namespacedef_='xmlns:nsBedienung="http://www.plan-pro.org/modell/Bedienung/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CBedien_Bezirk', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CBedien_Bezirk') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CBedien_Bezirk': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CBedien_Bezirk') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CBedien_Bezirk', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBedienung:', name_='CBedien_Bezirk'): + super(CBedien_Bezirk, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CBedien_Bezirk') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBedienung:', namespacedef_='xmlns:nsBedienung="http://www.plan-pro.org/modell/Bedienung/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CBedien_Bezirk', fromsubclass_=False, pretty_print=True): + super(CBedien_Bezirk, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Bedien_Bezirk_Adressformel is not None: + namespaceprefix_ = self.Bedien_Bezirk_Adressformel_nsprefix_ + ':' if (UseCapturedNS_ and self.Bedien_Bezirk_Adressformel_nsprefix_) else '' + self.Bedien_Bezirk_Adressformel.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Bedien_Bezirk_Adressformel', pretty_print=pretty_print) + if self.Bedien_Bezirk_Allg is not None: + namespaceprefix_ = self.Bedien_Bezirk_Allg_nsprefix_ + ':' if (UseCapturedNS_ and self.Bedien_Bezirk_Allg_nsprefix_) else '' + self.Bedien_Bezirk_Allg.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Bedien_Bezirk_Allg', pretty_print=pretty_print) + if self.Bedien_Bezirk_Anhaenge is not None: + namespaceprefix_ = self.Bedien_Bezirk_Anhaenge_nsprefix_ + ':' if (UseCapturedNS_ and self.Bedien_Bezirk_Anhaenge_nsprefix_) else '' + self.Bedien_Bezirk_Anhaenge.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Bedien_Bezirk_Anhaenge', pretty_print=pretty_print) + if self.ID_Bedien_Zentrale is not None: + namespaceprefix_ = self.ID_Bedien_Zentrale_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bedien_Zentrale_nsprefix_) else '' + self.ID_Bedien_Zentrale.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bedien_Zentrale', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CBedien_Bezirk, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Bedien_Bezirk_Adressformel': + obj_ = CBedien_Bezirk_Adressformel.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Bedien_Bezirk_Adressformel = obj_ + obj_.original_tagname_ = 'Bedien_Bezirk_Adressformel' + elif nodeName_ == 'Bedien_Bezirk_Allg': + obj_ = CBedien_Bezirk_Allg.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Bedien_Bezirk_Allg = obj_ + obj_.original_tagname_ = 'Bedien_Bezirk_Allg' + elif nodeName_ == 'Bedien_Bezirk_Anhaenge': + obj_ = CBedien_Bezirk_Anhaenge.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Bedien_Bezirk_Anhaenge = obj_ + obj_.original_tagname_ = 'Bedien_Bezirk_Anhaenge' + elif nodeName_ == 'ID_Bedien_Zentrale': + obj_ = TCID_Bedien_Zentrale.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bedien_Zentrale = obj_ + obj_.original_tagname_ = 'ID_Bedien_Zentrale' + super(CBedien_Bezirk, self)._buildChildren(child_, node, nodeName_, True) +# end class CBedien_Bezirk + + +class TCSteuerbezirksnummer(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCSteuerbezirksnummer"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TSteuerbezirksnummer(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCSteuerbezirksnummer) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCSteuerbezirksnummer.subclass: + return TCSteuerbezirksnummer.subclass(*args_, **kwargs_) + else: + return TCSteuerbezirksnummer(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TSteuerbezirksnummer(self, value): + result = True + # Validate type TSteuerbezirksnummer, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TSteuerbezirksnummer_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TSteuerbezirksnummer_patterns_, )) + result = False + return result + validate_TSteuerbezirksnummer_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCSteuerbezirksnummer, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBedienung:', namespacedef_='xmlns:nsBedienung="http://www.plan-pro.org/modell/Bedienung/1.10.0"', name_='TCSteuerbezirksnummer', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCSteuerbezirksnummer') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCSteuerbezirksnummer': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCSteuerbezirksnummer') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCSteuerbezirksnummer', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBedienung:', name_='TCSteuerbezirksnummer'): + super(TCSteuerbezirksnummer, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCSteuerbezirksnummer') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBedienung:', namespacedef_='xmlns:nsBedienung="http://www.plan-pro.org/modell/Bedienung/1.10.0"', name_='TCSteuerbezirksnummer', fromsubclass_=False, pretty_print=True): + super(TCSteuerbezirksnummer, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCSteuerbezirksnummer, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TSteuerbezirksnummer + self.validate_TSteuerbezirksnummer(self.Wert) + super(TCSteuerbezirksnummer, self)._buildChildren(child_, node, nodeName_, True) +# end class TCSteuerbezirksnummer + + +class CBedien_Anrueckabschnitt_Bezeichnung(GeneratedsSuper): + """Bez_Bed_Anrueckabschnitt -- Bezeichnung des Bedien-Anr + ü + ckabschnitts. Wenn ein Bedien_Anrueckabschnitt nicht verlinkt werden kann (beispielsweise weil er au + ß + erhalb des zu bearbeitenden Planungsdatensatzes liegt), wird als Ersatz die Bezeichnung des Gleisabschnitts gef + ü + llt, dessen Belegung als Anr + ü + ckmeldung in der Bedienoberfl + ä + che gespiegelt werden soll. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Bez_Bed_Anrueckabschnitt=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Bez_Bed_Anrueckabschnitt = Bez_Bed_Anrueckabschnitt + self.Bez_Bed_Anrueckabschnitt_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CBedien_Anrueckabschnitt_Bezeichnung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CBedien_Anrueckabschnitt_Bezeichnung.subclass: + return CBedien_Anrueckabschnitt_Bezeichnung.subclass(*args_, **kwargs_) + else: + return CBedien_Anrueckabschnitt_Bezeichnung(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Bez_Bed_Anrueckabschnitt(self): + return self.Bez_Bed_Anrueckabschnitt + def set_Bez_Bed_Anrueckabschnitt(self, Bez_Bed_Anrueckabschnitt): + self.Bez_Bed_Anrueckabschnitt = Bez_Bed_Anrueckabschnitt + def has__content(self): + if ( + self.Bez_Bed_Anrueckabschnitt is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBedienung:', namespacedef_='xmlns:nsBedienung="http://www.plan-pro.org/modell/Bedienung/1.10.0"', name_='CBedien_Anrueckabschnitt_Bezeichnung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CBedien_Anrueckabschnitt_Bezeichnung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CBedien_Anrueckabschnitt_Bezeichnung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CBedien_Anrueckabschnitt_Bezeichnung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CBedien_Anrueckabschnitt_Bezeichnung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBedienung:', name_='CBedien_Anrueckabschnitt_Bezeichnung'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsBedienung:', namespacedef_='xmlns:nsBedienung="http://www.plan-pro.org/modell/Bedienung/1.10.0"', name_='CBedien_Anrueckabschnitt_Bezeichnung', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Bez_Bed_Anrueckabschnitt is not None: + namespaceprefix_ = self.Bez_Bed_Anrueckabschnitt_nsprefix_ + ':' if (UseCapturedNS_ and self.Bez_Bed_Anrueckabschnitt_nsprefix_) else '' + self.Bez_Bed_Anrueckabschnitt.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Bez_Bed_Anrueckabschnitt', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Bez_Bed_Anrueckabschnitt': + obj_ = TCBez_Bed_Anrueckabschnitt.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Bez_Bed_Anrueckabschnitt = obj_ + obj_.original_tagname_ = 'Bez_Bed_Anrueckabschnitt' +# end class CBedien_Anrueckabschnitt_Bezeichnung + + +class CBedien_Oberflaeche_Bild(CBasis_Objekt): + """CBedien_Oberflaeche_Bild -- Zusammenfassung der Eigenschaften, die sich jeweils nur auf ein Bild der Bedienoberfl + ä + che beziehen. Eigenschaften, die alle Bilder betreffen, sind unter Bedien Oberflaeche eingebunden. + ID_Bedien_Oberflaeche -- Zuordnung eines Bildes zur zugeh + ö + rigen Bedienoberfl + ä + che. Die verschiedenen Bedienoberfl + ä + chenbilder werden zu einem sogenannten \"Aufschaltbereich\" zusammengefasst. Dieser kann dann auf verschiedenen Bedienpl + ä + tze aufgeschaltet werden. Die Aufschaltung ist Stellwerksfunktion und wird im LST-Datenmodell nicht abgebildet. + ID_Oertlichkeit -- Verweis zur Ermittlung der Ril 100-Abk + ü + rzung f + ü + r die Bildbezeichnung nach der signifikanten Betriebsstelle des jeweiligen Bildes. Signifikant deshalb, weil von einer ESTW Zentraleinheit, die einer Ril 100 zugeordnet ist, mehrere Aussenelementansteuerungen bedient werden k + ö + nnen, die ggf. weitere Ril 100-Bezeichnungen haben. Siehe Beispiel Media:Lupen HBS1.pdf + Ü + ber die Lupe \"L_HBS1\", die zur ESTW-Zentraleinheit \"ESTW Braunschweig HBS\" geh + ö + rt, werden Aussenelementansteuerungen in den Bereichen der + Ö + rtlichkeiten \"HSMK\" und \"HBUH\" mit bedient. Die Lupe tr + ä + gt aber die Bezeichnung der signifikanten ESTW-Zentraleinheit ESTW Braunschweig. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasis_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, Bedien_Oberflaeche_Bild_Allg=None, ID_Bedien_Oberflaeche=None, ID_Oertlichkeit=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CBedien_Oberflaeche_Bild"), self).__init__(Identitaet, Basis_Objekt_Allg, ID_Bearbeitungsvermerk, ID_Oertlichkeit_Ausgabe, Objektreferenzen, **kwargs_) + self.Bedien_Oberflaeche_Bild_Allg = Bedien_Oberflaeche_Bild_Allg + self.Bedien_Oberflaeche_Bild_Allg_nsprefix_ = None + self.ID_Bedien_Oberflaeche = ID_Bedien_Oberflaeche + self.ID_Bedien_Oberflaeche_nsprefix_ = None + self.ID_Oertlichkeit = ID_Oertlichkeit + self.ID_Oertlichkeit_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CBedien_Oberflaeche_Bild) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CBedien_Oberflaeche_Bild.subclass: + return CBedien_Oberflaeche_Bild.subclass(*args_, **kwargs_) + else: + return CBedien_Oberflaeche_Bild(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Bedien_Oberflaeche_Bild_Allg(self): + return self.Bedien_Oberflaeche_Bild_Allg + def set_Bedien_Oberflaeche_Bild_Allg(self, Bedien_Oberflaeche_Bild_Allg): + self.Bedien_Oberflaeche_Bild_Allg = Bedien_Oberflaeche_Bild_Allg + def get_ID_Bedien_Oberflaeche(self): + return self.ID_Bedien_Oberflaeche + def set_ID_Bedien_Oberflaeche(self, ID_Bedien_Oberflaeche): + self.ID_Bedien_Oberflaeche = ID_Bedien_Oberflaeche + def get_ID_Oertlichkeit(self): + return self.ID_Oertlichkeit + def set_ID_Oertlichkeit(self, ID_Oertlichkeit): + self.ID_Oertlichkeit = ID_Oertlichkeit + def has__content(self): + if ( + self.Bedien_Oberflaeche_Bild_Allg is not None or + self.ID_Bedien_Oberflaeche is not None or + self.ID_Oertlichkeit is not None or + super(CBedien_Oberflaeche_Bild, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBedienung:', namespacedef_='xmlns:nsBedienung="http://www.plan-pro.org/modell/Bedienung/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CBedien_Oberflaeche_Bild', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CBedien_Oberflaeche_Bild') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CBedien_Oberflaeche_Bild': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CBedien_Oberflaeche_Bild') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CBedien_Oberflaeche_Bild', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBedienung:', name_='CBedien_Oberflaeche_Bild'): + super(CBedien_Oberflaeche_Bild, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CBedien_Oberflaeche_Bild') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBedienung:', namespacedef_='xmlns:nsBedienung="http://www.plan-pro.org/modell/Bedienung/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CBedien_Oberflaeche_Bild', fromsubclass_=False, pretty_print=True): + super(CBedien_Oberflaeche_Bild, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Bedien_Oberflaeche_Bild_Allg is not None: + namespaceprefix_ = self.Bedien_Oberflaeche_Bild_Allg_nsprefix_ + ':' if (UseCapturedNS_ and self.Bedien_Oberflaeche_Bild_Allg_nsprefix_) else '' + self.Bedien_Oberflaeche_Bild_Allg.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Bedien_Oberflaeche_Bild_Allg', pretty_print=pretty_print) + if self.ID_Bedien_Oberflaeche is not None: + namespaceprefix_ = self.ID_Bedien_Oberflaeche_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bedien_Oberflaeche_nsprefix_) else '' + self.ID_Bedien_Oberflaeche.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bedien_Oberflaeche', pretty_print=pretty_print) + if self.ID_Oertlichkeit is not None: + namespaceprefix_ = self.ID_Oertlichkeit_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Oertlichkeit_nsprefix_) else '' + self.ID_Oertlichkeit.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Oertlichkeit', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CBedien_Oberflaeche_Bild, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Bedien_Oberflaeche_Bild_Allg': + obj_ = CBedien_Oberflaeche_Bild_Allg.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Bedien_Oberflaeche_Bild_Allg = obj_ + obj_.original_tagname_ = 'Bedien_Oberflaeche_Bild_Allg' + elif nodeName_ == 'ID_Bedien_Oberflaeche': + obj_ = TCID_Bedien_Oberflaeche.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bedien_Oberflaeche = obj_ + obj_.original_tagname_ = 'ID_Bedien_Oberflaeche' + elif nodeName_ == 'ID_Oertlichkeit': + obj_ = TCID_Oertlichkeit_Proxy.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Oertlichkeit = obj_ + obj_.original_tagname_ = 'ID_Oertlichkeit' + super(CBedien_Oberflaeche_Bild, self)._buildChildren(child_, node, nodeName_, True) +# end class CBedien_Oberflaeche_Bild + + +class CBedien_Zentrale(CBasis_Objekt): + """CBedien_Zentrale -- Betriebsleitstelle eines EIU, aus der die Leit- und Sicherungstechnik von zentral gesteuerten ESTW planm + ä + ß + ig bedient wird. Die Betriebsleitstelle kann eine Betriebszentrale (BZ) der DB Netz oder auch eine zentrale Bedienstelle der Regionalnetze sein. Da die Bedien_Zentrale nicht notwendigerweise in der N + ä + he von Gleisen liegt, wird kein unmittelbarer Bezug zu einer Strecke hergestellt. Eine + Ö + rtlichkeit wird jedoch nach Ril 100 f + ü + r den Standort festgelegt. In der Bedien_Zentrale sind die spezifischen Anh + ä + nge dargestellt. Weitere Pl + ä + ne aus dem PT I BZ, wie beispielsweise Belegungspl + ä + ne f + ü + r Bodentanks, Kabel + ü + bersichtspl + ä + ne, Verteilerbelegungspl + ä + ne, Schrankpl + ä + ne, H + ö + heneinheiten und Patchfeldbelegungen in den Schr + ä + nken f + ü + r die BZ, werden als allgemeiner Anhang f + ü + r die vererbten Eigenschaften aus dem Basisobjekt (Attribut Anhang) im Objekt Bedien_Zentrale angeh + ä + ngt. + ID_Anhang_Plan_Bedienraum -- Raumplan der Bedienr + ä + ume als PDF-Anhang. Der Anhang beschreibt die Anordnung aller Bedienm + ö + bel einer Bedienzentrale in den Bedienr + ä + umen zueinander sowie deren Anschl + ü + sse f + ü + r elektrische Energie, Potentialausgleich und Daten. Der Ein- und Ausbau von Bedienpl + ä + tzen erfolgt in der + ü + blichen Rot/Gelb-Darstellung. Beispiel: Media:Plan Bedieneben BZH.pdf + ID_Anhang_Plan_Rechnerraum -- Raumplan der Rechnerr + ä + ume als PDF-Anhang. Der Anhang beschreibt die Anordnung aller Rechnerschr + ä + nke einer Bedienzentrale in den Rechnerr + ä + umen zueinander sowie deren Anschl + ü + sse f + ü + r elektrische Energie, Potentialausgleich und Daten. Der Ein- und Ausbau von Rechnerschr + ä + nken erfolgt in der + ü + blichen Rot/Gelb-Darstellung. Beispiel: Media:Plan Keller BZH.pdf + ID_Strecke -- Zuordnung einer Bedienzentrale zu einer Streckennummer. Bedienzentralen (Betriebszentralen) der DB Netz AG werden willk + ü + rlich einer Strecke zugeordnet, um den Anforderungen der Richtlinie 100 minimal zu gen + ü + gen. Diese Zuordnung ist auf die + „ + H + ü + lle + “ + der Zentrale bezogen, nicht auf die aus ihr gesteuerte Infrastruktur. + Bezeichnung -- Attributgruppe zur Bezeichnung von Stell- und sonstigen Elementen. Sofern ausreichend, wird an dieser Stelle + ü + ber Vererbung die Basisattributgruppe Bezeichnung Element eingebunden. Ist die Abbildung mit den Attributen der Basisattributgruppe nicht m + ö + glich (z. B. wegen spezieller Patternvorgabe) oder nicht sinnvoll (z. B. weil eine Unterscheidung nach Bezeichnung_Lageplan_..., Bezeichnung_Tabelle und Bezeichnung_Aussenanlage (Pflichtattribute!) nicht notwendig ist), werden in der Attributgruppe Bezeichnung entsprechende objektspezifische Bezeichnungsattribute modelliert. Diese sind nach dem Schema Bezeichnung_[Objektname] zu benennen. Zudem ist es m + ö + glich, gleichzeitig die Basisattributgruppe Bezeichnung Element und objektspezifische Attribute einzubinden. Siehe auch Bildung der Bezeichnungen. DB-Regelwerk Sicherungstechnischer Lage- und + Ü + bersichtsplan, B + Ü + -Lageplan Planungstabellen + ID_Oertlichkeit -- Verweis zur Ermittlung des Ril 100-Bezeichners bei Bedienzentralen ohne abweichenden Namen. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasis_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, ID_Anhang_Plan_Bedienraum=None, ID_Anhang_Plan_Rechnerraum=None, ID_Strecke=None, Bezeichnung=None, ID_Oertlichkeit=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CBedien_Zentrale"), self).__init__(Identitaet, Basis_Objekt_Allg, ID_Bearbeitungsvermerk, ID_Oertlichkeit_Ausgabe, Objektreferenzen, **kwargs_) + self.ID_Anhang_Plan_Bedienraum = ID_Anhang_Plan_Bedienraum + self.ID_Anhang_Plan_Bedienraum_nsprefix_ = None + self.ID_Anhang_Plan_Rechnerraum = ID_Anhang_Plan_Rechnerraum + self.ID_Anhang_Plan_Rechnerraum_nsprefix_ = None + self.ID_Strecke = ID_Strecke + self.ID_Strecke_nsprefix_ = None + self.Bezeichnung = Bezeichnung + self.Bezeichnung_nsprefix_ = None + self.ID_Oertlichkeit = ID_Oertlichkeit + self.ID_Oertlichkeit_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CBedien_Zentrale) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CBedien_Zentrale.subclass: + return CBedien_Zentrale.subclass(*args_, **kwargs_) + else: + return CBedien_Zentrale(*args_, **kwargs_) + factory = staticmethod(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_Anhang_Plan_Bedienraum(self): + return self.ID_Anhang_Plan_Bedienraum + def set_ID_Anhang_Plan_Bedienraum(self, ID_Anhang_Plan_Bedienraum): + self.ID_Anhang_Plan_Bedienraum = ID_Anhang_Plan_Bedienraum + def get_ID_Anhang_Plan_Rechnerraum(self): + return self.ID_Anhang_Plan_Rechnerraum + def set_ID_Anhang_Plan_Rechnerraum(self, ID_Anhang_Plan_Rechnerraum): + self.ID_Anhang_Plan_Rechnerraum = ID_Anhang_Plan_Rechnerraum + def get_ID_Strecke(self): + return self.ID_Strecke + def set_ID_Strecke(self, ID_Strecke): + self.ID_Strecke = ID_Strecke + def get_Bezeichnung(self): + return self.Bezeichnung + def set_Bezeichnung(self, Bezeichnung): + self.Bezeichnung = Bezeichnung + def get_ID_Oertlichkeit(self): + return self.ID_Oertlichkeit + def set_ID_Oertlichkeit(self, ID_Oertlichkeit): + self.ID_Oertlichkeit = ID_Oertlichkeit + def has__content(self): + if ( + self.ID_Anhang_Plan_Bedienraum is not None or + self.ID_Anhang_Plan_Rechnerraum is not None or + self.ID_Strecke is not None or + self.Bezeichnung is not None or + self.ID_Oertlichkeit is not None or + super(CBedien_Zentrale, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBedienung:', namespacedef_='xmlns:nsBedienung="http://www.plan-pro.org/modell/Bedienung/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CBedien_Zentrale', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CBedien_Zentrale') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CBedien_Zentrale': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CBedien_Zentrale') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CBedien_Zentrale', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBedienung:', name_='CBedien_Zentrale'): + super(CBedien_Zentrale, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CBedien_Zentrale') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBedienung:', namespacedef_='xmlns:nsBedienung="http://www.plan-pro.org/modell/Bedienung/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CBedien_Zentrale', fromsubclass_=False, pretty_print=True): + super(CBedien_Zentrale, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.ID_Anhang_Plan_Bedienraum is not None: + namespaceprefix_ = self.ID_Anhang_Plan_Bedienraum_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Anhang_Plan_Bedienraum_nsprefix_) else '' + self.ID_Anhang_Plan_Bedienraum.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Anhang_Plan_Bedienraum', pretty_print=pretty_print) + if self.ID_Anhang_Plan_Rechnerraum is not None: + namespaceprefix_ = self.ID_Anhang_Plan_Rechnerraum_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Anhang_Plan_Rechnerraum_nsprefix_) else '' + self.ID_Anhang_Plan_Rechnerraum.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Anhang_Plan_Rechnerraum', pretty_print=pretty_print) + if self.ID_Strecke is not None: + namespaceprefix_ = self.ID_Strecke_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Strecke_nsprefix_) else '' + self.ID_Strecke.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Strecke', pretty_print=pretty_print) + if self.Bezeichnung is not None: + namespaceprefix_ = self.Bezeichnung_nsprefix_ + ':' if (UseCapturedNS_ and self.Bezeichnung_nsprefix_) else '' + self.Bezeichnung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Bezeichnung', pretty_print=pretty_print) + if self.ID_Oertlichkeit is not None: + namespaceprefix_ = self.ID_Oertlichkeit_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Oertlichkeit_nsprefix_) else '' + self.ID_Oertlichkeit.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Oertlichkeit', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CBedien_Zentrale, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Anhang_Plan_Bedienraum': + obj_ = TCID_Anhang.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Anhang_Plan_Bedienraum = obj_ + obj_.original_tagname_ = 'ID_Anhang_Plan_Bedienraum' + elif nodeName_ == 'ID_Anhang_Plan_Rechnerraum': + obj_ = TCID_Anhang.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Anhang_Plan_Rechnerraum = obj_ + obj_.original_tagname_ = 'ID_Anhang_Plan_Rechnerraum' + elif nodeName_ == 'ID_Strecke': + obj_ = TCID_Strecke.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Strecke = obj_ + obj_.original_tagname_ = 'ID_Strecke' + elif nodeName_ == 'Bezeichnung': + obj_ = CBedien_Zentrale_Bezeichnung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Bezeichnung = obj_ + obj_.original_tagname_ = 'Bezeichnung' + elif nodeName_ == 'ID_Oertlichkeit': + obj_ = TCID_Oertlichkeit_Proxy.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Oertlichkeit = obj_ + obj_.original_tagname_ = 'ID_Oertlichkeit' + super(CBedien_Zentrale, self)._buildChildren(child_, node, nodeName_, True) +# end class CBedien_Zentrale + + +class TCY_Wert(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCY_Wert"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TY_Wert(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCY_Wert) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCY_Wert.subclass: + return TCY_Wert.subclass(*args_, **kwargs_) + else: + return TCY_Wert(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TY_Wert(self, value): + result = True + # Validate type TY_Wert, a restriction on xs:integer. + 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_TY_Wert_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TY_Wert_patterns_, )) + result = False + return result + validate_TY_Wert_patterns_ = [['^([1-9]|1[0-5])$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCY_Wert, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBedienung:', namespacedef_='xmlns:nsBedienung="http://www.plan-pro.org/modell/Bedienung/1.10.0"', name_='TCY_Wert', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCY_Wert') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCY_Wert': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCY_Wert') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCY_Wert', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBedienung:', name_='TCY_Wert'): + super(TCY_Wert, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCY_Wert') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBedienung:', namespacedef_='xmlns:nsBedienung="http://www.plan-pro.org/modell/Bedienung/1.10.0"', name_='TCY_Wert', fromsubclass_=False, pretty_print=True): + super(TCY_Wert, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_integer(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCY_Wert, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + ival_ = self.gds_parse_integer(sval_, node, 'Wert') + ival_ = self.gds_validate_integer(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + # validate type TY_Wert + self.validate_TY_Wert(self.Wert) + super(TCY_Wert, self)._buildChildren(child_, node, nodeName_, True) +# end class TCY_Wert + + +class TCBedienraumnummer(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCBedienraumnummer"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TBedienraumnummer(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCBedienraumnummer) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCBedienraumnummer.subclass: + return TCBedienraumnummer.subclass(*args_, **kwargs_) + else: + return TCBedienraumnummer(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TBedienraumnummer(self, value): + result = True + # Validate type TBedienraumnummer, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TBedienraumnummer_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TBedienraumnummer_patterns_, )) + result = False + return result + validate_TBedienraumnummer_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCBedienraumnummer, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBedienung:', namespacedef_='xmlns:nsBedienung="http://www.plan-pro.org/modell/Bedienung/1.10.0"', name_='TCBedienraumnummer', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCBedienraumnummer') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCBedienraumnummer': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBedienraumnummer') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCBedienraumnummer', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBedienung:', name_='TCBedienraumnummer'): + super(TCBedienraumnummer, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBedienraumnummer') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBedienung:', namespacedef_='xmlns:nsBedienung="http://www.plan-pro.org/modell/Bedienung/1.10.0"', name_='TCBedienraumnummer', fromsubclass_=False, pretty_print=True): + super(TCBedienraumnummer, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCBedienraumnummer, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TBedienraumnummer + self.validate_TBedienraumnummer(self.Wert) + super(TCBedienraumnummer, self)._buildChildren(child_, node, nodeName_, True) +# end class TCBedienraumnummer + + +class TCIP_Adressblock_Blau_V4(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCIP_Adressblock_Blau_V4"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TIP_Adressblock_Blau_V4(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCIP_Adressblock_Blau_V4) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCIP_Adressblock_Blau_V4.subclass: + return TCIP_Adressblock_Blau_V4.subclass(*args_, **kwargs_) + else: + return TCIP_Adressblock_Blau_V4(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TIP_Adressblock_Blau_V4(self, value): + result = True + # Validate type TIP_Adressblock_Blau_V4, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TIP_Adressblock_Blau_V4_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TIP_Adressblock_Blau_V4_patterns_, )) + result = False + return result + validate_TIP_Adressblock_Blau_V4_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCIP_Adressblock_Blau_V4, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBedienung:', namespacedef_='xmlns:nsBedienung="http://www.plan-pro.org/modell/Bedienung/1.10.0"', name_='TCIP_Adressblock_Blau_V4', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCIP_Adressblock_Blau_V4') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCIP_Adressblock_Blau_V4': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCIP_Adressblock_Blau_V4') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCIP_Adressblock_Blau_V4', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBedienung:', name_='TCIP_Adressblock_Blau_V4'): + super(TCIP_Adressblock_Blau_V4, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCIP_Adressblock_Blau_V4') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBedienung:', namespacedef_='xmlns:nsBedienung="http://www.plan-pro.org/modell/Bedienung/1.10.0"', name_='TCIP_Adressblock_Blau_V4', fromsubclass_=False, pretty_print=True): + super(TCIP_Adressblock_Blau_V4, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCIP_Adressblock_Blau_V4, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TIP_Adressblock_Blau_V4 + self.validate_TIP_Adressblock_Blau_V4(self.Wert) + super(TCIP_Adressblock_Blau_V4, self)._buildChildren(child_, node, nodeName_, True) +# end class TCIP_Adressblock_Blau_V4 + + +class TCBSO_Teilsystem_Art(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCBSO_Teilsystem_Art"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMBSO_Teilsystem_Art(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCBSO_Teilsystem_Art) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCBSO_Teilsystem_Art.subclass: + return TCBSO_Teilsystem_Art.subclass(*args_, **kwargs_) + else: + return TCBSO_Teilsystem_Art(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMBSO_Teilsystem_Art(self, value): + result = True + # Validate type ENUMBSO_Teilsystem_Art, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['iBS', 'Transfernetz Bedienung'] + 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 ENUMBSO_Teilsystem_Art' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCBSO_Teilsystem_Art, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBedienung:', namespacedef_='xmlns:nsBedienung="http://www.plan-pro.org/modell/Bedienung/1.10.0"', name_='TCBSO_Teilsystem_Art', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCBSO_Teilsystem_Art') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCBSO_Teilsystem_Art': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBSO_Teilsystem_Art') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCBSO_Teilsystem_Art', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBedienung:', name_='TCBSO_Teilsystem_Art'): + super(TCBSO_Teilsystem_Art, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBSO_Teilsystem_Art') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBedienung:', namespacedef_='xmlns:nsBedienung="http://www.plan-pro.org/modell/Bedienung/1.10.0"', name_='TCBSO_Teilsystem_Art', fromsubclass_=False, pretty_print=True): + super(TCBSO_Teilsystem_Art, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCBSO_Teilsystem_Art, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMBSO_Teilsystem_Art + self.validate_ENUMBSO_Teilsystem_Art(self.Wert) + super(TCBSO_Teilsystem_Art, self)._buildChildren(child_, node, nodeName_, True) +# end class TCBSO_Teilsystem_Art + + +class CBedien_Oertlichkeit_Kennzahlen(GeneratedsSuper): + """Betriebsstellenbezeichner -- Bezeichnung der Betriebsstellenbezeichner und somit der Ausfahrziele, die vom Nutzer vorzugeben ist. Da eine ESTW Zentraleinheit mehrere + Ö + rtlichkeiten bedienen kann (siehe Kennzahl), ist es m + ö + glich, dass eine Kennzahl unterschiedliche Betriebsstellen als Ausfahrziele anfahren kann. Daher muss hier der Betriebsstellenbezeichner extra erfasst werden. DB-Regelwerk 819.0603 Anhang 3 + Kennzahl -- Eindeutige Kennzahl der Sicherungstechnik bzw. operativen Leittechnik innerhalb eines Bedienbezirks f + ü + r eine Betriebsstelle. Die ESTW-Kennzahl kennzeichnet eine Betriebsstelle oder einen Betriebsstellenteil. Sie darf nicht mit der Bahnhofsnummer der Zugnummernmeldeanlage (Ril 819.0731) verwechselt werden. Die Kennzahl wird im Elementnamen verwendet. Zuteilung Eine Betriebsstelle kann mehrere Kennzahlen erhalten; vor allem dann, wenn es sich um eine Betriebsstelle mit vielen Elementen handelt. Durch den LST-Planer werden die Gebiete der Kennzahlen sinnvoll aufgeteilt. Eine weitere M + ö + glichkeit besteht darin, dass in einem Geb + ä + ude zwei ESTW-Zentraleinheiten untergebracht sind (Beispiel: Hannover Hbf mit den ESTW-Zentraleinheiten + „ + HH Kennzahl 06 + “ + und + „ + HHZX Kennzahl 30 + “ + ). Eine Kennzahl kann aber auch mehrere Betriebsstellen beinhalten, insbesondere bei Betriebsstellen mit wenigen Elementen. Dies kommt zur Anwendung, wenn eine ESTW-Zentraleinheit zwei + Ü + berleitstellen steuert (Beispiel: ESTW-Zentraleinheit Giften HGIF Kennzahl 71 mit + „ + Ü + st Giften HGIF + “ + und + „ + Ü + st Ritterkamp HRIT + “ + . In Stellbereichen von Bedienbezirken werden f + ü + r Betriebsstellen (z. B. Bahnh + ö + fe, Abzweigstellen, Anschlussstellen) Kennzahlen von 01 bis 99 vergeben. Diese Kennzahl muss im Bedienbezirk eindeutig sein. Eindeutigkeit der Kennzahlen bei angrenzenden Bedienbezirken entlang einer Strecke Innerhalb eines Bedienbezirks und f + ü + r benachbarte Betriebsstellen eines angrenzenden Bedienbezirks entlang einer Strecke darf eine Kennzahl nur einmal verwendet werden. Beispiel: Media:Bedien Oertlichkeit Kennzahl 131121.pdf F + ü + r alle im jeweiligen Bereich befindlichen Stellelemente der Betriebsstellen und Strecken wird die Kennzahl Bestandteil der ausf + ü + hrlichen Elementbezeichnung. Hierdurch er + ü + brigt sich in einem gr + ö + ß + eren Bereich der Infrastruktur die Mitf + ü + hrung eines Ortsbezeichners. Zentrale Vergabe von Kennzahlen auch ohne Anbindung an Bedien_Zentralen Unabnh + ä + ngig ob eine ESTW-Zentraleinheit aus einer Bedien_Zentrale gesteuert wird oder nur + ö + rtlich eingerichtet ist, soll die Kennzahlenvergabe zentral im Sinne einer m + ö + glichen Konzentration von ESTW-Zentraleinheiten in Bedienbezirken geplant und vergeben werden. DB-Regelwerk Kennzahltabelle oder Kennzaheln + ü + bersichtsplan im PT 1, 819.0603 2, 819.9001 1 (5). + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Betriebsstellenbezeichner=None, Kennzahl=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Betriebsstellenbezeichner = Betriebsstellenbezeichner + self.Betriebsstellenbezeichner_nsprefix_ = None + self.Kennzahl = Kennzahl + self.Kennzahl_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CBedien_Oertlichkeit_Kennzahlen) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CBedien_Oertlichkeit_Kennzahlen.subclass: + return CBedien_Oertlichkeit_Kennzahlen.subclass(*args_, **kwargs_) + else: + return CBedien_Oertlichkeit_Kennzahlen(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Betriebsstellenbezeichner(self): + return self.Betriebsstellenbezeichner + def set_Betriebsstellenbezeichner(self, Betriebsstellenbezeichner): + self.Betriebsstellenbezeichner = Betriebsstellenbezeichner + def get_Kennzahl(self): + return self.Kennzahl + def set_Kennzahl(self, Kennzahl): + self.Kennzahl = Kennzahl + def has__content(self): + if ( + self.Betriebsstellenbezeichner is not None or + self.Kennzahl is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBedienung:', namespacedef_='xmlns:nsBedienung="http://www.plan-pro.org/modell/Bedienung/1.10.0"', name_='CBedien_Oertlichkeit_Kennzahlen', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CBedien_Oertlichkeit_Kennzahlen') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CBedien_Oertlichkeit_Kennzahlen': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CBedien_Oertlichkeit_Kennzahlen') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CBedien_Oertlichkeit_Kennzahlen', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBedienung:', name_='CBedien_Oertlichkeit_Kennzahlen'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsBedienung:', namespacedef_='xmlns:nsBedienung="http://www.plan-pro.org/modell/Bedienung/1.10.0"', name_='CBedien_Oertlichkeit_Kennzahlen', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Betriebsstellenbezeichner is not None: + namespaceprefix_ = self.Betriebsstellenbezeichner_nsprefix_ + ':' if (UseCapturedNS_ and self.Betriebsstellenbezeichner_nsprefix_) else '' + self.Betriebsstellenbezeichner.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Betriebsstellenbezeichner', pretty_print=pretty_print) + if self.Kennzahl is not None: + namespaceprefix_ = self.Kennzahl_nsprefix_ + ':' if (UseCapturedNS_ and self.Kennzahl_nsprefix_) else '' + self.Kennzahl.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Kennzahl', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Betriebsstellenbezeichner': + obj_ = TCBetriebsstellenbezeichner.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Betriebsstellenbezeichner = obj_ + obj_.original_tagname_ = 'Betriebsstellenbezeichner' + elif nodeName_ == 'Kennzahl': + obj_ = TCKennzahl.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Kennzahl = obj_ + obj_.original_tagname_ = 'Kennzahl' +# end class CBedien_Oertlichkeit_Kennzahlen + + +class TCFT_Hinweis_Funktion(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCFT_Hinweis_Funktion"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMFT_Hinweis_Funktion(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCFT_Hinweis_Funktion) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCFT_Hinweis_Funktion.subclass: + return TCFT_Hinweis_Funktion.subclass(*args_, **kwargs_) + else: + return TCFT_Hinweis_Funktion(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMFT_Hinweis_Funktion(self, value): + result = True + # Validate type ENUMFT_Hinweis_Funktion, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['Ortung', 'sonstige', 'ZBS Ende'] + 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 ENUMFT_Hinweis_Funktion' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCFT_Hinweis_Funktion, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCFT_Hinweis_Funktion', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCFT_Hinweis_Funktion') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCFT_Hinweis_Funktion': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCFT_Hinweis_Funktion') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCFT_Hinweis_Funktion', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCFT_Hinweis_Funktion'): + super(TCFT_Hinweis_Funktion, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCFT_Hinweis_Funktion') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCFT_Hinweis_Funktion', fromsubclass_=False, pretty_print=True): + super(TCFT_Hinweis_Funktion, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCFT_Hinweis_Funktion, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMFT_Hinweis_Funktion + self.validate_ENUMFT_Hinweis_Funktion(self.Wert) + super(TCFT_Hinweis_Funktion, self)._buildChildren(child_, node, nodeName_, True) +# end class TCFT_Hinweis_Funktion + + +class CZUB_Bereichsgrenze_Nach_PZB(GeneratedsSuper): + """Harter_Ausstieg_Aus_L2 -- Bei + Ü + bergang von L2: Angabe, ob es sich um einen harten Ausstieg handelt (true). Bei einem harten Ausstieg erfolgt keine Ank + ü + ndigung durch das RBC. + Prioritaet -- Bei mehreren Anwendungssystemen in Sonderf + ä + llen (z. B. ausl + ä + ndische Anwendungssysteme): Priorit + ä + t f + ü + r die Nutzung. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Bgrenze_Nach_PZB_Bed_Einstieg=None, Harter_Ausstieg_Aus_L2=None, Prioritaet=None, gds_collector_=None, **kwargs_): + self.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 Bgrenze_Nach_PZB_Bed_Einstieg is None: + self.Bgrenze_Nach_PZB_Bed_Einstieg = [] + else: + self.Bgrenze_Nach_PZB_Bed_Einstieg = Bgrenze_Nach_PZB_Bed_Einstieg + self.Bgrenze_Nach_PZB_Bed_Einstieg_nsprefix_ = None + self.Harter_Ausstieg_Aus_L2 = Harter_Ausstieg_Aus_L2 + self.Harter_Ausstieg_Aus_L2_nsprefix_ = None + self.Prioritaet = Prioritaet + self.Prioritaet_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CZUB_Bereichsgrenze_Nach_PZB) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CZUB_Bereichsgrenze_Nach_PZB.subclass: + return CZUB_Bereichsgrenze_Nach_PZB.subclass(*args_, **kwargs_) + else: + return CZUB_Bereichsgrenze_Nach_PZB(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Bgrenze_Nach_PZB_Bed_Einstieg(self): + return self.Bgrenze_Nach_PZB_Bed_Einstieg + def set_Bgrenze_Nach_PZB_Bed_Einstieg(self, Bgrenze_Nach_PZB_Bed_Einstieg): + self.Bgrenze_Nach_PZB_Bed_Einstieg = Bgrenze_Nach_PZB_Bed_Einstieg + def add_Bgrenze_Nach_PZB_Bed_Einstieg(self, value): + self.Bgrenze_Nach_PZB_Bed_Einstieg.append(value) + def insert_Bgrenze_Nach_PZB_Bed_Einstieg_at(self, index, value): + self.Bgrenze_Nach_PZB_Bed_Einstieg.insert(index, value) + def replace_Bgrenze_Nach_PZB_Bed_Einstieg_at(self, index, value): + self.Bgrenze_Nach_PZB_Bed_Einstieg[index] = value + def get_Harter_Ausstieg_Aus_L2(self): + return self.Harter_Ausstieg_Aus_L2 + def set_Harter_Ausstieg_Aus_L2(self, Harter_Ausstieg_Aus_L2): + self.Harter_Ausstieg_Aus_L2 = Harter_Ausstieg_Aus_L2 + def get_Prioritaet(self): + return self.Prioritaet + def set_Prioritaet(self, Prioritaet): + self.Prioritaet = Prioritaet + def has__content(self): + if ( + self.Bgrenze_Nach_PZB_Bed_Einstieg or + self.Harter_Ausstieg_Aus_L2 is not None or + self.Prioritaet is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='CZUB_Bereichsgrenze_Nach_PZB', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CZUB_Bereichsgrenze_Nach_PZB') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CZUB_Bereichsgrenze_Nach_PZB': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CZUB_Bereichsgrenze_Nach_PZB') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CZUB_Bereichsgrenze_Nach_PZB', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='CZUB_Bereichsgrenze_Nach_PZB'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='CZUB_Bereichsgrenze_Nach_PZB', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for Bgrenze_Nach_PZB_Bed_Einstieg_ in self.Bgrenze_Nach_PZB_Bed_Einstieg: + namespaceprefix_ = self.Bgrenze_Nach_PZB_Bed_Einstieg_nsprefix_ + ':' if (UseCapturedNS_ and self.Bgrenze_Nach_PZB_Bed_Einstieg_nsprefix_) else '' + Bgrenze_Nach_PZB_Bed_Einstieg_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Bgrenze_Nach_PZB_Bed_Einstieg', pretty_print=pretty_print) + if self.Harter_Ausstieg_Aus_L2 is not None: + namespaceprefix_ = self.Harter_Ausstieg_Aus_L2_nsprefix_ + ':' if (UseCapturedNS_ and self.Harter_Ausstieg_Aus_L2_nsprefix_) else '' + self.Harter_Ausstieg_Aus_L2.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Harter_Ausstieg_Aus_L2', pretty_print=pretty_print) + if self.Prioritaet is not None: + namespaceprefix_ = self.Prioritaet_nsprefix_ + ':' if (UseCapturedNS_ and self.Prioritaet_nsprefix_) else '' + self.Prioritaet.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Prioritaet', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Bgrenze_Nach_PZB_Bed_Einstieg': + obj_ = CBgrenze_Nach_PZB_Bed_Einstieg.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Bgrenze_Nach_PZB_Bed_Einstieg.append(obj_) + obj_.original_tagname_ = 'Bgrenze_Nach_PZB_Bed_Einstieg' + elif nodeName_ == 'Harter_Ausstieg_Aus_L2': + obj_ = TCHarter_Ausstieg_Aus_L2.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Harter_Ausstieg_Aus_L2 = obj_ + obj_.original_tagname_ = 'Harter_Ausstieg_Aus_L2' + elif nodeName_ == 'Prioritaet': + obj_ = TCPrioritaet.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Prioritaet = obj_ + obj_.original_tagname_ = 'Prioritaet' +# end class CZUB_Bereichsgrenze_Nach_PZB + + +class TCRBC_ETCS_System_Version(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCRBC_ETCS_System_Version"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TRBC_ETCS_System_Version(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCRBC_ETCS_System_Version) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCRBC_ETCS_System_Version.subclass: + return TCRBC_ETCS_System_Version.subclass(*args_, **kwargs_) + else: + return TCRBC_ETCS_System_Version(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TRBC_ETCS_System_Version(self, value): + result = True + # Validate type TRBC_ETCS_System_Version, a restriction on xs:integer. + 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 + pass + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCRBC_ETCS_System_Version, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCRBC_ETCS_System_Version', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCRBC_ETCS_System_Version') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCRBC_ETCS_System_Version': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCRBC_ETCS_System_Version') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCRBC_ETCS_System_Version', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCRBC_ETCS_System_Version'): + super(TCRBC_ETCS_System_Version, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCRBC_ETCS_System_Version') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCRBC_ETCS_System_Version', fromsubclass_=False, pretty_print=True): + super(TCRBC_ETCS_System_Version, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_integer(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCRBC_ETCS_System_Version, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + ival_ = self.gds_parse_integer(sval_, node, 'Wert') + ival_ = self.gds_validate_integer(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + # validate type TRBC_ETCS_System_Version + self.validate_TRBC_ETCS_System_Version(self.Wert) + super(TCRBC_ETCS_System_Version, self)._buildChildren(child_, node, nodeName_, True) +# end class TCRBC_ETCS_System_Version + + +class CBgrenze_Nach_ZBS_Bed_Einstieg(GeneratedsSuper): + """ID_W_Element -- Verweis auf das Weichen-Element der Entscheidungsweiche. + W_Lage -- Lage des Weichen-Elements. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, ID_W_Element=None, W_Lage=None, gds_collector_=None, **kwargs_): + self.gds_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_W_Element = ID_W_Element + self.ID_W_Element_nsprefix_ = None + self.W_Lage = W_Lage + self.W_Lage_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CBgrenze_Nach_ZBS_Bed_Einstieg) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CBgrenze_Nach_ZBS_Bed_Einstieg.subclass: + return CBgrenze_Nach_ZBS_Bed_Einstieg.subclass(*args_, **kwargs_) + else: + return CBgrenze_Nach_ZBS_Bed_Einstieg(*args_, **kwargs_) + factory = staticmethod(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_W_Element(self): + return self.ID_W_Element + def set_ID_W_Element(self, ID_W_Element): + self.ID_W_Element = ID_W_Element + def get_W_Lage(self): + return self.W_Lage + def set_W_Lage(self, W_Lage): + self.W_Lage = W_Lage + def has__content(self): + if ( + self.ID_W_Element is not None or + self.W_Lage is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CBgrenze_Nach_ZBS_Bed_Einstieg', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CBgrenze_Nach_ZBS_Bed_Einstieg') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CBgrenze_Nach_ZBS_Bed_Einstieg': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CBgrenze_Nach_ZBS_Bed_Einstieg') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CBgrenze_Nach_ZBS_Bed_Einstieg', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='CBgrenze_Nach_ZBS_Bed_Einstieg'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CBgrenze_Nach_ZBS_Bed_Einstieg', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.ID_W_Element is not None: + namespaceprefix_ = self.ID_W_Element_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_W_Element_nsprefix_) else '' + self.ID_W_Element.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_W_Element', pretty_print=pretty_print) + if self.W_Lage is not None: + namespaceprefix_ = self.W_Lage_nsprefix_ + ':' if (UseCapturedNS_ and self.W_Lage_nsprefix_) else '' + self.W_Lage.export(outfile, level, namespaceprefix_, namespacedef_='', name_='W_Lage', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_W_Element': + obj_ = TCID_W_Kr_Gsp_Element.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_W_Element = obj_ + obj_.original_tagname_ = 'ID_W_Element' + elif nodeName_ == 'W_Lage': + obj_ = TCW_Lage.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.W_Lage = obj_ + obj_.original_tagname_ = 'W_Lage' +# end class CBgrenze_Nach_ZBS_Bed_Einstieg + + +class CFT_ETCS_Trans_Merkmale(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, FT_ETCS_Trans_Paket_41=None, FT_ETCS_Trans_Paket_N=None, gds_collector_=None, **kwargs_): + self.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 FT_ETCS_Trans_Paket_41 is None: + self.FT_ETCS_Trans_Paket_41 = [] + else: + self.FT_ETCS_Trans_Paket_41 = FT_ETCS_Trans_Paket_41 + self.FT_ETCS_Trans_Paket_41_nsprefix_ = None + if FT_ETCS_Trans_Paket_N is None: + self.FT_ETCS_Trans_Paket_N = [] + else: + self.FT_ETCS_Trans_Paket_N = FT_ETCS_Trans_Paket_N + self.FT_ETCS_Trans_Paket_N_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CFT_ETCS_Trans_Merkmale) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CFT_ETCS_Trans_Merkmale.subclass: + return CFT_ETCS_Trans_Merkmale.subclass(*args_, **kwargs_) + else: + return CFT_ETCS_Trans_Merkmale(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_FT_ETCS_Trans_Paket_41(self): + return self.FT_ETCS_Trans_Paket_41 + def set_FT_ETCS_Trans_Paket_41(self, FT_ETCS_Trans_Paket_41): + self.FT_ETCS_Trans_Paket_41 = FT_ETCS_Trans_Paket_41 + def add_FT_ETCS_Trans_Paket_41(self, value): + self.FT_ETCS_Trans_Paket_41.append(value) + def insert_FT_ETCS_Trans_Paket_41_at(self, index, value): + self.FT_ETCS_Trans_Paket_41.insert(index, value) + def replace_FT_ETCS_Trans_Paket_41_at(self, index, value): + self.FT_ETCS_Trans_Paket_41[index] = value + def get_FT_ETCS_Trans_Paket_N(self): + return self.FT_ETCS_Trans_Paket_N + def set_FT_ETCS_Trans_Paket_N(self, FT_ETCS_Trans_Paket_N): + self.FT_ETCS_Trans_Paket_N = FT_ETCS_Trans_Paket_N + def add_FT_ETCS_Trans_Paket_N(self, value): + self.FT_ETCS_Trans_Paket_N.append(value) + def insert_FT_ETCS_Trans_Paket_N_at(self, index, value): + self.FT_ETCS_Trans_Paket_N.insert(index, value) + def replace_FT_ETCS_Trans_Paket_N_at(self, index, value): + self.FT_ETCS_Trans_Paket_N[index] = value + def has__content(self): + if ( + self.FT_ETCS_Trans_Paket_41 or + self.FT_ETCS_Trans_Paket_N + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='CFT_ETCS_Trans_Merkmale', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CFT_ETCS_Trans_Merkmale') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CFT_ETCS_Trans_Merkmale': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CFT_ETCS_Trans_Merkmale') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CFT_ETCS_Trans_Merkmale', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='CFT_ETCS_Trans_Merkmale'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='CFT_ETCS_Trans_Merkmale', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for FT_ETCS_Trans_Paket_41_ in self.FT_ETCS_Trans_Paket_41: + namespaceprefix_ = self.FT_ETCS_Trans_Paket_41_nsprefix_ + ':' if (UseCapturedNS_ and self.FT_ETCS_Trans_Paket_41_nsprefix_) else '' + FT_ETCS_Trans_Paket_41_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='FT_ETCS_Trans_Paket_41', pretty_print=pretty_print) + for FT_ETCS_Trans_Paket_N_ in self.FT_ETCS_Trans_Paket_N: + namespaceprefix_ = self.FT_ETCS_Trans_Paket_N_nsprefix_ + ':' if (UseCapturedNS_ and self.FT_ETCS_Trans_Paket_N_nsprefix_) else '' + FT_ETCS_Trans_Paket_N_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='FT_ETCS_Trans_Paket_N', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'FT_ETCS_Trans_Paket_41': + obj_ = CFT_ETCS_Trans_Paket_41.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.FT_ETCS_Trans_Paket_41.append(obj_) + obj_.original_tagname_ = 'FT_ETCS_Trans_Paket_41' + elif nodeName_ == 'FT_ETCS_Trans_Paket_N': + obj_ = CFT_ETCS_Trans_Paket_N.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.FT_ETCS_Trans_Paket_N.append(obj_) + obj_.original_tagname_ = 'FT_ETCS_Trans_Paket_N' +# end class CFT_ETCS_Trans_Merkmale + + +class TCMetallteil_Kategorie(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCMetallteil_Kategorie"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TMetallteil_Kategorie(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCMetallteil_Kategorie) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCMetallteil_Kategorie.subclass: + return TCMetallteil_Kategorie.subclass(*args_, **kwargs_) + else: + return TCMetallteil_Kategorie(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TMetallteil_Kategorie(self, value): + result = True + # Validate type TMetallteil_Kategorie, a restriction on xs:integer. + 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_TMetallteil_Kategorie_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TMetallteil_Kategorie_patterns_, )) + result = False + return result + validate_TMetallteil_Kategorie_patterns_ = [['^([0])$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCMetallteil_Kategorie, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCMetallteil_Kategorie', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCMetallteil_Kategorie') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCMetallteil_Kategorie': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCMetallteil_Kategorie') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCMetallteil_Kategorie', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCMetallteil_Kategorie'): + super(TCMetallteil_Kategorie, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCMetallteil_Kategorie') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCMetallteil_Kategorie', fromsubclass_=False, pretty_print=True): + super(TCMetallteil_Kategorie, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_integer(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCMetallteil_Kategorie, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + ival_ = self.gds_parse_integer(sval_, node, 'Wert') + ival_ = self.gds_validate_integer(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + # validate type TMetallteil_Kategorie + self.validate_TMetallteil_Kategorie(self.Wert) + super(TCMetallteil_Kategorie, self)._buildChildren(child_, node, nodeName_, True) +# end class TCMetallteil_Kategorie + + +class TCTelegramm_Index(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCTelegramm_Index"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TTelegramm_Index(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCTelegramm_Index) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCTelegramm_Index.subclass: + return TCTelegramm_Index.subclass(*args_, **kwargs_) + else: + return TCTelegramm_Index(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TTelegramm_Index(self, value): + result = True + # Validate type TTelegramm_Index, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TTelegramm_Index_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TTelegramm_Index_patterns_, )) + result = False + return result + validate_TTelegramm_Index_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCTelegramm_Index, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCTelegramm_Index', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCTelegramm_Index') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCTelegramm_Index': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCTelegramm_Index') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCTelegramm_Index', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCTelegramm_Index'): + super(TCTelegramm_Index, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCTelegramm_Index') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCTelegramm_Index', fromsubclass_=False, pretty_print=True): + super(TCTelegramm_Index, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCTelegramm_Index, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TTelegramm_Index + self.validate_TTelegramm_Index(self.Wert) + super(TCTelegramm_Index, self)._buildChildren(child_, node, nodeName_, True) +# end class TCTelegramm_Index + + +class TCDP_Typ_V_La(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCDP_Typ_V_La"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TDP_Typ_V_La(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCDP_Typ_V_La) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCDP_Typ_V_La.subclass: + return TCDP_Typ_V_La.subclass(*args_, **kwargs_) + else: + return TCDP_Typ_V_La(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TDP_Typ_V_La(self, value): + result = True + # Validate type TDP_Typ_V_La, a restriction on nsBasisTypen:TGeschwindigkeit. + 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_TDP_Typ_V_La_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TDP_Typ_V_La_patterns_, )) + result = False + return result + validate_TDP_Typ_V_La_patterns_ = [['^([1-9][0-9]|1[0-3][0-9]|140)$'], ['^(0|[1-9][0-9]{0,1}|[1-4][0-9]{2}|500)$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCDP_Typ_V_La, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCDP_Typ_V_La', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCDP_Typ_V_La') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCDP_Typ_V_La': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCDP_Typ_V_La') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCDP_Typ_V_La', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCDP_Typ_V_La'): + super(TCDP_Typ_V_La, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCDP_Typ_V_La') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCDP_Typ_V_La', fromsubclass_=False, pretty_print=True): + super(TCDP_Typ_V_La, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_integer(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCDP_Typ_V_La, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + ival_ = self.gds_parse_integer(sval_, node, 'Wert') + ival_ = self.gds_validate_integer(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + # validate type TDP_Typ_V_La + self.validate_TDP_Typ_V_La(self.Wert) + super(TCDP_Typ_V_La, self)._buildChildren(child_, node, nodeName_, True) +# end class TCDP_Typ_V_La + + +class TCAnordnung_Im_DP(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCAnordnung_Im_DP"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TAnordnung_Im_DP(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCAnordnung_Im_DP) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCAnordnung_Im_DP.subclass: + return TCAnordnung_Im_DP.subclass(*args_, **kwargs_) + else: + return TCAnordnung_Im_DP(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TAnordnung_Im_DP(self, value): + result = True + # Validate type TAnordnung_Im_DP, a restriction on xs:integer. + 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_TAnordnung_Im_DP_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TAnordnung_Im_DP_patterns_, )) + result = False + return result + validate_TAnordnung_Im_DP_patterns_ = [['^(1[0-6]|[1-9])$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCAnordnung_Im_DP, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCAnordnung_Im_DP', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCAnordnung_Im_DP') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCAnordnung_Im_DP': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCAnordnung_Im_DP') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCAnordnung_Im_DP', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCAnordnung_Im_DP'): + super(TCAnordnung_Im_DP, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCAnordnung_Im_DP') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCAnordnung_Im_DP', fromsubclass_=False, pretty_print=True): + super(TCAnordnung_Im_DP, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_integer(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCAnordnung_Im_DP, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + ival_ = self.gds_parse_integer(sval_, node, 'Wert') + ival_ = self.gds_validate_integer(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + # validate type TAnordnung_Im_DP + self.validate_TAnordnung_Im_DP(self.Wert) + super(TCAnordnung_Im_DP, self)._buildChildren(child_, node, nodeName_, True) +# end class TCAnordnung_Im_DP + + +class CEV_Modul_Physisch(GeneratedsSuper): + """EV_Modul_Art -- Art des Energieversorgungsmoduls. + EV_Modul_Typ -- Herstellerbezogene Typ-Angabe (R + ü + cklaufdatum). + Hersteller -- Unternehmen, das die Funktionsf + ä + higkeit der Anlage verantwortlich hergestellt hat oder Hersteller des jeweiligen Elements. Diese Eigenschaft ist kein Datum einer Planung, sondern dient im R + ü + cklauf der Planung dazu den Hersteller im Bestand zu erfassen. Es ist die zum Zeitpunkt der Inbetriebnahme g + ü + ltige Firmierung zu verwenden. DB-Regelwerk Beschreibung im Erl + ä + uterungsbericht + ID_Element_Unterbringung -- Verweis auf die zugeh + ö + rige Unterbringung oder einen LEU-Schaltkasten (z. B. bei Solarer Energieversorgung), in der/dem das EV-Modul untergebracht ist. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, EV_Modul_Art=None, EV_Modul_Eingang=None, EV_Modul_Typ=None, Hersteller=None, ID_Element_Unterbringung=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.EV_Modul_Art = EV_Modul_Art + self.EV_Modul_Art_nsprefix_ = None + if EV_Modul_Eingang is None: + self.EV_Modul_Eingang = [] + else: + self.EV_Modul_Eingang = EV_Modul_Eingang + self.EV_Modul_Eingang_nsprefix_ = None + self.EV_Modul_Typ = EV_Modul_Typ + self.EV_Modul_Typ_nsprefix_ = None + self.Hersteller = Hersteller + self.Hersteller_nsprefix_ = None + self.ID_Element_Unterbringung = ID_Element_Unterbringung + self.ID_Element_Unterbringung_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CEV_Modul_Physisch) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CEV_Modul_Physisch.subclass: + return CEV_Modul_Physisch.subclass(*args_, **kwargs_) + else: + return CEV_Modul_Physisch(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_EV_Modul_Art(self): + return self.EV_Modul_Art + def set_EV_Modul_Art(self, EV_Modul_Art): + self.EV_Modul_Art = EV_Modul_Art + def get_EV_Modul_Eingang(self): + return self.EV_Modul_Eingang + def set_EV_Modul_Eingang(self, EV_Modul_Eingang): + self.EV_Modul_Eingang = EV_Modul_Eingang + def add_EV_Modul_Eingang(self, value): + self.EV_Modul_Eingang.append(value) + def insert_EV_Modul_Eingang_at(self, index, value): + self.EV_Modul_Eingang.insert(index, value) + def replace_EV_Modul_Eingang_at(self, index, value): + self.EV_Modul_Eingang[index] = value + def get_EV_Modul_Typ(self): + return self.EV_Modul_Typ + def set_EV_Modul_Typ(self, EV_Modul_Typ): + self.EV_Modul_Typ = EV_Modul_Typ + def get_Hersteller(self): + return self.Hersteller + def set_Hersteller(self, Hersteller): + self.Hersteller = Hersteller + def get_ID_Element_Unterbringung(self): + return self.ID_Element_Unterbringung + def set_ID_Element_Unterbringung(self, ID_Element_Unterbringung): + self.ID_Element_Unterbringung = ID_Element_Unterbringung + def has__content(self): + if ( + self.EV_Modul_Art is not None or + self.EV_Modul_Eingang or + self.EV_Modul_Typ is not None or + self.Hersteller is not None or + self.ID_Element_Unterbringung is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CEV_Modul_Physisch', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CEV_Modul_Physisch') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CEV_Modul_Physisch': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CEV_Modul_Physisch') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CEV_Modul_Physisch', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='CEV_Modul_Physisch'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CEV_Modul_Physisch', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.EV_Modul_Art is not None: + namespaceprefix_ = self.EV_Modul_Art_nsprefix_ + ':' if (UseCapturedNS_ and self.EV_Modul_Art_nsprefix_) else '' + self.EV_Modul_Art.export(outfile, level, namespaceprefix_, namespacedef_='', name_='EV_Modul_Art', pretty_print=pretty_print) + for EV_Modul_Eingang_ in self.EV_Modul_Eingang: + namespaceprefix_ = self.EV_Modul_Eingang_nsprefix_ + ':' if (UseCapturedNS_ and self.EV_Modul_Eingang_nsprefix_) else '' + EV_Modul_Eingang_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='EV_Modul_Eingang', pretty_print=pretty_print) + if self.EV_Modul_Typ is not None: + namespaceprefix_ = self.EV_Modul_Typ_nsprefix_ + ':' if (UseCapturedNS_ and self.EV_Modul_Typ_nsprefix_) else '' + self.EV_Modul_Typ.export(outfile, level, namespaceprefix_, namespacedef_='', name_='EV_Modul_Typ', pretty_print=pretty_print) + if self.Hersteller is not None: + namespaceprefix_ = self.Hersteller_nsprefix_ + ':' if (UseCapturedNS_ and self.Hersteller_nsprefix_) else '' + self.Hersteller.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Hersteller', pretty_print=pretty_print) + if self.ID_Element_Unterbringung is not None: + namespaceprefix_ = self.ID_Element_Unterbringung_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Element_Unterbringung_nsprefix_) else '' + self.ID_Element_Unterbringung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Element_Unterbringung', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'EV_Modul_Art': + obj_ = TCEV_Modul_Art.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.EV_Modul_Art = obj_ + obj_.original_tagname_ = 'EV_Modul_Art' + elif nodeName_ == 'EV_Modul_Eingang': + obj_ = CEV_Modul_Eingang.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.EV_Modul_Eingang.append(obj_) + obj_.original_tagname_ = 'EV_Modul_Eingang' + elif nodeName_ == 'EV_Modul_Typ': + obj_ = TCEV_Modul_Typ.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.EV_Modul_Typ = obj_ + obj_.original_tagname_ = 'EV_Modul_Typ' + elif nodeName_ == 'Hersteller': + obj_ = TCHersteller.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Hersteller = obj_ + obj_.original_tagname_ = 'Hersteller' + elif nodeName_ == 'ID_Element_Unterbringung': + obj_ = TCID_Element_Unterbringung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Element_Unterbringung = obj_ + obj_.original_tagname_ = 'ID_Element_Unterbringung' +# end class CEV_Modul_Physisch + + +class TCSystem_Vor_Grenze(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCSystem_Vor_Grenze"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TAnwendungssystem(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCSystem_Vor_Grenze) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCSystem_Vor_Grenze.subclass: + return TCSystem_Vor_Grenze.subclass(*args_, **kwargs_) + else: + return TCSystem_Vor_Grenze(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TAnwendungssystem(self, value): + result = True + # Validate type TAnwendungssystem, a restriction on nsBasisTypen:ENUMAnwendungssystem. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['ESG', 'GNT', 'L2', 'L2oS', 'LZB', 'ohne', 'PZB', 'sonstige', 'ZBS'] + 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 TAnwendungssystem' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCSystem_Vor_Grenze, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCSystem_Vor_Grenze', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCSystem_Vor_Grenze') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCSystem_Vor_Grenze': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCSystem_Vor_Grenze') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCSystem_Vor_Grenze', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCSystem_Vor_Grenze'): + super(TCSystem_Vor_Grenze, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCSystem_Vor_Grenze') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCSystem_Vor_Grenze', fromsubclass_=False, pretty_print=True): + super(TCSystem_Vor_Grenze, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCSystem_Vor_Grenze, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TAnwendungssystem + self.validate_TAnwendungssystem(self.Wert) + super(TCSystem_Vor_Grenze, self)._buildChildren(child_, node, nodeName_, True) +# end class TCSystem_Vor_Grenze + + +class TCBalise_Geraetestand(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCBalise_Geraetestand"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TBalise_Geraetestand(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCBalise_Geraetestand) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCBalise_Geraetestand.subclass: + return TCBalise_Geraetestand.subclass(*args_, **kwargs_) + else: + return TCBalise_Geraetestand(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TBalise_Geraetestand(self, value): + result = True + # Validate type TBalise_Geraetestand, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TBalise_Geraetestand_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TBalise_Geraetestand_patterns_, )) + result = False + return result + validate_TBalise_Geraetestand_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCBalise_Geraetestand, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCBalise_Geraetestand', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCBalise_Geraetestand') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCBalise_Geraetestand': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBalise_Geraetestand') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCBalise_Geraetestand', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCBalise_Geraetestand'): + super(TCBalise_Geraetestand, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBalise_Geraetestand') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCBalise_Geraetestand', fromsubclass_=False, pretty_print=True): + super(TCBalise_Geraetestand, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCBalise_Geraetestand, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TBalise_Geraetestand + self.validate_TBalise_Geraetestand(self.Wert) + super(TCBalise_Geraetestand, self)._buildChildren(child_, node, nodeName_, True) +# end class TCBalise_Geraetestand + + +class CZUB_SE_Ausruestung(GeneratedsSuper): + """Anwendungssystem -- Anwendungssystem(e), mit dem/denen der Streckenbereich ausger + ü + stet ist. Bei L2: Das zugeh + ö + rige RBC kann + ü + ber die ETCS-Kanten ermittelt werden. + Baseline_System_Version -- Baseline der System-Version, z. B. B3R2. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anwendungssystem=None, Baseline_System_Version=None, gds_collector_=None, **kwargs_): + self.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 Anwendungssystem is None: + self.Anwendungssystem = [] + else: + self.Anwendungssystem = Anwendungssystem + self.Anwendungssystem_nsprefix_ = None + self.Baseline_System_Version = Baseline_System_Version + self.Baseline_System_Version_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CZUB_SE_Ausruestung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CZUB_SE_Ausruestung.subclass: + return CZUB_SE_Ausruestung.subclass(*args_, **kwargs_) + else: + return CZUB_SE_Ausruestung(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anwendungssystem(self): + return self.Anwendungssystem + def set_Anwendungssystem(self, Anwendungssystem): + self.Anwendungssystem = Anwendungssystem + def add_Anwendungssystem(self, value): + self.Anwendungssystem.append(value) + def insert_Anwendungssystem_at(self, index, value): + self.Anwendungssystem.insert(index, value) + def replace_Anwendungssystem_at(self, index, value): + self.Anwendungssystem[index] = value + def get_Baseline_System_Version(self): + return self.Baseline_System_Version + def set_Baseline_System_Version(self, Baseline_System_Version): + self.Baseline_System_Version = Baseline_System_Version + def has__content(self): + if ( + self.Anwendungssystem or + self.Baseline_System_Version is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='CZUB_SE_Ausruestung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CZUB_SE_Ausruestung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CZUB_SE_Ausruestung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CZUB_SE_Ausruestung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CZUB_SE_Ausruestung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='CZUB_SE_Ausruestung'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='CZUB_SE_Ausruestung', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for Anwendungssystem_ in self.Anwendungssystem: + namespaceprefix_ = self.Anwendungssystem_nsprefix_ + ':' if (UseCapturedNS_ and self.Anwendungssystem_nsprefix_) else '' + Anwendungssystem_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Anwendungssystem', pretty_print=pretty_print) + if self.Baseline_System_Version is not None: + namespaceprefix_ = self.Baseline_System_Version_nsprefix_ + ':' if (UseCapturedNS_ and self.Baseline_System_Version_nsprefix_) else '' + self.Baseline_System_Version.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Baseline_System_Version', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Anwendungssystem': + obj_ = TCAnwendungssystem.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Anwendungssystem.append(obj_) + obj_.original_tagname_ = 'Anwendungssystem' + elif nodeName_ == 'Baseline_System_Version': + obj_ = TCBaseline_System_Version.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Baseline_System_Version = obj_ + obj_.original_tagname_ = 'Baseline_System_Version' +# end class CZUB_SE_Ausruestung + + +class TCTelegrammnummer(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCTelegrammnummer"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TTelegrammnummer(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCTelegrammnummer) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCTelegrammnummer.subclass: + return TCTelegrammnummer.subclass(*args_, **kwargs_) + else: + return TCTelegrammnummer(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TTelegrammnummer(self, value): + result = True + # Validate type TTelegrammnummer, a restriction on xs:integer. + 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 + pass + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCTelegrammnummer, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCTelegrammnummer', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCTelegrammnummer') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCTelegrammnummer': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCTelegrammnummer') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCTelegrammnummer', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCTelegrammnummer'): + super(TCTelegrammnummer, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCTelegrammnummer') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCTelegrammnummer', fromsubclass_=False, pretty_print=True): + super(TCTelegrammnummer, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_integer(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCTelegrammnummer, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + ival_ = self.gds_parse_integer(sval_, node, 'Wert') + ival_ = self.gds_validate_integer(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + # validate type TTelegrammnummer + self.validate_TTelegrammnummer(self.Wert) + super(TCTelegrammnummer, self)._buildChildren(child_, node, nodeName_, True) +# end class TCTelegrammnummer + + +class TCOberstrombegrenzung_Gueterzug(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCOberstrombegrenzung_Gueterzug"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TOberstrombegrenzung_Gueterzug(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCOberstrombegrenzung_Gueterzug) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCOberstrombegrenzung_Gueterzug.subclass: + return TCOberstrombegrenzung_Gueterzug.subclass(*args_, **kwargs_) + else: + return TCOberstrombegrenzung_Gueterzug(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TOberstrombegrenzung_Gueterzug(self, value): + result = True + # Validate type TOberstrombegrenzung_Gueterzug, a restriction on xs:integer. + 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_TOberstrombegrenzung_Gueterzug_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TOberstrombegrenzung_Gueterzug_patterns_, )) + result = False + return result + validate_TOberstrombegrenzung_Gueterzug_patterns_ = [['^(0|[1-9][0-9]{0,2}|1[0-9]{3}|2000)$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCOberstrombegrenzung_Gueterzug, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCOberstrombegrenzung_Gueterzug', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCOberstrombegrenzung_Gueterzug') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCOberstrombegrenzung_Gueterzug': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCOberstrombegrenzung_Gueterzug') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCOberstrombegrenzung_Gueterzug', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCOberstrombegrenzung_Gueterzug'): + super(TCOberstrombegrenzung_Gueterzug, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCOberstrombegrenzung_Gueterzug') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCOberstrombegrenzung_Gueterzug', fromsubclass_=False, pretty_print=True): + super(TCOberstrombegrenzung_Gueterzug, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_integer(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCOberstrombegrenzung_Gueterzug, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + ival_ = self.gds_parse_integer(sval_, node, 'Wert') + ival_ = self.gds_validate_integer(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + # validate type TOberstrombegrenzung_Gueterzug + self.validate_TOberstrombegrenzung_Gueterzug(self.Wert) + super(TCOberstrombegrenzung_Gueterzug, self)._buildChildren(child_, node, nodeName_, True) +# end class TCOberstrombegrenzung_Gueterzug + + +class CZiel_W_Element(GeneratedsSuper): + """ID_Ziel_W_Element -- Verweis auf ein Weichenelement, das als Ziel-Element zur Beschreibung des Fahrwegteils verwendet wird. + W_Anschluss -- Angabe des relevanten Anschlusses der Weiche (links, rechts, Spitze). + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, ID_Ziel_W_Element=None, W_Anschluss=None, gds_collector_=None, **kwargs_): + self.gds_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_Ziel_W_Element = ID_Ziel_W_Element + self.ID_Ziel_W_Element_nsprefix_ = None + self.W_Anschluss = W_Anschluss + self.W_Anschluss_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CZiel_W_Element) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CZiel_W_Element.subclass: + return CZiel_W_Element.subclass(*args_, **kwargs_) + else: + return CZiel_W_Element(*args_, **kwargs_) + factory = staticmethod(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_Ziel_W_Element(self): + return self.ID_Ziel_W_Element + def set_ID_Ziel_W_Element(self, ID_Ziel_W_Element): + self.ID_Ziel_W_Element = ID_Ziel_W_Element + def get_W_Anschluss(self): + return self.W_Anschluss + def set_W_Anschluss(self, W_Anschluss): + self.W_Anschluss = W_Anschluss + def has__content(self): + if ( + self.ID_Ziel_W_Element is not None or + self.W_Anschluss is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CZiel_W_Element', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CZiel_W_Element') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CZiel_W_Element': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CZiel_W_Element') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CZiel_W_Element', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='CZiel_W_Element'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CZiel_W_Element', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.ID_Ziel_W_Element is not None: + namespaceprefix_ = self.ID_Ziel_W_Element_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Ziel_W_Element_nsprefix_) else '' + self.ID_Ziel_W_Element.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Ziel_W_Element', pretty_print=pretty_print) + if self.W_Anschluss is not None: + namespaceprefix_ = self.W_Anschluss_nsprefix_ + ':' if (UseCapturedNS_ and self.W_Anschluss_nsprefix_) else '' + self.W_Anschluss.export(outfile, level, namespaceprefix_, namespacedef_='', name_='W_Anschluss', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Ziel_W_Element': + obj_ = TCID_W_Kr_Gsp_Element.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Ziel_W_Element = obj_ + obj_.original_tagname_ = 'ID_Ziel_W_Element' + elif nodeName_ == 'W_Anschluss': + obj_ = TCW_Anschluss.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.W_Anschluss = obj_ + obj_.original_tagname_ = 'W_Anschluss' +# end class CZiel_W_Element + + +class TCBezeichnung_ZUB(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCBezeichnung_ZUB"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TBezeichnung_ZUB(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCBezeichnung_ZUB) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCBezeichnung_ZUB.subclass: + return TCBezeichnung_ZUB.subclass(*args_, **kwargs_) + else: + return TCBezeichnung_ZUB(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TBezeichnung_ZUB(self, value): + result = True + # Validate type TBezeichnung_ZUB, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TBezeichnung_ZUB_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TBezeichnung_ZUB_patterns_, )) + result = False + return result + validate_TBezeichnung_ZUB_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCBezeichnung_ZUB, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCBezeichnung_ZUB', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCBezeichnung_ZUB') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCBezeichnung_ZUB': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBezeichnung_ZUB') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCBezeichnung_ZUB', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCBezeichnung_ZUB'): + super(TCBezeichnung_ZUB, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBezeichnung_ZUB') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCBezeichnung_ZUB', fromsubclass_=False, pretty_print=True): + super(TCBezeichnung_ZUB, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCBezeichnung_ZUB, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TBezeichnung_ZUB + self.validate_TBezeichnung_ZUB(self.Wert) + super(TCBezeichnung_ZUB, self)._buildChildren(child_, node, nodeName_, True) +# end class TCBezeichnung_ZUB + + +class CRBC(CBasis_Objekt): + """CRBC -- Radio Block Centre (ETCS-Streckenzentrale). + ID_ESTW_Zentraleinheit -- Verweis auf die ESTW-Zentraleinheiten, die mit dem RBC verbunden sind. + ID_Unterbringung -- Verweis auf die zugeh + ö + rige Unterbringung. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasis_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, ETCS_Adresse=None, ID_ESTW_Zentraleinheit=None, ID_Unterbringung=None, RBC_Allg=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CRBC"), self).__init__(Identitaet, Basis_Objekt_Allg, ID_Bearbeitungsvermerk, ID_Oertlichkeit_Ausgabe, Objektreferenzen, **kwargs_) + self.ETCS_Adresse = ETCS_Adresse + self.ETCS_Adresse_nsprefix_ = None + if ID_ESTW_Zentraleinheit is None: + self.ID_ESTW_Zentraleinheit = [] + else: + self.ID_ESTW_Zentraleinheit = ID_ESTW_Zentraleinheit + self.ID_ESTW_Zentraleinheit_nsprefix_ = None + self.ID_Unterbringung = ID_Unterbringung + self.ID_Unterbringung_nsprefix_ = None + self.RBC_Allg = RBC_Allg + self.RBC_Allg_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CRBC) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CRBC.subclass: + return CRBC.subclass(*args_, **kwargs_) + else: + return CRBC(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_ETCS_Adresse(self): + return self.ETCS_Adresse + def set_ETCS_Adresse(self, ETCS_Adresse): + self.ETCS_Adresse = ETCS_Adresse + def get_ID_ESTW_Zentraleinheit(self): + return self.ID_ESTW_Zentraleinheit + def set_ID_ESTW_Zentraleinheit(self, ID_ESTW_Zentraleinheit): + self.ID_ESTW_Zentraleinheit = ID_ESTW_Zentraleinheit + def add_ID_ESTW_Zentraleinheit(self, value): + self.ID_ESTW_Zentraleinheit.append(value) + def insert_ID_ESTW_Zentraleinheit_at(self, index, value): + self.ID_ESTW_Zentraleinheit.insert(index, value) + def replace_ID_ESTW_Zentraleinheit_at(self, index, value): + self.ID_ESTW_Zentraleinheit[index] = value + def get_ID_Unterbringung(self): + return self.ID_Unterbringung + def set_ID_Unterbringung(self, ID_Unterbringung): + self.ID_Unterbringung = ID_Unterbringung + def get_RBC_Allg(self): + return self.RBC_Allg + def set_RBC_Allg(self, RBC_Allg): + self.RBC_Allg = RBC_Allg + def has__content(self): + if ( + self.ETCS_Adresse is not None or + self.ID_ESTW_Zentraleinheit or + self.ID_Unterbringung is not None or + self.RBC_Allg is not None or + super(CRBC, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CRBC', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CRBC') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CRBC': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CRBC') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CRBC', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='CRBC'): + super(CRBC, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CRBC') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CRBC', fromsubclass_=False, pretty_print=True): + super(CRBC, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.ETCS_Adresse is not None: + namespaceprefix_ = self.ETCS_Adresse_nsprefix_ + ':' if (UseCapturedNS_ and self.ETCS_Adresse_nsprefix_) else '' + self.ETCS_Adresse.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ETCS_Adresse', pretty_print=pretty_print) + for ID_ESTW_Zentraleinheit_ in self.ID_ESTW_Zentraleinheit: + namespaceprefix_ = self.ID_ESTW_Zentraleinheit_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_ESTW_Zentraleinheit_nsprefix_) else '' + ID_ESTW_Zentraleinheit_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_ESTW_Zentraleinheit', pretty_print=pretty_print) + if self.ID_Unterbringung is not None: + namespaceprefix_ = self.ID_Unterbringung_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Unterbringung_nsprefix_) else '' + self.ID_Unterbringung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Unterbringung', pretty_print=pretty_print) + if self.RBC_Allg is not None: + namespaceprefix_ = self.RBC_Allg_nsprefix_ + ':' if (UseCapturedNS_ and self.RBC_Allg_nsprefix_) else '' + self.RBC_Allg.export(outfile, level, namespaceprefix_, namespacedef_='', name_='RBC_Allg', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CRBC, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ETCS_Adresse': + obj_ = CETCS_Adresse.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ETCS_Adresse = obj_ + obj_.original_tagname_ = 'ETCS_Adresse' + elif nodeName_ == 'ID_ESTW_Zentraleinheit': + obj_ = TCID_ESTW_Zentraleinheit.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_ESTW_Zentraleinheit.append(obj_) + obj_.original_tagname_ = 'ID_ESTW_Zentraleinheit' + elif nodeName_ == 'ID_Unterbringung': + obj_ = TCID_Unterbringung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Unterbringung = obj_ + obj_.original_tagname_ = 'ID_Unterbringung' + elif nodeName_ == 'RBC_Allg': + obj_ = CRBC_Allg.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.RBC_Allg = obj_ + obj_.original_tagname_ = 'RBC_Allg' + super(CRBC, self)._buildChildren(child_, node, nodeName_, True) +# end class CRBC + + +class CDP_Telegramm_ESG(GeneratedsSuper): + """ETCS_System_Version -- Erste Stelle der Systemversion gem + ä + ß + System Requirement Specification (Subset 26, Kapitel 7). Die Angabe kann nicht eindeutig aus der ersten Stelle der SRS-Version abgeleitet werden. Auf Basis der SRS 3.3.0 kann beispielsweise die Systemversion 1 oder 2 implementiert werden. In einem Datenpunkt k + ö + nnen zu einem Zeitpunkt nur Telegramme der gleichen SRS-Version gesendet werden. + ID_Fachtelegramm -- Fachtelegramme, die bei Erf + ü + llung der angegebenen Anschaltbedingungen g + ü + ltig sind. Es k + ö + nnen gleichzeitig mehrere Fachtelegramme des selben und/oder unterschiedlicher Anwendungssysteme angegeben werden. Zus + ä + tzlich zu Fachtelegrammen des (f + ü + hrenden) Anwendungssystems ESG k + ö + nnen hier auch Fachtelegramme weiterer Anwendungssysteme angegeben werden. + ID_FT_Anschaltbedingung_Geplant -- Geplante Anschaltbedingung(en), die f + ü + r die angegebenen Fachtelegramme erf + ü + llt sein m + ü + ssen. Die Angabe ist bei ESG nur dann erforderlich, wenn im Fachtelegramm individuelle oder spezifische Merkmale definiert wurden und sich die Anschaltbedingungen neben dem Bezugspunkt auf weitere Elemente beziehen. + ID_FT_Anschaltbedingung_Realisiert -- Realisierte Anschaltbedingung(en), mit denen die geplante(n) Anschaltbedingung(en) f + ü + r die angegebenen Fachtelegramme umgesetzt werden. + SRS_Version -- Version der System Requirement Specification (Subset 26, Kapitel 7). Beispiel: 3.3.0. In einem Datenpunkt k + ö + nnen zu einem Zeitpunkt nur Telegramme der gleichen SRS-Version gesendet werden. + Hinweis f + ü + r die Projektierung: Die System-Unterversion gem. Subset 26 h + ä + ngt von der SRS-Version und der System-Version ab. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, ETCS_System_Version=None, ID_Fachtelegramm=None, ID_FT_Anschaltbedingung_Geplant=None, ID_FT_Anschaltbedingung_Realisiert=None, SRS_Version=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.ETCS_System_Version = ETCS_System_Version + self.ETCS_System_Version_nsprefix_ = None + if ID_Fachtelegramm is None: + self.ID_Fachtelegramm = [] + else: + self.ID_Fachtelegramm = ID_Fachtelegramm + self.ID_Fachtelegramm_nsprefix_ = None + if ID_FT_Anschaltbedingung_Geplant is None: + self.ID_FT_Anschaltbedingung_Geplant = [] + else: + self.ID_FT_Anschaltbedingung_Geplant = ID_FT_Anschaltbedingung_Geplant + self.ID_FT_Anschaltbedingung_Geplant_nsprefix_ = None + if ID_FT_Anschaltbedingung_Realisiert is None: + self.ID_FT_Anschaltbedingung_Realisiert = [] + else: + self.ID_FT_Anschaltbedingung_Realisiert = ID_FT_Anschaltbedingung_Realisiert + self.ID_FT_Anschaltbedingung_Realisiert_nsprefix_ = None + self.SRS_Version = SRS_Version + self.SRS_Version_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CDP_Telegramm_ESG) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CDP_Telegramm_ESG.subclass: + return CDP_Telegramm_ESG.subclass(*args_, **kwargs_) + else: + return CDP_Telegramm_ESG(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_ETCS_System_Version(self): + return self.ETCS_System_Version + def set_ETCS_System_Version(self, ETCS_System_Version): + self.ETCS_System_Version = ETCS_System_Version + def get_ID_Fachtelegramm(self): + return self.ID_Fachtelegramm + def set_ID_Fachtelegramm(self, ID_Fachtelegramm): + self.ID_Fachtelegramm = ID_Fachtelegramm + def add_ID_Fachtelegramm(self, value): + self.ID_Fachtelegramm.append(value) + def insert_ID_Fachtelegramm_at(self, index, value): + self.ID_Fachtelegramm.insert(index, value) + def replace_ID_Fachtelegramm_at(self, index, value): + self.ID_Fachtelegramm[index] = value + def get_ID_FT_Anschaltbedingung_Geplant(self): + return self.ID_FT_Anschaltbedingung_Geplant + def set_ID_FT_Anschaltbedingung_Geplant(self, ID_FT_Anschaltbedingung_Geplant): + self.ID_FT_Anschaltbedingung_Geplant = ID_FT_Anschaltbedingung_Geplant + def add_ID_FT_Anschaltbedingung_Geplant(self, value): + self.ID_FT_Anschaltbedingung_Geplant.append(value) + def insert_ID_FT_Anschaltbedingung_Geplant_at(self, index, value): + self.ID_FT_Anschaltbedingung_Geplant.insert(index, value) + def replace_ID_FT_Anschaltbedingung_Geplant_at(self, index, value): + self.ID_FT_Anschaltbedingung_Geplant[index] = value + def get_ID_FT_Anschaltbedingung_Realisiert(self): + return self.ID_FT_Anschaltbedingung_Realisiert + def set_ID_FT_Anschaltbedingung_Realisiert(self, ID_FT_Anschaltbedingung_Realisiert): + self.ID_FT_Anschaltbedingung_Realisiert = ID_FT_Anschaltbedingung_Realisiert + def add_ID_FT_Anschaltbedingung_Realisiert(self, value): + self.ID_FT_Anschaltbedingung_Realisiert.append(value) + def insert_ID_FT_Anschaltbedingung_Realisiert_at(self, index, value): + self.ID_FT_Anschaltbedingung_Realisiert.insert(index, value) + def replace_ID_FT_Anschaltbedingung_Realisiert_at(self, index, value): + self.ID_FT_Anschaltbedingung_Realisiert[index] = value + def get_SRS_Version(self): + return self.SRS_Version + def set_SRS_Version(self, SRS_Version): + self.SRS_Version = SRS_Version + def has__content(self): + if ( + self.ETCS_System_Version is not None or + self.ID_Fachtelegramm or + self.ID_FT_Anschaltbedingung_Geplant or + self.ID_FT_Anschaltbedingung_Realisiert or + self.SRS_Version is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CDP_Telegramm_ESG', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CDP_Telegramm_ESG') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CDP_Telegramm_ESG': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CDP_Telegramm_ESG') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CDP_Telegramm_ESG', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='CDP_Telegramm_ESG'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CDP_Telegramm_ESG', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.ETCS_System_Version is not None: + namespaceprefix_ = self.ETCS_System_Version_nsprefix_ + ':' if (UseCapturedNS_ and self.ETCS_System_Version_nsprefix_) else '' + self.ETCS_System_Version.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ETCS_System_Version', pretty_print=pretty_print) + for ID_Fachtelegramm_ in self.ID_Fachtelegramm: + namespaceprefix_ = self.ID_Fachtelegramm_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Fachtelegramm_nsprefix_) else '' + ID_Fachtelegramm_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Fachtelegramm', pretty_print=pretty_print) + for ID_FT_Anschaltbedingung_Geplant_ in self.ID_FT_Anschaltbedingung_Geplant: + namespaceprefix_ = self.ID_FT_Anschaltbedingung_Geplant_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_FT_Anschaltbedingung_Geplant_nsprefix_) else '' + ID_FT_Anschaltbedingung_Geplant_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_FT_Anschaltbedingung_Geplant', pretty_print=pretty_print) + for ID_FT_Anschaltbedingung_Realisiert_ in self.ID_FT_Anschaltbedingung_Realisiert: + namespaceprefix_ = self.ID_FT_Anschaltbedingung_Realisiert_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_FT_Anschaltbedingung_Realisiert_nsprefix_) else '' + ID_FT_Anschaltbedingung_Realisiert_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_FT_Anschaltbedingung_Realisiert', pretty_print=pretty_print) + if self.SRS_Version is not None: + namespaceprefix_ = self.SRS_Version_nsprefix_ + ':' if (UseCapturedNS_ and self.SRS_Version_nsprefix_) else '' + self.SRS_Version.export(outfile, level, namespaceprefix_, namespacedef_='', name_='SRS_Version', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ETCS_System_Version': + obj_ = TCETCS_System_Version.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ETCS_System_Version = obj_ + obj_.original_tagname_ = 'ETCS_System_Version' + elif nodeName_ == 'ID_Fachtelegramm': + obj_ = TCID_Fachtelegramm.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Fachtelegramm.append(obj_) + obj_.original_tagname_ = 'ID_Fachtelegramm' + elif nodeName_ == 'ID_FT_Anschaltbedingung_Geplant': + obj_ = TCID_FT_Anschaltbedingung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_FT_Anschaltbedingung_Geplant.append(obj_) + obj_.original_tagname_ = 'ID_FT_Anschaltbedingung_Geplant' + elif nodeName_ == 'ID_FT_Anschaltbedingung_Realisiert': + obj_ = TCID_FT_Anschaltbedingung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_FT_Anschaltbedingung_Realisiert.append(obj_) + obj_.original_tagname_ = 'ID_FT_Anschaltbedingung_Realisiert' + elif nodeName_ == 'SRS_Version': + obj_ = TCSRS_Version.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.SRS_Version = obj_ + obj_.original_tagname_ = 'SRS_Version' +# end class CDP_Telegramm_ESG + + +class CDP_ETCS_Adresse(GeneratedsSuper): + """NID_BG -- Bestandteil der ETCS-ID gem + ä + ß + Subset 26, Kapitel 7 und 8. + NID_C -- Bestandteil der ETCS-ID gem + ä + ß + Subset 26, Kapitel 7 und 8. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, NID_BG=None, NID_C=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.NID_BG = NID_BG + self.NID_BG_nsprefix_ = None + self.NID_C = NID_C + self.NID_C_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CDP_ETCS_Adresse) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CDP_ETCS_Adresse.subclass: + return CDP_ETCS_Adresse.subclass(*args_, **kwargs_) + else: + return CDP_ETCS_Adresse(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_NID_BG(self): + return self.NID_BG + def set_NID_BG(self, NID_BG): + self.NID_BG = NID_BG + def get_NID_C(self): + return self.NID_C + def set_NID_C(self, NID_C): + self.NID_C = NID_C + def has__content(self): + if ( + self.NID_BG is not None or + self.NID_C is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='CDP_ETCS_Adresse', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CDP_ETCS_Adresse') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CDP_ETCS_Adresse': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CDP_ETCS_Adresse') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CDP_ETCS_Adresse', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='CDP_ETCS_Adresse'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='CDP_ETCS_Adresse', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.NID_BG is not None: + namespaceprefix_ = self.NID_BG_nsprefix_ + ':' if (UseCapturedNS_ and self.NID_BG_nsprefix_) else '' + self.NID_BG.export(outfile, level, namespaceprefix_, namespacedef_='', name_='NID_BG', pretty_print=pretty_print) + if self.NID_C is not None: + namespaceprefix_ = self.NID_C_nsprefix_ + ':' if (UseCapturedNS_ and self.NID_C_nsprefix_) else '' + self.NID_C.export(outfile, level, namespaceprefix_, namespacedef_='', name_='NID_C', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'NID_BG': + obj_ = TCNID_BG.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.NID_BG = obj_ + obj_.original_tagname_ = 'NID_BG' + elif nodeName_ == 'NID_C': + obj_ = TCNID_C.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.NID_C = obj_ + obj_.original_tagname_ = 'NID_C' +# end class CDP_ETCS_Adresse + + +class TCWirksam(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCWirksam"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCWirksam) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCWirksam.subclass: + return TCWirksam.subclass(*args_, **kwargs_) + else: + return TCWirksam(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def has__content(self): + if ( + self.Wert is not None or + super(TCWirksam, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCWirksam', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCWirksam') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCWirksam': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCWirksam') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCWirksam', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCWirksam'): + super(TCWirksam, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCWirksam') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCWirksam', fromsubclass_=False, pretty_print=True): + super(TCWirksam, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_boolean(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCWirksam, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + sval_ = child_.text + ival_ = self.gds_parse_boolean(sval_, node, 'Wert') + ival_ = self.gds_validate_boolean(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + super(TCWirksam, self)._buildChildren(child_, node, nodeName_, True) +# end class TCWirksam + + +class TCETCS_Parametername(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCETCS_Parametername"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TETCS_Parametername(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCETCS_Parametername) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCETCS_Parametername.subclass: + return TCETCS_Parametername.subclass(*args_, **kwargs_) + else: + return TCETCS_Parametername(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TETCS_Parametername(self, value): + result = True + # Validate type TETCS_Parametername, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TETCS_Parametername_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TETCS_Parametername_patterns_, )) + result = False + return result + validate_TETCS_Parametername_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCETCS_Parametername, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCETCS_Parametername', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCETCS_Parametername') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCETCS_Parametername': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCETCS_Parametername') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCETCS_Parametername', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCETCS_Parametername'): + super(TCETCS_Parametername, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCETCS_Parametername') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCETCS_Parametername', fromsubclass_=False, pretty_print=True): + super(TCETCS_Parametername, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCETCS_Parametername, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TETCS_Parametername + self.validate_TETCS_Parametername(self.Wert) + super(TCETCS_Parametername, self)._buildChildren(child_, node, nodeName_, True) +# end class TCETCS_Parametername + + +class CBedingung_Besondere(GeneratedsSuper): + """Art_Bedingung -- Besondere Art der Anschaltbedingung, wenn keine durch Signal, Weiche oder PZB-Element eindeutig bestimmte Anschaltbedingung zutrifft. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Art_Bedingung=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Art_Bedingung = Art_Bedingung + self.Art_Bedingung_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CBedingung_Besondere) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CBedingung_Besondere.subclass: + return CBedingung_Besondere.subclass(*args_, **kwargs_) + else: + return CBedingung_Besondere(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Art_Bedingung(self): + return self.Art_Bedingung + def set_Art_Bedingung(self, Art_Bedingung): + self.Art_Bedingung = Art_Bedingung + def has__content(self): + if ( + self.Art_Bedingung is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='CBedingung_Besondere', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CBedingung_Besondere') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CBedingung_Besondere': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CBedingung_Besondere') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CBedingung_Besondere', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='CBedingung_Besondere'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='CBedingung_Besondere', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Art_Bedingung is not None: + namespaceprefix_ = self.Art_Bedingung_nsprefix_ + ':' if (UseCapturedNS_ and self.Art_Bedingung_nsprefix_) else '' + self.Art_Bedingung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Art_Bedingung', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Art_Bedingung': + obj_ = TCArt_Bedingung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Art_Bedingung = obj_ + obj_.original_tagname_ = 'Art_Bedingung' +# end class CBedingung_Besondere + + +class TCLEU_Modul_Geraetestand(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCLEU_Modul_Geraetestand"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TLEU_Modul_Geraetestand(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCLEU_Modul_Geraetestand) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCLEU_Modul_Geraetestand.subclass: + return TCLEU_Modul_Geraetestand.subclass(*args_, **kwargs_) + else: + return TCLEU_Modul_Geraetestand(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TLEU_Modul_Geraetestand(self, value): + result = True + # Validate type TLEU_Modul_Geraetestand, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TLEU_Modul_Geraetestand_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TLEU_Modul_Geraetestand_patterns_, )) + result = False + return result + validate_TLEU_Modul_Geraetestand_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCLEU_Modul_Geraetestand, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCLEU_Modul_Geraetestand', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCLEU_Modul_Geraetestand') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCLEU_Modul_Geraetestand': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCLEU_Modul_Geraetestand') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCLEU_Modul_Geraetestand', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCLEU_Modul_Geraetestand'): + super(TCLEU_Modul_Geraetestand, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCLEU_Modul_Geraetestand') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCLEU_Modul_Geraetestand', fromsubclass_=False, pretty_print=True): + super(TCLEU_Modul_Geraetestand, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCLEU_Modul_Geraetestand, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TLEU_Modul_Geraetestand + self.validate_TLEU_Modul_Geraetestand(self.Wert) + super(TCLEU_Modul_Geraetestand, self)._buildChildren(child_, node, nodeName_, True) +# end class TCLEU_Modul_Geraetestand + + +class TCFT_ESG_Subtyp(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCFT_ESG_Subtyp"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TFT_ESG_Subtyp(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCFT_ESG_Subtyp) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCFT_ESG_Subtyp.subclass: + return TCFT_ESG_Subtyp.subclass(*args_, **kwargs_) + else: + return TCFT_ESG_Subtyp(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TFT_ESG_Subtyp(self, value): + result = True + # Validate type TFT_ESG_Subtyp, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TFT_ESG_Subtyp_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TFT_ESG_Subtyp_patterns_, )) + result = False + return result + validate_TFT_ESG_Subtyp_patterns_ = [['^(.{5})$'], ['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCFT_ESG_Subtyp, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCFT_ESG_Subtyp', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCFT_ESG_Subtyp') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCFT_ESG_Subtyp': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCFT_ESG_Subtyp') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCFT_ESG_Subtyp', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCFT_ESG_Subtyp'): + super(TCFT_ESG_Subtyp, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCFT_ESG_Subtyp') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCFT_ESG_Subtyp', fromsubclass_=False, pretty_print=True): + super(TCFT_ESG_Subtyp, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCFT_ESG_Subtyp, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TFT_ESG_Subtyp + self.validate_TFT_ESG_Subtyp(self.Wert) + super(TCFT_ESG_Subtyp, self)._buildChildren(child_, node, nodeName_, True) +# end class TCFT_ESG_Subtyp + + +class TCFabrikat(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCFabrikat"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TFabrikat(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCFabrikat) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCFabrikat.subclass: + return TCFabrikat.subclass(*args_, **kwargs_) + else: + return TCFabrikat(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TFabrikat(self, value): + result = True + # Validate type TFabrikat, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TFabrikat_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TFabrikat_patterns_, )) + result = False + return result + validate_TFabrikat_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCFabrikat, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCFabrikat', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCFabrikat') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCFabrikat': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCFabrikat') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCFabrikat', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCFabrikat'): + super(TCFabrikat, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCFabrikat') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCFabrikat', fromsubclass_=False, pretty_print=True): + super(TCFabrikat, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCFabrikat, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TFabrikat + self.validate_TFabrikat(self.Wert) + super(TCFabrikat, self)._buildChildren(child_, node, nodeName_, True) +# end class TCFabrikat + + +class TCDunkelschaltanstoss(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCDunkelschaltanstoss"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCDunkelschaltanstoss) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCDunkelschaltanstoss.subclass: + return TCDunkelschaltanstoss.subclass(*args_, **kwargs_) + else: + return TCDunkelschaltanstoss(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def has__content(self): + if ( + self.Wert is not None or + super(TCDunkelschaltanstoss, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCDunkelschaltanstoss', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCDunkelschaltanstoss') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCDunkelschaltanstoss': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCDunkelschaltanstoss') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCDunkelschaltanstoss', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCDunkelschaltanstoss'): + super(TCDunkelschaltanstoss, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCDunkelschaltanstoss') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCDunkelschaltanstoss', fromsubclass_=False, pretty_print=True): + super(TCDunkelschaltanstoss, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_boolean(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCDunkelschaltanstoss, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + sval_ = child_.text + ival_ = self.gds_parse_boolean(sval_, node, 'Wert') + ival_ = self.gds_validate_boolean(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + super(TCDunkelschaltanstoss, self)._buildChildren(child_, node, nodeName_, True) +# end class TCDunkelschaltanstoss + + +class TCArt_Bedingung(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCArt_Bedingung"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMArt_Bedingung(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCArt_Bedingung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCArt_Bedingung.subclass: + return TCArt_Bedingung.subclass(*args_, **kwargs_) + else: + return TCArt_Bedingung(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMArt_Bedingung(self, value): + result = True + # Validate type ENUMArt_Bedingung, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['Default', 'Festdaten', 'sonstige', 'Störtelegramm'] + 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 ENUMArt_Bedingung' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCArt_Bedingung, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCArt_Bedingung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCArt_Bedingung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCArt_Bedingung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCArt_Bedingung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCArt_Bedingung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCArt_Bedingung'): + super(TCArt_Bedingung, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCArt_Bedingung') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCArt_Bedingung', fromsubclass_=False, pretty_print=True): + super(TCArt_Bedingung, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCArt_Bedingung, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMArt_Bedingung + self.validate_ENUMArt_Bedingung(self.Wert) + super(TCArt_Bedingung, self)._buildChildren(child_, node, nodeName_, True) +# end class TCArt_Bedingung + + +class TCKonfigurationskennung(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCKonfigurationskennung"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TKonfigurationskennung(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCKonfigurationskennung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCKonfigurationskennung.subclass: + return TCKonfigurationskennung.subclass(*args_, **kwargs_) + else: + return TCKonfigurationskennung(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TKonfigurationskennung(self, value): + result = True + # Validate type TKonfigurationskennung, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TKonfigurationskennung_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TKonfigurationskennung_patterns_, )) + result = False + return result + validate_TKonfigurationskennung_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCKonfigurationskennung, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCKonfigurationskennung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCKonfigurationskennung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCKonfigurationskennung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCKonfigurationskennung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCKonfigurationskennung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCKonfigurationskennung'): + super(TCKonfigurationskennung, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCKonfigurationskennung') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCKonfigurationskennung', fromsubclass_=False, pretty_print=True): + super(TCKonfigurationskennung, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCKonfigurationskennung, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TKonfigurationskennung + self.validate_TKonfigurationskennung(self.Wert) + super(TCKonfigurationskennung, self)._buildChildren(child_, node, nodeName_, True) +# end class TCKonfigurationskennung + + +class TCIndividualisierung_Weitere(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCIndividualisierung_Weitere"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TIndividualisierung_Weitere(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCIndividualisierung_Weitere) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCIndividualisierung_Weitere.subclass: + return TCIndividualisierung_Weitere.subclass(*args_, **kwargs_) + else: + return TCIndividualisierung_Weitere(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TIndividualisierung_Weitere(self, value): + result = True + # Validate type TIndividualisierung_Weitere, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TIndividualisierung_Weitere_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TIndividualisierung_Weitere_patterns_, )) + result = False + return result + validate_TIndividualisierung_Weitere_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCIndividualisierung_Weitere, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCIndividualisierung_Weitere', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCIndividualisierung_Weitere') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCIndividualisierung_Weitere': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCIndividualisierung_Weitere') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCIndividualisierung_Weitere', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCIndividualisierung_Weitere'): + super(TCIndividualisierung_Weitere, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCIndividualisierung_Weitere') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCIndividualisierung_Weitere', fromsubclass_=False, pretty_print=True): + super(TCIndividualisierung_Weitere, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCIndividualisierung_Weitere, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TIndividualisierung_Weitere + self.validate_TIndividualisierung_Weitere(self.Wert) + super(TCIndividualisierung_Weitere, self)._buildChildren(child_, node, nodeName_, True) +# end class TCIndividualisierung_Weitere + + +class TCPosition(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCPosition"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMPosition(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCPosition) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCPosition.subclass: + return TCPosition.subclass(*args_, **kwargs_) + else: + return TCPosition(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMPosition(self, value): + result = True + # Validate type ENUMPosition, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['am', 'hinter', 'vor'] + 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 ENUMPosition' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCPosition, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCPosition', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCPosition') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCPosition': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCPosition') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCPosition', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCPosition'): + super(TCPosition, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCPosition') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCPosition', fromsubclass_=False, pretty_print=True): + super(TCPosition, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCPosition, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMPosition + self.validate_ENUMPosition(self.Wert) + super(TCPosition, self)._buildChildren(child_, node, nodeName_, True) +# end class TCPosition + + +class TCVGR_2(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCVGR_2"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TVGR_2(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCVGR_2) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCVGR_2.subclass: + return TCVGR_2.subclass(*args_, **kwargs_) + else: + return TCVGR_2(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TVGR_2(self, value): + result = True + # Validate type TVGR_2, a restriction on nsBasisTypen:TGeschwindigkeit. + 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_TVGR_2_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TVGR_2_patterns_, )) + result = False + return result + validate_TVGR_2_patterns_ = [['^(0|[1-9][0-9]{0,1}|[1-4][0-9]{2}|500)$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCVGR_2, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCVGR_2', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCVGR_2') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCVGR_2': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCVGR_2') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCVGR_2', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCVGR_2'): + super(TCVGR_2, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCVGR_2') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCVGR_2', fromsubclass_=False, pretty_print=True): + super(TCVGR_2, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_integer(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCVGR_2, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + ival_ = self.gds_parse_integer(sval_, node, 'Wert') + ival_ = self.gds_validate_integer(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + # validate type TVGR_2 + self.validate_TVGR_2(self.Wert) + super(TCVGR_2, self)._buildChildren(child_, node, nodeName_, True) +# end class TCVGR_2 + + +class TCDP_Bezug_Funktional_Art(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCDP_Bezug_Funktional_Art"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMDP_Bezug_Funktional_Art(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCDP_Bezug_Funktional_Art) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCDP_Bezug_Funktional_Art.subclass: + return TCDP_Bezug_Funktional_Art.subclass(*args_, **kwargs_) + else: + return TCDP_Bezug_Funktional_Art(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMDP_Bezug_Funktional_Art(self, value): + result = True + # Validate type ENUMDP_Bezug_Funktional_Art, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['mittelbar', 'sonstige', 'unmittelbar'] + 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 ENUMDP_Bezug_Funktional_Art' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCDP_Bezug_Funktional_Art, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCDP_Bezug_Funktional_Art', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCDP_Bezug_Funktional_Art') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCDP_Bezug_Funktional_Art': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCDP_Bezug_Funktional_Art') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCDP_Bezug_Funktional_Art', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCDP_Bezug_Funktional_Art'): + super(TCDP_Bezug_Funktional_Art, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCDP_Bezug_Funktional_Art') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCDP_Bezug_Funktional_Art', fromsubclass_=False, pretty_print=True): + super(TCDP_Bezug_Funktional_Art, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCDP_Bezug_Funktional_Art, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMDP_Bezug_Funktional_Art + self.validate_ENUMDP_Bezug_Funktional_Art(self.Wert) + super(TCDP_Bezug_Funktional_Art, self)._buildChildren(child_, node, nodeName_, True) +# end class TCDP_Bezug_Funktional_Art + + +class TCRekursion_2_Nr(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCRekursion_2_Nr"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TRekursion_2_Nr(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCRekursion_2_Nr) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCRekursion_2_Nr.subclass: + return TCRekursion_2_Nr.subclass(*args_, **kwargs_) + else: + return TCRekursion_2_Nr(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TRekursion_2_Nr(self, value): + result = True + # Validate type TRekursion_2_Nr, a restriction on xs:integer. + 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 + pass + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCRekursion_2_Nr, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCRekursion_2_Nr', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCRekursion_2_Nr') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCRekursion_2_Nr': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCRekursion_2_Nr') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCRekursion_2_Nr', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCRekursion_2_Nr'): + super(TCRekursion_2_Nr, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCRekursion_2_Nr') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCRekursion_2_Nr', fromsubclass_=False, pretty_print=True): + super(TCRekursion_2_Nr, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_integer(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCRekursion_2_Nr, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + ival_ = self.gds_parse_integer(sval_, node, 'Wert') + ival_ = self.gds_validate_integer(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + # validate type TRekursion_2_Nr + self.validate_TRekursion_2_Nr(self.Wert) + super(TCRekursion_2_Nr, self)._buildChildren(child_, node, nodeName_, True) +# end class TCRekursion_2_Nr + + +class TCLaenge_Gestufte_V_Signalisierung(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCLaenge_Gestufte_V_Signalisierung"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TLaenge_Gestufte_V_Signalisierung(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCLaenge_Gestufte_V_Signalisierung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCLaenge_Gestufte_V_Signalisierung.subclass: + return TCLaenge_Gestufte_V_Signalisierung.subclass(*args_, **kwargs_) + else: + return TCLaenge_Gestufte_V_Signalisierung(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TLaenge_Gestufte_V_Signalisierung(self, value): + result = True + # Validate type TLaenge_Gestufte_V_Signalisierung, a restriction on nsBasisTypen:TMeter. + 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 + pass + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCLaenge_Gestufte_V_Signalisierung, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCLaenge_Gestufte_V_Signalisierung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCLaenge_Gestufte_V_Signalisierung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCLaenge_Gestufte_V_Signalisierung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCLaenge_Gestufte_V_Signalisierung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCLaenge_Gestufte_V_Signalisierung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCLaenge_Gestufte_V_Signalisierung'): + super(TCLaenge_Gestufte_V_Signalisierung, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCLaenge_Gestufte_V_Signalisierung') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCLaenge_Gestufte_V_Signalisierung', fromsubclass_=False, pretty_print=True): + super(TCLaenge_Gestufte_V_Signalisierung, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_decimal(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCLaenge_Gestufte_V_Signalisierung, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + fval_ = self.gds_parse_decimal(sval_, node, 'Wert') + fval_ = self.gds_validate_decimal(fval_, node, 'Wert') + self.Wert = fval_ + self.Wert_nsprefix_ = child_.prefix + # validate type TLaenge_Gestufte_V_Signalisierung + self.validate_TLaenge_Gestufte_V_Signalisierung(self.Wert) + super(TCLaenge_Gestufte_V_Signalisierung, self)._buildChildren(child_, node, nodeName_, True) +# end class TCLaenge_Gestufte_V_Signalisierung + + +class CZUB_Bereichsgrenze_Nach_LZB(GeneratedsSuper): + """Harter_Ausstieg_Aus_L2 -- Bei + Ü + bergang von L2: Angabe, ob es sich um einen harten Ausstieg handelt (true). Bei einem harten Ausstieg erfolgt keine Ank + ü + ndigung durch das RBC. + Prioritaet -- Bei mehreren Anwendungssystemen in Sonderf + ä + llen (z. B. ausl + ä + ndische Anwendungssysteme): Priorit + ä + t f + ü + r die Nutzung + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Bgrenze_Nach_LZB_Bed_Einstieg=None, Harter_Ausstieg_Aus_L2=None, Prioritaet=None, gds_collector_=None, **kwargs_): + self.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 Bgrenze_Nach_LZB_Bed_Einstieg is None: + self.Bgrenze_Nach_LZB_Bed_Einstieg = [] + else: + self.Bgrenze_Nach_LZB_Bed_Einstieg = Bgrenze_Nach_LZB_Bed_Einstieg + self.Bgrenze_Nach_LZB_Bed_Einstieg_nsprefix_ = None + self.Harter_Ausstieg_Aus_L2 = Harter_Ausstieg_Aus_L2 + self.Harter_Ausstieg_Aus_L2_nsprefix_ = None + self.Prioritaet = Prioritaet + self.Prioritaet_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CZUB_Bereichsgrenze_Nach_LZB) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CZUB_Bereichsgrenze_Nach_LZB.subclass: + return CZUB_Bereichsgrenze_Nach_LZB.subclass(*args_, **kwargs_) + else: + return CZUB_Bereichsgrenze_Nach_LZB(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Bgrenze_Nach_LZB_Bed_Einstieg(self): + return self.Bgrenze_Nach_LZB_Bed_Einstieg + def set_Bgrenze_Nach_LZB_Bed_Einstieg(self, Bgrenze_Nach_LZB_Bed_Einstieg): + self.Bgrenze_Nach_LZB_Bed_Einstieg = Bgrenze_Nach_LZB_Bed_Einstieg + def add_Bgrenze_Nach_LZB_Bed_Einstieg(self, value): + self.Bgrenze_Nach_LZB_Bed_Einstieg.append(value) + def insert_Bgrenze_Nach_LZB_Bed_Einstieg_at(self, index, value): + self.Bgrenze_Nach_LZB_Bed_Einstieg.insert(index, value) + def replace_Bgrenze_Nach_LZB_Bed_Einstieg_at(self, index, value): + self.Bgrenze_Nach_LZB_Bed_Einstieg[index] = value + def get_Harter_Ausstieg_Aus_L2(self): + return self.Harter_Ausstieg_Aus_L2 + def set_Harter_Ausstieg_Aus_L2(self, Harter_Ausstieg_Aus_L2): + self.Harter_Ausstieg_Aus_L2 = Harter_Ausstieg_Aus_L2 + def get_Prioritaet(self): + return self.Prioritaet + def set_Prioritaet(self, Prioritaet): + self.Prioritaet = Prioritaet + def has__content(self): + if ( + self.Bgrenze_Nach_LZB_Bed_Einstieg or + self.Harter_Ausstieg_Aus_L2 is not None or + self.Prioritaet is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='CZUB_Bereichsgrenze_Nach_LZB', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CZUB_Bereichsgrenze_Nach_LZB') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CZUB_Bereichsgrenze_Nach_LZB': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CZUB_Bereichsgrenze_Nach_LZB') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CZUB_Bereichsgrenze_Nach_LZB', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='CZUB_Bereichsgrenze_Nach_LZB'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='CZUB_Bereichsgrenze_Nach_LZB', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for Bgrenze_Nach_LZB_Bed_Einstieg_ in self.Bgrenze_Nach_LZB_Bed_Einstieg: + namespaceprefix_ = self.Bgrenze_Nach_LZB_Bed_Einstieg_nsprefix_ + ':' if (UseCapturedNS_ and self.Bgrenze_Nach_LZB_Bed_Einstieg_nsprefix_) else '' + Bgrenze_Nach_LZB_Bed_Einstieg_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Bgrenze_Nach_LZB_Bed_Einstieg', pretty_print=pretty_print) + if self.Harter_Ausstieg_Aus_L2 is not None: + namespaceprefix_ = self.Harter_Ausstieg_Aus_L2_nsprefix_ + ':' if (UseCapturedNS_ and self.Harter_Ausstieg_Aus_L2_nsprefix_) else '' + self.Harter_Ausstieg_Aus_L2.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Harter_Ausstieg_Aus_L2', pretty_print=pretty_print) + if self.Prioritaet is not None: + namespaceprefix_ = self.Prioritaet_nsprefix_ + ':' if (UseCapturedNS_ and self.Prioritaet_nsprefix_) else '' + self.Prioritaet.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Prioritaet', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Bgrenze_Nach_LZB_Bed_Einstieg': + obj_ = CBgrenze_Nach_LZB_Bed_Einstieg.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Bgrenze_Nach_LZB_Bed_Einstieg.append(obj_) + obj_.original_tagname_ = 'Bgrenze_Nach_LZB_Bed_Einstieg' + elif nodeName_ == 'Harter_Ausstieg_Aus_L2': + obj_ = TCHarter_Ausstieg_Aus_L2.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Harter_Ausstieg_Aus_L2 = obj_ + obj_.original_tagname_ = 'Harter_Ausstieg_Aus_L2' + elif nodeName_ == 'Prioritaet': + obj_ = TCPrioritaet.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Prioritaet = obj_ + obj_.original_tagname_ = 'Prioritaet' +# end class CZUB_Bereichsgrenze_Nach_LZB + + +class TCAbstand_Datenpunkt_EP_TPI(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCAbstand_Datenpunkt_EP_TPI"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TAbstand_Datenpunkt_EP_TPI(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCAbstand_Datenpunkt_EP_TPI) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCAbstand_Datenpunkt_EP_TPI.subclass: + return TCAbstand_Datenpunkt_EP_TPI.subclass(*args_, **kwargs_) + else: + return TCAbstand_Datenpunkt_EP_TPI(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TAbstand_Datenpunkt_EP_TPI(self, value): + result = True + # Validate type TAbstand_Datenpunkt_EP_TPI, a restriction on nsBasisTypen:TMeter. + 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 + pass + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCAbstand_Datenpunkt_EP_TPI, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCAbstand_Datenpunkt_EP_TPI', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCAbstand_Datenpunkt_EP_TPI') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCAbstand_Datenpunkt_EP_TPI': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCAbstand_Datenpunkt_EP_TPI') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCAbstand_Datenpunkt_EP_TPI', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCAbstand_Datenpunkt_EP_TPI'): + super(TCAbstand_Datenpunkt_EP_TPI, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCAbstand_Datenpunkt_EP_TPI') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCAbstand_Datenpunkt_EP_TPI', fromsubclass_=False, pretty_print=True): + super(TCAbstand_Datenpunkt_EP_TPI, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_decimal(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCAbstand_Datenpunkt_EP_TPI, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + fval_ = self.gds_parse_decimal(sval_, node, 'Wert') + fval_ = self.gds_validate_decimal(fval_, node, 'Wert') + self.Wert = fval_ + self.Wert_nsprefix_ = child_.prefix + # validate type TAbstand_Datenpunkt_EP_TPI + self.validate_TAbstand_Datenpunkt_EP_TPI(self.Wert) + super(TCAbstand_Datenpunkt_EP_TPI, self)._buildChildren(child_, node, nodeName_, True) +# end class TCAbstand_Datenpunkt_EP_TPI + + +class CZUB_Bereichsgrenze_Nach_GNT(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_, CZUB_Bereichsgrenze_Nach_GNT) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CZUB_Bereichsgrenze_Nach_GNT.subclass: + return CZUB_Bereichsgrenze_Nach_GNT.subclass(*args_, **kwargs_) + else: + return CZUB_Bereichsgrenze_Nach_GNT(*args_, **kwargs_) + factory = 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_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='CZUB_Bereichsgrenze_Nach_GNT', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CZUB_Bereichsgrenze_Nach_GNT') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CZUB_Bereichsgrenze_Nach_GNT': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CZUB_Bereichsgrenze_Nach_GNT') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CZUB_Bereichsgrenze_Nach_GNT', pretty_print=pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='CZUB_Bereichsgrenze_Nach_GNT'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='CZUB_Bereichsgrenze_Nach_GNT', fromsubclass_=False, pretty_print=True): + pass + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_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 CZUB_Bereichsgrenze_Nach_GNT + + +class TCBedingung_Weichenlage(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCBedingung_Weichenlage"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TBedingung_Weichenlage(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCBedingung_Weichenlage) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCBedingung_Weichenlage.subclass: + return TCBedingung_Weichenlage.subclass(*args_, **kwargs_) + else: + return TCBedingung_Weichenlage(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TBedingung_Weichenlage(self, value): + result = True + # Validate type TBedingung_Weichenlage, a restriction on nsBasisTypen:TLinksRechts. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['links', 'rechts'] + 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 TBedingung_Weichenlage' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCBedingung_Weichenlage, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCBedingung_Weichenlage', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCBedingung_Weichenlage') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCBedingung_Weichenlage': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBedingung_Weichenlage') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCBedingung_Weichenlage', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCBedingung_Weichenlage'): + super(TCBedingung_Weichenlage, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBedingung_Weichenlage') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCBedingung_Weichenlage', fromsubclass_=False, pretty_print=True): + super(TCBedingung_Weichenlage, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCBedingung_Weichenlage, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TBedingung_Weichenlage + self.validate_TBedingung_Weichenlage(self.Wert) + super(TCBedingung_Weichenlage, self)._buildChildren(child_, node, nodeName_, True) +# end class TCBedingung_Weichenlage + + +class TCETCS_Gefahrpunktabstand_Abweichend(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCETCS_Gefahrpunktabstand_Abweichend"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TETCS_Gefahrpunktabstand_Abweichend(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCETCS_Gefahrpunktabstand_Abweichend) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCETCS_Gefahrpunktabstand_Abweichend.subclass: + return TCETCS_Gefahrpunktabstand_Abweichend.subclass(*args_, **kwargs_) + else: + return TCETCS_Gefahrpunktabstand_Abweichend(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TETCS_Gefahrpunktabstand_Abweichend(self, value): + result = True + # Validate type TETCS_Gefahrpunktabstand_Abweichend, a restriction on nsBasisTypen:TMeter. + 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 + pass + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCETCS_Gefahrpunktabstand_Abweichend, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCETCS_Gefahrpunktabstand_Abweichend', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCETCS_Gefahrpunktabstand_Abweichend') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCETCS_Gefahrpunktabstand_Abweichend': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCETCS_Gefahrpunktabstand_Abweichend') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCETCS_Gefahrpunktabstand_Abweichend', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCETCS_Gefahrpunktabstand_Abweichend'): + super(TCETCS_Gefahrpunktabstand_Abweichend, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCETCS_Gefahrpunktabstand_Abweichend') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCETCS_Gefahrpunktabstand_Abweichend', fromsubclass_=False, pretty_print=True): + super(TCETCS_Gefahrpunktabstand_Abweichend, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_decimal(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCETCS_Gefahrpunktabstand_Abweichend, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + fval_ = self.gds_parse_decimal(sval_, node, 'Wert') + fval_ = self.gds_validate_decimal(fval_, node, 'Wert') + self.Wert = fval_ + self.Wert_nsprefix_ = child_.prefix + # validate type TETCS_Gefahrpunktabstand_Abweichend + self.validate_TETCS_Gefahrpunktabstand_Abweichend(self.Wert) + super(TCETCS_Gefahrpunktabstand_Abweichend, self)._buildChildren(child_, node, nodeName_, True) +# end class TCETCS_Gefahrpunktabstand_Abweichend + + +class TCDatenpunkt_Laenge(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCDatenpunkt_Laenge"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TDatenpunkt_Laenge(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCDatenpunkt_Laenge) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCDatenpunkt_Laenge.subclass: + return TCDatenpunkt_Laenge.subclass(*args_, **kwargs_) + else: + return TCDatenpunkt_Laenge(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TDatenpunkt_Laenge(self, value): + result = True + # Validate type TDatenpunkt_Laenge, a restriction on nsBasisTypen:TMeter. + 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 not self.gds_validate_simple_patterns( + self.validate_TDatenpunkt_Laenge_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TDatenpunkt_Laenge_patterns_, )) + result = False + return result + validate_TDatenpunkt_Laenge_patterns_ = [['^((([0-9]|[1-7][0-9]|8[0-3])\\.[0-9])|84\\.0)$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCDatenpunkt_Laenge, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCDatenpunkt_Laenge', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCDatenpunkt_Laenge') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCDatenpunkt_Laenge': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCDatenpunkt_Laenge') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCDatenpunkt_Laenge', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCDatenpunkt_Laenge'): + super(TCDatenpunkt_Laenge, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCDatenpunkt_Laenge') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCDatenpunkt_Laenge', fromsubclass_=False, pretty_print=True): + super(TCDatenpunkt_Laenge, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_decimal(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCDatenpunkt_Laenge, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + fval_ = self.gds_parse_decimal(sval_, node, 'Wert') + fval_ = self.gds_validate_decimal(fval_, node, 'Wert') + self.Wert = fval_ + self.Wert_nsprefix_ = child_.prefix + # validate type TDatenpunkt_Laenge + self.validate_TDatenpunkt_Laenge(self.Wert) + super(TCDatenpunkt_Laenge, self)._buildChildren(child_, node, nodeName_, True) +# end class TCDatenpunkt_Laenge + + +class TCLLA(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCLLA"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TLLA(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCLLA) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCLLA.subclass: + return TCLLA.subclass(*args_, **kwargs_) + else: + return TCLLA(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TLLA(self, value): + result = True + # Validate type TLLA, a restriction on nsBasisTypen:TMeter. + 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 + pass + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCLLA, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCLLA', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCLLA') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCLLA': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCLLA') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCLLA', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCLLA'): + super(TCLLA, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCLLA') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCLLA', fromsubclass_=False, pretty_print=True): + super(TCLLA, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_decimal(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCLLA, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + fval_ = self.gds_parse_decimal(sval_, node, 'Wert') + fval_ = self.gds_validate_decimal(fval_, node, 'Wert') + self.Wert = fval_ + self.Wert_nsprefix_ = child_.prefix + # validate type TLLA + self.validate_TLLA(self.Wert) + super(TCLLA, self)._buildChildren(child_, node, nodeName_, True) +# end class TCLLA + + +class CStart_W_Element(GeneratedsSuper): + """ID_Start_W_Element -- Verweis auf ein Weichenelement, das als Start-Element zur Beschreibung des Fahrwegteils verwendet wird. + W_Anschluss -- Angabe des relevanten Anschlusses der Weiche (links, rechts, Spitze). + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, ID_Start_W_Element=None, W_Anschluss=None, gds_collector_=None, **kwargs_): + self.gds_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_Start_W_Element = ID_Start_W_Element + self.ID_Start_W_Element_nsprefix_ = None + self.W_Anschluss = W_Anschluss + self.W_Anschluss_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CStart_W_Element) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CStart_W_Element.subclass: + return CStart_W_Element.subclass(*args_, **kwargs_) + else: + return CStart_W_Element(*args_, **kwargs_) + factory = staticmethod(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_Start_W_Element(self): + return self.ID_Start_W_Element + def set_ID_Start_W_Element(self, ID_Start_W_Element): + self.ID_Start_W_Element = ID_Start_W_Element + def get_W_Anschluss(self): + return self.W_Anschluss + def set_W_Anschluss(self, W_Anschluss): + self.W_Anschluss = W_Anschluss + def has__content(self): + if ( + self.ID_Start_W_Element is not None or + self.W_Anschluss is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CStart_W_Element', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CStart_W_Element') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CStart_W_Element': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CStart_W_Element') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CStart_W_Element', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='CStart_W_Element'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CStart_W_Element', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.ID_Start_W_Element is not None: + namespaceprefix_ = self.ID_Start_W_Element_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Start_W_Element_nsprefix_) else '' + self.ID_Start_W_Element.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Start_W_Element', pretty_print=pretty_print) + if self.W_Anschluss is not None: + namespaceprefix_ = self.W_Anschluss_nsprefix_ + ':' if (UseCapturedNS_ and self.W_Anschluss_nsprefix_) else '' + self.W_Anschluss.export(outfile, level, namespaceprefix_, namespacedef_='', name_='W_Anschluss', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Start_W_Element': + obj_ = TCID_W_Kr_Gsp_Element.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Start_W_Element = obj_ + obj_.original_tagname_ = 'ID_Start_W_Element' + elif nodeName_ == 'W_Anschluss': + obj_ = TCW_Anschluss.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.W_Anschluss = obj_ + obj_.original_tagname_ = 'W_Anschluss' +# end class CStart_W_Element + + +class CFT_GNT_Merkmale(GeneratedsSuper): + """Delta_VGES -- Erh + ö + hung der Grenzgeschwindigkeit im + Ü + berwachungsabschnitt im ES-Profil. + Delta_VLES -- Geschwindigkeitsdifferenz f + ü + r Langsamfahrbereich im ES-Profil. + Delta_VZES -- Differenz f + ü + r die Zielgeschwindigkeit im ES-Profil. + FT_GNT_Punktart -- Punktart des GNT-Fachtelegramms, die dessen ( + Ü + berwachungs-)Funktion bestimmt. + LLA -- L + ä + nge des La-Bereichs. + Neigung -- Kennzahl f + ü + r die Streckenneigung im + Ü + berwachungsabschnitt. + SBE -- Kennung des Sicherungsbereichs. + STZ -- Steuerzeichen. + VGR -- Grenzgeschwindigkeit im + Ü + berwachungsabschnitt f + ü + r das RS-Profil. + VLA -- Zul + ä + ssige Geschwindigkeit im La-Bereich. + VZ -- Zielgeschwindigkeit. + ZLA -- Zielentfernung bis zum Beginn des La-Bereichs. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Delta_VGES=None, Delta_VLES=None, Delta_VZES=None, FT_GNT_Punktart=None, LLA=None, Neigung=None, SBE=None, STZ=None, VGR=None, VLA=None, VZ=None, ZLA=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Delta_VGES = Delta_VGES + self.Delta_VGES_nsprefix_ = None + self.Delta_VLES = Delta_VLES + self.Delta_VLES_nsprefix_ = None + self.Delta_VZES = Delta_VZES + self.Delta_VZES_nsprefix_ = None + self.FT_GNT_Punktart = FT_GNT_Punktart + self.FT_GNT_Punktart_nsprefix_ = None + self.LLA = LLA + self.LLA_nsprefix_ = None + self.Neigung = Neigung + self.Neigung_nsprefix_ = None + self.SBE = SBE + self.SBE_nsprefix_ = None + self.STZ = STZ + self.STZ_nsprefix_ = None + self.VGR = VGR + self.VGR_nsprefix_ = None + self.VLA = VLA + self.VLA_nsprefix_ = None + self.VZ = VZ + self.VZ_nsprefix_ = None + self.ZLA = ZLA + self.ZLA_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CFT_GNT_Merkmale) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CFT_GNT_Merkmale.subclass: + return CFT_GNT_Merkmale.subclass(*args_, **kwargs_) + else: + return CFT_GNT_Merkmale(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Delta_VGES(self): + return self.Delta_VGES + def set_Delta_VGES(self, Delta_VGES): + self.Delta_VGES = Delta_VGES + def get_Delta_VLES(self): + return self.Delta_VLES + def set_Delta_VLES(self, Delta_VLES): + self.Delta_VLES = Delta_VLES + def get_Delta_VZES(self): + return self.Delta_VZES + def set_Delta_VZES(self, Delta_VZES): + self.Delta_VZES = Delta_VZES + def get_FT_GNT_Punktart(self): + return self.FT_GNT_Punktart + def set_FT_GNT_Punktart(self, FT_GNT_Punktart): + self.FT_GNT_Punktart = FT_GNT_Punktart + def get_LLA(self): + return self.LLA + def set_LLA(self, LLA): + self.LLA = LLA + def get_Neigung(self): + return self.Neigung + def set_Neigung(self, Neigung): + self.Neigung = Neigung + def get_SBE(self): + return self.SBE + def set_SBE(self, SBE): + self.SBE = SBE + def get_STZ(self): + return self.STZ + def set_STZ(self, STZ): + self.STZ = STZ + def get_VGR(self): + return self.VGR + def set_VGR(self, VGR): + self.VGR = VGR + def get_VLA(self): + return self.VLA + def set_VLA(self, VLA): + self.VLA = VLA + def get_VZ(self): + return self.VZ + def set_VZ(self, VZ): + self.VZ = VZ + def get_ZLA(self): + return self.ZLA + def set_ZLA(self, ZLA): + self.ZLA = ZLA + def has__content(self): + if ( + self.Delta_VGES is not None or + self.Delta_VLES is not None or + self.Delta_VZES is not None or + self.FT_GNT_Punktart is not None or + self.LLA is not None or + self.Neigung is not None or + self.SBE is not None or + self.STZ is not None or + self.VGR is not None or + self.VLA is not None or + self.VZ is not None or + self.ZLA is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='CFT_GNT_Merkmale', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CFT_GNT_Merkmale') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CFT_GNT_Merkmale': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CFT_GNT_Merkmale') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CFT_GNT_Merkmale', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='CFT_GNT_Merkmale'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='CFT_GNT_Merkmale', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Delta_VGES is not None: + namespaceprefix_ = self.Delta_VGES_nsprefix_ + ':' if (UseCapturedNS_ and self.Delta_VGES_nsprefix_) else '' + self.Delta_VGES.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Delta_VGES', pretty_print=pretty_print) + if self.Delta_VLES is not None: + namespaceprefix_ = self.Delta_VLES_nsprefix_ + ':' if (UseCapturedNS_ and self.Delta_VLES_nsprefix_) else '' + self.Delta_VLES.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Delta_VLES', pretty_print=pretty_print) + if self.Delta_VZES is not None: + namespaceprefix_ = self.Delta_VZES_nsprefix_ + ':' if (UseCapturedNS_ and self.Delta_VZES_nsprefix_) else '' + self.Delta_VZES.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Delta_VZES', pretty_print=pretty_print) + if self.FT_GNT_Punktart is not None: + namespaceprefix_ = self.FT_GNT_Punktart_nsprefix_ + ':' if (UseCapturedNS_ and self.FT_GNT_Punktart_nsprefix_) else '' + self.FT_GNT_Punktart.export(outfile, level, namespaceprefix_, namespacedef_='', name_='FT_GNT_Punktart', pretty_print=pretty_print) + if self.LLA is not None: + namespaceprefix_ = self.LLA_nsprefix_ + ':' if (UseCapturedNS_ and self.LLA_nsprefix_) else '' + self.LLA.export(outfile, level, namespaceprefix_, namespacedef_='', name_='LLA', pretty_print=pretty_print) + if self.Neigung is not None: + namespaceprefix_ = self.Neigung_nsprefix_ + ':' if (UseCapturedNS_ and self.Neigung_nsprefix_) else '' + self.Neigung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Neigung', pretty_print=pretty_print) + if self.SBE is not None: + namespaceprefix_ = self.SBE_nsprefix_ + ':' if (UseCapturedNS_ and self.SBE_nsprefix_) else '' + self.SBE.export(outfile, level, namespaceprefix_, namespacedef_='', name_='SBE', pretty_print=pretty_print) + if self.STZ is not None: + namespaceprefix_ = self.STZ_nsprefix_ + ':' if (UseCapturedNS_ and self.STZ_nsprefix_) else '' + self.STZ.export(outfile, level, namespaceprefix_, namespacedef_='', name_='STZ', pretty_print=pretty_print) + if self.VGR is not None: + namespaceprefix_ = self.VGR_nsprefix_ + ':' if (UseCapturedNS_ and self.VGR_nsprefix_) else '' + self.VGR.export(outfile, level, namespaceprefix_, namespacedef_='', name_='VGR', pretty_print=pretty_print) + if self.VLA is not None: + namespaceprefix_ = self.VLA_nsprefix_ + ':' if (UseCapturedNS_ and self.VLA_nsprefix_) else '' + self.VLA.export(outfile, level, namespaceprefix_, namespacedef_='', name_='VLA', pretty_print=pretty_print) + if self.VZ is not None: + namespaceprefix_ = self.VZ_nsprefix_ + ':' if (UseCapturedNS_ and self.VZ_nsprefix_) else '' + self.VZ.export(outfile, level, namespaceprefix_, namespacedef_='', name_='VZ', pretty_print=pretty_print) + if self.ZLA is not None: + namespaceprefix_ = self.ZLA_nsprefix_ + ':' if (UseCapturedNS_ and self.ZLA_nsprefix_) else '' + self.ZLA.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ZLA', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Delta_VGES': + obj_ = TCDelta_VGES.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Delta_VGES = obj_ + obj_.original_tagname_ = 'Delta_VGES' + elif nodeName_ == 'Delta_VLES': + obj_ = TCDelta_VLES.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Delta_VLES = obj_ + obj_.original_tagname_ = 'Delta_VLES' + elif nodeName_ == 'Delta_VZES': + obj_ = TCDelta_VZES.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Delta_VZES = obj_ + obj_.original_tagname_ = 'Delta_VZES' + elif nodeName_ == 'FT_GNT_Punktart': + obj_ = TCFT_GNT_Punktart.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.FT_GNT_Punktart = obj_ + obj_.original_tagname_ = 'FT_GNT_Punktart' + elif nodeName_ == 'LLA': + obj_ = TCLLA.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.LLA = obj_ + obj_.original_tagname_ = 'LLA' + elif nodeName_ == 'Neigung': + obj_ = TCNeigung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Neigung = obj_ + obj_.original_tagname_ = 'Neigung' + elif nodeName_ == 'SBE': + obj_ = TCSBE.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.SBE = obj_ + obj_.original_tagname_ = 'SBE' + elif nodeName_ == 'STZ': + obj_ = TCSTZ.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.STZ = obj_ + obj_.original_tagname_ = 'STZ' + elif nodeName_ == 'VGR': + obj_ = TCVGR.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.VGR = obj_ + obj_.original_tagname_ = 'VGR' + elif nodeName_ == 'VLA': + obj_ = TCVLA.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.VLA = obj_ + obj_.original_tagname_ = 'VLA' + elif nodeName_ == 'VZ': + obj_ = TCVZ.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.VZ = obj_ + obj_.original_tagname_ = 'VZ' + elif nodeName_ == 'ZLA': + obj_ = TCZLA.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ZLA = obj_ + obj_.original_tagname_ = 'ZLA' +# end class CFT_GNT_Merkmale + + +class TCV_Befehl_Z(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCV_Befehl_Z"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TV_Befehl_Z(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCV_Befehl_Z) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCV_Befehl_Z.subclass: + return TCV_Befehl_Z.subclass(*args_, **kwargs_) + else: + return TCV_Befehl_Z(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TV_Befehl_Z(self, value): + result = True + # Validate type TV_Befehl_Z, a restriction on nsBasisTypen:TGeschwindigkeit. + 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_TV_Befehl_Z_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TV_Befehl_Z_patterns_, )) + result = False + return result + validate_TV_Befehl_Z_patterns_ = [['^(0|[1-9][0-9]{0,1}|[1-4][0-9]{2}|500)$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCV_Befehl_Z, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCV_Befehl_Z', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCV_Befehl_Z') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCV_Befehl_Z': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCV_Befehl_Z') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCV_Befehl_Z', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCV_Befehl_Z'): + super(TCV_Befehl_Z, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCV_Befehl_Z') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCV_Befehl_Z', fromsubclass_=False, pretty_print=True): + super(TCV_Befehl_Z, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_integer(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCV_Befehl_Z, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + ival_ = self.gds_parse_integer(sval_, node, 'Wert') + ival_ = self.gds_validate_integer(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + # validate type TV_Befehl_Z + self.validate_TV_Befehl_Z(self.Wert) + super(TCV_Befehl_Z, self)._buildChildren(child_, node, nodeName_, True) +# end class TCV_Befehl_Z + + +class TCUeberbrueckung_EV_Unterbrechung(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCUeberbrueckung_EV_Unterbrechung"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TUeberbrueckung_EV_Unterbrechung(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCUeberbrueckung_EV_Unterbrechung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCUeberbrueckung_EV_Unterbrechung.subclass: + return TCUeberbrueckung_EV_Unterbrechung.subclass(*args_, **kwargs_) + else: + return TCUeberbrueckung_EV_Unterbrechung(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TUeberbrueckung_EV_Unterbrechung(self, value): + result = True + # Validate type TUeberbrueckung_EV_Unterbrechung, a restriction on nsBasisTypen:TSekunde. + 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 not self.gds_validate_simple_patterns( + self.validate_TUeberbrueckung_EV_Unterbrechung_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TUeberbrueckung_EV_Unterbrechung_patterns_, )) + result = False + return result + validate_TUeberbrueckung_EV_Unterbrechung_patterns_ = [['^(([0-1]\\.[0-9]{2})|(2\\.[0-4][0-9])|(2\\.50))$'], ['^([0-9]{1,5}(\\.[0-9]{2})?)$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCUeberbrueckung_EV_Unterbrechung, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCUeberbrueckung_EV_Unterbrechung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCUeberbrueckung_EV_Unterbrechung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCUeberbrueckung_EV_Unterbrechung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCUeberbrueckung_EV_Unterbrechung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCUeberbrueckung_EV_Unterbrechung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCUeberbrueckung_EV_Unterbrechung'): + super(TCUeberbrueckung_EV_Unterbrechung, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCUeberbrueckung_EV_Unterbrechung') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCUeberbrueckung_EV_Unterbrechung', fromsubclass_=False, pretty_print=True): + super(TCUeberbrueckung_EV_Unterbrechung, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_decimal(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCUeberbrueckung_EV_Unterbrechung, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + fval_ = self.gds_parse_decimal(sval_, node, 'Wert') + fval_ = self.gds_validate_decimal(fval_, node, 'Wert') + self.Wert = fval_ + self.Wert_nsprefix_ = child_.prefix + # validate type TUeberbrueckung_EV_Unterbrechung + self.validate_TUeberbrueckung_EV_Unterbrechung(self.Wert) + super(TCUeberbrueckung_EV_Unterbrechung, self)._buildChildren(child_, node, nodeName_, True) +# end class TCUeberbrueckung_EV_Unterbrechung + + +class TCOberstrombegrenzung_Reisezug(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCOberstrombegrenzung_Reisezug"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TOberstrombegrenzung_Reisezug(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCOberstrombegrenzung_Reisezug) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCOberstrombegrenzung_Reisezug.subclass: + return TCOberstrombegrenzung_Reisezug.subclass(*args_, **kwargs_) + else: + return TCOberstrombegrenzung_Reisezug(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TOberstrombegrenzung_Reisezug(self, value): + result = True + # Validate type TOberstrombegrenzung_Reisezug, a restriction on xs:integer. + 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_TOberstrombegrenzung_Reisezug_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TOberstrombegrenzung_Reisezug_patterns_, )) + result = False + return result + validate_TOberstrombegrenzung_Reisezug_patterns_ = [['^(0|[1-9][0-9]{0,2}|1[0-9]{3}|2000)$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCOberstrombegrenzung_Reisezug, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCOberstrombegrenzung_Reisezug', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCOberstrombegrenzung_Reisezug') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCOberstrombegrenzung_Reisezug': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCOberstrombegrenzung_Reisezug') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCOberstrombegrenzung_Reisezug', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCOberstrombegrenzung_Reisezug'): + super(TCOberstrombegrenzung_Reisezug, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCOberstrombegrenzung_Reisezug') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCOberstrombegrenzung_Reisezug', fromsubclass_=False, pretty_print=True): + super(TCOberstrombegrenzung_Reisezug, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_integer(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCOberstrombegrenzung_Reisezug, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + ival_ = self.gds_parse_integer(sval_, node, 'Wert') + ival_ = self.gds_validate_integer(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + # validate type TOberstrombegrenzung_Reisezug + self.validate_TOberstrombegrenzung_Reisezug(self.Wert) + super(TCOberstrombegrenzung_Reisezug, self)._buildChildren(child_, node, nodeName_, True) +# end class TCOberstrombegrenzung_Reisezug + + +class TCNID_RBC(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCNID_RBC"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TNID_RBC(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCNID_RBC) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCNID_RBC.subclass: + return TCNID_RBC.subclass(*args_, **kwargs_) + else: + return TCNID_RBC(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TNID_RBC(self, value): + result = True + # Validate type TNID_RBC, a restriction on xs:integer. + 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_TNID_RBC_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TNID_RBC_patterns_, )) + result = False + return result + validate_TNID_RBC_patterns_ = [['^(0|1[0-5][0-9]{3}|16[0-2][0-9]{2}|163[0-7][0-9]|1638[0-3]|[1-9][0-9]{0,3})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCNID_RBC, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCNID_RBC', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCNID_RBC') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCNID_RBC': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCNID_RBC') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCNID_RBC', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCNID_RBC'): + super(TCNID_RBC, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCNID_RBC') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCNID_RBC', fromsubclass_=False, pretty_print=True): + super(TCNID_RBC, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_integer(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCNID_RBC, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + ival_ = self.gds_parse_integer(sval_, node, 'Wert') + ival_ = self.gds_validate_integer(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + # validate type TNID_RBC + self.validate_TNID_RBC(self.Wert) + super(TCNID_RBC, self)._buildChildren(child_, node, nodeName_, True) +# end class TCNID_RBC + + +class TCZBS_La_Bereich_Distanz(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCZBS_La_Bereich_Distanz"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TZBS_La_Bereich_Distanz(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCZBS_La_Bereich_Distanz) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCZBS_La_Bereich_Distanz.subclass: + return TCZBS_La_Bereich_Distanz.subclass(*args_, **kwargs_) + else: + return TCZBS_La_Bereich_Distanz(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TZBS_La_Bereich_Distanz(self, value): + result = True + # Validate type TZBS_La_Bereich_Distanz, a restriction on nsBasisTypen:TMeter. + 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 + pass + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCZBS_La_Bereich_Distanz, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCZBS_La_Bereich_Distanz', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCZBS_La_Bereich_Distanz') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCZBS_La_Bereich_Distanz': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCZBS_La_Bereich_Distanz') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCZBS_La_Bereich_Distanz', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCZBS_La_Bereich_Distanz'): + super(TCZBS_La_Bereich_Distanz, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCZBS_La_Bereich_Distanz') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCZBS_La_Bereich_Distanz', fromsubclass_=False, pretty_print=True): + super(TCZBS_La_Bereich_Distanz, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_decimal(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCZBS_La_Bereich_Distanz, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + fval_ = self.gds_parse_decimal(sval_, node, 'Wert') + fval_ = self.gds_validate_decimal(fval_, node, 'Wert') + self.Wert = fval_ + self.Wert_nsprefix_ = child_.prefix + # validate type TZBS_La_Bereich_Distanz + self.validate_TZBS_La_Bereich_Distanz(self.Wert) + super(TCZBS_La_Bereich_Distanz, self)._buildChildren(child_, node, nodeName_, True) +# end class TCZBS_La_Bereich_Distanz + + +class TCSpannung_Art(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCSpannung_Art"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMSpannung_Art(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCSpannung_Art) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCSpannung_Art.subclass: + return TCSpannung_Art.subclass(*args_, **kwargs_) + else: + return TCSpannung_Art(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMSpannung_Art(self, value): + result = True + # Validate type ENUMSpannung_Art, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['AC 110', 'AC 230', 'AC 400', 'DC 110', 'DC 136', 'DC 24', 'DC 36', 'DC 48', 'DC 60'] + 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 ENUMSpannung_Art' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCSpannung_Art, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCSpannung_Art', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCSpannung_Art') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCSpannung_Art': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCSpannung_Art') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCSpannung_Art', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCSpannung_Art'): + super(TCSpannung_Art, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCSpannung_Art') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCSpannung_Art', fromsubclass_=False, pretty_print=True): + super(TCSpannung_Art, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCSpannung_Art, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMSpannung_Art + self.validate_ENUMSpannung_Art(self.Wert) + super(TCSpannung_Art, self)._buildChildren(child_, node, nodeName_, True) +# end class TCSpannung_Art + + +class TCVerwendung_Als_Rueckfall(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCVerwendung_Als_Rueckfall"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMVerwendung_Als_Rueckfall(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCVerwendung_Als_Rueckfall) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCVerwendung_Als_Rueckfall.subclass: + return TCVerwendung_Als_Rueckfall.subclass(*args_, **kwargs_) + else: + return TCVerwendung_Als_Rueckfall(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMVerwendung_Als_Rueckfall(self, value): + result = True + # Validate type ENUMVerwendung_Als_Rueckfall, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['nur Rückfall', 'Rückfall', 'sonstige'] + 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 ENUMVerwendung_Als_Rueckfall' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCVerwendung_Als_Rueckfall, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCVerwendung_Als_Rueckfall', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCVerwendung_Als_Rueckfall') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCVerwendung_Als_Rueckfall': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCVerwendung_Als_Rueckfall') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCVerwendung_Als_Rueckfall', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCVerwendung_Als_Rueckfall'): + super(TCVerwendung_Als_Rueckfall, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCVerwendung_Als_Rueckfall') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCVerwendung_Als_Rueckfall', fromsubclass_=False, pretty_print=True): + super(TCVerwendung_Als_Rueckfall, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCVerwendung_Als_Rueckfall, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMVerwendung_Als_Rueckfall + self.validate_ENUMVerwendung_Als_Rueckfall(self.Wert) + super(TCVerwendung_Als_Rueckfall, self)._buildChildren(child_, node, nodeName_, True) +# end class TCVerwendung_Als_Rueckfall + + +class TCSchutzstrecke_Vorhanden(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCSchutzstrecke_Vorhanden"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TSchutzstrecke_Vorhanden(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCSchutzstrecke_Vorhanden) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCSchutzstrecke_Vorhanden.subclass: + return TCSchutzstrecke_Vorhanden.subclass(*args_, **kwargs_) + else: + return TCSchutzstrecke_Vorhanden(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TSchutzstrecke_Vorhanden(self, value): + result = True + # Validate type TSchutzstrecke_Vorhanden, a restriction on nsBasisTypen:TMeter. + 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 + pass + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCSchutzstrecke_Vorhanden, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCSchutzstrecke_Vorhanden', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCSchutzstrecke_Vorhanden') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCSchutzstrecke_Vorhanden': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCSchutzstrecke_Vorhanden') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCSchutzstrecke_Vorhanden', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCSchutzstrecke_Vorhanden'): + super(TCSchutzstrecke_Vorhanden, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCSchutzstrecke_Vorhanden') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCSchutzstrecke_Vorhanden', fromsubclass_=False, pretty_print=True): + super(TCSchutzstrecke_Vorhanden, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_decimal(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCSchutzstrecke_Vorhanden, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + fval_ = self.gds_parse_decimal(sval_, node, 'Wert') + fval_ = self.gds_validate_decimal(fval_, node, 'Wert') + self.Wert = fval_ + self.Wert_nsprefix_ = child_.prefix + # validate type TSchutzstrecke_Vorhanden + self.validate_TSchutzstrecke_Vorhanden(self.Wert) + super(TCSchutzstrecke_Vorhanden, self)._buildChildren(child_, node, nodeName_, True) +# end class TCSchutzstrecke_Vorhanden + + +class CETCS_W_Kr_MUKA(GeneratedsSuper): + """Gruppen_ID -- Zuordnung zu einer Gruppe, um im Falle einer Rechnerst + ö + rung im ESTW dem RBC die gest + ö + rten Elemente einfach + ü + bertragen zu k + ö + nnen. Siehe Ril 819.1344 4 (36). Die Angabe entf + ä + llt ggf. zu einem sp + ä + teren Zeitpunkt. + Untergruppen_ID -- Zuordnung zu einer Untergruppe, um im Falle einer Rechnerst + ö + rung im ESTW dem RBC die gest + ö + rten Elemente einfach + ü + bertragen zu k + ö + nnen. Siehe Ril 819.1344 4 (36). Die Angabe entf + ä + llt ggf. zu einem sp + ä + teren Zeitpunkt. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Gruppen_ID=None, Untergruppen_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.Gruppen_ID = Gruppen_ID + self.Gruppen_ID_nsprefix_ = None + self.Untergruppen_ID = Untergruppen_ID + self.Untergruppen_ID_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CETCS_W_Kr_MUKA) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CETCS_W_Kr_MUKA.subclass: + return CETCS_W_Kr_MUKA.subclass(*args_, **kwargs_) + else: + return CETCS_W_Kr_MUKA(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Gruppen_ID(self): + return self.Gruppen_ID + def set_Gruppen_ID(self, Gruppen_ID): + self.Gruppen_ID = Gruppen_ID + def get_Untergruppen_ID(self): + return self.Untergruppen_ID + def set_Untergruppen_ID(self, Untergruppen_ID): + self.Untergruppen_ID = Untergruppen_ID + def has__content(self): + if ( + self.Gruppen_ID is not None or + self.Untergruppen_ID is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='CETCS_W_Kr_MUKA', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CETCS_W_Kr_MUKA') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CETCS_W_Kr_MUKA': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CETCS_W_Kr_MUKA') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CETCS_W_Kr_MUKA', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='CETCS_W_Kr_MUKA'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='CETCS_W_Kr_MUKA', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Gruppen_ID is not None: + namespaceprefix_ = self.Gruppen_ID_nsprefix_ + ':' if (UseCapturedNS_ and self.Gruppen_ID_nsprefix_) else '' + self.Gruppen_ID.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Gruppen_ID', pretty_print=pretty_print) + if self.Untergruppen_ID is not None: + namespaceprefix_ = self.Untergruppen_ID_nsprefix_ + ':' if (UseCapturedNS_ and self.Untergruppen_ID_nsprefix_) else '' + self.Untergruppen_ID.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Untergruppen_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): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Gruppen_ID': + obj_ = TCGruppen_ID.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Gruppen_ID = obj_ + obj_.original_tagname_ = 'Gruppen_ID' + elif nodeName_ == 'Untergruppen_ID': + obj_ = TCUntergruppen_ID.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Untergruppen_ID = obj_ + obj_.original_tagname_ = 'Untergruppen_ID' +# end class CETCS_W_Kr_MUKA + + +class TCMax_Leistung(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCMax_Leistung"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TMax_Leistung(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCMax_Leistung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCMax_Leistung.subclass: + return TCMax_Leistung.subclass(*args_, **kwargs_) + else: + return TCMax_Leistung(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TMax_Leistung(self, value): + result = True + # Validate type TMax_Leistung, a restriction on xs:integer. + 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 + pass + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCMax_Leistung, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCMax_Leistung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCMax_Leistung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCMax_Leistung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCMax_Leistung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCMax_Leistung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCMax_Leistung'): + super(TCMax_Leistung, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCMax_Leistung') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCMax_Leistung', fromsubclass_=False, pretty_print=True): + super(TCMax_Leistung, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_integer(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCMax_Leistung, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + ival_ = self.gds_parse_integer(sval_, node, 'Wert') + ival_ = self.gds_validate_integer(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + # validate type TMax_Leistung + self.validate_TMax_Leistung(self.Wert) + super(TCMax_Leistung, self)._buildChildren(child_, node, nodeName_, True) +# end class TCMax_Leistung + + +class CLEU_Schaltkasten(CBasis_Objekt): + """CLEU_Schaltkasten -- Schaltkasten als Element der LEU-Anlage zur Unterbringung eines oder mehrerer LEU-Module. + LEU_Schaltkasten_Energie -- Zusatzangaben zur Energieversorgung des LEU-Schaltkastens bzw. der darin befindlichen LEU-Module. Die Angabe ist nur bei ESG erforderlich. + LEU_Schaltkasten_Typ -- Typ des LEU-Schaltkastens (schlie + ß + t Ger + ä + testand ein, i. d. R. R + ü + cklaufdatum). + ID_Unterbringung -- Verweis auf die Unterbringung des LEU-Schaltkastens, sofern er nicht direkt am Signal positioniert wird. Bei gemeinsamer Unterbringung mit einer Aussenelementansteuerung (z. B. Objektcontroller) ist deren Unterbringung auszuw + ä + hlen. + LEU_Schaltkasten_Position -- Attributgruppe zur Bestimmung der Position des LEU-Schaltkastens. Die Angabe erfolgt nur bei ESG und ist in diesem Fall obligatorisch. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasis_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, Bezeichnung=None, LEU_Schaltkasten_Energie=None, LEU_Schaltkasten_Typ=None, ID_Unterbringung=None, LEU_Schaltkasten_Position=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CLEU_Schaltkasten"), self).__init__(Identitaet, Basis_Objekt_Allg, ID_Bearbeitungsvermerk, ID_Oertlichkeit_Ausgabe, Objektreferenzen, **kwargs_) + self.Bezeichnung = Bezeichnung + self.Bezeichnung_nsprefix_ = None + self.LEU_Schaltkasten_Energie = LEU_Schaltkasten_Energie + self.LEU_Schaltkasten_Energie_nsprefix_ = None + self.LEU_Schaltkasten_Typ = LEU_Schaltkasten_Typ + self.LEU_Schaltkasten_Typ_nsprefix_ = None + self.ID_Unterbringung = ID_Unterbringung + self.ID_Unterbringung_nsprefix_ = None + self.LEU_Schaltkasten_Position = LEU_Schaltkasten_Position + self.LEU_Schaltkasten_Position_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CLEU_Schaltkasten) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CLEU_Schaltkasten.subclass: + return CLEU_Schaltkasten.subclass(*args_, **kwargs_) + else: + return CLEU_Schaltkasten(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Bezeichnung(self): + return self.Bezeichnung + def set_Bezeichnung(self, Bezeichnung): + self.Bezeichnung = Bezeichnung + def get_LEU_Schaltkasten_Energie(self): + return self.LEU_Schaltkasten_Energie + def set_LEU_Schaltkasten_Energie(self, LEU_Schaltkasten_Energie): + self.LEU_Schaltkasten_Energie = LEU_Schaltkasten_Energie + def get_LEU_Schaltkasten_Typ(self): + return self.LEU_Schaltkasten_Typ + def set_LEU_Schaltkasten_Typ(self, LEU_Schaltkasten_Typ): + self.LEU_Schaltkasten_Typ = LEU_Schaltkasten_Typ + def get_ID_Unterbringung(self): + return self.ID_Unterbringung + def set_ID_Unterbringung(self, ID_Unterbringung): + self.ID_Unterbringung = ID_Unterbringung + def get_LEU_Schaltkasten_Position(self): + return self.LEU_Schaltkasten_Position + def set_LEU_Schaltkasten_Position(self, LEU_Schaltkasten_Position): + self.LEU_Schaltkasten_Position = LEU_Schaltkasten_Position + def has__content(self): + if ( + self.Bezeichnung is not None or + self.LEU_Schaltkasten_Energie is not None or + self.LEU_Schaltkasten_Typ is not None or + self.ID_Unterbringung is not None or + self.LEU_Schaltkasten_Position is not None or + super(CLEU_Schaltkasten, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CLEU_Schaltkasten', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CLEU_Schaltkasten') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CLEU_Schaltkasten': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CLEU_Schaltkasten') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CLEU_Schaltkasten', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='CLEU_Schaltkasten'): + super(CLEU_Schaltkasten, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CLEU_Schaltkasten') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CLEU_Schaltkasten', fromsubclass_=False, pretty_print=True): + super(CLEU_Schaltkasten, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Bezeichnung is not None: + namespaceprefix_ = self.Bezeichnung_nsprefix_ + ':' if (UseCapturedNS_ and self.Bezeichnung_nsprefix_) else '' + self.Bezeichnung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Bezeichnung', pretty_print=pretty_print) + if self.LEU_Schaltkasten_Energie is not None: + namespaceprefix_ = self.LEU_Schaltkasten_Energie_nsprefix_ + ':' if (UseCapturedNS_ and self.LEU_Schaltkasten_Energie_nsprefix_) else '' + self.LEU_Schaltkasten_Energie.export(outfile, level, namespaceprefix_, namespacedef_='', name_='LEU_Schaltkasten_Energie', pretty_print=pretty_print) + if self.LEU_Schaltkasten_Typ is not None: + namespaceprefix_ = self.LEU_Schaltkasten_Typ_nsprefix_ + ':' if (UseCapturedNS_ and self.LEU_Schaltkasten_Typ_nsprefix_) else '' + self.LEU_Schaltkasten_Typ.export(outfile, level, namespaceprefix_, namespacedef_='', name_='LEU_Schaltkasten_Typ', pretty_print=pretty_print) + if self.ID_Unterbringung is not None: + namespaceprefix_ = self.ID_Unterbringung_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Unterbringung_nsprefix_) else '' + self.ID_Unterbringung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Unterbringung', pretty_print=pretty_print) + if self.LEU_Schaltkasten_Position is not None: + namespaceprefix_ = self.LEU_Schaltkasten_Position_nsprefix_ + ':' if (UseCapturedNS_ and self.LEU_Schaltkasten_Position_nsprefix_) else '' + self.LEU_Schaltkasten_Position.export(outfile, level, namespaceprefix_, namespacedef_='', name_='LEU_Schaltkasten_Position', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CLEU_Schaltkasten, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Bezeichnung': + obj_ = CLEU_Schaltkasten_Bezeichnung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Bezeichnung = obj_ + obj_.original_tagname_ = 'Bezeichnung' + elif nodeName_ == 'LEU_Schaltkasten_Energie': + obj_ = CLEU_Schaltkasten_Energie.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.LEU_Schaltkasten_Energie = obj_ + obj_.original_tagname_ = 'LEU_Schaltkasten_Energie' + elif nodeName_ == 'LEU_Schaltkasten_Typ': + obj_ = TCLEU_Schaltkasten_Typ.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.LEU_Schaltkasten_Typ = obj_ + obj_.original_tagname_ = 'LEU_Schaltkasten_Typ' + elif nodeName_ == 'ID_Unterbringung': + obj_ = TCID_Unterbringung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Unterbringung = obj_ + obj_.original_tagname_ = 'ID_Unterbringung' + elif nodeName_ == 'LEU_Schaltkasten_Position': + obj_ = CLEU_Schaltkasten_Position.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.LEU_Schaltkasten_Position = obj_ + obj_.original_tagname_ = 'LEU_Schaltkasten_Position' + super(CLEU_Schaltkasten, self)._buildChildren(child_, node, nodeName_, True) +# end class CLEU_Schaltkasten + + +class TCMetallteil_Laenge(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCMetallteil_Laenge"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TMetallteil_Laenge(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCMetallteil_Laenge) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCMetallteil_Laenge.subclass: + return TCMetallteil_Laenge.subclass(*args_, **kwargs_) + else: + return TCMetallteil_Laenge(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TMetallteil_Laenge(self, value): + result = True + # Validate type TMetallteil_Laenge, a restriction on nsBasisTypen:TMeter. + 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 + pass + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCMetallteil_Laenge, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCMetallteil_Laenge', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCMetallteil_Laenge') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCMetallteil_Laenge': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCMetallteil_Laenge') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCMetallteil_Laenge', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCMetallteil_Laenge'): + super(TCMetallteil_Laenge, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCMetallteil_Laenge') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCMetallteil_Laenge', fromsubclass_=False, pretty_print=True): + super(TCMetallteil_Laenge, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_decimal(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCMetallteil_Laenge, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + fval_ = self.gds_parse_decimal(sval_, node, 'Wert') + fval_ = self.gds_validate_decimal(fval_, node, 'Wert') + self.Wert = fval_ + self.Wert_nsprefix_ = child_.prefix + # validate type TMetallteil_Laenge + self.validate_TMetallteil_Laenge(self.Wert) + super(TCMetallteil_Laenge, self)._buildChildren(child_, node, nodeName_, True) +# end class TCMetallteil_Laenge + + +class TCLaenge_Ausfuehrungsbereich(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCLaenge_Ausfuehrungsbereich"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TLaenge_Ausfuehrungsbereich(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCLaenge_Ausfuehrungsbereich) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCLaenge_Ausfuehrungsbereich.subclass: + return TCLaenge_Ausfuehrungsbereich.subclass(*args_, **kwargs_) + else: + return TCLaenge_Ausfuehrungsbereich(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TLaenge_Ausfuehrungsbereich(self, value): + result = True + # Validate type TLaenge_Ausfuehrungsbereich, a restriction on nsBasisTypen:TMeter. + 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 not self.gds_validate_simple_patterns( + self.validate_TLaenge_Ausfuehrungsbereich_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TLaenge_Ausfuehrungsbereich_patterns_, )) + result = False + return result + validate_TLaenge_Ausfuehrungsbereich_patterns_ = [['^([1-9][0-9]{0,2})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCLaenge_Ausfuehrungsbereich, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCLaenge_Ausfuehrungsbereich', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCLaenge_Ausfuehrungsbereich') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCLaenge_Ausfuehrungsbereich': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCLaenge_Ausfuehrungsbereich') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCLaenge_Ausfuehrungsbereich', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCLaenge_Ausfuehrungsbereich'): + super(TCLaenge_Ausfuehrungsbereich, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCLaenge_Ausfuehrungsbereich') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCLaenge_Ausfuehrungsbereich', fromsubclass_=False, pretty_print=True): + super(TCLaenge_Ausfuehrungsbereich, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_decimal(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCLaenge_Ausfuehrungsbereich, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + fval_ = self.gds_parse_decimal(sval_, node, 'Wert') + fval_ = self.gds_validate_decimal(fval_, node, 'Wert') + self.Wert = fval_ + self.Wert_nsprefix_ = child_.prefix + # validate type TLaenge_Ausfuehrungsbereich + self.validate_TLaenge_Ausfuehrungsbereich(self.Wert) + super(TCLaenge_Ausfuehrungsbereich, self)._buildChildren(child_, node, nodeName_, True) +# end class TCLaenge_Ausfuehrungsbereich + + +class CZUB_Bereichsgrenze_Nach_L2_Von_ESG(GeneratedsSuper): + """Abstand_Datenpunkt_EH_EM_Folgesignal -- Abstand des Datenpunkts EH bzw. EM zum Folgesignal in m. Das Folgesignal kann eine ETCS-Haltetafel (Ne 14) sein. DB-Regelwerk ESG-Datenpunkttabelle 3, Spalte 5 + Abstand_Datenpunkt_EP_TPI -- Abstand des Datenpunkts EP zum Datenpunkt TPI in m. DB-Regelwerk ESG-Datenpunkttabelle 3, Spalte 3 + Abstand_Datenpunkt_TPI_Folgesignal -- Abstand des Datenpunkts TPI zum Folgesignal in m. Das Folgesignal kann eine ETCS-Haltetafel (Ne 14) sein. DB-Regelwerk ESG-Datenpunkttabelle 3, Spalte 4 + ID_Fachtelegramm -- Angabe der Fachtelegramme zum angegebenen Folgesignal. DB-Regelwerk ESG-Datenpunkttabelle 3, alle Fachtelegramme zu einem Folgesignal werden in einer Zeile ausgegeben. + ID_Folgesignal -- Angabe des Folgesignals, auf das sich die angegebenen Fachtelegramme beziehen. DB-Regelwerk ESG-Datenpunkttabelle 3, Spalte 6. Alle Fachtelegramme zu einem Folgesignal werden in einer Zeile ausgegeben. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Abstand_Datenpunkt_EH_EM_Folgesignal=None, Abstand_Datenpunkt_EP_TPI=None, Abstand_Datenpunkt_TPI_Folgesignal=None, ID_Fachtelegramm=None, ID_Folgesignal=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Abstand_Datenpunkt_EH_EM_Folgesignal = Abstand_Datenpunkt_EH_EM_Folgesignal + self.Abstand_Datenpunkt_EH_EM_Folgesignal_nsprefix_ = None + self.Abstand_Datenpunkt_EP_TPI = Abstand_Datenpunkt_EP_TPI + self.Abstand_Datenpunkt_EP_TPI_nsprefix_ = None + self.Abstand_Datenpunkt_TPI_Folgesignal = Abstand_Datenpunkt_TPI_Folgesignal + self.Abstand_Datenpunkt_TPI_Folgesignal_nsprefix_ = None + if ID_Fachtelegramm is None: + self.ID_Fachtelegramm = [] + else: + self.ID_Fachtelegramm = ID_Fachtelegramm + self.ID_Fachtelegramm_nsprefix_ = None + self.ID_Folgesignal = ID_Folgesignal + self.ID_Folgesignal_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CZUB_Bereichsgrenze_Nach_L2_Von_ESG) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CZUB_Bereichsgrenze_Nach_L2_Von_ESG.subclass: + return CZUB_Bereichsgrenze_Nach_L2_Von_ESG.subclass(*args_, **kwargs_) + else: + return CZUB_Bereichsgrenze_Nach_L2_Von_ESG(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Abstand_Datenpunkt_EH_EM_Folgesignal(self): + return self.Abstand_Datenpunkt_EH_EM_Folgesignal + def set_Abstand_Datenpunkt_EH_EM_Folgesignal(self, Abstand_Datenpunkt_EH_EM_Folgesignal): + self.Abstand_Datenpunkt_EH_EM_Folgesignal = Abstand_Datenpunkt_EH_EM_Folgesignal + def get_Abstand_Datenpunkt_EP_TPI(self): + return self.Abstand_Datenpunkt_EP_TPI + def set_Abstand_Datenpunkt_EP_TPI(self, Abstand_Datenpunkt_EP_TPI): + self.Abstand_Datenpunkt_EP_TPI = Abstand_Datenpunkt_EP_TPI + def get_Abstand_Datenpunkt_TPI_Folgesignal(self): + return self.Abstand_Datenpunkt_TPI_Folgesignal + def set_Abstand_Datenpunkt_TPI_Folgesignal(self, Abstand_Datenpunkt_TPI_Folgesignal): + self.Abstand_Datenpunkt_TPI_Folgesignal = Abstand_Datenpunkt_TPI_Folgesignal + def get_ID_Fachtelegramm(self): + return self.ID_Fachtelegramm + def set_ID_Fachtelegramm(self, ID_Fachtelegramm): + self.ID_Fachtelegramm = ID_Fachtelegramm + def add_ID_Fachtelegramm(self, value): + self.ID_Fachtelegramm.append(value) + def insert_ID_Fachtelegramm_at(self, index, value): + self.ID_Fachtelegramm.insert(index, value) + def replace_ID_Fachtelegramm_at(self, index, value): + self.ID_Fachtelegramm[index] = value + def get_ID_Folgesignal(self): + return self.ID_Folgesignal + def set_ID_Folgesignal(self, ID_Folgesignal): + self.ID_Folgesignal = ID_Folgesignal + def has__content(self): + if ( + self.Abstand_Datenpunkt_EH_EM_Folgesignal is not None or + self.Abstand_Datenpunkt_EP_TPI is not None or + self.Abstand_Datenpunkt_TPI_Folgesignal is not None or + self.ID_Fachtelegramm or + self.ID_Folgesignal is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CZUB_Bereichsgrenze_Nach_L2_Von_ESG', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CZUB_Bereichsgrenze_Nach_L2_Von_ESG') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CZUB_Bereichsgrenze_Nach_L2_Von_ESG': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CZUB_Bereichsgrenze_Nach_L2_Von_ESG') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CZUB_Bereichsgrenze_Nach_L2_Von_ESG', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='CZUB_Bereichsgrenze_Nach_L2_Von_ESG'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CZUB_Bereichsgrenze_Nach_L2_Von_ESG', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Abstand_Datenpunkt_EH_EM_Folgesignal is not None: + namespaceprefix_ = self.Abstand_Datenpunkt_EH_EM_Folgesignal_nsprefix_ + ':' if (UseCapturedNS_ and self.Abstand_Datenpunkt_EH_EM_Folgesignal_nsprefix_) else '' + self.Abstand_Datenpunkt_EH_EM_Folgesignal.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Abstand_Datenpunkt_EH_EM_Folgesignal', pretty_print=pretty_print) + if self.Abstand_Datenpunkt_EP_TPI is not None: + namespaceprefix_ = self.Abstand_Datenpunkt_EP_TPI_nsprefix_ + ':' if (UseCapturedNS_ and self.Abstand_Datenpunkt_EP_TPI_nsprefix_) else '' + self.Abstand_Datenpunkt_EP_TPI.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Abstand_Datenpunkt_EP_TPI', pretty_print=pretty_print) + if self.Abstand_Datenpunkt_TPI_Folgesignal is not None: + namespaceprefix_ = self.Abstand_Datenpunkt_TPI_Folgesignal_nsprefix_ + ':' if (UseCapturedNS_ and self.Abstand_Datenpunkt_TPI_Folgesignal_nsprefix_) else '' + self.Abstand_Datenpunkt_TPI_Folgesignal.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Abstand_Datenpunkt_TPI_Folgesignal', pretty_print=pretty_print) + for ID_Fachtelegramm_ in self.ID_Fachtelegramm: + namespaceprefix_ = self.ID_Fachtelegramm_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Fachtelegramm_nsprefix_) else '' + ID_Fachtelegramm_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Fachtelegramm', pretty_print=pretty_print) + if self.ID_Folgesignal is not None: + namespaceprefix_ = self.ID_Folgesignal_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Folgesignal_nsprefix_) else '' + self.ID_Folgesignal.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Folgesignal', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Abstand_Datenpunkt_EH_EM_Folgesignal': + obj_ = TCAbstand_Datenpunkt_EH_EM_Folgesignal.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Abstand_Datenpunkt_EH_EM_Folgesignal = obj_ + obj_.original_tagname_ = 'Abstand_Datenpunkt_EH_EM_Folgesignal' + elif nodeName_ == 'Abstand_Datenpunkt_EP_TPI': + obj_ = TCAbstand_Datenpunkt_EP_TPI.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Abstand_Datenpunkt_EP_TPI = obj_ + obj_.original_tagname_ = 'Abstand_Datenpunkt_EP_TPI' + elif nodeName_ == 'Abstand_Datenpunkt_TPI_Folgesignal': + obj_ = TCAbstand_Datenpunkt_TPI_Folgesignal.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Abstand_Datenpunkt_TPI_Folgesignal = obj_ + obj_.original_tagname_ = 'Abstand_Datenpunkt_TPI_Folgesignal' + elif nodeName_ == 'ID_Fachtelegramm': + obj_ = TCID_Fachtelegramm_ohne_Proxy.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Fachtelegramm.append(obj_) + obj_.original_tagname_ = 'ID_Fachtelegramm' + elif nodeName_ == 'ID_Folgesignal': + obj_ = TCID_Signal.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Folgesignal = obj_ + obj_.original_tagname_ = 'ID_Folgesignal' +# end class CZUB_Bereichsgrenze_Nach_L2_Von_ESG + + +class TCV_Start(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCV_Start"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TV_Start(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCV_Start) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCV_Start.subclass: + return TCV_Start.subclass(*args_, **kwargs_) + else: + return TCV_Start(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TV_Start(self, value): + result = True + # Validate type TV_Start, a restriction on nsBasisTypen:TGeschwindigkeit. + 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_TV_Start_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TV_Start_patterns_, )) + result = False + return result + validate_TV_Start_patterns_ = [['^(0|[1-9][0-9]{0,1}|[1-4][0-9]{2}|500)$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCV_Start, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCV_Start', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCV_Start') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCV_Start': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCV_Start') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCV_Start', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCV_Start'): + super(TCV_Start, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCV_Start') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCV_Start', fromsubclass_=False, pretty_print=True): + super(TCV_Start, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_integer(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCV_Start, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + ival_ = self.gds_parse_integer(sval_, node, 'Wert') + ival_ = self.gds_validate_integer(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + # validate type TV_Start + self.validate_TV_Start(self.Wert) + super(TCV_Start, self)._buildChildren(child_, node, nodeName_, True) +# end class TCV_Start + + +class CBgrenze_Nach_PZB_Bed_Einstieg(GeneratedsSuper): + """ID_W_Element -- Verweis auf das Weichen-Element der Entscheidungsweiche. + W_Lage -- Lage des Weichen-Elements. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, ID_W_Element=None, W_Lage=None, gds_collector_=None, **kwargs_): + self.gds_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_W_Element = ID_W_Element + self.ID_W_Element_nsprefix_ = None + self.W_Lage = W_Lage + self.W_Lage_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CBgrenze_Nach_PZB_Bed_Einstieg) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CBgrenze_Nach_PZB_Bed_Einstieg.subclass: + return CBgrenze_Nach_PZB_Bed_Einstieg.subclass(*args_, **kwargs_) + else: + return CBgrenze_Nach_PZB_Bed_Einstieg(*args_, **kwargs_) + factory = staticmethod(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_W_Element(self): + return self.ID_W_Element + def set_ID_W_Element(self, ID_W_Element): + self.ID_W_Element = ID_W_Element + def get_W_Lage(self): + return self.W_Lage + def set_W_Lage(self, W_Lage): + self.W_Lage = W_Lage + def has__content(self): + if ( + self.ID_W_Element is not None or + self.W_Lage is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CBgrenze_Nach_PZB_Bed_Einstieg', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CBgrenze_Nach_PZB_Bed_Einstieg') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CBgrenze_Nach_PZB_Bed_Einstieg': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CBgrenze_Nach_PZB_Bed_Einstieg') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CBgrenze_Nach_PZB_Bed_Einstieg', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='CBgrenze_Nach_PZB_Bed_Einstieg'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CBgrenze_Nach_PZB_Bed_Einstieg', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.ID_W_Element is not None: + namespaceprefix_ = self.ID_W_Element_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_W_Element_nsprefix_) else '' + self.ID_W_Element.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_W_Element', pretty_print=pretty_print) + if self.W_Lage is not None: + namespaceprefix_ = self.W_Lage_nsprefix_ + ':' if (UseCapturedNS_ and self.W_Lage_nsprefix_) else '' + self.W_Lage.export(outfile, level, namespaceprefix_, namespacedef_='', name_='W_Lage', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_W_Element': + obj_ = TCID_W_Kr_Gsp_Element.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_W_Element = obj_ + obj_.original_tagname_ = 'ID_W_Element' + elif nodeName_ == 'W_Lage': + obj_ = TCW_Lage.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.W_Lage = obj_ + obj_.original_tagname_ = 'W_Lage' +# end class CBgrenze_Nach_PZB_Bed_Einstieg + + +class TCPosition_Sonstige(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCPosition_Sonstige"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TPosition_Sonstige(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCPosition_Sonstige) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCPosition_Sonstige.subclass: + return TCPosition_Sonstige.subclass(*args_, **kwargs_) + else: + return TCPosition_Sonstige(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TPosition_Sonstige(self, value): + result = True + # Validate type TPosition_Sonstige, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TPosition_Sonstige_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TPosition_Sonstige_patterns_, )) + result = False + return result + validate_TPosition_Sonstige_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCPosition_Sonstige, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCPosition_Sonstige', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCPosition_Sonstige') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCPosition_Sonstige': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCPosition_Sonstige') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCPosition_Sonstige', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCPosition_Sonstige'): + super(TCPosition_Sonstige, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCPosition_Sonstige') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCPosition_Sonstige', fromsubclass_=False, pretty_print=True): + super(TCPosition_Sonstige, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCPosition_Sonstige, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TPosition_Sonstige + self.validate_TPosition_Sonstige(self.Wert) + super(TCPosition_Sonstige, self)._buildChildren(child_, node, nodeName_, True) +# end class TCPosition_Sonstige + + +class TCVerbot_Anhalten(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCVerbot_Anhalten"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TVerbot_Anhalten(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCVerbot_Anhalten) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCVerbot_Anhalten.subclass: + return TCVerbot_Anhalten.subclass(*args_, **kwargs_) + else: + return TCVerbot_Anhalten(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TVerbot_Anhalten(self, value): + result = True + # Validate type TVerbot_Anhalten, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TVerbot_Anhalten_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TVerbot_Anhalten_patterns_, )) + result = False + return result + validate_TVerbot_Anhalten_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCVerbot_Anhalten, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCVerbot_Anhalten', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCVerbot_Anhalten') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCVerbot_Anhalten': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCVerbot_Anhalten') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCVerbot_Anhalten', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCVerbot_Anhalten'): + super(TCVerbot_Anhalten, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCVerbot_Anhalten') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCVerbot_Anhalten', fromsubclass_=False, pretty_print=True): + super(TCVerbot_Anhalten, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCVerbot_Anhalten, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TVerbot_Anhalten + self.validate_TVerbot_Anhalten(self.Wert) + super(TCVerbot_Anhalten, self)._buildChildren(child_, node, nodeName_, True) +# end class TCVerbot_Anhalten + + +class TCDP_Typ_GNT(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCDP_Typ_GNT"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMDP_Typ_GNT(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCDP_Typ_GNT) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCDP_Typ_GNT.subclass: + return TCDP_Typ_GNT.subclass(*args_, **kwargs_) + else: + return TCDP_Typ_GNT(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMDP_Typ_GNT(self, value): + result = True + # Validate type ENUMDP_Typ_GNT, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['B1', 'B2', 'B3', 'sonstige'] + 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 ENUMDP_Typ_GNT' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCDP_Typ_GNT, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCDP_Typ_GNT', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCDP_Typ_GNT') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCDP_Typ_GNT': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCDP_Typ_GNT') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCDP_Typ_GNT', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCDP_Typ_GNT'): + super(TCDP_Typ_GNT, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCDP_Typ_GNT') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCDP_Typ_GNT', fromsubclass_=False, pretty_print=True): + super(TCDP_Typ_GNT, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCDP_Typ_GNT, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMDP_Typ_GNT + self.validate_ENUMDP_Typ_GNT(self.Wert) + super(TCDP_Typ_GNT, self)._buildChildren(child_, node, nodeName_, True) +# end class TCDP_Typ_GNT + + +class CETCS_Signal(CBasis_Objekt): + """CETCS_Signal -- Zusatzangaben f + ü + r reale Signale im Zusammenhang mit ETCS L2. + Die Signalart \"sonstiges Lichtsperrsignal\" (sLs) f + ü + r Lichtsperrsignale, an denen keine Zugstra + ß + en beginnen oder enden, muss aus dem Fehlen entsprechender Zugstra + ß + en abgeleitet werden. + ETCS_Gefahrpunktabstand_Abweichend -- Angabe des ETCS-Gefahrpunktabstands, sofern sich dieser nicht aus den Positionen von Signal und ETCS-Gefahrpunkt ermitteln l + ä + sst. Die Angabe erfolgt beispielsweise im Fall, dass ein bedingtes Ausstiegssignal eine Vorsignalfunktion f + ü + r den Fahrweg in die seitliche Ausfahrt besitzt (Mehrabschnittssignal oder Hauptsignal mit Vorsignal am gleichen Standort), wobei der Abstand zum ETCS-Gefahrpunkt f + ü + r dieses bedingte Ausstiegssignal auf 0 m festgesetzt werden muss. DB-Regelwerk Ril 819.1344, 4.3.2.2 (53). + ID_ETCS_Gefahrpunkt -- Angabe des ETCS-Gefahrpunkts (Danger Point). + ID_ETCS_Gefahrpunkt_2 -- Angabe eines zus + ä + tzlichen ETCS-Gefahrpunkts (Danger Point), wenn der Abstand zum (ersten) ETCS-Gefahrpunkt k + ü + rzer als 50 m ist. DB-Regelwerk Ril 819.1344, 3.3.2.2 (53) + ID_HOA_FBOA -- Verweis auf die Hei + ß + l + ä + uferortungs- oder Festbremsortungsanlage, wenn dieses Signal als HOA/FBOA-Stellort definiert wird. + ID_RBC -- Verweis auf das RBC, dem das Signal zugeordnet ist. Die Angabe ist bei vereinfachter ETCS-Ausr + ü + stung nicht erforderlich. Signale die keinem RBC zugeordnet sind (aber ein Ne 14 haben), bekommen in der MUKA Signale die Fu + ß + note \"Signal nicht in RBC-Anschaltung\". + ID_Signal -- Verweis auf das zugeh + ö + rige Signal. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasis_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, ETCS_Gefahrpunktabstand_Abweichend=None, ETCS_Signal_Allg=None, ETCS_Signal_DWeg=None, ETCS_Signal_TBV=None, ID_ETCS_Gefahrpunkt=None, ID_ETCS_Gefahrpunkt_2=None, ID_HOA_FBOA=None, ID_RBC=None, ID_Signal=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CETCS_Signal"), self).__init__(Identitaet, Basis_Objekt_Allg, ID_Bearbeitungsvermerk, ID_Oertlichkeit_Ausgabe, Objektreferenzen, **kwargs_) + self.ETCS_Gefahrpunktabstand_Abweichend = ETCS_Gefahrpunktabstand_Abweichend + self.ETCS_Gefahrpunktabstand_Abweichend_nsprefix_ = None + self.ETCS_Signal_Allg = ETCS_Signal_Allg + self.ETCS_Signal_Allg_nsprefix_ = None + self.ETCS_Signal_DWeg = ETCS_Signal_DWeg + self.ETCS_Signal_DWeg_nsprefix_ = None + self.ETCS_Signal_TBV = ETCS_Signal_TBV + self.ETCS_Signal_TBV_nsprefix_ = None + self.ID_ETCS_Gefahrpunkt = ID_ETCS_Gefahrpunkt + self.ID_ETCS_Gefahrpunkt_nsprefix_ = None + self.ID_ETCS_Gefahrpunkt_2 = ID_ETCS_Gefahrpunkt_2 + self.ID_ETCS_Gefahrpunkt_2_nsprefix_ = None + self.ID_HOA_FBOA = ID_HOA_FBOA + self.ID_HOA_FBOA_nsprefix_ = None + if ID_RBC is None: + self.ID_RBC = [] + else: + self.ID_RBC = ID_RBC + self.ID_RBC_nsprefix_ = None + self.ID_Signal = ID_Signal + self.ID_Signal_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CETCS_Signal) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CETCS_Signal.subclass: + return CETCS_Signal.subclass(*args_, **kwargs_) + else: + return CETCS_Signal(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_ETCS_Gefahrpunktabstand_Abweichend(self): + return self.ETCS_Gefahrpunktabstand_Abweichend + def set_ETCS_Gefahrpunktabstand_Abweichend(self, ETCS_Gefahrpunktabstand_Abweichend): + self.ETCS_Gefahrpunktabstand_Abweichend = ETCS_Gefahrpunktabstand_Abweichend + def get_ETCS_Signal_Allg(self): + return self.ETCS_Signal_Allg + def set_ETCS_Signal_Allg(self, ETCS_Signal_Allg): + self.ETCS_Signal_Allg = ETCS_Signal_Allg + def get_ETCS_Signal_DWeg(self): + return self.ETCS_Signal_DWeg + def set_ETCS_Signal_DWeg(self, ETCS_Signal_DWeg): + self.ETCS_Signal_DWeg = ETCS_Signal_DWeg + def get_ETCS_Signal_TBV(self): + return self.ETCS_Signal_TBV + def set_ETCS_Signal_TBV(self, ETCS_Signal_TBV): + self.ETCS_Signal_TBV = ETCS_Signal_TBV + def get_ID_ETCS_Gefahrpunkt(self): + return self.ID_ETCS_Gefahrpunkt + def set_ID_ETCS_Gefahrpunkt(self, ID_ETCS_Gefahrpunkt): + self.ID_ETCS_Gefahrpunkt = ID_ETCS_Gefahrpunkt + def get_ID_ETCS_Gefahrpunkt_2(self): + return self.ID_ETCS_Gefahrpunkt_2 + def set_ID_ETCS_Gefahrpunkt_2(self, ID_ETCS_Gefahrpunkt_2): + self.ID_ETCS_Gefahrpunkt_2 = ID_ETCS_Gefahrpunkt_2 + def get_ID_HOA_FBOA(self): + return self.ID_HOA_FBOA + def set_ID_HOA_FBOA(self, ID_HOA_FBOA): + self.ID_HOA_FBOA = ID_HOA_FBOA + def get_ID_RBC(self): + return self.ID_RBC + def set_ID_RBC(self, ID_RBC): + self.ID_RBC = ID_RBC + def add_ID_RBC(self, value): + self.ID_RBC.append(value) + def insert_ID_RBC_at(self, index, value): + self.ID_RBC.insert(index, value) + def replace_ID_RBC_at(self, index, value): + self.ID_RBC[index] = value + def get_ID_Signal(self): + return self.ID_Signal + def set_ID_Signal(self, ID_Signal): + self.ID_Signal = ID_Signal + def has__content(self): + if ( + self.ETCS_Gefahrpunktabstand_Abweichend is not None or + self.ETCS_Signal_Allg is not None or + self.ETCS_Signal_DWeg is not None or + self.ETCS_Signal_TBV is not None or + self.ID_ETCS_Gefahrpunkt is not None or + self.ID_ETCS_Gefahrpunkt_2 is not None or + self.ID_HOA_FBOA is not None or + self.ID_RBC or + self.ID_Signal is not None or + super(CETCS_Signal, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CETCS_Signal', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CETCS_Signal') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CETCS_Signal': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CETCS_Signal') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CETCS_Signal', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='CETCS_Signal'): + super(CETCS_Signal, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CETCS_Signal') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CETCS_Signal', fromsubclass_=False, pretty_print=True): + super(CETCS_Signal, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.ETCS_Gefahrpunktabstand_Abweichend is not None: + namespaceprefix_ = self.ETCS_Gefahrpunktabstand_Abweichend_nsprefix_ + ':' if (UseCapturedNS_ and self.ETCS_Gefahrpunktabstand_Abweichend_nsprefix_) else '' + self.ETCS_Gefahrpunktabstand_Abweichend.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ETCS_Gefahrpunktabstand_Abweichend', pretty_print=pretty_print) + if self.ETCS_Signal_Allg is not None: + namespaceprefix_ = self.ETCS_Signal_Allg_nsprefix_ + ':' if (UseCapturedNS_ and self.ETCS_Signal_Allg_nsprefix_) else '' + self.ETCS_Signal_Allg.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ETCS_Signal_Allg', pretty_print=pretty_print) + if self.ETCS_Signal_DWeg is not None: + namespaceprefix_ = self.ETCS_Signal_DWeg_nsprefix_ + ':' if (UseCapturedNS_ and self.ETCS_Signal_DWeg_nsprefix_) else '' + self.ETCS_Signal_DWeg.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ETCS_Signal_DWeg', pretty_print=pretty_print) + if self.ETCS_Signal_TBV is not None: + namespaceprefix_ = self.ETCS_Signal_TBV_nsprefix_ + ':' if (UseCapturedNS_ and self.ETCS_Signal_TBV_nsprefix_) else '' + self.ETCS_Signal_TBV.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ETCS_Signal_TBV', pretty_print=pretty_print) + if self.ID_ETCS_Gefahrpunkt is not None: + namespaceprefix_ = self.ID_ETCS_Gefahrpunkt_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_ETCS_Gefahrpunkt_nsprefix_) else '' + self.ID_ETCS_Gefahrpunkt.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_ETCS_Gefahrpunkt', pretty_print=pretty_print) + if self.ID_ETCS_Gefahrpunkt_2 is not None: + namespaceprefix_ = self.ID_ETCS_Gefahrpunkt_2_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_ETCS_Gefahrpunkt_2_nsprefix_) else '' + self.ID_ETCS_Gefahrpunkt_2.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_ETCS_Gefahrpunkt_2', pretty_print=pretty_print) + if self.ID_HOA_FBOA is not None: + namespaceprefix_ = self.ID_HOA_FBOA_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_HOA_FBOA_nsprefix_) else '' + self.ID_HOA_FBOA.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_HOA_FBOA', pretty_print=pretty_print) + for ID_RBC_ in self.ID_RBC: + namespaceprefix_ = self.ID_RBC_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_RBC_nsprefix_) else '' + ID_RBC_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_RBC', pretty_print=pretty_print) + if self.ID_Signal is not None: + namespaceprefix_ = self.ID_Signal_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Signal_nsprefix_) else '' + self.ID_Signal.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Signal', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CETCS_Signal, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ETCS_Gefahrpunktabstand_Abweichend': + obj_ = TCETCS_Gefahrpunktabstand_Abweichend.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ETCS_Gefahrpunktabstand_Abweichend = obj_ + obj_.original_tagname_ = 'ETCS_Gefahrpunktabstand_Abweichend' + elif nodeName_ == 'ETCS_Signal_Allg': + obj_ = CETCS_Signal_Allg.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ETCS_Signal_Allg = obj_ + obj_.original_tagname_ = 'ETCS_Signal_Allg' + elif nodeName_ == 'ETCS_Signal_DWeg': + obj_ = CETCS_Signal_DWeg.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ETCS_Signal_DWeg = obj_ + obj_.original_tagname_ = 'ETCS_Signal_DWeg' + elif nodeName_ == 'ETCS_Signal_TBV': + obj_ = CETCS_Signal_TBV.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ETCS_Signal_TBV = obj_ + obj_.original_tagname_ = 'ETCS_Signal_TBV' + elif nodeName_ == 'ID_ETCS_Gefahrpunkt': + obj_ = TCID_Markanter_Punkt.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_ETCS_Gefahrpunkt = obj_ + obj_.original_tagname_ = 'ID_ETCS_Gefahrpunkt' + elif nodeName_ == 'ID_ETCS_Gefahrpunkt_2': + obj_ = TCID_Markanter_Punkt.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_ETCS_Gefahrpunkt_2 = obj_ + obj_.original_tagname_ = 'ID_ETCS_Gefahrpunkt_2' + elif nodeName_ == 'ID_HOA_FBOA': + obj_ = TCID_Technischer_Punkt.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_HOA_FBOA = obj_ + obj_.original_tagname_ = 'ID_HOA_FBOA' + elif nodeName_ == 'ID_RBC': + obj_ = TCID_RBC.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_RBC.append(obj_) + obj_.original_tagname_ = 'ID_RBC' + elif nodeName_ == 'ID_Signal': + obj_ = TCID_Signal_ohne_Proxy.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Signal = obj_ + obj_.original_tagname_ = 'ID_Signal' + super(CETCS_Signal, self)._buildChildren(child_, node, nodeName_, True) +# end class CETCS_Signal + + +class CBgrenze_Nach_LZB_Bed_Einstieg(GeneratedsSuper): + """ID_W_Element -- Verweis auf das Weichen-Element der Entscheidungsweiche. + W_Lage -- Lage des Weichen-Elements. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, ID_W_Element=None, W_Lage=None, gds_collector_=None, **kwargs_): + self.gds_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_W_Element = ID_W_Element + self.ID_W_Element_nsprefix_ = None + self.W_Lage = W_Lage + self.W_Lage_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CBgrenze_Nach_LZB_Bed_Einstieg) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CBgrenze_Nach_LZB_Bed_Einstieg.subclass: + return CBgrenze_Nach_LZB_Bed_Einstieg.subclass(*args_, **kwargs_) + else: + return CBgrenze_Nach_LZB_Bed_Einstieg(*args_, **kwargs_) + factory = staticmethod(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_W_Element(self): + return self.ID_W_Element + def set_ID_W_Element(self, ID_W_Element): + self.ID_W_Element = ID_W_Element + def get_W_Lage(self): + return self.W_Lage + def set_W_Lage(self, W_Lage): + self.W_Lage = W_Lage + def has__content(self): + if ( + self.ID_W_Element is not None or + self.W_Lage is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CBgrenze_Nach_LZB_Bed_Einstieg', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CBgrenze_Nach_LZB_Bed_Einstieg') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CBgrenze_Nach_LZB_Bed_Einstieg': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CBgrenze_Nach_LZB_Bed_Einstieg') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CBgrenze_Nach_LZB_Bed_Einstieg', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='CBgrenze_Nach_LZB_Bed_Einstieg'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CBgrenze_Nach_LZB_Bed_Einstieg', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.ID_W_Element is not None: + namespaceprefix_ = self.ID_W_Element_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_W_Element_nsprefix_) else '' + self.ID_W_Element.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_W_Element', pretty_print=pretty_print) + if self.W_Lage is not None: + namespaceprefix_ = self.W_Lage_nsprefix_ + ':' if (UseCapturedNS_ and self.W_Lage_nsprefix_) else '' + self.W_Lage.export(outfile, level, namespaceprefix_, namespacedef_='', name_='W_Lage', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_W_Element': + obj_ = TCID_W_Kr_Gsp_Element.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_W_Element = obj_ + obj_.original_tagname_ = 'ID_W_Element' + elif nodeName_ == 'W_Lage': + obj_ = TCW_Lage.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.W_Lage = obj_ + obj_.original_tagname_ = 'W_Lage' +# end class CBgrenze_Nach_LZB_Bed_Einstieg + + +class TCDateityp_Binaerdatei(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCDateityp_Binaerdatei"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TDateityp_Binaerdatei(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCDateityp_Binaerdatei) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCDateityp_Binaerdatei.subclass: + return TCDateityp_Binaerdatei.subclass(*args_, **kwargs_) + else: + return TCDateityp_Binaerdatei(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TDateityp_Binaerdatei(self, value): + result = True + # Validate type TDateityp_Binaerdatei, a restriction on nsBasisTypen:TZeichenkette. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TDateityp_Binaerdatei_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TDateityp_Binaerdatei_patterns_, )) + result = False + return result + validate_TDateityp_Binaerdatei_patterns_ = [['^(.{3,5})$'], ['^([a-zA-Z_0-9]{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCDateityp_Binaerdatei, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCDateityp_Binaerdatei', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCDateityp_Binaerdatei') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCDateityp_Binaerdatei': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCDateityp_Binaerdatei') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCDateityp_Binaerdatei', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCDateityp_Binaerdatei'): + super(TCDateityp_Binaerdatei, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCDateityp_Binaerdatei') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCDateityp_Binaerdatei', fromsubclass_=False, pretty_print=True): + super(TCDateityp_Binaerdatei, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCDateityp_Binaerdatei, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TDateityp_Binaerdatei + self.validate_TDateityp_Binaerdatei(self.Wert) + super(TCDateityp_Binaerdatei, self)._buildChildren(child_, node, nodeName_, True) +# end class TCDateityp_Binaerdatei + + +class TCVZ(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCVZ"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TVZ(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCVZ) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCVZ.subclass: + return TCVZ.subclass(*args_, **kwargs_) + else: + return TCVZ(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TVZ(self, value): + result = True + # Validate type TVZ, a restriction on nsBasisTypen:TGeschwindigkeit. + 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_TVZ_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TVZ_patterns_, )) + result = False + return result + validate_TVZ_patterns_ = [['^(0|[1-9][0-9]{0,1}|[1-4][0-9]{2}|500)$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCVZ, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCVZ', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCVZ') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCVZ': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCVZ') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCVZ', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCVZ'): + super(TCVZ, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCVZ') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCVZ', fromsubclass_=False, pretty_print=True): + super(TCVZ, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_integer(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCVZ, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + ival_ = self.gds_parse_integer(sval_, node, 'Wert') + ival_ = self.gds_validate_integer(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + # validate type TVZ + self.validate_TVZ(self.Wert) + super(TCVZ, self)._buildChildren(child_, node, nodeName_, True) +# end class TCVZ + + +class CDP_Typ_GZBS(GeneratedsSuper): + """DP_Typ_ZBS -- Durch das Anwendungssystem ZBS definierter Datenpunkttyp. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, DP_Typ_ZBS=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.DP_Typ_ZBS = DP_Typ_ZBS + self.DP_Typ_ZBS_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CDP_Typ_GZBS) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CDP_Typ_GZBS.subclass: + return CDP_Typ_GZBS.subclass(*args_, **kwargs_) + else: + return CDP_Typ_GZBS(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_DP_Typ_ZBS(self): + return self.DP_Typ_ZBS + def set_DP_Typ_ZBS(self, DP_Typ_ZBS): + self.DP_Typ_ZBS = DP_Typ_ZBS + def has__content(self): + if ( + self.DP_Typ_ZBS is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='CDP_Typ_GZBS', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CDP_Typ_GZBS') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CDP_Typ_GZBS': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CDP_Typ_GZBS') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CDP_Typ_GZBS', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='CDP_Typ_GZBS'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='CDP_Typ_GZBS', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.DP_Typ_ZBS is not None: + namespaceprefix_ = self.DP_Typ_ZBS_nsprefix_ + ':' if (UseCapturedNS_ and self.DP_Typ_ZBS_nsprefix_) else '' + self.DP_Typ_ZBS.export(outfile, level, namespaceprefix_, namespacedef_='', name_='DP_Typ_ZBS', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'DP_Typ_ZBS': + obj_ = TCDP_Typ_ZBS.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.DP_Typ_ZBS = obj_ + obj_.original_tagname_ = 'DP_Typ_ZBS' +# end class CDP_Typ_GZBS + + +class TCDWeg_Intervall_50(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCDWeg_Intervall_50"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TDWeg_Intervall_50(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCDWeg_Intervall_50) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCDWeg_Intervall_50.subclass: + return TCDWeg_Intervall_50.subclass(*args_, **kwargs_) + else: + return TCDWeg_Intervall_50(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TDWeg_Intervall_50(self, value): + result = True + # Validate type TDWeg_Intervall_50, a restriction on nsBasisTypen:TMeter. + 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 + pass + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCDWeg_Intervall_50, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCDWeg_Intervall_50', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCDWeg_Intervall_50') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCDWeg_Intervall_50': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCDWeg_Intervall_50') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCDWeg_Intervall_50', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCDWeg_Intervall_50'): + super(TCDWeg_Intervall_50, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCDWeg_Intervall_50') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCDWeg_Intervall_50', fromsubclass_=False, pretty_print=True): + super(TCDWeg_Intervall_50, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_decimal(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCDWeg_Intervall_50, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + fval_ = self.gds_parse_decimal(sval_, node, 'Wert') + fval_ = self.gds_validate_decimal(fval_, node, 'Wert') + self.Wert = fval_ + self.Wert_nsprefix_ = child_.prefix + # validate type TDWeg_Intervall_50 + self.validate_TDWeg_Intervall_50(self.Wert) + super(TCDWeg_Intervall_50, self)._buildChildren(child_, node, nodeName_, True) +# end class TCDWeg_Intervall_50 + + +class TCKm_BTS_1(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCKm_BTS_1"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TKm_BTS_1(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCKm_BTS_1) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCKm_BTS_1.subclass: + return TCKm_BTS_1.subclass(*args_, **kwargs_) + else: + return TCKm_BTS_1(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TKm_BTS_1(self, value): + result = True + # Validate type TKm_BTS_1, a restriction on nsBasisTypen:TKilometrierung. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TKm_BTS_1_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TKm_BTS_1_patterns_, )) + result = False + return result + validate_TKm_BTS_1_patterns_ = [['^(-?(([1-9][0-9]{0,2})|0),([0-9]{3}|([0-9][\\+\\-][1-9][0-9]{0,4})))$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCKm_BTS_1, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCKm_BTS_1', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCKm_BTS_1') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCKm_BTS_1': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCKm_BTS_1') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCKm_BTS_1', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCKm_BTS_1'): + super(TCKm_BTS_1, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCKm_BTS_1') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCKm_BTS_1', fromsubclass_=False, pretty_print=True): + super(TCKm_BTS_1, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCKm_BTS_1, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TKm_BTS_1 + self.validate_TKm_BTS_1(self.Wert) + super(TCKm_BTS_1, self)._buildChildren(child_, node, nodeName_, True) +# end class TCKm_BTS_1 + + +class TCBalisenhalter(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCBalisenhalter"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMBalisenhalter(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCBalisenhalter) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCBalisenhalter.subclass: + return TCBalisenhalter.subclass(*args_, **kwargs_) + else: + return TCBalisenhalter(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMBalisenhalter(self, value): + result = True + # Validate type ENUMBalisenhalter, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['BSS 85', 'Kolster', 'sonstige', 'unbekannt', 'Vortok doppelt', 'Vortok einfach'] + 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 ENUMBalisenhalter' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCBalisenhalter, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCBalisenhalter', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCBalisenhalter') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCBalisenhalter': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBalisenhalter') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCBalisenhalter', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCBalisenhalter'): + super(TCBalisenhalter, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBalisenhalter') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCBalisenhalter', fromsubclass_=False, pretty_print=True): + super(TCBalisenhalter, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCBalisenhalter, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMBalisenhalter + self.validate_ENUMBalisenhalter(self.Wert) + super(TCBalisenhalter, self)._buildChildren(child_, node, nodeName_, True) +# end class TCBalisenhalter + + +class TCIst_Befahren(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCIst_Befahren"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCIst_Befahren) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCIst_Befahren.subclass: + return TCIst_Befahren.subclass(*args_, **kwargs_) + else: + return TCIst_Befahren(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def has__content(self): + if ( + self.Wert is not None or + super(TCIst_Befahren, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCIst_Befahren', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCIst_Befahren') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCIst_Befahren': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCIst_Befahren') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCIst_Befahren', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCIst_Befahren'): + super(TCIst_Befahren, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCIst_Befahren') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCIst_Befahren', fromsubclass_=False, pretty_print=True): + super(TCIst_Befahren, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_boolean(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCIst_Befahren, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + sval_ = child_.text + ival_ = self.gds_parse_boolean(sval_, node, 'Wert') + ival_ = self.gds_validate_boolean(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + super(TCIst_Befahren, self)._buildChildren(child_, node, nodeName_, True) +# end class TCIst_Befahren + + +class TCAbstand_Grenze_Bereich_C(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCAbstand_Grenze_Bereich_C"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TAbstand_Grenze_Bereich_C(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCAbstand_Grenze_Bereich_C) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCAbstand_Grenze_Bereich_C.subclass: + return TCAbstand_Grenze_Bereich_C.subclass(*args_, **kwargs_) + else: + return TCAbstand_Grenze_Bereich_C(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TAbstand_Grenze_Bereich_C(self, value): + result = True + # Validate type TAbstand_Grenze_Bereich_C, a restriction on nsBasisTypen:TMeter. + 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 not self.gds_validate_simple_patterns( + self.validate_TAbstand_Grenze_Bereich_C_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TAbstand_Grenze_Bereich_C_patterns_, )) + result = False + return result + validate_TAbstand_Grenze_Bereich_C_patterns_ = [['^([1-9]|[1-9][0-9]|[1-9][0-9][0-9])$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCAbstand_Grenze_Bereich_C, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCAbstand_Grenze_Bereich_C', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCAbstand_Grenze_Bereich_C') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCAbstand_Grenze_Bereich_C': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCAbstand_Grenze_Bereich_C') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCAbstand_Grenze_Bereich_C', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCAbstand_Grenze_Bereich_C'): + super(TCAbstand_Grenze_Bereich_C, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCAbstand_Grenze_Bereich_C') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCAbstand_Grenze_Bereich_C', fromsubclass_=False, pretty_print=True): + super(TCAbstand_Grenze_Bereich_C, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_decimal(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCAbstand_Grenze_Bereich_C, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + fval_ = self.gds_parse_decimal(sval_, node, 'Wert') + fval_ = self.gds_validate_decimal(fval_, node, 'Wert') + self.Wert = fval_ + self.Wert_nsprefix_ = child_.prefix + # validate type TAbstand_Grenze_Bereich_C + self.validate_TAbstand_Grenze_Bereich_C(self.Wert) + super(TCAbstand_Grenze_Bereich_C, self)._buildChildren(child_, node, nodeName_, True) +# end class TCAbstand_Grenze_Bereich_C + + +class TCDP_Typ_ETCS(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCDP_Typ_ETCS"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TDP_Typ_ETCS(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCDP_Typ_ETCS) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCDP_Typ_ETCS.subclass: + return TCDP_Typ_ETCS.subclass(*args_, **kwargs_) + else: + return TCDP_Typ_ETCS(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TDP_Typ_ETCS(self, value): + result = True + # Validate type TDP_Typ_ETCS, a restriction on xs:integer. + 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_TDP_Typ_ETCS_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TDP_Typ_ETCS_patterns_, )) + result = False + return result + validate_TDP_Typ_ETCS_patterns_ = [['^([1-9]|[1-6][0-9])$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCDP_Typ_ETCS, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCDP_Typ_ETCS', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCDP_Typ_ETCS') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCDP_Typ_ETCS': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCDP_Typ_ETCS') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCDP_Typ_ETCS', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCDP_Typ_ETCS'): + super(TCDP_Typ_ETCS, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCDP_Typ_ETCS') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCDP_Typ_ETCS', fromsubclass_=False, pretty_print=True): + super(TCDP_Typ_ETCS, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_integer(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCDP_Typ_ETCS, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + ival_ = self.gds_parse_integer(sval_, node, 'Wert') + ival_ = self.gds_validate_integer(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + # validate type TDP_Typ_ETCS + self.validate_TDP_Typ_ETCS(self.Wert) + super(TCDP_Typ_ETCS, self)._buildChildren(child_, node, nodeName_, True) +# end class TCDP_Typ_ETCS + + +class CBedingung_Signal(GeneratedsSuper): + """ID_Signal_Signalbegriff -- Verweis auf einen Signalbegriff, der als Bedingung f + ü + r die Auswahl des Fachtelegramms angeschaltet sein muss. Das vollst + ä + ndige Signalbild wird durch die Angabe mehrerer Signalbegriffe zusammengesetzt. Die Abh + ä + ngigkeit zum B + Ü + wird unabh + ä + ngig von der technischen Realisierung ebenfalls + ü + ber die Auswahl der zugeh + ö + rigen Signalbegriffe B + ü + 0/B + ü + 1 hergestellt. + ID_Signalbegriff_Weiterer -- Verweis auf einen weiteren Signalbegriff, der f + ü + r die Auswahl des Fachtelegramms angeschaltet sein muss, jedoch f + ü + r dessen Inhalt nicht relevant ist. + Verwendung_Als_Rueckfall -- Gibt an, ob die Signalbegriffe (bzw. das Signalbild) eine R + ü + ckfallebene der Signal-Anschaltung darstellen. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, ID_Signal_Signalbegriff=None, ID_Signalbegriff_Weiterer=None, Verwendung_Als_Rueckfall=None, gds_collector_=None, **kwargs_): + self.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 ID_Signal_Signalbegriff is None: + self.ID_Signal_Signalbegriff = [] + else: + self.ID_Signal_Signalbegriff = ID_Signal_Signalbegriff + self.ID_Signal_Signalbegriff_nsprefix_ = None + if ID_Signalbegriff_Weiterer is None: + self.ID_Signalbegriff_Weiterer = [] + else: + self.ID_Signalbegriff_Weiterer = ID_Signalbegriff_Weiterer + self.ID_Signalbegriff_Weiterer_nsprefix_ = None + self.Verwendung_Als_Rueckfall = Verwendung_Als_Rueckfall + self.Verwendung_Als_Rueckfall_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CBedingung_Signal) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CBedingung_Signal.subclass: + return CBedingung_Signal.subclass(*args_, **kwargs_) + else: + return CBedingung_Signal(*args_, **kwargs_) + factory = staticmethod(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_Signal_Signalbegriff(self): + return self.ID_Signal_Signalbegriff + def set_ID_Signal_Signalbegriff(self, ID_Signal_Signalbegriff): + self.ID_Signal_Signalbegriff = ID_Signal_Signalbegriff + def add_ID_Signal_Signalbegriff(self, value): + self.ID_Signal_Signalbegriff.append(value) + def insert_ID_Signal_Signalbegriff_at(self, index, value): + self.ID_Signal_Signalbegriff.insert(index, value) + def replace_ID_Signal_Signalbegriff_at(self, index, value): + self.ID_Signal_Signalbegriff[index] = value + def get_ID_Signalbegriff_Weiterer(self): + return self.ID_Signalbegriff_Weiterer + def set_ID_Signalbegriff_Weiterer(self, ID_Signalbegriff_Weiterer): + self.ID_Signalbegriff_Weiterer = ID_Signalbegriff_Weiterer + def add_ID_Signalbegriff_Weiterer(self, value): + self.ID_Signalbegriff_Weiterer.append(value) + def insert_ID_Signalbegriff_Weiterer_at(self, index, value): + self.ID_Signalbegriff_Weiterer.insert(index, value) + def replace_ID_Signalbegriff_Weiterer_at(self, index, value): + self.ID_Signalbegriff_Weiterer[index] = value + def get_Verwendung_Als_Rueckfall(self): + return self.Verwendung_Als_Rueckfall + def set_Verwendung_Als_Rueckfall(self, Verwendung_Als_Rueckfall): + self.Verwendung_Als_Rueckfall = Verwendung_Als_Rueckfall + def has__content(self): + if ( + self.ID_Signal_Signalbegriff or + self.ID_Signalbegriff_Weiterer or + self.Verwendung_Als_Rueckfall is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CBedingung_Signal', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CBedingung_Signal') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CBedingung_Signal': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CBedingung_Signal') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CBedingung_Signal', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='CBedingung_Signal'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CBedingung_Signal', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Signal_Signalbegriff_ in self.ID_Signal_Signalbegriff: + namespaceprefix_ = self.ID_Signal_Signalbegriff_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Signal_Signalbegriff_nsprefix_) else '' + ID_Signal_Signalbegriff_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Signal_Signalbegriff', pretty_print=pretty_print) + for ID_Signalbegriff_Weiterer_ in self.ID_Signalbegriff_Weiterer: + namespaceprefix_ = self.ID_Signalbegriff_Weiterer_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Signalbegriff_Weiterer_nsprefix_) else '' + ID_Signalbegriff_Weiterer_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Signalbegriff_Weiterer', pretty_print=pretty_print) + if self.Verwendung_Als_Rueckfall is not None: + namespaceprefix_ = self.Verwendung_Als_Rueckfall_nsprefix_ + ':' if (UseCapturedNS_ and self.Verwendung_Als_Rueckfall_nsprefix_) else '' + self.Verwendung_Als_Rueckfall.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Verwendung_Als_Rueckfall', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Signal_Signalbegriff': + obj_ = TCID_Signal_Signalbegriff.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Signal_Signalbegriff.append(obj_) + obj_.original_tagname_ = 'ID_Signal_Signalbegriff' + elif nodeName_ == 'ID_Signalbegriff_Weiterer': + obj_ = TCID_Signal_Signalbegriff.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Signalbegriff_Weiterer.append(obj_) + obj_.original_tagname_ = 'ID_Signalbegriff_Weiterer' + elif nodeName_ == 'Verwendung_Als_Rueckfall': + obj_ = TCVerwendung_Als_Rueckfall.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Verwendung_Als_Rueckfall = obj_ + obj_.original_tagname_ = 'Verwendung_Als_Rueckfall' +# end class CBedingung_Signal + + +class TCLEU_Ausgang_Nr(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCLEU_Ausgang_Nr"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TLEU_Ausgang_Nr(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCLEU_Ausgang_Nr) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCLEU_Ausgang_Nr.subclass: + return TCLEU_Ausgang_Nr.subclass(*args_, **kwargs_) + else: + return TCLEU_Ausgang_Nr(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TLEU_Ausgang_Nr(self, value): + result = True + # Validate type TLEU_Ausgang_Nr, a restriction on xs:integer. + 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 + pass + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCLEU_Ausgang_Nr, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCLEU_Ausgang_Nr', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCLEU_Ausgang_Nr') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCLEU_Ausgang_Nr': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCLEU_Ausgang_Nr') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCLEU_Ausgang_Nr', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCLEU_Ausgang_Nr'): + super(TCLEU_Ausgang_Nr, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCLEU_Ausgang_Nr') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCLEU_Ausgang_Nr', fromsubclass_=False, pretty_print=True): + super(TCLEU_Ausgang_Nr, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_integer(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCLEU_Ausgang_Nr, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + ival_ = self.gds_parse_integer(sval_, node, 'Wert') + ival_ = self.gds_validate_integer(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + # validate type TLEU_Ausgang_Nr + self.validate_TLEU_Ausgang_Nr(self.Wert) + super(TCLEU_Ausgang_Nr, self)._buildChildren(child_, node, nodeName_, True) +# end class TCLEU_Ausgang_Nr + + +class TCVBC_Setzen(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCVBC_Setzen"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCVBC_Setzen) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCVBC_Setzen.subclass: + return TCVBC_Setzen.subclass(*args_, **kwargs_) + else: + return TCVBC_Setzen(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def has__content(self): + if ( + self.Wert is not None or + super(TCVBC_Setzen, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCVBC_Setzen', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCVBC_Setzen') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCVBC_Setzen': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCVBC_Setzen') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCVBC_Setzen', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCVBC_Setzen'): + super(TCVBC_Setzen, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCVBC_Setzen') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCVBC_Setzen', fromsubclass_=False, pretty_print=True): + super(TCVBC_Setzen, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_boolean(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCVBC_Setzen, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + sval_ = child_.text + ival_ = self.gds_parse_boolean(sval_, node, 'Wert') + ival_ = self.gds_validate_boolean(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + super(TCVBC_Setzen, self)._buildChildren(child_, node, nodeName_, True) +# end class TCVBC_Setzen + + +class CBedingung_Weiche(GeneratedsSuper): + """Bedingung_Weichenlage -- Lage der Weiche, die als Bedingung f + ü + r die Auswahl des Fachtelegramms vorhanden sein muss. + ID_W_Element -- Verweis auf ein Weichenelement, dessen Lage als Bedingung f + ü + r die Auswahl des Fachtelegramms ausgewertet wird. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Bedingung_Weichenlage=None, ID_W_Element=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Bedingung_Weichenlage = Bedingung_Weichenlage + self.Bedingung_Weichenlage_nsprefix_ = None + self.ID_W_Element = ID_W_Element + self.ID_W_Element_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CBedingung_Weiche) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CBedingung_Weiche.subclass: + return CBedingung_Weiche.subclass(*args_, **kwargs_) + else: + return CBedingung_Weiche(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Bedingung_Weichenlage(self): + return self.Bedingung_Weichenlage + def set_Bedingung_Weichenlage(self, Bedingung_Weichenlage): + self.Bedingung_Weichenlage = Bedingung_Weichenlage + def get_ID_W_Element(self): + return self.ID_W_Element + def set_ID_W_Element(self, ID_W_Element): + self.ID_W_Element = ID_W_Element + def has__content(self): + if ( + self.Bedingung_Weichenlage is not None or + self.ID_W_Element is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CBedingung_Weiche', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CBedingung_Weiche') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CBedingung_Weiche': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CBedingung_Weiche') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CBedingung_Weiche', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='CBedingung_Weiche'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CBedingung_Weiche', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Bedingung_Weichenlage is not None: + namespaceprefix_ = self.Bedingung_Weichenlage_nsprefix_ + ':' if (UseCapturedNS_ and self.Bedingung_Weichenlage_nsprefix_) else '' + self.Bedingung_Weichenlage.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Bedingung_Weichenlage', pretty_print=pretty_print) + if self.ID_W_Element is not None: + namespaceprefix_ = self.ID_W_Element_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_W_Element_nsprefix_) else '' + self.ID_W_Element.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_W_Element', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Bedingung_Weichenlage': + obj_ = TCBedingung_Weichenlage.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Bedingung_Weichenlage = obj_ + obj_.original_tagname_ = 'Bedingung_Weichenlage' + elif nodeName_ == 'ID_W_Element': + obj_ = TCID_W_Kr_Gsp_Element.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_W_Element = obj_ + obj_.original_tagname_ = 'ID_W_Element' +# end class CBedingung_Weiche + + +class CETCS_Signal_DWeg(GeneratedsSuper): + """DWeg_Intervall_200 -- L + ä + nge des k + ü + rzesten DWegs im Intervall DWeg \u003e= 200 m. Die Angabe entf + ä + llt, wenn die exakten DWeg-L + ä + ngen vom Stellwerk an das RBC + ü + bertragen werden. + DWeg_Intervall_50 -- L + ä + nge des k + ü + rzesten DWegs im Intervall DWeg \u003c50 m. Die Angabe entf + ä + llt, wenn die exakten DWeg-L + ä + ngen vom Stellwerk an das RBC + ü + bertragen werden. + DWeg_Intervall_50_200 -- L + ä + nge des k + ü + rzesten DWegs im Intervall 50 m \u003c= DWeg \u003c 200 m. Die Angabe entf + ä + llt, wenn die exakten DWeg-L + ä + ngen vom Stellwerk an das RBC + ü + bertragen werden. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, DWeg_Intervall_200=None, DWeg_Intervall_50=None, DWeg_Intervall_50_200=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.DWeg_Intervall_200 = DWeg_Intervall_200 + self.DWeg_Intervall_200_nsprefix_ = None + self.DWeg_Intervall_50 = DWeg_Intervall_50 + self.DWeg_Intervall_50_nsprefix_ = None + self.DWeg_Intervall_50_200 = DWeg_Intervall_50_200 + self.DWeg_Intervall_50_200_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CETCS_Signal_DWeg) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CETCS_Signal_DWeg.subclass: + return CETCS_Signal_DWeg.subclass(*args_, **kwargs_) + else: + return CETCS_Signal_DWeg(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_DWeg_Intervall_200(self): + return self.DWeg_Intervall_200 + def set_DWeg_Intervall_200(self, DWeg_Intervall_200): + self.DWeg_Intervall_200 = DWeg_Intervall_200 + def get_DWeg_Intervall_50(self): + return self.DWeg_Intervall_50 + def set_DWeg_Intervall_50(self, DWeg_Intervall_50): + self.DWeg_Intervall_50 = DWeg_Intervall_50 + def get_DWeg_Intervall_50_200(self): + return self.DWeg_Intervall_50_200 + def set_DWeg_Intervall_50_200(self, DWeg_Intervall_50_200): + self.DWeg_Intervall_50_200 = DWeg_Intervall_50_200 + def has__content(self): + if ( + self.DWeg_Intervall_200 is not None or + self.DWeg_Intervall_50 is not None or + self.DWeg_Intervall_50_200 is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='CETCS_Signal_DWeg', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CETCS_Signal_DWeg') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CETCS_Signal_DWeg': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CETCS_Signal_DWeg') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CETCS_Signal_DWeg', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='CETCS_Signal_DWeg'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='CETCS_Signal_DWeg', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.DWeg_Intervall_200 is not None: + namespaceprefix_ = self.DWeg_Intervall_200_nsprefix_ + ':' if (UseCapturedNS_ and self.DWeg_Intervall_200_nsprefix_) else '' + self.DWeg_Intervall_200.export(outfile, level, namespaceprefix_, namespacedef_='', name_='DWeg_Intervall_200', pretty_print=pretty_print) + if self.DWeg_Intervall_50 is not None: + namespaceprefix_ = self.DWeg_Intervall_50_nsprefix_ + ':' if (UseCapturedNS_ and self.DWeg_Intervall_50_nsprefix_) else '' + self.DWeg_Intervall_50.export(outfile, level, namespaceprefix_, namespacedef_='', name_='DWeg_Intervall_50', pretty_print=pretty_print) + if self.DWeg_Intervall_50_200 is not None: + namespaceprefix_ = self.DWeg_Intervall_50_200_nsprefix_ + ':' if (UseCapturedNS_ and self.DWeg_Intervall_50_200_nsprefix_) else '' + self.DWeg_Intervall_50_200.export(outfile, level, namespaceprefix_, namespacedef_='', name_='DWeg_Intervall_50_200', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'DWeg_Intervall_200': + obj_ = TCDWeg_Intervall_200.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.DWeg_Intervall_200 = obj_ + obj_.original_tagname_ = 'DWeg_Intervall_200' + elif nodeName_ == 'DWeg_Intervall_50': + obj_ = TCDWeg_Intervall_50.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.DWeg_Intervall_50 = obj_ + obj_.original_tagname_ = 'DWeg_Intervall_50' + elif nodeName_ == 'DWeg_Intervall_50_200': + obj_ = TCDWeg_Intervall_50_200.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.DWeg_Intervall_50_200 = obj_ + obj_.original_tagname_ = 'DWeg_Intervall_50_200' +# end class CETCS_Signal_DWeg + + +class TCRufnummer(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCRufnummer"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TRufnummer(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCRufnummer) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCRufnummer.subclass: + return TCRufnummer.subclass(*args_, **kwargs_) + else: + return TCRufnummer(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TRufnummer(self, value): + result = True + # Validate type TRufnummer, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TRufnummer_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TRufnummer_patterns_, )) + result = False + return result + validate_TRufnummer_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCRufnummer, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCRufnummer', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCRufnummer') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCRufnummer': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCRufnummer') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCRufnummer', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCRufnummer'): + super(TCRufnummer, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCRufnummer') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCRufnummer', fromsubclass_=False, pretty_print=True): + super(TCRufnummer, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCRufnummer, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TRufnummer + self.validate_TRufnummer(self.Wert) + super(TCRufnummer, self)._buildChildren(child_, node, nodeName_, True) +# end class TCRufnummer + + +class CZUB_Bereichsgrenze_Nach_ESG(GeneratedsSuper): + """Bgrenze_Nach_ESG_Bed_Ausstieg -- Angaben zur Entscheidungsweiche bei bedingten Ausstieg aus dem vorherigen System. + Harter_Ausstieg_Aus_L2 -- Bei + Ü + bergang von L2: Angabe, ob es sich um einen harten Ausstieg handelt (true). Bei einem harten Ausstieg erfolgt keine Ank + ü + ndigung durch das RBC. + Prioritaet -- Bei mehreren Anwendungssystemen in Sonderf + ä + llen (z. B. ausl + ä + ndische Anwendungssysteme): Priorit + ä + t f + ü + r die Nutzung. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Bgrenze_Nach_ESG_Bed_Ausstieg=None, Harter_Ausstieg_Aus_L2=None, Prioritaet=None, gds_collector_=None, **kwargs_): + self.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 Bgrenze_Nach_ESG_Bed_Ausstieg is None: + self.Bgrenze_Nach_ESG_Bed_Ausstieg = [] + else: + self.Bgrenze_Nach_ESG_Bed_Ausstieg = Bgrenze_Nach_ESG_Bed_Ausstieg + self.Bgrenze_Nach_ESG_Bed_Ausstieg_nsprefix_ = None + self.Harter_Ausstieg_Aus_L2 = Harter_Ausstieg_Aus_L2 + self.Harter_Ausstieg_Aus_L2_nsprefix_ = None + self.Prioritaet = Prioritaet + self.Prioritaet_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CZUB_Bereichsgrenze_Nach_ESG) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CZUB_Bereichsgrenze_Nach_ESG.subclass: + return CZUB_Bereichsgrenze_Nach_ESG.subclass(*args_, **kwargs_) + else: + return CZUB_Bereichsgrenze_Nach_ESG(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Bgrenze_Nach_ESG_Bed_Ausstieg(self): + return self.Bgrenze_Nach_ESG_Bed_Ausstieg + def set_Bgrenze_Nach_ESG_Bed_Ausstieg(self, Bgrenze_Nach_ESG_Bed_Ausstieg): + self.Bgrenze_Nach_ESG_Bed_Ausstieg = Bgrenze_Nach_ESG_Bed_Ausstieg + def add_Bgrenze_Nach_ESG_Bed_Ausstieg(self, value): + self.Bgrenze_Nach_ESG_Bed_Ausstieg.append(value) + def insert_Bgrenze_Nach_ESG_Bed_Ausstieg_at(self, index, value): + self.Bgrenze_Nach_ESG_Bed_Ausstieg.insert(index, value) + def replace_Bgrenze_Nach_ESG_Bed_Ausstieg_at(self, index, value): + self.Bgrenze_Nach_ESG_Bed_Ausstieg[index] = value + def get_Harter_Ausstieg_Aus_L2(self): + return self.Harter_Ausstieg_Aus_L2 + def set_Harter_Ausstieg_Aus_L2(self, Harter_Ausstieg_Aus_L2): + self.Harter_Ausstieg_Aus_L2 = Harter_Ausstieg_Aus_L2 + def get_Prioritaet(self): + return self.Prioritaet + def set_Prioritaet(self, Prioritaet): + self.Prioritaet = Prioritaet + def has__content(self): + if ( + self.Bgrenze_Nach_ESG_Bed_Ausstieg or + self.Harter_Ausstieg_Aus_L2 is not None or + self.Prioritaet is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='CZUB_Bereichsgrenze_Nach_ESG', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CZUB_Bereichsgrenze_Nach_ESG') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CZUB_Bereichsgrenze_Nach_ESG': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CZUB_Bereichsgrenze_Nach_ESG') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CZUB_Bereichsgrenze_Nach_ESG', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='CZUB_Bereichsgrenze_Nach_ESG'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='CZUB_Bereichsgrenze_Nach_ESG', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for Bgrenze_Nach_ESG_Bed_Ausstieg_ in self.Bgrenze_Nach_ESG_Bed_Ausstieg: + namespaceprefix_ = self.Bgrenze_Nach_ESG_Bed_Ausstieg_nsprefix_ + ':' if (UseCapturedNS_ and self.Bgrenze_Nach_ESG_Bed_Ausstieg_nsprefix_) else '' + Bgrenze_Nach_ESG_Bed_Ausstieg_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Bgrenze_Nach_ESG_Bed_Ausstieg', pretty_print=pretty_print) + if self.Harter_Ausstieg_Aus_L2 is not None: + namespaceprefix_ = self.Harter_Ausstieg_Aus_L2_nsprefix_ + ':' if (UseCapturedNS_ and self.Harter_Ausstieg_Aus_L2_nsprefix_) else '' + self.Harter_Ausstieg_Aus_L2.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Harter_Ausstieg_Aus_L2', pretty_print=pretty_print) + if self.Prioritaet is not None: + namespaceprefix_ = self.Prioritaet_nsprefix_ + ':' if (UseCapturedNS_ and self.Prioritaet_nsprefix_) else '' + self.Prioritaet.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Prioritaet', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Bgrenze_Nach_ESG_Bed_Ausstieg': + obj_ = CBgrenze_Nach_ESG_Bed_Ausstieg.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Bgrenze_Nach_ESG_Bed_Ausstieg.append(obj_) + obj_.original_tagname_ = 'Bgrenze_Nach_ESG_Bed_Ausstieg' + elif nodeName_ == 'Harter_Ausstieg_Aus_L2': + obj_ = TCHarter_Ausstieg_Aus_L2.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Harter_Ausstieg_Aus_L2 = obj_ + obj_.original_tagname_ = 'Harter_Ausstieg_Aus_L2' + elif nodeName_ == 'Prioritaet': + obj_ = TCPrioritaet.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Prioritaet = obj_ + obj_.original_tagname_ = 'Prioritaet' +# end class CZUB_Bereichsgrenze_Nach_ESG + + +class TCVerkuerzter_Abstand(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCVerkuerzter_Abstand"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TVerkuerzter_Abstand(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCVerkuerzter_Abstand) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCVerkuerzter_Abstand.subclass: + return TCVerkuerzter_Abstand.subclass(*args_, **kwargs_) + else: + return TCVerkuerzter_Abstand(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TVerkuerzter_Abstand(self, value): + result = True + # Validate type TVerkuerzter_Abstand, a restriction on xs:integer. + 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 + pass + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCVerkuerzter_Abstand, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCVerkuerzter_Abstand', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCVerkuerzter_Abstand') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCVerkuerzter_Abstand': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCVerkuerzter_Abstand') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCVerkuerzter_Abstand', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCVerkuerzter_Abstand'): + super(TCVerkuerzter_Abstand, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCVerkuerzter_Abstand') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCVerkuerzter_Abstand', fromsubclass_=False, pretty_print=True): + super(TCVerkuerzter_Abstand, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_integer(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCVerkuerzter_Abstand, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + ival_ = self.gds_parse_integer(sval_, node, 'Wert') + ival_ = self.gds_validate_integer(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + # validate type TVerkuerzter_Abstand + self.validate_TVerkuerzter_Abstand(self.Wert) + super(TCVerkuerzter_Abstand, self)._buildChildren(child_, node, nodeName_, True) +# end class TCVerkuerzter_Abstand + + +class CBedingung_Sonstige(GeneratedsSuper): + """Anlagenteil_Sonstige -- Beschreibung eines Elements, das die Anschaltbedingung liefert. + Text_Bedingung -- Beschreibung der Bedingung, die f + ü + r die Auswahl des Fachtelegramms erf + ü + llt sein muss. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anlagenteil_Sonstige=None, Text_Bedingung=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anlagenteil_Sonstige = Anlagenteil_Sonstige + self.Anlagenteil_Sonstige_nsprefix_ = None + self.Text_Bedingung = Text_Bedingung + self.Text_Bedingung_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CBedingung_Sonstige) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CBedingung_Sonstige.subclass: + return CBedingung_Sonstige.subclass(*args_, **kwargs_) + else: + return CBedingung_Sonstige(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anlagenteil_Sonstige(self): + return self.Anlagenteil_Sonstige + def set_Anlagenteil_Sonstige(self, Anlagenteil_Sonstige): + self.Anlagenteil_Sonstige = Anlagenteil_Sonstige + def get_Text_Bedingung(self): + return self.Text_Bedingung + def set_Text_Bedingung(self, Text_Bedingung): + self.Text_Bedingung = Text_Bedingung + def has__content(self): + if ( + self.Anlagenteil_Sonstige is not None or + self.Text_Bedingung is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='CBedingung_Sonstige', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CBedingung_Sonstige') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CBedingung_Sonstige': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CBedingung_Sonstige') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CBedingung_Sonstige', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='CBedingung_Sonstige'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='CBedingung_Sonstige', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Anlagenteil_Sonstige is not None: + namespaceprefix_ = self.Anlagenteil_Sonstige_nsprefix_ + ':' if (UseCapturedNS_ and self.Anlagenteil_Sonstige_nsprefix_) else '' + self.Anlagenteil_Sonstige.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Anlagenteil_Sonstige', pretty_print=pretty_print) + if self.Text_Bedingung is not None: + namespaceprefix_ = self.Text_Bedingung_nsprefix_ + ':' if (UseCapturedNS_ and self.Text_Bedingung_nsprefix_) else '' + self.Text_Bedingung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Text_Bedingung', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Anlagenteil_Sonstige': + obj_ = TCAnlagenteil_Sonstige.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Anlagenteil_Sonstige = obj_ + obj_.original_tagname_ = 'Anlagenteil_Sonstige' + elif nodeName_ == 'Text_Bedingung': + obj_ = TCText_Bedingung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Text_Bedingung = obj_ + obj_.original_tagname_ = 'Text_Bedingung' +# end class CBedingung_Sonstige + + +class TCW_Lage8(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCW_Lage8"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TLinksRechts(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCW_Lage8) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCW_Lage8.subclass: + return TCW_Lage8.subclass(*args_, **kwargs_) + else: + return TCW_Lage8(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TLinksRechts(self, value): + result = True + # Validate type TLinksRechts, a restriction on nsBasisTypen:ENUMLinksRechts. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['links', 'rechts'] + 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 TLinksRechts' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCW_Lage8, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCW_Lage8', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCW_Lage8') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCW_Lage8': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCW_Lage8') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCW_Lage8', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCW_Lage8'): + super(TCW_Lage8, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCW_Lage8') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCW_Lage8', fromsubclass_=False, pretty_print=True): + super(TCW_Lage8, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCW_Lage8, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TLinksRechts + self.validate_TLinksRechts(self.Wert) + super(TCW_Lage8, self)._buildChildren(child_, node, nodeName_, True) +# end class TCW_Lage8 + + +class TCHarter_Ausstieg_Aus_L2(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCHarter_Ausstieg_Aus_L2"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCHarter_Ausstieg_Aus_L2) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCHarter_Ausstieg_Aus_L2.subclass: + return TCHarter_Ausstieg_Aus_L2.subclass(*args_, **kwargs_) + else: + return TCHarter_Ausstieg_Aus_L2(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def has__content(self): + if ( + self.Wert is not None or + super(TCHarter_Ausstieg_Aus_L2, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCHarter_Ausstieg_Aus_L2', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCHarter_Ausstieg_Aus_L2') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCHarter_Ausstieg_Aus_L2': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCHarter_Ausstieg_Aus_L2') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCHarter_Ausstieg_Aus_L2', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCHarter_Ausstieg_Aus_L2'): + super(TCHarter_Ausstieg_Aus_L2, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCHarter_Ausstieg_Aus_L2') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCHarter_Ausstieg_Aus_L2', fromsubclass_=False, pretty_print=True): + super(TCHarter_Ausstieg_Aus_L2, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_boolean(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCHarter_Ausstieg_Aus_L2, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + sval_ = child_.text + ival_ = self.gds_parse_boolean(sval_, node, 'Wert') + ival_ = self.gds_validate_boolean(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + super(TCHarter_Ausstieg_Aus_L2, self)._buildChildren(child_, node, nodeName_, True) +# end class TCHarter_Ausstieg_Aus_L2 + + +class CFT_ETCS_Trans_Paket_41(GeneratedsSuper): + """D_LEVELTR -- Entfernung bis zum Punkt, an dem die Transition stattfindet. + L_ACKLEVELTR -- L + ä + nge des Bereichs vor dem Umschaltpunkt, in dem der Tf die Transition best + ä + tigen muss. + M_LEVELTR -- ETCS-Level, auf das umgeschaltet wird. + NID_STM -- Angabe des nationalen Zugsicherungssystems, auf das umgeschaltet wird. Das Attribut ist nur zu f + ü + llen, wenn M_LEVELTR == \"STM\" gesetzt ist. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, D_LEVELTR=None, L_ACKLEVELTR=None, M_LEVELTR=None, NID_STM=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.D_LEVELTR = D_LEVELTR + self.D_LEVELTR_nsprefix_ = None + self.L_ACKLEVELTR = L_ACKLEVELTR + self.L_ACKLEVELTR_nsprefix_ = None + self.M_LEVELTR = M_LEVELTR + self.M_LEVELTR_nsprefix_ = None + self.NID_STM = NID_STM + self.NID_STM_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CFT_ETCS_Trans_Paket_41) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CFT_ETCS_Trans_Paket_41.subclass: + return CFT_ETCS_Trans_Paket_41.subclass(*args_, **kwargs_) + else: + return CFT_ETCS_Trans_Paket_41(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_D_LEVELTR(self): + return self.D_LEVELTR + def set_D_LEVELTR(self, D_LEVELTR): + self.D_LEVELTR = D_LEVELTR + def get_L_ACKLEVELTR(self): + return self.L_ACKLEVELTR + def set_L_ACKLEVELTR(self, L_ACKLEVELTR): + self.L_ACKLEVELTR = L_ACKLEVELTR + def get_M_LEVELTR(self): + return self.M_LEVELTR + def set_M_LEVELTR(self, M_LEVELTR): + self.M_LEVELTR = M_LEVELTR + def get_NID_STM(self): + return self.NID_STM + def set_NID_STM(self, NID_STM): + self.NID_STM = NID_STM + def has__content(self): + if ( + self.D_LEVELTR is not None or + self.L_ACKLEVELTR is not None or + self.M_LEVELTR is not None or + self.NID_STM is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='CFT_ETCS_Trans_Paket_41', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CFT_ETCS_Trans_Paket_41') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CFT_ETCS_Trans_Paket_41': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CFT_ETCS_Trans_Paket_41') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CFT_ETCS_Trans_Paket_41', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='CFT_ETCS_Trans_Paket_41'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='CFT_ETCS_Trans_Paket_41', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.D_LEVELTR is not None: + namespaceprefix_ = self.D_LEVELTR_nsprefix_ + ':' if (UseCapturedNS_ and self.D_LEVELTR_nsprefix_) else '' + self.D_LEVELTR.export(outfile, level, namespaceprefix_, namespacedef_='', name_='D_LEVELTR', pretty_print=pretty_print) + if self.L_ACKLEVELTR is not None: + namespaceprefix_ = self.L_ACKLEVELTR_nsprefix_ + ':' if (UseCapturedNS_ and self.L_ACKLEVELTR_nsprefix_) else '' + self.L_ACKLEVELTR.export(outfile, level, namespaceprefix_, namespacedef_='', name_='L_ACKLEVELTR', pretty_print=pretty_print) + if self.M_LEVELTR is not None: + namespaceprefix_ = self.M_LEVELTR_nsprefix_ + ':' if (UseCapturedNS_ and self.M_LEVELTR_nsprefix_) else '' + self.M_LEVELTR.export(outfile, level, namespaceprefix_, namespacedef_='', name_='M_LEVELTR', pretty_print=pretty_print) + if self.NID_STM is not None: + namespaceprefix_ = self.NID_STM_nsprefix_ + ':' if (UseCapturedNS_ and self.NID_STM_nsprefix_) else '' + self.NID_STM.export(outfile, level, namespaceprefix_, namespacedef_='', name_='NID_STM', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'D_LEVELTR': + obj_ = TCD_LEVELTR.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.D_LEVELTR = obj_ + obj_.original_tagname_ = 'D_LEVELTR' + elif nodeName_ == 'L_ACKLEVELTR': + obj_ = TCL_ACKLEVELTR.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.L_ACKLEVELTR = obj_ + obj_.original_tagname_ = 'L_ACKLEVELTR' + elif nodeName_ == 'M_LEVELTR': + obj_ = TCM_LEVELTR.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.M_LEVELTR = obj_ + obj_.original_tagname_ = 'M_LEVELTR' + elif nodeName_ == 'NID_STM': + obj_ = TCNID_STM.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.NID_STM = obj_ + obj_.original_tagname_ = 'NID_STM' +# end class CFT_ETCS_Trans_Paket_41 + + +class CETCS_W_Kr(CBasis_Objekt): + """CETCS_W_Kr -- Zusatzangaben f + ü + r Weichen und Kreuzungen im Zusammenhang mit ETCS L2. Ortsgestellte Weichen sind gem + ä + ß + der Vorgaben in Ril 819.1344 zu ber + ü + cksichtigen. + ID_ETCS_Gefahrpunkt_Nebengleis -- Bei ortsgestellten Weichen: Angabe des n + ä + chsten ETCS-Gefahrpunkts hinter der ortsgestellten Weiche f + ü + r den Fahrweg ins Nebengleis. DB-Regelwerk Ril 819.1344, 3.3.2 (25) + ID_ETCS_Knoten -- Verweis auf den ETCS_Knoten, der die Weiche bzw. Kreuzung repr + ä + sentiert. ETCS benutzt bei abzweigendem Fahrweg ersatzhalber die Geo-/Topo-Daten der Fahrwegabschnitte + ü + ber den Kreuzungsmittelpunkt. Der auftretende Fehler wird vernachl + ä + ssigt. + ID_RBC -- Verweis auf das RBC, dem die Weiche zugeordnet ist. Die Zuordnung ist auch f + ü + r ortsgestellte Weichen notwendig, um das Ende des Weichenbereichs ermitteln bzw. trotz fehlender Lageinformation das Ende der Fahrerlaubnis bestimmen zu k + ö + nnen. + ID_W_Kr_Anlage -- Verweis auf die zugeh + ö + rige Weiche bzw. Kreuzung. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasis_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, ETCS_W_Kr_MUKA=None, ID_ETCS_Gefahrpunkt_Nebengleis=None, ID_ETCS_Knoten=None, ID_RBC=None, ID_W_Kr_Anlage=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CETCS_W_Kr"), self).__init__(Identitaet, Basis_Objekt_Allg, ID_Bearbeitungsvermerk, ID_Oertlichkeit_Ausgabe, Objektreferenzen, **kwargs_) + self.ETCS_W_Kr_MUKA = ETCS_W_Kr_MUKA + self.ETCS_W_Kr_MUKA_nsprefix_ = None + self.ID_ETCS_Gefahrpunkt_Nebengleis = ID_ETCS_Gefahrpunkt_Nebengleis + self.ID_ETCS_Gefahrpunkt_Nebengleis_nsprefix_ = None + self.ID_ETCS_Knoten = ID_ETCS_Knoten + self.ID_ETCS_Knoten_nsprefix_ = None + if ID_RBC is None: + self.ID_RBC = [] + else: + self.ID_RBC = ID_RBC + self.ID_RBC_nsprefix_ = None + self.ID_W_Kr_Anlage = ID_W_Kr_Anlage + self.ID_W_Kr_Anlage_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CETCS_W_Kr) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CETCS_W_Kr.subclass: + return CETCS_W_Kr.subclass(*args_, **kwargs_) + else: + return CETCS_W_Kr(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_ETCS_W_Kr_MUKA(self): + return self.ETCS_W_Kr_MUKA + def set_ETCS_W_Kr_MUKA(self, ETCS_W_Kr_MUKA): + self.ETCS_W_Kr_MUKA = ETCS_W_Kr_MUKA + def get_ID_ETCS_Gefahrpunkt_Nebengleis(self): + return self.ID_ETCS_Gefahrpunkt_Nebengleis + def set_ID_ETCS_Gefahrpunkt_Nebengleis(self, ID_ETCS_Gefahrpunkt_Nebengleis): + self.ID_ETCS_Gefahrpunkt_Nebengleis = ID_ETCS_Gefahrpunkt_Nebengleis + def get_ID_ETCS_Knoten(self): + return self.ID_ETCS_Knoten + def set_ID_ETCS_Knoten(self, ID_ETCS_Knoten): + self.ID_ETCS_Knoten = ID_ETCS_Knoten + def get_ID_RBC(self): + return self.ID_RBC + def set_ID_RBC(self, ID_RBC): + self.ID_RBC = ID_RBC + def add_ID_RBC(self, value): + self.ID_RBC.append(value) + def insert_ID_RBC_at(self, index, value): + self.ID_RBC.insert(index, value) + def replace_ID_RBC_at(self, index, value): + self.ID_RBC[index] = value + def get_ID_W_Kr_Anlage(self): + return self.ID_W_Kr_Anlage + def set_ID_W_Kr_Anlage(self, ID_W_Kr_Anlage): + self.ID_W_Kr_Anlage = ID_W_Kr_Anlage + def has__content(self): + if ( + self.ETCS_W_Kr_MUKA is not None or + self.ID_ETCS_Gefahrpunkt_Nebengleis is not None or + self.ID_ETCS_Knoten is not None or + self.ID_RBC or + self.ID_W_Kr_Anlage is not None or + super(CETCS_W_Kr, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CETCS_W_Kr', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CETCS_W_Kr') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CETCS_W_Kr': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CETCS_W_Kr') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CETCS_W_Kr', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='CETCS_W_Kr'): + super(CETCS_W_Kr, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CETCS_W_Kr') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CETCS_W_Kr', fromsubclass_=False, pretty_print=True): + super(CETCS_W_Kr, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.ETCS_W_Kr_MUKA is not None: + namespaceprefix_ = self.ETCS_W_Kr_MUKA_nsprefix_ + ':' if (UseCapturedNS_ and self.ETCS_W_Kr_MUKA_nsprefix_) else '' + self.ETCS_W_Kr_MUKA.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ETCS_W_Kr_MUKA', pretty_print=pretty_print) + if self.ID_ETCS_Gefahrpunkt_Nebengleis is not None: + namespaceprefix_ = self.ID_ETCS_Gefahrpunkt_Nebengleis_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_ETCS_Gefahrpunkt_Nebengleis_nsprefix_) else '' + self.ID_ETCS_Gefahrpunkt_Nebengleis.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_ETCS_Gefahrpunkt_Nebengleis', pretty_print=pretty_print) + if self.ID_ETCS_Knoten is not None: + namespaceprefix_ = self.ID_ETCS_Knoten_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_ETCS_Knoten_nsprefix_) else '' + self.ID_ETCS_Knoten.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_ETCS_Knoten', pretty_print=pretty_print) + for ID_RBC_ in self.ID_RBC: + namespaceprefix_ = self.ID_RBC_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_RBC_nsprefix_) else '' + ID_RBC_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_RBC', pretty_print=pretty_print) + if self.ID_W_Kr_Anlage is not None: + namespaceprefix_ = self.ID_W_Kr_Anlage_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_W_Kr_Anlage_nsprefix_) else '' + self.ID_W_Kr_Anlage.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_W_Kr_Anlage', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CETCS_W_Kr, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ETCS_W_Kr_MUKA': + obj_ = CETCS_W_Kr_MUKA.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ETCS_W_Kr_MUKA = obj_ + obj_.original_tagname_ = 'ETCS_W_Kr_MUKA' + elif nodeName_ == 'ID_ETCS_Gefahrpunkt_Nebengleis': + obj_ = TCID_Markanter_Punkt_Gleis_Abschluss.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_ETCS_Gefahrpunkt_Nebengleis = obj_ + obj_.original_tagname_ = 'ID_ETCS_Gefahrpunkt_Nebengleis' + elif nodeName_ == 'ID_ETCS_Knoten': + obj_ = TCID_ETCS_Knoten_ohne_Proxy.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_ETCS_Knoten = obj_ + obj_.original_tagname_ = 'ID_ETCS_Knoten' + elif nodeName_ == 'ID_RBC': + obj_ = TCID_RBC.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_RBC.append(obj_) + obj_.original_tagname_ = 'ID_RBC' + elif nodeName_ == 'ID_W_Kr_Anlage': + obj_ = TCID_W_Kr_Anlage_ohne_Proxy.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_W_Kr_Anlage = obj_ + obj_.original_tagname_ = 'ID_W_Kr_Anlage' + super(CETCS_W_Kr, self)._buildChildren(child_, node, nodeName_, True) +# end class CETCS_W_Kr + + +class TCTBV_Tunnelbereich_Laenge(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCTBV_Tunnelbereich_Laenge"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TTBV_Tunnelbereich_Laenge(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCTBV_Tunnelbereich_Laenge) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCTBV_Tunnelbereich_Laenge.subclass: + return TCTBV_Tunnelbereich_Laenge.subclass(*args_, **kwargs_) + else: + return TCTBV_Tunnelbereich_Laenge(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TTBV_Tunnelbereich_Laenge(self, value): + result = True + # Validate type TTBV_Tunnelbereich_Laenge, a restriction on nsBasisTypen:TMeter. + 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 + pass + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCTBV_Tunnelbereich_Laenge, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCTBV_Tunnelbereich_Laenge', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCTBV_Tunnelbereich_Laenge') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCTBV_Tunnelbereich_Laenge': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCTBV_Tunnelbereich_Laenge') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCTBV_Tunnelbereich_Laenge', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCTBV_Tunnelbereich_Laenge'): + super(TCTBV_Tunnelbereich_Laenge, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCTBV_Tunnelbereich_Laenge') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCTBV_Tunnelbereich_Laenge', fromsubclass_=False, pretty_print=True): + super(TCTBV_Tunnelbereich_Laenge, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_decimal(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCTBV_Tunnelbereich_Laenge, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + fval_ = self.gds_parse_decimal(sval_, node, 'Wert') + fval_ = self.gds_validate_decimal(fval_, node, 'Wert') + self.Wert = fval_ + self.Wert_nsprefix_ = child_.prefix + # validate type TTBV_Tunnelbereich_Laenge + self.validate_TTBV_Tunnelbereich_Laenge(self.Wert) + super(TCTBV_Tunnelbereich_Laenge, self)._buildChildren(child_, node, nodeName_, True) +# end class TCTBV_Tunnelbereich_Laenge + + +class CEV_Modul(CBasis_Objekt): + """CEV_Modul -- Energieversorgungsmodul. Einheit, die die Energieversorgung aller Ihr zugeordneten Elemente sicherstellt. Das EV-Modul kann physisch (eigenes Element) oder virtuell (Energie-Abgriff von bestehendem Element) sein. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasis_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, EV_Modul_Ausgang=None, EV_Modul_Physisch=None, EV_Modul_Virtuell=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CEV_Modul"), self).__init__(Identitaet, Basis_Objekt_Allg, ID_Bearbeitungsvermerk, ID_Oertlichkeit_Ausgabe, Objektreferenzen, **kwargs_) + if EV_Modul_Ausgang is None: + self.EV_Modul_Ausgang = [] + else: + self.EV_Modul_Ausgang = EV_Modul_Ausgang + self.EV_Modul_Ausgang_nsprefix_ = None + self.EV_Modul_Physisch = EV_Modul_Physisch + self.EV_Modul_Physisch_nsprefix_ = None + self.EV_Modul_Virtuell = EV_Modul_Virtuell + self.EV_Modul_Virtuell_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CEV_Modul) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CEV_Modul.subclass: + return CEV_Modul.subclass(*args_, **kwargs_) + else: + return CEV_Modul(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_EV_Modul_Ausgang(self): + return self.EV_Modul_Ausgang + def set_EV_Modul_Ausgang(self, EV_Modul_Ausgang): + self.EV_Modul_Ausgang = EV_Modul_Ausgang + def add_EV_Modul_Ausgang(self, value): + self.EV_Modul_Ausgang.append(value) + def insert_EV_Modul_Ausgang_at(self, index, value): + self.EV_Modul_Ausgang.insert(index, value) + def replace_EV_Modul_Ausgang_at(self, index, value): + self.EV_Modul_Ausgang[index] = value + def get_EV_Modul_Physisch(self): + return self.EV_Modul_Physisch + def set_EV_Modul_Physisch(self, EV_Modul_Physisch): + self.EV_Modul_Physisch = EV_Modul_Physisch + def get_EV_Modul_Virtuell(self): + return self.EV_Modul_Virtuell + def set_EV_Modul_Virtuell(self, EV_Modul_Virtuell): + self.EV_Modul_Virtuell = EV_Modul_Virtuell + def has__content(self): + if ( + self.EV_Modul_Ausgang or + self.EV_Modul_Physisch is not None or + self.EV_Modul_Virtuell is not None or + super(CEV_Modul, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='CEV_Modul', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CEV_Modul') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CEV_Modul': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CEV_Modul') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CEV_Modul', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='CEV_Modul'): + super(CEV_Modul, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CEV_Modul') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='CEV_Modul', fromsubclass_=False, pretty_print=True): + super(CEV_Modul, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for EV_Modul_Ausgang_ in self.EV_Modul_Ausgang: + namespaceprefix_ = self.EV_Modul_Ausgang_nsprefix_ + ':' if (UseCapturedNS_ and self.EV_Modul_Ausgang_nsprefix_) else '' + EV_Modul_Ausgang_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='EV_Modul_Ausgang', pretty_print=pretty_print) + if self.EV_Modul_Physisch is not None: + namespaceprefix_ = self.EV_Modul_Physisch_nsprefix_ + ':' if (UseCapturedNS_ and self.EV_Modul_Physisch_nsprefix_) else '' + self.EV_Modul_Physisch.export(outfile, level, namespaceprefix_, namespacedef_='', name_='EV_Modul_Physisch', pretty_print=pretty_print) + if self.EV_Modul_Virtuell is not None: + namespaceprefix_ = self.EV_Modul_Virtuell_nsprefix_ + ':' if (UseCapturedNS_ and self.EV_Modul_Virtuell_nsprefix_) else '' + self.EV_Modul_Virtuell.export(outfile, level, namespaceprefix_, namespacedef_='', name_='EV_Modul_Virtuell', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CEV_Modul, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'EV_Modul_Ausgang': + obj_ = CEV_Modul_Ausgang.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.EV_Modul_Ausgang.append(obj_) + obj_.original_tagname_ = 'EV_Modul_Ausgang' + elif nodeName_ == 'EV_Modul_Physisch': + obj_ = CEV_Modul_Physisch.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.EV_Modul_Physisch = obj_ + obj_.original_tagname_ = 'EV_Modul_Physisch' + elif nodeName_ == 'EV_Modul_Virtuell': + obj_ = CEV_Modul_Virtuell.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.EV_Modul_Virtuell = obj_ + obj_.original_tagname_ = 'EV_Modul_Virtuell' + super(CEV_Modul, self)._buildChildren(child_, node, nodeName_, True) +# end class CEV_Modul + + +class TCMax_Unterbrechungszeit(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCMax_Unterbrechungszeit"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TMax_Unterbrechungszeit(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCMax_Unterbrechungszeit) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCMax_Unterbrechungszeit.subclass: + return TCMax_Unterbrechungszeit.subclass(*args_, **kwargs_) + else: + return TCMax_Unterbrechungszeit(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TMax_Unterbrechungszeit(self, value): + result = True + # Validate type TMax_Unterbrechungszeit, a restriction on nsBasisTypen:TSekunde. + 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 not self.gds_validate_simple_patterns( + self.validate_TMax_Unterbrechungszeit_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TMax_Unterbrechungszeit_patterns_, )) + result = False + return result + validate_TMax_Unterbrechungszeit_patterns_ = [['^((([0-9]|[1-2][0-9])\\.[0-9]{2})|(30\\.00))$'], ['^([0-9]{1,5}(\\.[0-9]{2})?)$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCMax_Unterbrechungszeit, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCMax_Unterbrechungszeit', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCMax_Unterbrechungszeit') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCMax_Unterbrechungszeit': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCMax_Unterbrechungszeit') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCMax_Unterbrechungszeit', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCMax_Unterbrechungszeit'): + super(TCMax_Unterbrechungszeit, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCMax_Unterbrechungszeit') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCMax_Unterbrechungszeit', fromsubclass_=False, pretty_print=True): + super(TCMax_Unterbrechungszeit, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_decimal(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCMax_Unterbrechungszeit, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + fval_ = self.gds_parse_decimal(sval_, node, 'Wert') + fval_ = self.gds_validate_decimal(fval_, node, 'Wert') + self.Wert = fval_ + self.Wert_nsprefix_ = child_.prefix + # validate type TMax_Unterbrechungszeit + self.validate_TMax_Unterbrechungszeit(self.Wert) + super(TCMax_Unterbrechungszeit, self)._buildChildren(child_, node, nodeName_, True) +# end class TCMax_Unterbrechungszeit + + +class TCFW_Teil_Nummer(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCFW_Teil_Nummer"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TFW_Teil_Nummer(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCFW_Teil_Nummer) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCFW_Teil_Nummer.subclass: + return TCFW_Teil_Nummer.subclass(*args_, **kwargs_) + else: + return TCFW_Teil_Nummer(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TFW_Teil_Nummer(self, value): + result = True + # Validate type TFW_Teil_Nummer, a restriction on xs:integer. + 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 + pass + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCFW_Teil_Nummer, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCFW_Teil_Nummer', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCFW_Teil_Nummer') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCFW_Teil_Nummer': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCFW_Teil_Nummer') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCFW_Teil_Nummer', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCFW_Teil_Nummer'): + super(TCFW_Teil_Nummer, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCFW_Teil_Nummer') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCFW_Teil_Nummer', fromsubclass_=False, pretty_print=True): + super(TCFW_Teil_Nummer, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_integer(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCFW_Teil_Nummer, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + ival_ = self.gds_parse_integer(sval_, node, 'Wert') + ival_ = self.gds_validate_integer(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + # validate type TFW_Teil_Nummer + self.validate_TFW_Teil_Nummer(self.Wert) + super(TCFW_Teil_Nummer, self)._buildChildren(child_, node, nodeName_, True) +# end class TCFW_Teil_Nummer + + +class TCDP_Verlinkt(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCDP_Verlinkt"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCDP_Verlinkt) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCDP_Verlinkt.subclass: + return TCDP_Verlinkt.subclass(*args_, **kwargs_) + else: + return TCDP_Verlinkt(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def has__content(self): + if ( + self.Wert is not None or + super(TCDP_Verlinkt, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCDP_Verlinkt', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCDP_Verlinkt') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCDP_Verlinkt': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCDP_Verlinkt') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCDP_Verlinkt', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCDP_Verlinkt'): + super(TCDP_Verlinkt, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCDP_Verlinkt') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCDP_Verlinkt', fromsubclass_=False, pretty_print=True): + super(TCDP_Verlinkt, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_boolean(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCDP_Verlinkt, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + sval_ = child_.text + ival_ = self.gds_parse_boolean(sval_, node, 'Wert') + ival_ = self.gds_validate_boolean(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + super(TCDP_Verlinkt, self)._buildChildren(child_, node, nodeName_, True) +# end class TCDP_Verlinkt + + +class TCM_LEVELTR(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCM_LEVELTR"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMM_LEVELTR(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCM_LEVELTR) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCM_LEVELTR.subclass: + return TCM_LEVELTR.subclass(*args_, **kwargs_) + else: + return TCM_LEVELTR(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMM_LEVELTR(self, value): + result = True + # Validate type ENUMM_LEVELTR, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['L0', 'L1', 'L2', 'L3', 'sonstige', 'STM'] + 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 ENUMM_LEVELTR' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCM_LEVELTR, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCM_LEVELTR', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCM_LEVELTR') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCM_LEVELTR': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCM_LEVELTR') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCM_LEVELTR', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCM_LEVELTR'): + super(TCM_LEVELTR, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCM_LEVELTR') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCM_LEVELTR', fromsubclass_=False, pretty_print=True): + super(TCM_LEVELTR, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCM_LEVELTR, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMM_LEVELTR + self.validate_ENUMM_LEVELTR(self.Wert) + super(TCM_LEVELTR, self)._buildChildren(child_, node, nodeName_, True) +# end class TCM_LEVELTR + + +class CFT_Fahrweg_Teil(CBasis_Objekt): + """CFT_Fahrweg_Teil -- Teil des Fahrwegs, auf den sich die Informationen des Fachtelegramms beziehen. Die Fahrwegteile k + ö + nnen au + ß + erhalb der betroffenen Fahrstra + ß + e liegen. Im Unterschied zum Fahrweg der Fahrstra + ß + e wird der Fahrwegteil nicht als Bereichsobjekt abgebildet, da in einigen F + ä + llen kein Zielelement existiert (z. B. + Ü + bergang in Rangierbereich) oder das exakte Ende des Fahrwegteils nicht bestimmt wird (Kreuzungsweichen). Fahrwegteile mit mehreren Zielpunkten sind durch mehrere Instanzen von FT_Fahrweg_Teil abzubilden. + ID_Ziel_Datenpunkt -- Verweis auf einen Datenpunkt, der als Ziel-Element zur Beschreibung des Fahrwegteils verwendet wird. + ID_Ziel_Signal -- Verweis auf ein Signal, das als Ziel-Element zur Beschreibung des Fahrwegteils verwendet wird. + ID_Start_Datenpunkt -- Verweis auf einen Datenpunkt, der als Start-Element zur Beschreibung des Fahrwegteils verwendet wird. + ID_Start_Signal -- Verweis auf ein Signal, das als Start-Element zur Beschreibung des Fahrwegteils verwendet wird. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasis_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, FT_Fahrweg_Teil_Allg=None, ID_Ziel_Datenpunkt=None, ID_Ziel_Signal=None, Ziel_W_Element=None, ID_Start_Datenpunkt=None, ID_Start_Signal=None, Start_W_Element=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CFT_Fahrweg_Teil"), self).__init__(Identitaet, Basis_Objekt_Allg, ID_Bearbeitungsvermerk, ID_Oertlichkeit_Ausgabe, Objektreferenzen, **kwargs_) + self.FT_Fahrweg_Teil_Allg = FT_Fahrweg_Teil_Allg + self.FT_Fahrweg_Teil_Allg_nsprefix_ = None + self.ID_Ziel_Datenpunkt = ID_Ziel_Datenpunkt + self.ID_Ziel_Datenpunkt_nsprefix_ = None + self.ID_Ziel_Signal = ID_Ziel_Signal + self.ID_Ziel_Signal_nsprefix_ = None + self.Ziel_W_Element = Ziel_W_Element + self.Ziel_W_Element_nsprefix_ = None + self.ID_Start_Datenpunkt = ID_Start_Datenpunkt + self.ID_Start_Datenpunkt_nsprefix_ = None + self.ID_Start_Signal = ID_Start_Signal + self.ID_Start_Signal_nsprefix_ = None + self.Start_W_Element = Start_W_Element + self.Start_W_Element_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CFT_Fahrweg_Teil) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CFT_Fahrweg_Teil.subclass: + return CFT_Fahrweg_Teil.subclass(*args_, **kwargs_) + else: + return CFT_Fahrweg_Teil(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_FT_Fahrweg_Teil_Allg(self): + return self.FT_Fahrweg_Teil_Allg + def set_FT_Fahrweg_Teil_Allg(self, FT_Fahrweg_Teil_Allg): + self.FT_Fahrweg_Teil_Allg = FT_Fahrweg_Teil_Allg + def get_ID_Ziel_Datenpunkt(self): + return self.ID_Ziel_Datenpunkt + def set_ID_Ziel_Datenpunkt(self, ID_Ziel_Datenpunkt): + self.ID_Ziel_Datenpunkt = ID_Ziel_Datenpunkt + def get_ID_Ziel_Signal(self): + return self.ID_Ziel_Signal + def set_ID_Ziel_Signal(self, ID_Ziel_Signal): + self.ID_Ziel_Signal = ID_Ziel_Signal + def get_Ziel_W_Element(self): + return self.Ziel_W_Element + def set_Ziel_W_Element(self, Ziel_W_Element): + self.Ziel_W_Element = Ziel_W_Element + def get_ID_Start_Datenpunkt(self): + return self.ID_Start_Datenpunkt + def set_ID_Start_Datenpunkt(self, ID_Start_Datenpunkt): + self.ID_Start_Datenpunkt = ID_Start_Datenpunkt + def get_ID_Start_Signal(self): + return self.ID_Start_Signal + def set_ID_Start_Signal(self, ID_Start_Signal): + self.ID_Start_Signal = ID_Start_Signal + def get_Start_W_Element(self): + return self.Start_W_Element + def set_Start_W_Element(self, Start_W_Element): + self.Start_W_Element = Start_W_Element + def has__content(self): + if ( + self.FT_Fahrweg_Teil_Allg is not None or + self.ID_Ziel_Datenpunkt is not None or + self.ID_Ziel_Signal is not None or + self.Ziel_W_Element is not None or + self.ID_Start_Datenpunkt is not None or + self.ID_Start_Signal is not None or + self.Start_W_Element is not None or + super(CFT_Fahrweg_Teil, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CFT_Fahrweg_Teil', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CFT_Fahrweg_Teil') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CFT_Fahrweg_Teil': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CFT_Fahrweg_Teil') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CFT_Fahrweg_Teil', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='CFT_Fahrweg_Teil'): + super(CFT_Fahrweg_Teil, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CFT_Fahrweg_Teil') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CFT_Fahrweg_Teil', fromsubclass_=False, pretty_print=True): + super(CFT_Fahrweg_Teil, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.FT_Fahrweg_Teil_Allg is not None: + namespaceprefix_ = self.FT_Fahrweg_Teil_Allg_nsprefix_ + ':' if (UseCapturedNS_ and self.FT_Fahrweg_Teil_Allg_nsprefix_) else '' + self.FT_Fahrweg_Teil_Allg.export(outfile, level, namespaceprefix_, namespacedef_='', name_='FT_Fahrweg_Teil_Allg', pretty_print=pretty_print) + if self.ID_Ziel_Datenpunkt is not None: + namespaceprefix_ = self.ID_Ziel_Datenpunkt_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Ziel_Datenpunkt_nsprefix_) else '' + self.ID_Ziel_Datenpunkt.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Ziel_Datenpunkt', pretty_print=pretty_print) + if self.ID_Ziel_Signal is not None: + namespaceprefix_ = self.ID_Ziel_Signal_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Ziel_Signal_nsprefix_) else '' + self.ID_Ziel_Signal.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Ziel_Signal', pretty_print=pretty_print) + if self.Ziel_W_Element is not None: + namespaceprefix_ = self.Ziel_W_Element_nsprefix_ + ':' if (UseCapturedNS_ and self.Ziel_W_Element_nsprefix_) else '' + self.Ziel_W_Element.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Ziel_W_Element', pretty_print=pretty_print) + if self.ID_Start_Datenpunkt is not None: + namespaceprefix_ = self.ID_Start_Datenpunkt_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Start_Datenpunkt_nsprefix_) else '' + self.ID_Start_Datenpunkt.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Start_Datenpunkt', pretty_print=pretty_print) + if self.ID_Start_Signal is not None: + namespaceprefix_ = self.ID_Start_Signal_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Start_Signal_nsprefix_) else '' + self.ID_Start_Signal.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Start_Signal', pretty_print=pretty_print) + if self.Start_W_Element is not None: + namespaceprefix_ = self.Start_W_Element_nsprefix_ + ':' if (UseCapturedNS_ and self.Start_W_Element_nsprefix_) else '' + self.Start_W_Element.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Start_W_Element', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CFT_Fahrweg_Teil, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'FT_Fahrweg_Teil_Allg': + obj_ = CFT_Fahrweg_Teil_Allg.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.FT_Fahrweg_Teil_Allg = obj_ + obj_.original_tagname_ = 'FT_Fahrweg_Teil_Allg' + elif nodeName_ == 'ID_Ziel_Datenpunkt': + obj_ = TCID_Datenpunkt.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Ziel_Datenpunkt = obj_ + obj_.original_tagname_ = 'ID_Ziel_Datenpunkt' + elif nodeName_ == 'ID_Ziel_Signal': + obj_ = TCID_Signal.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Ziel_Signal = obj_ + obj_.original_tagname_ = 'ID_Ziel_Signal' + elif nodeName_ == 'Ziel_W_Element': + obj_ = CZiel_W_Element.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Ziel_W_Element = obj_ + obj_.original_tagname_ = 'Ziel_W_Element' + elif nodeName_ == 'ID_Start_Datenpunkt': + obj_ = TCID_Datenpunkt.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Start_Datenpunkt = obj_ + obj_.original_tagname_ = 'ID_Start_Datenpunkt' + elif nodeName_ == 'ID_Start_Signal': + obj_ = TCID_Signal.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Start_Signal = obj_ + obj_.original_tagname_ = 'ID_Start_Signal' + elif nodeName_ == 'Start_W_Element': + obj_ = CStart_W_Element.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Start_W_Element = obj_ + obj_.original_tagname_ = 'Start_W_Element' + super(CFT_Fahrweg_Teil, self)._buildChildren(child_, node, nodeName_, True) +# end class CFT_Fahrweg_Teil + + +class CDP_Telegramm(GeneratedsSuper): + """ETCS_System_Version -- Erste Stelle der Systemversion gem + ä + ß + System Requirement Specification (Subset 26, Kapitel 7). Die Angabe kann nicht eindeutig aus der ersten Stelle der SRS-Version abgeleitet werden. Auf Basis der SRS 3.3.0 kann beispielsweise die Systemversion 1 oder 2 implementiert werden. In einem Datenpunkt k + ö + nnen zu einem Zeitpunkt nur Telegramme der gleichen SRS-Version gesendet werden. + ID_Fachtelegramm -- Fachtelegramme, die bei Erf + ü + llung der angegebenen Anschaltbedingungen g + ü + ltig sind. Es k + ö + nnen gleichzeitig mehrere Fachtelegramme des selben und/oder unterschiedlicher Anwendungssysteme angegeben werden. Fachtelegramme des Anwendungssystems ESG sind + ü + ber die Attributgruppe DP_Telegramme_ESG anzugeben. + ID_FT_Anschaltbedingung -- Menge von Anschaltbedingungen, die alle gleichzeitig f + ü + r die angegebenen Fachtelegramme erf + ü + llt sein m + ü + ssen. + + * SRS_Version -- Version der System Requirement Specification (Subset 26, Kapitel 7). Beispiel: 3.3.0. In einem Datenpunkt k + ö + nnen zu einem Zeitpunkt nur Telegramme der gleichen SRS-Version gesendet werden. + Hinweis f + ü + r die Projektierung: Die System-Unterversion gem. Subset 26 h + ä + ngt von der SRS-Version und der System-Version ab. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, ETCS_System_Version=None, ID_Fachtelegramm=None, ID_FT_Anschaltbedingung=None, SRS_Version=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.ETCS_System_Version = ETCS_System_Version + self.ETCS_System_Version_nsprefix_ = None + if ID_Fachtelegramm is None: + self.ID_Fachtelegramm = [] + else: + self.ID_Fachtelegramm = ID_Fachtelegramm + self.ID_Fachtelegramm_nsprefix_ = None + if ID_FT_Anschaltbedingung is None: + self.ID_FT_Anschaltbedingung = [] + else: + self.ID_FT_Anschaltbedingung = ID_FT_Anschaltbedingung + self.ID_FT_Anschaltbedingung_nsprefix_ = None + self.SRS_Version = SRS_Version + self.SRS_Version_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CDP_Telegramm) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CDP_Telegramm.subclass: + return CDP_Telegramm.subclass(*args_, **kwargs_) + else: + return CDP_Telegramm(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_ETCS_System_Version(self): + return self.ETCS_System_Version + def set_ETCS_System_Version(self, ETCS_System_Version): + self.ETCS_System_Version = ETCS_System_Version + def get_ID_Fachtelegramm(self): + return self.ID_Fachtelegramm + def set_ID_Fachtelegramm(self, ID_Fachtelegramm): + self.ID_Fachtelegramm = ID_Fachtelegramm + def add_ID_Fachtelegramm(self, value): + self.ID_Fachtelegramm.append(value) + def insert_ID_Fachtelegramm_at(self, index, value): + self.ID_Fachtelegramm.insert(index, value) + def replace_ID_Fachtelegramm_at(self, index, value): + self.ID_Fachtelegramm[index] = value + def get_ID_FT_Anschaltbedingung(self): + return self.ID_FT_Anschaltbedingung + def set_ID_FT_Anschaltbedingung(self, ID_FT_Anschaltbedingung): + self.ID_FT_Anschaltbedingung = ID_FT_Anschaltbedingung + def add_ID_FT_Anschaltbedingung(self, value): + self.ID_FT_Anschaltbedingung.append(value) + def insert_ID_FT_Anschaltbedingung_at(self, index, value): + self.ID_FT_Anschaltbedingung.insert(index, value) + def replace_ID_FT_Anschaltbedingung_at(self, index, value): + self.ID_FT_Anschaltbedingung[index] = value + def get_SRS_Version(self): + return self.SRS_Version + def set_SRS_Version(self, SRS_Version): + self.SRS_Version = SRS_Version + def has__content(self): + if ( + self.ETCS_System_Version is not None or + self.ID_Fachtelegramm or + self.ID_FT_Anschaltbedingung or + self.SRS_Version is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CDP_Telegramm', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CDP_Telegramm') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CDP_Telegramm': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CDP_Telegramm') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CDP_Telegramm', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='CDP_Telegramm'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CDP_Telegramm', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.ETCS_System_Version is not None: + namespaceprefix_ = self.ETCS_System_Version_nsprefix_ + ':' if (UseCapturedNS_ and self.ETCS_System_Version_nsprefix_) else '' + self.ETCS_System_Version.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ETCS_System_Version', pretty_print=pretty_print) + for ID_Fachtelegramm_ in self.ID_Fachtelegramm: + namespaceprefix_ = self.ID_Fachtelegramm_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Fachtelegramm_nsprefix_) else '' + ID_Fachtelegramm_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Fachtelegramm', pretty_print=pretty_print) + for ID_FT_Anschaltbedingung_ in self.ID_FT_Anschaltbedingung: + namespaceprefix_ = self.ID_FT_Anschaltbedingung_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_FT_Anschaltbedingung_nsprefix_) else '' + ID_FT_Anschaltbedingung_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_FT_Anschaltbedingung', pretty_print=pretty_print) + if self.SRS_Version is not None: + namespaceprefix_ = self.SRS_Version_nsprefix_ + ':' if (UseCapturedNS_ and self.SRS_Version_nsprefix_) else '' + self.SRS_Version.export(outfile, level, namespaceprefix_, namespacedef_='', name_='SRS_Version', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ETCS_System_Version': + obj_ = TCETCS_System_Version.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ETCS_System_Version = obj_ + obj_.original_tagname_ = 'ETCS_System_Version' + elif nodeName_ == 'ID_Fachtelegramm': + obj_ = TCID_Fachtelegramm.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Fachtelegramm.append(obj_) + obj_.original_tagname_ = 'ID_Fachtelegramm' + elif nodeName_ == 'ID_FT_Anschaltbedingung': + obj_ = TCID_FT_Anschaltbedingung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_FT_Anschaltbedingung.append(obj_) + obj_.original_tagname_ = 'ID_FT_Anschaltbedingung' + elif nodeName_ == 'SRS_Version': + obj_ = TCSRS_Version.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.SRS_Version = obj_ + obj_.original_tagname_ = 'SRS_Version' +# end class CDP_Telegramm + + +class CDatenpunkt_Einmesspunkt(GeneratedsSuper): + """Abstand_Einmesspunkt -- Soll-Abstand zum unter ID_Einmesspunkt angegebenen Referenzpunkt f + ü + r die Montage. Das Attribut darf nur in den XML-Dateien f + ü + r die Balisen-Programmierger + ä + te gef + ü + llt sein (Ersatz f + ü + r die topologische Berechnung des Abstands). Die Umsetzung der Richtungsinformationen in den Planunterlagen muss entsprechend des Anwendungssystems festgelegt und im Werkzeug implementiert werden. + ID_Einmesspunkt -- Verweis auf den Referenzpunkt f + ü + r die Montage. ETCS L2: Vorl + ä + ufig wird dieser Verweis nicht verwendet und in der ETCS-Datenpunkttabelle der funktionale Bezugspunkt als Einmesspunkt angegeben. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Abstand_Einmesspunkt=None, ID_Einmesspunkt=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Abstand_Einmesspunkt = Abstand_Einmesspunkt + self.Abstand_Einmesspunkt_nsprefix_ = None + self.ID_Einmesspunkt = ID_Einmesspunkt + self.ID_Einmesspunkt_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CDatenpunkt_Einmesspunkt) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CDatenpunkt_Einmesspunkt.subclass: + return CDatenpunkt_Einmesspunkt.subclass(*args_, **kwargs_) + else: + return CDatenpunkt_Einmesspunkt(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Abstand_Einmesspunkt(self): + return self.Abstand_Einmesspunkt + def set_Abstand_Einmesspunkt(self, Abstand_Einmesspunkt): + self.Abstand_Einmesspunkt = Abstand_Einmesspunkt + def get_ID_Einmesspunkt(self): + return self.ID_Einmesspunkt + def set_ID_Einmesspunkt(self, ID_Einmesspunkt): + self.ID_Einmesspunkt = ID_Einmesspunkt + def has__content(self): + if ( + self.Abstand_Einmesspunkt is not None or + self.ID_Einmesspunkt is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CDatenpunkt_Einmesspunkt', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CDatenpunkt_Einmesspunkt') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CDatenpunkt_Einmesspunkt': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CDatenpunkt_Einmesspunkt') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CDatenpunkt_Einmesspunkt', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='CDatenpunkt_Einmesspunkt'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CDatenpunkt_Einmesspunkt', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Abstand_Einmesspunkt is not None: + namespaceprefix_ = self.Abstand_Einmesspunkt_nsprefix_ + ':' if (UseCapturedNS_ and self.Abstand_Einmesspunkt_nsprefix_) else '' + self.Abstand_Einmesspunkt.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Abstand_Einmesspunkt', pretty_print=pretty_print) + if self.ID_Einmesspunkt is not None: + namespaceprefix_ = self.ID_Einmesspunkt_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Einmesspunkt_nsprefix_) else '' + self.ID_Einmesspunkt.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Einmesspunkt', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Abstand_Einmesspunkt': + obj_ = TCAbstand_Einmesspunkt.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Abstand_Einmesspunkt = obj_ + obj_.original_tagname_ = 'Abstand_Einmesspunkt' + elif nodeName_ == 'ID_Einmesspunkt': + obj_ = TCID_Markanter_Punkt.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Einmesspunkt = obj_ + obj_.original_tagname_ = 'ID_Einmesspunkt' +# end class CDatenpunkt_Einmesspunkt + + +class CLEU_Modul_Allg(GeneratedsSuper): + """Hersteller -- Unternehmen, das die Funktionsf + ä + higkeit der Anlage verantwortlich hergestellt hat oder Hersteller des jeweiligen Elements. Diese Eigenschaft ist kein Datum einer Planung, sondern dient im R + ü + cklauf der Planung dazu den Hersteller im Bestand zu erfassen. Es ist die zum Zeitpunkt der Inbetriebnahme g + ü + ltige Firmierung zu verwenden. DB-Regelwerk Beschreibung im Erl + ä + uterungsbericht + LEU_Modul_Art -- Art des LEU-Moduls (Voll-LEU, LEU-P). Pflichtangabe bei ESG. + LEU_Modul_Geraetestand -- Ger + ä + testand des LEU-Moduls. Die Information ist im Zusammenhang mit der Angabe \"LEU_Modul_Typ\" zu interpretieren. Beispiel: 3, 12a. + LEU_Modul_Typ -- Herstellerbezogene Typ-Angabe (R + ü + cklaufdatum). + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Hersteller=None, LEU_Modul_Art=None, LEU_Modul_Geraetestand=None, LEU_Modul_Typ=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Hersteller = Hersteller + self.Hersteller_nsprefix_ = None + self.LEU_Modul_Art = LEU_Modul_Art + self.LEU_Modul_Art_nsprefix_ = None + self.LEU_Modul_Geraetestand = LEU_Modul_Geraetestand + self.LEU_Modul_Geraetestand_nsprefix_ = None + self.LEU_Modul_Typ = LEU_Modul_Typ + self.LEU_Modul_Typ_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CLEU_Modul_Allg) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CLEU_Modul_Allg.subclass: + return CLEU_Modul_Allg.subclass(*args_, **kwargs_) + else: + return CLEU_Modul_Allg(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Hersteller(self): + return self.Hersteller + def set_Hersteller(self, Hersteller): + self.Hersteller = Hersteller + def get_LEU_Modul_Art(self): + return self.LEU_Modul_Art + def set_LEU_Modul_Art(self, LEU_Modul_Art): + self.LEU_Modul_Art = LEU_Modul_Art + def get_LEU_Modul_Geraetestand(self): + return self.LEU_Modul_Geraetestand + def set_LEU_Modul_Geraetestand(self, LEU_Modul_Geraetestand): + self.LEU_Modul_Geraetestand = LEU_Modul_Geraetestand + def get_LEU_Modul_Typ(self): + return self.LEU_Modul_Typ + def set_LEU_Modul_Typ(self, LEU_Modul_Typ): + self.LEU_Modul_Typ = LEU_Modul_Typ + def has__content(self): + if ( + self.Hersteller is not None or + self.LEU_Modul_Art is not None or + self.LEU_Modul_Geraetestand is not None or + self.LEU_Modul_Typ is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='CLEU_Modul_Allg', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CLEU_Modul_Allg') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CLEU_Modul_Allg': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CLEU_Modul_Allg') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CLEU_Modul_Allg', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='CLEU_Modul_Allg'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='CLEU_Modul_Allg', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Hersteller is not None: + namespaceprefix_ = self.Hersteller_nsprefix_ + ':' if (UseCapturedNS_ and self.Hersteller_nsprefix_) else '' + self.Hersteller.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Hersteller', pretty_print=pretty_print) + if self.LEU_Modul_Art is not None: + namespaceprefix_ = self.LEU_Modul_Art_nsprefix_ + ':' if (UseCapturedNS_ and self.LEU_Modul_Art_nsprefix_) else '' + self.LEU_Modul_Art.export(outfile, level, namespaceprefix_, namespacedef_='', name_='LEU_Modul_Art', pretty_print=pretty_print) + if self.LEU_Modul_Geraetestand is not None: + namespaceprefix_ = self.LEU_Modul_Geraetestand_nsprefix_ + ':' if (UseCapturedNS_ and self.LEU_Modul_Geraetestand_nsprefix_) else '' + self.LEU_Modul_Geraetestand.export(outfile, level, namespaceprefix_, namespacedef_='', name_='LEU_Modul_Geraetestand', pretty_print=pretty_print) + if self.LEU_Modul_Typ is not None: + namespaceprefix_ = self.LEU_Modul_Typ_nsprefix_ + ':' if (UseCapturedNS_ and self.LEU_Modul_Typ_nsprefix_) else '' + self.LEU_Modul_Typ.export(outfile, level, namespaceprefix_, namespacedef_='', name_='LEU_Modul_Typ', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Hersteller': + obj_ = TCHersteller.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Hersteller = obj_ + obj_.original_tagname_ = 'Hersteller' + elif nodeName_ == 'LEU_Modul_Art': + obj_ = TCLEU_Modul_Art.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.LEU_Modul_Art = obj_ + obj_.original_tagname_ = 'LEU_Modul_Art' + elif nodeName_ == 'LEU_Modul_Geraetestand': + obj_ = TCLEU_Modul_Geraetestand.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.LEU_Modul_Geraetestand = obj_ + obj_.original_tagname_ = 'LEU_Modul_Geraetestand' + elif nodeName_ == 'LEU_Modul_Typ': + obj_ = TCLEU_Modul_Typ.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.LEU_Modul_Typ = obj_ + obj_.original_tagname_ = 'LEU_Modul_Typ' +# end class CLEU_Modul_Allg + + +class TCAnlagenteil_Sonstige(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCAnlagenteil_Sonstige"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TAnlagenteil_Sonstige(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCAnlagenteil_Sonstige) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCAnlagenteil_Sonstige.subclass: + return TCAnlagenteil_Sonstige.subclass(*args_, **kwargs_) + else: + return TCAnlagenteil_Sonstige(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TAnlagenteil_Sonstige(self, value): + result = True + # Validate type TAnlagenteil_Sonstige, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TAnlagenteil_Sonstige_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TAnlagenteil_Sonstige_patterns_, )) + result = False + return result + validate_TAnlagenteil_Sonstige_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCAnlagenteil_Sonstige, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCAnlagenteil_Sonstige', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCAnlagenteil_Sonstige') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCAnlagenteil_Sonstige': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCAnlagenteil_Sonstige') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCAnlagenteil_Sonstige', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCAnlagenteil_Sonstige'): + super(TCAnlagenteil_Sonstige, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCAnlagenteil_Sonstige') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCAnlagenteil_Sonstige', fromsubclass_=False, pretty_print=True): + super(TCAnlagenteil_Sonstige, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCAnlagenteil_Sonstige, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TAnlagenteil_Sonstige + self.validate_TAnlagenteil_Sonstige(self.Wert) + super(TCAnlagenteil_Sonstige, self)._buildChildren(child_, node, nodeName_, True) +# end class TCAnlagenteil_Sonstige + + +class CDatenpunkt_Allg(GeneratedsSuper): + """Anwendungssystem -- Auf dem Balisenschild angegebenes Hauptanwendungssystem des Datenpunkts (z. B. GNT, ETCS). Die Kennzeichnung von Datenpunkten im ETCS- + Ü + bersichtsplan wird nicht aus diesem Attribut abgeleitet, sondern aus den vorhandenen Attributgruppen DP_Typ_Gxxxx. + Ausrichtung -- (Physikalische) Ausrichtung der Balisengruppe in Bezug auf die Topologierichtung. Bei der Angabe \"keine\" handelt es sich um eine Einzelbalise. In diesem Fall kann dem Fahrzeugger + ä + t die Ausrichtung + ü + ber die Linking-Information von einem zur + ü + ckliegenden Datenpunkt + ü + bermittelt werden. + Datenpunkt_Beschreibung -- Erg + ä + nzende Beschreibung des Datenpunkts (z. B. Abweichungen bei Einmesspunkten). + Datenpunkt_Laenge -- Abstand zwischen erster und letzter Balise des Datenpunkts. Die genaue Verteilung der Balisen innerhalb dieser L + ä + nge wird nicht abgebildet. Die Angabe entf + ä + llt, sofern es sich um eine Einzel-Balise handelt. + Sonstige_Standortangabe -- Sonstige Angabe des Balisenstandortes, sofern unter Standortangabe_Balisenschild die Option \"Strecke sonstiger Standort\" gew + ä + hlt wurde. Beispiele: \"60W32L\", \"BGRU 023\" (= Berlin-Grunewald Nr. 23). + Standortangabe_Balisenschild -- Auswahl der Bezeichnungskomponenten f + ü + r die Angabe des Balisenstandortes auf dem Balisenschild. Die aufzubringende Bezeichnung ergibt sich aus weiteren im Datenmodell vorhandenen Angaben und wird regelbasiert durch den Hersteller festgelegt. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anwendungssystem=None, Ausrichtung=None, Datenpunkt_Beschreibung=None, Datenpunkt_Laenge=None, Sonstige_Standortangabe=None, Standortangabe_Balisenschild=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anwendungssystem = Anwendungssystem + self.Anwendungssystem_nsprefix_ = None + self.Ausrichtung = Ausrichtung + self.Ausrichtung_nsprefix_ = None + self.Datenpunkt_Beschreibung = Datenpunkt_Beschreibung + self.Datenpunkt_Beschreibung_nsprefix_ = None + self.Datenpunkt_Laenge = Datenpunkt_Laenge + self.Datenpunkt_Laenge_nsprefix_ = None + self.Sonstige_Standortangabe = Sonstige_Standortangabe + self.Sonstige_Standortangabe_nsprefix_ = None + self.Standortangabe_Balisenschild = Standortangabe_Balisenschild + self.Standortangabe_Balisenschild_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CDatenpunkt_Allg) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CDatenpunkt_Allg.subclass: + return CDatenpunkt_Allg.subclass(*args_, **kwargs_) + else: + return CDatenpunkt_Allg(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anwendungssystem(self): + return self.Anwendungssystem + def set_Anwendungssystem(self, Anwendungssystem): + self.Anwendungssystem = Anwendungssystem + def get_Ausrichtung(self): + return self.Ausrichtung + def set_Ausrichtung(self, Ausrichtung): + self.Ausrichtung = Ausrichtung + def get_Datenpunkt_Beschreibung(self): + return self.Datenpunkt_Beschreibung + def set_Datenpunkt_Beschreibung(self, Datenpunkt_Beschreibung): + self.Datenpunkt_Beschreibung = Datenpunkt_Beschreibung + def get_Datenpunkt_Laenge(self): + return self.Datenpunkt_Laenge + def set_Datenpunkt_Laenge(self, Datenpunkt_Laenge): + self.Datenpunkt_Laenge = Datenpunkt_Laenge + def get_Sonstige_Standortangabe(self): + return self.Sonstige_Standortangabe + def set_Sonstige_Standortangabe(self, Sonstige_Standortangabe): + self.Sonstige_Standortangabe = Sonstige_Standortangabe + def get_Standortangabe_Balisenschild(self): + return self.Standortangabe_Balisenschild + def set_Standortangabe_Balisenschild(self, Standortangabe_Balisenschild): + self.Standortangabe_Balisenschild = Standortangabe_Balisenschild + def has__content(self): + if ( + self.Anwendungssystem is not None or + self.Ausrichtung is not None or + self.Datenpunkt_Beschreibung is not None or + self.Datenpunkt_Laenge is not None or + self.Sonstige_Standortangabe is not None or + self.Standortangabe_Balisenschild is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='CDatenpunkt_Allg', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CDatenpunkt_Allg') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CDatenpunkt_Allg': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CDatenpunkt_Allg') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CDatenpunkt_Allg', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='CDatenpunkt_Allg'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='CDatenpunkt_Allg', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Anwendungssystem is not None: + namespaceprefix_ = self.Anwendungssystem_nsprefix_ + ':' if (UseCapturedNS_ and self.Anwendungssystem_nsprefix_) else '' + self.Anwendungssystem.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Anwendungssystem', pretty_print=pretty_print) + if self.Ausrichtung is not None: + namespaceprefix_ = self.Ausrichtung_nsprefix_ + ':' if (UseCapturedNS_ and self.Ausrichtung_nsprefix_) else '' + self.Ausrichtung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Ausrichtung', pretty_print=pretty_print) + if self.Datenpunkt_Beschreibung is not None: + namespaceprefix_ = self.Datenpunkt_Beschreibung_nsprefix_ + ':' if (UseCapturedNS_ and self.Datenpunkt_Beschreibung_nsprefix_) else '' + self.Datenpunkt_Beschreibung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Datenpunkt_Beschreibung', pretty_print=pretty_print) + if self.Datenpunkt_Laenge is not None: + namespaceprefix_ = self.Datenpunkt_Laenge_nsprefix_ + ':' if (UseCapturedNS_ and self.Datenpunkt_Laenge_nsprefix_) else '' + self.Datenpunkt_Laenge.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Datenpunkt_Laenge', pretty_print=pretty_print) + if self.Sonstige_Standortangabe is not None: + namespaceprefix_ = self.Sonstige_Standortangabe_nsprefix_ + ':' if (UseCapturedNS_ and self.Sonstige_Standortangabe_nsprefix_) else '' + self.Sonstige_Standortangabe.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Sonstige_Standortangabe', pretty_print=pretty_print) + if self.Standortangabe_Balisenschild is not None: + namespaceprefix_ = self.Standortangabe_Balisenschild_nsprefix_ + ':' if (UseCapturedNS_ and self.Standortangabe_Balisenschild_nsprefix_) else '' + self.Standortangabe_Balisenschild.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Standortangabe_Balisenschild', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Anwendungssystem': + obj_ = TCAnwendungssystem.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Anwendungssystem = obj_ + obj_.original_tagname_ = 'Anwendungssystem' + elif nodeName_ == 'Ausrichtung': + obj_ = TCAusrichtung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Ausrichtung = obj_ + obj_.original_tagname_ = 'Ausrichtung' + elif nodeName_ == 'Datenpunkt_Beschreibung': + obj_ = TCDatenpunkt_Beschreibung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Datenpunkt_Beschreibung = obj_ + obj_.original_tagname_ = 'Datenpunkt_Beschreibung' + elif nodeName_ == 'Datenpunkt_Laenge': + obj_ = TCDatenpunkt_Laenge.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Datenpunkt_Laenge = obj_ + obj_.original_tagname_ = 'Datenpunkt_Laenge' + elif nodeName_ == 'Sonstige_Standortangabe': + obj_ = TCSonstige_Standortangabe.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Sonstige_Standortangabe = obj_ + obj_.original_tagname_ = 'Sonstige_Standortangabe' + elif nodeName_ == 'Standortangabe_Balisenschild': + obj_ = TCStandortangabe_Balisenschild.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Standortangabe_Balisenschild = obj_ + obj_.original_tagname_ = 'Standortangabe_Balisenschild' +# end class CDatenpunkt_Allg + + +class TCNID_BG(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCNID_BG"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TNID_BG(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCNID_BG) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCNID_BG.subclass: + return TCNID_BG.subclass(*args_, **kwargs_) + else: + return TCNID_BG(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TNID_BG(self, value): + result = True + # Validate type TNID_BG, a restriction on xs:integer. + 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_TNID_BG_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TNID_BG_patterns_, )) + result = False + return result + validate_TNID_BG_patterns_ = [['^(0|1[0-5][0-9]{3}|16[0-2][0-9]{2}|163[0-7][0-9]|1638[0-3]|[1-9][0-9]{0,3})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCNID_BG, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCNID_BG', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCNID_BG') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCNID_BG': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCNID_BG') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCNID_BG', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCNID_BG'): + super(TCNID_BG, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCNID_BG') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCNID_BG', fromsubclass_=False, pretty_print=True): + super(TCNID_BG, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_integer(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCNID_BG, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + ival_ = self.gds_parse_integer(sval_, node, 'Wert') + ival_ = self.gds_validate_integer(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + # validate type TNID_BG + self.validate_TNID_BG(self.Wert) + super(TCNID_BG, self)._buildChildren(child_, node, nodeName_, True) +# end class TCNID_BG + + +class CEV_Modul_Ausgang(GeneratedsSuper): + """Ausgang_Nr -- Nummer des Ausgangs des Energieversorgungsmoduls. + Max_Unterbrechungszeit -- Maximale Unterbrechungszeit f + ü + r die Energieversorgung am Ausgang des Energieversorgungsmoduls. + Nennleistung -- Nennleistung, die der Ausgang des Energieversorgungsmoduls zur Verf + ü + gung stellt. + Spannung_Art -- Nennspannung, die der Ausgang des Energieversorgungsmoduls zur Verf + ü + gung stellt. + Spannung_Toleranz_Obere -- Obere Toleranzgrenze in V f + ü + r die unter Spannung_Art angegebene Nennspannung des Ausgangs. Die gew + ä + hlte Toleranz wirkt sich auf die m + ö + glichen Schleifenwiderst + ä + nde aus. + Spannung_Toleranz_Untere -- Untere Toleranzgrenze in V f + ü + r die unter Spannung_Art angegebene Nennspannung des Ausgangs. Die gew + ä + hlte Toleranz wirkt sich auf die m + ö + glichen Schleifenwiderst + ä + nde aus. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Ausgang_Nr=None, Max_Unterbrechungszeit=None, Nennleistung=None, Spannung_Art=None, Spannung_Toleranz_Obere=None, Spannung_Toleranz_Untere=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Ausgang_Nr = Ausgang_Nr + self.Ausgang_Nr_nsprefix_ = None + self.Max_Unterbrechungszeit = Max_Unterbrechungszeit + self.Max_Unterbrechungszeit_nsprefix_ = None + self.Nennleistung = Nennleistung + self.Nennleistung_nsprefix_ = None + self.Spannung_Art = Spannung_Art + self.Spannung_Art_nsprefix_ = None + self.Spannung_Toleranz_Obere = Spannung_Toleranz_Obere + self.Spannung_Toleranz_Obere_nsprefix_ = None + self.Spannung_Toleranz_Untere = Spannung_Toleranz_Untere + self.Spannung_Toleranz_Untere_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CEV_Modul_Ausgang) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CEV_Modul_Ausgang.subclass: + return CEV_Modul_Ausgang.subclass(*args_, **kwargs_) + else: + return CEV_Modul_Ausgang(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Ausgang_Nr(self): + return self.Ausgang_Nr + def set_Ausgang_Nr(self, Ausgang_Nr): + self.Ausgang_Nr = Ausgang_Nr + def get_Max_Unterbrechungszeit(self): + return self.Max_Unterbrechungszeit + def set_Max_Unterbrechungszeit(self, Max_Unterbrechungszeit): + self.Max_Unterbrechungszeit = Max_Unterbrechungszeit + def get_Nennleistung(self): + return self.Nennleistung + def set_Nennleistung(self, Nennleistung): + self.Nennleistung = Nennleistung + def get_Spannung_Art(self): + return self.Spannung_Art + def set_Spannung_Art(self, Spannung_Art): + self.Spannung_Art = Spannung_Art + def get_Spannung_Toleranz_Obere(self): + return self.Spannung_Toleranz_Obere + def set_Spannung_Toleranz_Obere(self, Spannung_Toleranz_Obere): + self.Spannung_Toleranz_Obere = Spannung_Toleranz_Obere + def get_Spannung_Toleranz_Untere(self): + return self.Spannung_Toleranz_Untere + def set_Spannung_Toleranz_Untere(self, Spannung_Toleranz_Untere): + self.Spannung_Toleranz_Untere = Spannung_Toleranz_Untere + def has__content(self): + if ( + self.Ausgang_Nr is not None or + self.Max_Unterbrechungszeit is not None or + self.Nennleistung is not None or + self.Spannung_Art is not None or + self.Spannung_Toleranz_Obere is not None or + self.Spannung_Toleranz_Untere is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='CEV_Modul_Ausgang', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CEV_Modul_Ausgang') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CEV_Modul_Ausgang': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CEV_Modul_Ausgang') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CEV_Modul_Ausgang', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='CEV_Modul_Ausgang'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='CEV_Modul_Ausgang', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Ausgang_Nr is not None: + namespaceprefix_ = self.Ausgang_Nr_nsprefix_ + ':' if (UseCapturedNS_ and self.Ausgang_Nr_nsprefix_) else '' + self.Ausgang_Nr.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Ausgang_Nr', pretty_print=pretty_print) + if self.Max_Unterbrechungszeit is not None: + namespaceprefix_ = self.Max_Unterbrechungszeit_nsprefix_ + ':' if (UseCapturedNS_ and self.Max_Unterbrechungszeit_nsprefix_) else '' + self.Max_Unterbrechungszeit.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Max_Unterbrechungszeit', pretty_print=pretty_print) + if self.Nennleistung is not None: + namespaceprefix_ = self.Nennleistung_nsprefix_ + ':' if (UseCapturedNS_ and self.Nennleistung_nsprefix_) else '' + self.Nennleistung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Nennleistung', pretty_print=pretty_print) + if self.Spannung_Art is not None: + namespaceprefix_ = self.Spannung_Art_nsprefix_ + ':' if (UseCapturedNS_ and self.Spannung_Art_nsprefix_) else '' + self.Spannung_Art.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Spannung_Art', pretty_print=pretty_print) + if self.Spannung_Toleranz_Obere is not None: + namespaceprefix_ = self.Spannung_Toleranz_Obere_nsprefix_ + ':' if (UseCapturedNS_ and self.Spannung_Toleranz_Obere_nsprefix_) else '' + self.Spannung_Toleranz_Obere.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Spannung_Toleranz_Obere', pretty_print=pretty_print) + if self.Spannung_Toleranz_Untere is not None: + namespaceprefix_ = self.Spannung_Toleranz_Untere_nsprefix_ + ':' if (UseCapturedNS_ and self.Spannung_Toleranz_Untere_nsprefix_) else '' + self.Spannung_Toleranz_Untere.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Spannung_Toleranz_Untere', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Ausgang_Nr': + obj_ = TCAusgang_Nr.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Ausgang_Nr = obj_ + obj_.original_tagname_ = 'Ausgang_Nr' + elif nodeName_ == 'Max_Unterbrechungszeit': + obj_ = TCMax_Unterbrechungszeit.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Max_Unterbrechungszeit = obj_ + obj_.original_tagname_ = 'Max_Unterbrechungszeit' + elif nodeName_ == 'Nennleistung': + obj_ = TCNennleistung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Nennleistung = obj_ + obj_.original_tagname_ = 'Nennleistung' + elif nodeName_ == 'Spannung_Art': + obj_ = TCSpannung_Art.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Spannung_Art = obj_ + obj_.original_tagname_ = 'Spannung_Art' + elif nodeName_ == 'Spannung_Toleranz_Obere': + obj_ = TCSpannung_Toleranz_Obere.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Spannung_Toleranz_Obere = obj_ + obj_.original_tagname_ = 'Spannung_Toleranz_Obere' + elif nodeName_ == 'Spannung_Toleranz_Untere': + obj_ = TCSpannung_Toleranz_Untere.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Spannung_Toleranz_Untere = obj_ + obj_.original_tagname_ = 'Spannung_Toleranz_Untere' +# end class CEV_Modul_Ausgang + + +class TCSBE(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCSBE"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMSBE(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCSBE) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCSBE.subclass: + return TCSBE.subclass(*args_, **kwargs_) + else: + return TCSBE(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMSBE(self, value): + result = True + # Validate type ENUMSBE, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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'] + 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 ENUMSBE' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCSBE, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCSBE', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCSBE') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCSBE': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCSBE') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCSBE', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCSBE'): + super(TCSBE, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCSBE') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCSBE', fromsubclass_=False, pretty_print=True): + super(TCSBE, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCSBE, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMSBE + self.validate_ENUMSBE(self.Wert) + super(TCSBE, self)._buildChildren(child_, node, nodeName_, True) +# end class TCSBE + + +class CFT_ZBS_Merkmale_La(GeneratedsSuper): + """ZBS_La_Bereich_Distanz -- Distanz zwischen Datenpunkt und Beginn der Geschwindigkeitseinschr + ä + nkung. + ZBS_La_Bereich_Geschwindigkeit -- Eingeschr + ä + nkte Geschwindigkeit. + ZBS_La_Bereich_Laenge -- L + ä + nge des Bereichs der Geschwindigkeitseinschr + ä + nkung. + ZBS_La_Bereich_Neigung -- Ma + ß + gebende Neigung im Bereich der Bremskurve vor der Geschwindigkeitseinschr + ä + nkung. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, ZBS_La_Bereich_Distanz=None, ZBS_La_Bereich_Geschwindigkeit=None, ZBS_La_Bereich_Laenge=None, ZBS_La_Bereich_Neigung=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.ZBS_La_Bereich_Distanz = ZBS_La_Bereich_Distanz + self.ZBS_La_Bereich_Distanz_nsprefix_ = None + self.ZBS_La_Bereich_Geschwindigkeit = ZBS_La_Bereich_Geschwindigkeit + self.ZBS_La_Bereich_Geschwindigkeit_nsprefix_ = None + self.ZBS_La_Bereich_Laenge = ZBS_La_Bereich_Laenge + self.ZBS_La_Bereich_Laenge_nsprefix_ = None + self.ZBS_La_Bereich_Neigung = ZBS_La_Bereich_Neigung + self.ZBS_La_Bereich_Neigung_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CFT_ZBS_Merkmale_La) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CFT_ZBS_Merkmale_La.subclass: + return CFT_ZBS_Merkmale_La.subclass(*args_, **kwargs_) + else: + return CFT_ZBS_Merkmale_La(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_ZBS_La_Bereich_Distanz(self): + return self.ZBS_La_Bereich_Distanz + def set_ZBS_La_Bereich_Distanz(self, ZBS_La_Bereich_Distanz): + self.ZBS_La_Bereich_Distanz = ZBS_La_Bereich_Distanz + def get_ZBS_La_Bereich_Geschwindigkeit(self): + return self.ZBS_La_Bereich_Geschwindigkeit + def set_ZBS_La_Bereich_Geschwindigkeit(self, ZBS_La_Bereich_Geschwindigkeit): + self.ZBS_La_Bereich_Geschwindigkeit = ZBS_La_Bereich_Geschwindigkeit + def get_ZBS_La_Bereich_Laenge(self): + return self.ZBS_La_Bereich_Laenge + def set_ZBS_La_Bereich_Laenge(self, ZBS_La_Bereich_Laenge): + self.ZBS_La_Bereich_Laenge = ZBS_La_Bereich_Laenge + def get_ZBS_La_Bereich_Neigung(self): + return self.ZBS_La_Bereich_Neigung + def set_ZBS_La_Bereich_Neigung(self, ZBS_La_Bereich_Neigung): + self.ZBS_La_Bereich_Neigung = ZBS_La_Bereich_Neigung + def has__content(self): + if ( + self.ZBS_La_Bereich_Distanz is not None or + self.ZBS_La_Bereich_Geschwindigkeit is not None or + self.ZBS_La_Bereich_Laenge is not None or + self.ZBS_La_Bereich_Neigung is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='CFT_ZBS_Merkmale_La', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CFT_ZBS_Merkmale_La') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CFT_ZBS_Merkmale_La': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CFT_ZBS_Merkmale_La') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CFT_ZBS_Merkmale_La', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='CFT_ZBS_Merkmale_La'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='CFT_ZBS_Merkmale_La', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.ZBS_La_Bereich_Distanz is not None: + namespaceprefix_ = self.ZBS_La_Bereich_Distanz_nsprefix_ + ':' if (UseCapturedNS_ and self.ZBS_La_Bereich_Distanz_nsprefix_) else '' + self.ZBS_La_Bereich_Distanz.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ZBS_La_Bereich_Distanz', pretty_print=pretty_print) + if self.ZBS_La_Bereich_Geschwindigkeit is not None: + namespaceprefix_ = self.ZBS_La_Bereich_Geschwindigkeit_nsprefix_ + ':' if (UseCapturedNS_ and self.ZBS_La_Bereich_Geschwindigkeit_nsprefix_) else '' + self.ZBS_La_Bereich_Geschwindigkeit.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ZBS_La_Bereich_Geschwindigkeit', pretty_print=pretty_print) + if self.ZBS_La_Bereich_Laenge is not None: + namespaceprefix_ = self.ZBS_La_Bereich_Laenge_nsprefix_ + ':' if (UseCapturedNS_ and self.ZBS_La_Bereich_Laenge_nsprefix_) else '' + self.ZBS_La_Bereich_Laenge.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ZBS_La_Bereich_Laenge', pretty_print=pretty_print) + if self.ZBS_La_Bereich_Neigung is not None: + namespaceprefix_ = self.ZBS_La_Bereich_Neigung_nsprefix_ + ':' if (UseCapturedNS_ and self.ZBS_La_Bereich_Neigung_nsprefix_) else '' + self.ZBS_La_Bereich_Neigung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ZBS_La_Bereich_Neigung', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ZBS_La_Bereich_Distanz': + obj_ = TCZBS_La_Bereich_Distanz.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ZBS_La_Bereich_Distanz = obj_ + obj_.original_tagname_ = 'ZBS_La_Bereich_Distanz' + elif nodeName_ == 'ZBS_La_Bereich_Geschwindigkeit': + obj_ = TCZBS_La_Bereich_Geschwindigkeit.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ZBS_La_Bereich_Geschwindigkeit = obj_ + obj_.original_tagname_ = 'ZBS_La_Bereich_Geschwindigkeit' + elif nodeName_ == 'ZBS_La_Bereich_Laenge': + obj_ = TCZBS_La_Bereich_Laenge.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ZBS_La_Bereich_Laenge = obj_ + obj_.original_tagname_ = 'ZBS_La_Bereich_Laenge' + elif nodeName_ == 'ZBS_La_Bereich_Neigung': + obj_ = TCZBS_La_Bereich_Neigung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ZBS_La_Bereich_Neigung = obj_ + obj_.original_tagname_ = 'ZBS_La_Bereich_Neigung' +# end class CFT_ZBS_Merkmale_La + + +class CBinaerdaten_Datei(GeneratedsSuper): + """Dateiname -- Urspr + ü + nglicher Dateiname der Binaerdatei ohne Endung. Bei Verwendung f + ü + r ein Lufttelegramm wird kein Dateiname vergeben. + Dateityp_Binaerdatei -- Typ der Binaerdatei (z. B. txt, tlg). + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Dateiname=None, Dateityp_Binaerdatei=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Dateiname = Dateiname + self.Dateiname_nsprefix_ = None + self.Dateityp_Binaerdatei = Dateityp_Binaerdatei + self.Dateityp_Binaerdatei_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CBinaerdaten_Datei) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CBinaerdaten_Datei.subclass: + return CBinaerdaten_Datei.subclass(*args_, **kwargs_) + else: + return CBinaerdaten_Datei(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Dateiname(self): + return self.Dateiname + def set_Dateiname(self, Dateiname): + self.Dateiname = Dateiname + def get_Dateityp_Binaerdatei(self): + return self.Dateityp_Binaerdatei + def set_Dateityp_Binaerdatei(self, Dateityp_Binaerdatei): + self.Dateityp_Binaerdatei = Dateityp_Binaerdatei + def has__content(self): + if ( + self.Dateiname is not None or + self.Dateityp_Binaerdatei is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='CBinaerdaten_Datei', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CBinaerdaten_Datei') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CBinaerdaten_Datei': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CBinaerdaten_Datei') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CBinaerdaten_Datei', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='CBinaerdaten_Datei'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='CBinaerdaten_Datei', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Dateiname is not None: + namespaceprefix_ = self.Dateiname_nsprefix_ + ':' if (UseCapturedNS_ and self.Dateiname_nsprefix_) else '' + self.Dateiname.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Dateiname', pretty_print=pretty_print) + if self.Dateityp_Binaerdatei is not None: + namespaceprefix_ = self.Dateityp_Binaerdatei_nsprefix_ + ':' if (UseCapturedNS_ and self.Dateityp_Binaerdatei_nsprefix_) else '' + self.Dateityp_Binaerdatei.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Dateityp_Binaerdatei', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Dateiname': + obj_ = TCDateiname.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Dateiname = obj_ + obj_.original_tagname_ = 'Dateiname' + elif nodeName_ == 'Dateityp_Binaerdatei': + obj_ = TCDateityp_Binaerdatei.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Dateityp_Binaerdatei = obj_ + obj_.original_tagname_ = 'Dateityp_Binaerdatei' +# end class CBinaerdaten_Datei + + +class TCSystem_Vor_Grenze_Besonders(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCSystem_Vor_Grenze_Besonders"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TSystem_Vor_Grenze_Besonders(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCSystem_Vor_Grenze_Besonders) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCSystem_Vor_Grenze_Besonders.subclass: + return TCSystem_Vor_Grenze_Besonders.subclass(*args_, **kwargs_) + else: + return TCSystem_Vor_Grenze_Besonders(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TSystem_Vor_Grenze_Besonders(self, value): + result = True + # Validate type TSystem_Vor_Grenze_Besonders, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TSystem_Vor_Grenze_Besonders_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TSystem_Vor_Grenze_Besonders_patterns_, )) + result = False + return result + validate_TSystem_Vor_Grenze_Besonders_patterns_ = [['^(.{1,30})$'], ['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCSystem_Vor_Grenze_Besonders, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCSystem_Vor_Grenze_Besonders', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCSystem_Vor_Grenze_Besonders') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCSystem_Vor_Grenze_Besonders': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCSystem_Vor_Grenze_Besonders') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCSystem_Vor_Grenze_Besonders', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCSystem_Vor_Grenze_Besonders'): + super(TCSystem_Vor_Grenze_Besonders, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCSystem_Vor_Grenze_Besonders') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCSystem_Vor_Grenze_Besonders', fromsubclass_=False, pretty_print=True): + super(TCSystem_Vor_Grenze_Besonders, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCSystem_Vor_Grenze_Besonders, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TSystem_Vor_Grenze_Besonders + self.validate_TSystem_Vor_Grenze_Besonders(self.Wert) + super(TCSystem_Vor_Grenze_Besonders, self)._buildChildren(child_, node, nodeName_, True) +# end class TCSystem_Vor_Grenze_Besonders + + +class TCDP_Typ_ESG(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCDP_Typ_ESG"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMDP_Typ_ESG(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCDP_Typ_ESG) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCDP_Typ_ESG.subclass: + return TCDP_Typ_ESG.subclass(*args_, **kwargs_) + else: + return TCDP_Typ_ESG(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMDP_Typ_ESG(self, value): + result = True + # Validate type ENUMDP_Typ_ESG, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['AA', 'AB', 'AE-E', 'AE-L', 'AG-E', 'AG-L', 'AH', 'AM', 'AR', 'AS', 'AT', 'ATS', 'AV-E', 'AV-L', 'AW', 'AWP', 'BMI', 'BPI', 'BRI', 'BW', 'EA', 'EF', 'EH', 'EM', 'EP', 'GLI', 'HG', 'HS', 'HV', 'LF-S', 'LF-V', 'LFI', 'LG-S', 'LG-V', 'LR-S', 'LR-V', 'MG', 'MH', 'MP', 'MS', 'MV', 'NV', 'SK', 'SN', 'SP', 'ST', 'TE-E', 'TE-L', 'TG-E', 'TG-L', 'TM-E', 'TM-L', 'TP', 'TV-E', 'TV-L', 'VP', 'VS', 'VW'] + 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 ENUMDP_Typ_ESG' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCDP_Typ_ESG, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCDP_Typ_ESG', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCDP_Typ_ESG') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCDP_Typ_ESG': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCDP_Typ_ESG') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCDP_Typ_ESG', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCDP_Typ_ESG'): + super(TCDP_Typ_ESG, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCDP_Typ_ESG') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCDP_Typ_ESG', fromsubclass_=False, pretty_print=True): + super(TCDP_Typ_ESG, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCDP_Typ_ESG, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMDP_Typ_ESG + self.validate_ENUMDP_Typ_ESG(self.Wert) + super(TCDP_Typ_ESG, self)._buildChildren(child_, node, nodeName_, True) +# end class TCDP_Typ_ESG + + +class TCDP_Typ_Art(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCDP_Typ_Art"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMDP_Typ_Art(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCDP_Typ_Art) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCDP_Typ_Art.subclass: + return TCDP_Typ_Art.subclass(*args_, **kwargs_) + else: + return TCDP_Typ_Art(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMDP_Typ_Art(self, value): + result = True + # Validate type ENUMDP_Typ_Art, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['primaer', 'sekundaer'] + 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 ENUMDP_Typ_Art' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCDP_Typ_Art, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCDP_Typ_Art', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCDP_Typ_Art') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCDP_Typ_Art': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCDP_Typ_Art') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCDP_Typ_Art', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCDP_Typ_Art'): + super(TCDP_Typ_Art, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCDP_Typ_Art') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCDP_Typ_Art', fromsubclass_=False, pretty_print=True): + super(TCDP_Typ_Art, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCDP_Typ_Art, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMDP_Typ_Art + self.validate_ENUMDP_Typ_Art(self.Wert) + super(TCDP_Typ_Art, self)._buildChildren(child_, node, nodeName_, True) +# end class TCDP_Typ_Art + + +class TCESG_Ind_Erlaeuterung(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCESG_Ind_Erlaeuterung"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TESG_Ind_Erlaeuterung(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCESG_Ind_Erlaeuterung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCESG_Ind_Erlaeuterung.subclass: + return TCESG_Ind_Erlaeuterung.subclass(*args_, **kwargs_) + else: + return TCESG_Ind_Erlaeuterung(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TESG_Ind_Erlaeuterung(self, value): + result = True + # Validate type TESG_Ind_Erlaeuterung, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TESG_Ind_Erlaeuterung_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TESG_Ind_Erlaeuterung_patterns_, )) + result = False + return result + validate_TESG_Ind_Erlaeuterung_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCESG_Ind_Erlaeuterung, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCESG_Ind_Erlaeuterung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCESG_Ind_Erlaeuterung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCESG_Ind_Erlaeuterung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCESG_Ind_Erlaeuterung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCESG_Ind_Erlaeuterung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCESG_Ind_Erlaeuterung'): + super(TCESG_Ind_Erlaeuterung, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCESG_Ind_Erlaeuterung') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCESG_Ind_Erlaeuterung', fromsubclass_=False, pretty_print=True): + super(TCESG_Ind_Erlaeuterung, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCESG_Ind_Erlaeuterung, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TESG_Ind_Erlaeuterung + self.validate_TESG_Ind_Erlaeuterung(self.Wert) + super(TCESG_Ind_Erlaeuterung, self)._buildChildren(child_, node, nodeName_, True) +# end class TCESG_Ind_Erlaeuterung + + +class TCBez_Strecke_BTS_1(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCBez_Strecke_BTS_1"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TBez_Strecke_BTS_1(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCBez_Strecke_BTS_1) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCBez_Strecke_BTS_1.subclass: + return TCBez_Strecke_BTS_1.subclass(*args_, **kwargs_) + else: + return TCBez_Strecke_BTS_1(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TBez_Strecke_BTS_1(self, value): + result = True + # Validate type TBez_Strecke_BTS_1, a restriction on nsBasisTypen:TZeichenkette. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TBez_Strecke_BTS_1_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TBez_Strecke_BTS_1_patterns_, )) + result = False + return result + validate_TBez_Strecke_BTS_1_patterns_ = [['^([a-zA-Z_0-9]{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCBez_Strecke_BTS_1, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCBez_Strecke_BTS_1', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCBez_Strecke_BTS_1') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCBez_Strecke_BTS_1': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBez_Strecke_BTS_1') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCBez_Strecke_BTS_1', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCBez_Strecke_BTS_1'): + super(TCBez_Strecke_BTS_1, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBez_Strecke_BTS_1') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCBez_Strecke_BTS_1', fromsubclass_=False, pretty_print=True): + super(TCBez_Strecke_BTS_1, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCBez_Strecke_BTS_1, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TBez_Strecke_BTS_1 + self.validate_TBez_Strecke_BTS_1(self.Wert) + super(TCBez_Strecke_BTS_1, self)._buildChildren(child_, node, nodeName_, True) +# end class TCBez_Strecke_BTS_1 + + +class CBedingung_PZB(GeneratedsSuper): + """ID_PZB_Element -- Verweis auf ein PZB-Element (Gleismagnet oder G + Ü + ), das als Bedingung f + ü + r die Auswahl des Fachtelegramms wirksam sein muss. + Wirksam -- Angabe, ob das PZB-Element wirksam sein muss (true) oder nicht (false). + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, ID_PZB_Element=None, Wirksam=None, gds_collector_=None, **kwargs_): + self.gds_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_PZB_Element = ID_PZB_Element + self.ID_PZB_Element_nsprefix_ = None + self.Wirksam = Wirksam + self.Wirksam_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CBedingung_PZB) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CBedingung_PZB.subclass: + return CBedingung_PZB.subclass(*args_, **kwargs_) + else: + return CBedingung_PZB(*args_, **kwargs_) + factory = staticmethod(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_PZB_Element(self): + return self.ID_PZB_Element + def set_ID_PZB_Element(self, ID_PZB_Element): + self.ID_PZB_Element = ID_PZB_Element + def get_Wirksam(self): + return self.Wirksam + def set_Wirksam(self, Wirksam): + self.Wirksam = Wirksam + def has__content(self): + if ( + self.ID_PZB_Element is not None or + self.Wirksam is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CBedingung_PZB', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CBedingung_PZB') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CBedingung_PZB': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CBedingung_PZB') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CBedingung_PZB', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='CBedingung_PZB'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CBedingung_PZB', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.ID_PZB_Element is not None: + namespaceprefix_ = self.ID_PZB_Element_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_PZB_Element_nsprefix_) else '' + self.ID_PZB_Element.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_PZB_Element', pretty_print=pretty_print) + if self.Wirksam is not None: + namespaceprefix_ = self.Wirksam_nsprefix_ + ':' if (UseCapturedNS_ and self.Wirksam_nsprefix_) else '' + self.Wirksam.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Wirksam', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_PZB_Element': + obj_ = TCID_PZB_Element.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_PZB_Element = obj_ + obj_.original_tagname_ = 'ID_PZB_Element' + elif nodeName_ == 'Wirksam': + obj_ = TCWirksam.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Wirksam = obj_ + obj_.original_tagname_ = 'Wirksam' +# end class CBedingung_PZB + + +class CZUB_Bereichsgrenze_Allg(GeneratedsSuper): + """ID_Element_Grenze -- Verweis auf das Grenzsignal bzw. den Grenzdatenpunkt. Der Ort der Bereichsgrenze kann sich vom Ort des Grenzelements unterscheiden. + Bereichsgrenze nach L2: Verweis auf das Grenzsignal (Einstiegssignal f + ü + r L2) bzw. den Grenzdatenpunkt (nur bei Einstieg ohne bekanntes r + ü + ckw + ä + rtiges Signal) + Bereichsgrenze nach ESG: Verweis auf den Transitionsdatenpunkt (Einstieg f + ü + r ESG) + Bereichsgrenze nach PZB/LZB: Verweis auf einen Transitionsdatenpunkt (ESG) bzw. auf das Ausstiegssignal (L2) + Bereichsgrenze RBC-Wechsel: Verweis auf das Grenzsignal, an dem die Zust + ä + ndigkeit des RBC wechselt + Bereichsgrenze nach GNT: Verweis auf den ersten GNT-Datenpunkt (B1 oder B3) + Bereichsgrenze nach OHNE: Verweis auf das Grenzsignal (bei + Ü + bergang aus PZB) bzw. den Grenzdatenpunkt (bei + Ü + bergang aus ESG oder L2) + ID_RBC_Vor_Grenze -- Bei L2: Verweis auf das vor der Bereichsgrenze zust + ä + ndige RBC. + System_Vor_Grenze -- Angabe des in Bezug auf die Wirkrichtung vor der Bereichsgrenze vorhandenen Zugbeeinflussungssystems. Es k + ö + nnen mehrere Systeme vorhanden sein. + System_Vor_Grenze_Besonders -- Angabe des in Bezug auf die Wirkrichtung vor der Bereichsgrenze vorhandenen Class-B-Zugbeeinflussungssystems. Es k + ö + nnen mehrere Systeme vorhanden sein. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, ID_Element_Grenze=None, ID_RBC_Vor_Grenze=None, System_Vor_Grenze=None, System_Vor_Grenze_Besonders=None, gds_collector_=None, **kwargs_): + self.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 ID_Element_Grenze is None: + self.ID_Element_Grenze = [] + else: + self.ID_Element_Grenze = ID_Element_Grenze + self.ID_Element_Grenze_nsprefix_ = None + self.ID_RBC_Vor_Grenze = ID_RBC_Vor_Grenze + self.ID_RBC_Vor_Grenze_nsprefix_ = None + if System_Vor_Grenze is None: + self.System_Vor_Grenze = [] + else: + self.System_Vor_Grenze = System_Vor_Grenze + self.System_Vor_Grenze_nsprefix_ = None + if System_Vor_Grenze_Besonders is None: + self.System_Vor_Grenze_Besonders = [] + else: + self.System_Vor_Grenze_Besonders = System_Vor_Grenze_Besonders + self.System_Vor_Grenze_Besonders_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CZUB_Bereichsgrenze_Allg) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CZUB_Bereichsgrenze_Allg.subclass: + return CZUB_Bereichsgrenze_Allg.subclass(*args_, **kwargs_) + else: + return CZUB_Bereichsgrenze_Allg(*args_, **kwargs_) + factory = staticmethod(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_Element_Grenze(self): + return self.ID_Element_Grenze + def set_ID_Element_Grenze(self, ID_Element_Grenze): + self.ID_Element_Grenze = ID_Element_Grenze + def add_ID_Element_Grenze(self, value): + self.ID_Element_Grenze.append(value) + def insert_ID_Element_Grenze_at(self, index, value): + self.ID_Element_Grenze.insert(index, value) + def replace_ID_Element_Grenze_at(self, index, value): + self.ID_Element_Grenze[index] = value + def get_ID_RBC_Vor_Grenze(self): + return self.ID_RBC_Vor_Grenze + def set_ID_RBC_Vor_Grenze(self, ID_RBC_Vor_Grenze): + self.ID_RBC_Vor_Grenze = ID_RBC_Vor_Grenze + def get_System_Vor_Grenze(self): + return self.System_Vor_Grenze + def set_System_Vor_Grenze(self, System_Vor_Grenze): + self.System_Vor_Grenze = System_Vor_Grenze + def add_System_Vor_Grenze(self, value): + self.System_Vor_Grenze.append(value) + def insert_System_Vor_Grenze_at(self, index, value): + self.System_Vor_Grenze.insert(index, value) + def replace_System_Vor_Grenze_at(self, index, value): + self.System_Vor_Grenze[index] = value + def get_System_Vor_Grenze_Besonders(self): + return self.System_Vor_Grenze_Besonders + def set_System_Vor_Grenze_Besonders(self, System_Vor_Grenze_Besonders): + self.System_Vor_Grenze_Besonders = System_Vor_Grenze_Besonders + def add_System_Vor_Grenze_Besonders(self, value): + self.System_Vor_Grenze_Besonders.append(value) + def insert_System_Vor_Grenze_Besonders_at(self, index, value): + self.System_Vor_Grenze_Besonders.insert(index, value) + def replace_System_Vor_Grenze_Besonders_at(self, index, value): + self.System_Vor_Grenze_Besonders[index] = value + def has__content(self): + if ( + self.ID_Element_Grenze or + self.ID_RBC_Vor_Grenze is not None or + self.System_Vor_Grenze or + self.System_Vor_Grenze_Besonders + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CZUB_Bereichsgrenze_Allg', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CZUB_Bereichsgrenze_Allg') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CZUB_Bereichsgrenze_Allg': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CZUB_Bereichsgrenze_Allg') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CZUB_Bereichsgrenze_Allg', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='CZUB_Bereichsgrenze_Allg'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CZUB_Bereichsgrenze_Allg', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Element_Grenze_ in self.ID_Element_Grenze: + namespaceprefix_ = self.ID_Element_Grenze_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Element_Grenze_nsprefix_) else '' + ID_Element_Grenze_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Element_Grenze', pretty_print=pretty_print) + if self.ID_RBC_Vor_Grenze is not None: + namespaceprefix_ = self.ID_RBC_Vor_Grenze_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_RBC_Vor_Grenze_nsprefix_) else '' + self.ID_RBC_Vor_Grenze.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_RBC_Vor_Grenze', pretty_print=pretty_print) + for System_Vor_Grenze_ in self.System_Vor_Grenze: + namespaceprefix_ = self.System_Vor_Grenze_nsprefix_ + ':' if (UseCapturedNS_ and self.System_Vor_Grenze_nsprefix_) else '' + System_Vor_Grenze_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='System_Vor_Grenze', pretty_print=pretty_print) + for System_Vor_Grenze_Besonders_ in self.System_Vor_Grenze_Besonders: + namespaceprefix_ = self.System_Vor_Grenze_Besonders_nsprefix_ + ':' if (UseCapturedNS_ and self.System_Vor_Grenze_Besonders_nsprefix_) else '' + System_Vor_Grenze_Besonders_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='System_Vor_Grenze_Besonders', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Element_Grenze': + obj_ = TCID_Element_Grenze.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Element_Grenze.append(obj_) + obj_.original_tagname_ = 'ID_Element_Grenze' + elif nodeName_ == 'ID_RBC_Vor_Grenze': + obj_ = TCID_RBC.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_RBC_Vor_Grenze = obj_ + obj_.original_tagname_ = 'ID_RBC_Vor_Grenze' + elif nodeName_ == 'System_Vor_Grenze': + obj_ = TCSystem_Vor_Grenze.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.System_Vor_Grenze.append(obj_) + obj_.original_tagname_ = 'System_Vor_Grenze' + elif nodeName_ == 'System_Vor_Grenze_Besonders': + obj_ = TCSystem_Vor_Grenze_Besonders.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.System_Vor_Grenze_Besonders.append(obj_) + obj_.original_tagname_ = 'System_Vor_Grenze_Besonders' +# end class CZUB_Bereichsgrenze_Allg + + +class TCBezeichnung_ZUB_SE(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCBezeichnung_ZUB_SE"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TBezeichnung_ZUB_SE(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCBezeichnung_ZUB_SE) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCBezeichnung_ZUB_SE.subclass: + return TCBezeichnung_ZUB_SE.subclass(*args_, **kwargs_) + else: + return TCBezeichnung_ZUB_SE(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TBezeichnung_ZUB_SE(self, value): + result = True + # Validate type TBezeichnung_ZUB_SE, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TBezeichnung_ZUB_SE_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TBezeichnung_ZUB_SE_patterns_, )) + result = False + return result + validate_TBezeichnung_ZUB_SE_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCBezeichnung_ZUB_SE, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCBezeichnung_ZUB_SE', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCBezeichnung_ZUB_SE') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCBezeichnung_ZUB_SE': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBezeichnung_ZUB_SE') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCBezeichnung_ZUB_SE', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCBezeichnung_ZUB_SE'): + super(TCBezeichnung_ZUB_SE, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBezeichnung_ZUB_SE') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCBezeichnung_ZUB_SE', fromsubclass_=False, pretty_print=True): + super(TCBezeichnung_ZUB_SE, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCBezeichnung_ZUB_SE, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TBezeichnung_ZUB_SE + self.validate_TBezeichnung_ZUB_SE(self.Wert) + super(TCBezeichnung_ZUB_SE, self)._buildChildren(child_, node, nodeName_, True) +# end class TCBezeichnung_ZUB_SE + + +class TCZBS_Reaktion(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCZBS_Reaktion"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMZBS_Reaktion(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCZBS_Reaktion) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCZBS_Reaktion.subclass: + return TCZBS_Reaktion.subclass(*args_, **kwargs_) + else: + return TCZBS_Reaktion(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMZBS_Reaktion(self, value): + result = True + # Validate type ENUMZBS_Reaktion, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['Meldereaktion', 'Sicherheitsreaktion', 'sonstige'] + 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 ENUMZBS_Reaktion' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCZBS_Reaktion, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCZBS_Reaktion', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCZBS_Reaktion') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCZBS_Reaktion': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCZBS_Reaktion') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCZBS_Reaktion', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCZBS_Reaktion'): + super(TCZBS_Reaktion, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCZBS_Reaktion') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCZBS_Reaktion', fromsubclass_=False, pretty_print=True): + super(TCZBS_Reaktion, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCZBS_Reaktion, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMZBS_Reaktion + self.validate_ENUMZBS_Reaktion(self.Wert) + super(TCZBS_Reaktion, self)._buildChildren(child_, node, nodeName_, True) +# end class TCZBS_Reaktion + + +class TCPort_Nr_Ausg_Physisch(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCPort_Nr_Ausg_Physisch"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TPort_Nr_Ausg_Physisch(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCPort_Nr_Ausg_Physisch) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCPort_Nr_Ausg_Physisch.subclass: + return TCPort_Nr_Ausg_Physisch.subclass(*args_, **kwargs_) + else: + return TCPort_Nr_Ausg_Physisch(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TPort_Nr_Ausg_Physisch(self, value): + result = True + # Validate type TPort_Nr_Ausg_Physisch, a restriction on xs:integer. + 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 + pass + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCPort_Nr_Ausg_Physisch, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCPort_Nr_Ausg_Physisch', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCPort_Nr_Ausg_Physisch') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCPort_Nr_Ausg_Physisch': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCPort_Nr_Ausg_Physisch') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCPort_Nr_Ausg_Physisch', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCPort_Nr_Ausg_Physisch'): + super(TCPort_Nr_Ausg_Physisch, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCPort_Nr_Ausg_Physisch') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCPort_Nr_Ausg_Physisch', fromsubclass_=False, pretty_print=True): + super(TCPort_Nr_Ausg_Physisch, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_integer(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCPort_Nr_Ausg_Physisch, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + ival_ = self.gds_parse_integer(sval_, node, 'Wert') + ival_ = self.gds_validate_integer(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + # validate type TPort_Nr_Ausg_Physisch + self.validate_TPort_Nr_Ausg_Physisch(self.Wert) + super(TCPort_Nr_Ausg_Physisch, self)._buildChildren(child_, node, nodeName_, True) +# end class TCPort_Nr_Ausg_Physisch + + +class TCSolllaenge_Mind_Sig_150(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCSolllaenge_Mind_Sig_150"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TSolllaenge_Mind_Sig_150(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCSolllaenge_Mind_Sig_150) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCSolllaenge_Mind_Sig_150.subclass: + return TCSolllaenge_Mind_Sig_150.subclass(*args_, **kwargs_) + else: + return TCSolllaenge_Mind_Sig_150(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TSolllaenge_Mind_Sig_150(self, value): + result = True + # Validate type TSolllaenge_Mind_Sig_150, a restriction on nsBasisTypen:TMeter. + 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 + pass + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCSolllaenge_Mind_Sig_150, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCSolllaenge_Mind_Sig_150', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCSolllaenge_Mind_Sig_150') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCSolllaenge_Mind_Sig_150': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCSolllaenge_Mind_Sig_150') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCSolllaenge_Mind_Sig_150', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCSolllaenge_Mind_Sig_150'): + super(TCSolllaenge_Mind_Sig_150, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCSolllaenge_Mind_Sig_150') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCSolllaenge_Mind_Sig_150', fromsubclass_=False, pretty_print=True): + super(TCSolllaenge_Mind_Sig_150, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_decimal(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCSolllaenge_Mind_Sig_150, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + fval_ = self.gds_parse_decimal(sval_, node, 'Wert') + fval_ = self.gds_validate_decimal(fval_, node, 'Wert') + self.Wert = fval_ + self.Wert_nsprefix_ = child_.prefix + # validate type TSolllaenge_Mind_Sig_150 + self.validate_TSolllaenge_Mind_Sig_150(self.Wert) + super(TCSolllaenge_Mind_Sig_150, self)._buildChildren(child_, node, nodeName_, True) +# end class TCSolllaenge_Mind_Sig_150 + + +class TCV_Frei(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCV_Frei"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TV_Frei(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCV_Frei) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCV_Frei.subclass: + return TCV_Frei.subclass(*args_, **kwargs_) + else: + return TCV_Frei(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TV_Frei(self, value): + result = True + # Validate type TV_Frei, a restriction on nsBasisTypen:TGeschwindigkeit. + 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_TV_Frei_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TV_Frei_patterns_, )) + result = False + return result + validate_TV_Frei_patterns_ = [['^(0|[1-9][0-9]{0,1}|[1-4][0-9]{2}|500)$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCV_Frei, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCV_Frei', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCV_Frei') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCV_Frei': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCV_Frei') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCV_Frei', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCV_Frei'): + super(TCV_Frei, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCV_Frei') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCV_Frei', fromsubclass_=False, pretty_print=True): + super(TCV_Frei, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_integer(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCV_Frei, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + ival_ = self.gds_parse_integer(sval_, node, 'Wert') + ival_ = self.gds_validate_integer(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + # validate type TV_Frei + self.validate_TV_Frei(self.Wert) + super(TCV_Frei, self)._buildChildren(child_, node, nodeName_, True) +# end class TCV_Frei + + +class TCMontageabweichung(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCMontageabweichung"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TMontageabweichung(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCMontageabweichung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCMontageabweichung.subclass: + return TCMontageabweichung.subclass(*args_, **kwargs_) + else: + return TCMontageabweichung(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TMontageabweichung(self, value): + result = True + # Validate type TMontageabweichung, a restriction on nsBasisTypen:TMeter. + 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 + pass + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCMontageabweichung, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCMontageabweichung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCMontageabweichung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCMontageabweichung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCMontageabweichung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCMontageabweichung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCMontageabweichung'): + super(TCMontageabweichung, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCMontageabweichung') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCMontageabweichung', fromsubclass_=False, pretty_print=True): + super(TCMontageabweichung, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_decimal(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCMontageabweichung, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + fval_ = self.gds_parse_decimal(sval_, node, 'Wert') + fval_ = self.gds_validate_decimal(fval_, node, 'Wert') + self.Wert = fval_ + self.Wert_nsprefix_ = child_.prefix + # validate type TMontageabweichung + self.validate_TMontageabweichung(self.Wert) + super(TCMontageabweichung, self)._buildChildren(child_, node, nodeName_, True) +# end class TCMontageabweichung + + +class TCLEU_Modul_Art(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCLEU_Modul_Art"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMLEU_Art(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCLEU_Modul_Art) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCLEU_Modul_Art.subclass: + return TCLEU_Modul_Art.subclass(*args_, **kwargs_) + else: + return TCLEU_Modul_Art(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMLEU_Art(self, value): + result = True + # Validate type ENUMLEU_Art, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['LEU-P', 'Voll-LEU'] + 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 ENUMLEU_Art' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCLEU_Modul_Art, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCLEU_Modul_Art', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCLEU_Modul_Art') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCLEU_Modul_Art': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCLEU_Modul_Art') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCLEU_Modul_Art', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCLEU_Modul_Art'): + super(TCLEU_Modul_Art, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCLEU_Modul_Art') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCLEU_Modul_Art', fromsubclass_=False, pretty_print=True): + super(TCLEU_Modul_Art, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCLEU_Modul_Art, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMLEU_Art + self.validate_ENUMLEU_Art(self.Wert) + super(TCLEU_Modul_Art, self)._buildChildren(child_, node, nodeName_, True) +# end class TCLEU_Modul_Art + + +class TCZBS_La_Bereich_Laenge(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCZBS_La_Bereich_Laenge"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TZBS_La_Bereich_Laenge(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCZBS_La_Bereich_Laenge) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCZBS_La_Bereich_Laenge.subclass: + return TCZBS_La_Bereich_Laenge.subclass(*args_, **kwargs_) + else: + return TCZBS_La_Bereich_Laenge(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TZBS_La_Bereich_Laenge(self, value): + result = True + # Validate type TZBS_La_Bereich_Laenge, a restriction on nsBasisTypen:TMeter. + 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 + pass + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCZBS_La_Bereich_Laenge, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCZBS_La_Bereich_Laenge', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCZBS_La_Bereich_Laenge') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCZBS_La_Bereich_Laenge': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCZBS_La_Bereich_Laenge') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCZBS_La_Bereich_Laenge', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCZBS_La_Bereich_Laenge'): + super(TCZBS_La_Bereich_Laenge, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCZBS_La_Bereich_Laenge') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCZBS_La_Bereich_Laenge', fromsubclass_=False, pretty_print=True): + super(TCZBS_La_Bereich_Laenge, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_decimal(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCZBS_La_Bereich_Laenge, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + fval_ = self.gds_parse_decimal(sval_, node, 'Wert') + fval_ = self.gds_validate_decimal(fval_, node, 'Wert') + self.Wert = fval_ + self.Wert_nsprefix_ = child_.prefix + # validate type TZBS_La_Bereich_Laenge + self.validate_TZBS_La_Bereich_Laenge(self.Wert) + super(TCZBS_La_Bereich_Laenge, self)._buildChildren(child_, node, nodeName_, True) +# end class TCZBS_La_Bereich_Laenge + + +class CFT_Fahrweg_Teile(GeneratedsSuper): + """ID_FT_Fahrweg_Teil -- Verweis auf einen Fahrwegteil, auf den sich das Fachtelegramm bezieht. + Ist_Befahren -- Angabe, ob der Fahrwegteil befahren wird (true) oder nicht (false). + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, ID_FT_Fahrweg_Teil=None, Ist_Befahren=None, gds_collector_=None, **kwargs_): + self.gds_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_FT_Fahrweg_Teil = ID_FT_Fahrweg_Teil + self.ID_FT_Fahrweg_Teil_nsprefix_ = None + self.Ist_Befahren = Ist_Befahren + self.Ist_Befahren_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CFT_Fahrweg_Teile) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CFT_Fahrweg_Teile.subclass: + return CFT_Fahrweg_Teile.subclass(*args_, **kwargs_) + else: + return CFT_Fahrweg_Teile(*args_, **kwargs_) + factory = staticmethod(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_FT_Fahrweg_Teil(self): + return self.ID_FT_Fahrweg_Teil + def set_ID_FT_Fahrweg_Teil(self, ID_FT_Fahrweg_Teil): + self.ID_FT_Fahrweg_Teil = ID_FT_Fahrweg_Teil + def get_Ist_Befahren(self): + return self.Ist_Befahren + def set_Ist_Befahren(self, Ist_Befahren): + self.Ist_Befahren = Ist_Befahren + def has__content(self): + if ( + self.ID_FT_Fahrweg_Teil is not None or + self.Ist_Befahren is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CFT_Fahrweg_Teile', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CFT_Fahrweg_Teile') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CFT_Fahrweg_Teile': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CFT_Fahrweg_Teile') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CFT_Fahrweg_Teile', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='CFT_Fahrweg_Teile'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CFT_Fahrweg_Teile', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.ID_FT_Fahrweg_Teil is not None: + namespaceprefix_ = self.ID_FT_Fahrweg_Teil_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_FT_Fahrweg_Teil_nsprefix_) else '' + self.ID_FT_Fahrweg_Teil.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_FT_Fahrweg_Teil', pretty_print=pretty_print) + if self.Ist_Befahren is not None: + namespaceprefix_ = self.Ist_Befahren_nsprefix_ + ':' if (UseCapturedNS_ and self.Ist_Befahren_nsprefix_) else '' + self.Ist_Befahren.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Ist_Befahren', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_FT_Fahrweg_Teil': + obj_ = TCID_FT_Fahrweg_Teil.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_FT_Fahrweg_Teil = obj_ + obj_.original_tagname_ = 'ID_FT_Fahrweg_Teil' + elif nodeName_ == 'Ist_Befahren': + obj_ = TCIst_Befahren.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Ist_Befahren = obj_ + obj_.original_tagname_ = 'Ist_Befahren' +# end class CFT_Fahrweg_Teile + + +class CLEU_Modul(CBasis_Objekt): + """CLEU_Modul -- Elektronische Baugruppe zur Ansteuerung von Balisen in Abh + ä + ngigkeit von Eingangsinformationen. Ein LEU-Modul ist in einem LEU-Schaltkasten untergebracht. + ID_Information_Eingang -- Verweis auf die Quelle(n) der Eingangsinformationen, sofern dieses LEU-Modul Eingangsinformationen aufnimmt. + Ü + ber eine Aussenelementansteuerung k + ö + nnen auch Informationen von Objekten bezogen werden, die nicht im Stellbereich dieser Aussenelementansteuerung liegen. + ID_LEU_Anlage -- Verweis auf die LEU-Anlage, zu der das LEU-Modul geh + ö + rt. + ID_LEU_Schaltkasten -- Verweis auf den LEU-Schaltkasten, in dem das LEU-Modul untergebracht ist. Es k + ö + nnen LEU-Module verschiedener LEU-Anlagen in einem LEU-Schaltkasten untergebracht sein. Die Angabe entf + ä + llt bei ESG. + LEU_Modul_Ausgang -- Attributgruppe zur Zuordnung von Ausg + ä + ngen des LEU-Moduls zu Balisen. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasis_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, Bezeichnung=None, ID_Information_Eingang=None, ID_LEU_Anlage=None, ID_LEU_Schaltkasten=None, LEU_Modul_Allg=None, LEU_Modul_Ausgang=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CLEU_Modul"), self).__init__(Identitaet, Basis_Objekt_Allg, ID_Bearbeitungsvermerk, ID_Oertlichkeit_Ausgabe, Objektreferenzen, **kwargs_) + self.Bezeichnung = Bezeichnung + self.Bezeichnung_nsprefix_ = None + if ID_Information_Eingang is None: + self.ID_Information_Eingang = [] + else: + self.ID_Information_Eingang = ID_Information_Eingang + self.ID_Information_Eingang_nsprefix_ = None + self.ID_LEU_Anlage = ID_LEU_Anlage + self.ID_LEU_Anlage_nsprefix_ = None + self.ID_LEU_Schaltkasten = ID_LEU_Schaltkasten + self.ID_LEU_Schaltkasten_nsprefix_ = None + self.LEU_Modul_Allg = LEU_Modul_Allg + self.LEU_Modul_Allg_nsprefix_ = None + if LEU_Modul_Ausgang is None: + self.LEU_Modul_Ausgang = [] + else: + self.LEU_Modul_Ausgang = LEU_Modul_Ausgang + self.LEU_Modul_Ausgang_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CLEU_Modul) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CLEU_Modul.subclass: + return CLEU_Modul.subclass(*args_, **kwargs_) + else: + return CLEU_Modul(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Bezeichnung(self): + return self.Bezeichnung + def set_Bezeichnung(self, Bezeichnung): + self.Bezeichnung = Bezeichnung + def get_ID_Information_Eingang(self): + return self.ID_Information_Eingang + def set_ID_Information_Eingang(self, ID_Information_Eingang): + self.ID_Information_Eingang = ID_Information_Eingang + def add_ID_Information_Eingang(self, value): + self.ID_Information_Eingang.append(value) + def insert_ID_Information_Eingang_at(self, index, value): + self.ID_Information_Eingang.insert(index, value) + def replace_ID_Information_Eingang_at(self, index, value): + self.ID_Information_Eingang[index] = value + def get_ID_LEU_Anlage(self): + return self.ID_LEU_Anlage + def set_ID_LEU_Anlage(self, ID_LEU_Anlage): + self.ID_LEU_Anlage = ID_LEU_Anlage + def get_ID_LEU_Schaltkasten(self): + return self.ID_LEU_Schaltkasten + def set_ID_LEU_Schaltkasten(self, ID_LEU_Schaltkasten): + self.ID_LEU_Schaltkasten = ID_LEU_Schaltkasten + def get_LEU_Modul_Allg(self): + return self.LEU_Modul_Allg + def set_LEU_Modul_Allg(self, LEU_Modul_Allg): + self.LEU_Modul_Allg = LEU_Modul_Allg + def get_LEU_Modul_Ausgang(self): + return self.LEU_Modul_Ausgang + def set_LEU_Modul_Ausgang(self, LEU_Modul_Ausgang): + self.LEU_Modul_Ausgang = LEU_Modul_Ausgang + def add_LEU_Modul_Ausgang(self, value): + self.LEU_Modul_Ausgang.append(value) + def insert_LEU_Modul_Ausgang_at(self, index, value): + self.LEU_Modul_Ausgang.insert(index, value) + def replace_LEU_Modul_Ausgang_at(self, index, value): + self.LEU_Modul_Ausgang[index] = value + def has__content(self): + if ( + self.Bezeichnung is not None or + self.ID_Information_Eingang or + self.ID_LEU_Anlage is not None or + self.ID_LEU_Schaltkasten is not None or + self.LEU_Modul_Allg is not None or + self.LEU_Modul_Ausgang or + super(CLEU_Modul, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CLEU_Modul', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CLEU_Modul') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CLEU_Modul': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CLEU_Modul') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CLEU_Modul', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='CLEU_Modul'): + super(CLEU_Modul, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CLEU_Modul') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CLEU_Modul', fromsubclass_=False, pretty_print=True): + super(CLEU_Modul, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Bezeichnung is not None: + namespaceprefix_ = self.Bezeichnung_nsprefix_ + ':' if (UseCapturedNS_ and self.Bezeichnung_nsprefix_) else '' + self.Bezeichnung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Bezeichnung', pretty_print=pretty_print) + for ID_Information_Eingang_ in self.ID_Information_Eingang: + namespaceprefix_ = self.ID_Information_Eingang_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Information_Eingang_nsprefix_) else '' + ID_Information_Eingang_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Information_Eingang', pretty_print=pretty_print) + if self.ID_LEU_Anlage is not None: + namespaceprefix_ = self.ID_LEU_Anlage_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_LEU_Anlage_nsprefix_) else '' + self.ID_LEU_Anlage.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_LEU_Anlage', pretty_print=pretty_print) + if self.ID_LEU_Schaltkasten is not None: + namespaceprefix_ = self.ID_LEU_Schaltkasten_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_LEU_Schaltkasten_nsprefix_) else '' + self.ID_LEU_Schaltkasten.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_LEU_Schaltkasten', pretty_print=pretty_print) + if self.LEU_Modul_Allg is not None: + namespaceprefix_ = self.LEU_Modul_Allg_nsprefix_ + ':' if (UseCapturedNS_ and self.LEU_Modul_Allg_nsprefix_) else '' + self.LEU_Modul_Allg.export(outfile, level, namespaceprefix_, namespacedef_='', name_='LEU_Modul_Allg', pretty_print=pretty_print) + for LEU_Modul_Ausgang_ in self.LEU_Modul_Ausgang: + namespaceprefix_ = self.LEU_Modul_Ausgang_nsprefix_ + ':' if (UseCapturedNS_ and self.LEU_Modul_Ausgang_nsprefix_) else '' + LEU_Modul_Ausgang_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='LEU_Modul_Ausgang', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CLEU_Modul, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Bezeichnung': + obj_ = CLEU_Modul_Bezeichnung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Bezeichnung = obj_ + obj_.original_tagname_ = 'Bezeichnung' + elif nodeName_ == 'ID_Information_Eingang': + obj_ = TCID_Information_Eingang.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Information_Eingang.append(obj_) + obj_.original_tagname_ = 'ID_Information_Eingang' + elif nodeName_ == 'ID_LEU_Anlage': + obj_ = TCID_LEU_Anlage_ohne_Proxy.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_LEU_Anlage = obj_ + obj_.original_tagname_ = 'ID_LEU_Anlage' + elif nodeName_ == 'ID_LEU_Schaltkasten': + obj_ = TCID_LEU_Schaltkasten_ohne_Proxy.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_LEU_Schaltkasten = obj_ + obj_.original_tagname_ = 'ID_LEU_Schaltkasten' + elif nodeName_ == 'LEU_Modul_Allg': + obj_ = CLEU_Modul_Allg.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.LEU_Modul_Allg = obj_ + obj_.original_tagname_ = 'LEU_Modul_Allg' + elif nodeName_ == 'LEU_Modul_Ausgang': + obj_ = CLEU_Modul_Ausgang.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.LEU_Modul_Ausgang.append(obj_) + obj_.original_tagname_ = 'LEU_Modul_Ausgang' + super(CLEU_Modul, self)._buildChildren(child_, node, nodeName_, True) +# end class CLEU_Modul + + +class TCV_Befehl_R(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCV_Befehl_R"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TV_Befehl_R(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCV_Befehl_R) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCV_Befehl_R.subclass: + return TCV_Befehl_R.subclass(*args_, **kwargs_) + else: + return TCV_Befehl_R(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TV_Befehl_R(self, value): + result = True + # Validate type TV_Befehl_R, a restriction on nsBasisTypen:TGeschwindigkeit. + 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_TV_Befehl_R_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TV_Befehl_R_patterns_, )) + result = False + return result + validate_TV_Befehl_R_patterns_ = [['^(0|[1-9][0-9]{0,1}|[1-4][0-9]{2}|500)$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCV_Befehl_R, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCV_Befehl_R', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCV_Befehl_R') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCV_Befehl_R': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCV_Befehl_R') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCV_Befehl_R', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCV_Befehl_R'): + super(TCV_Befehl_R, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCV_Befehl_R') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCV_Befehl_R', fromsubclass_=False, pretty_print=True): + super(TCV_Befehl_R, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_integer(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCV_Befehl_R, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + ival_ = self.gds_parse_integer(sval_, node, 'Wert') + ival_ = self.gds_validate_integer(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + # validate type TV_Befehl_R + self.validate_TV_Befehl_R(self.Wert) + super(TCV_Befehl_R, self)._buildChildren(child_, node, nodeName_, True) +# end class TCV_Befehl_R + + +class CBinaerdaten(CBasis_Objekt): + """CBinaerdaten -- Bin + ä + rdatenstrom oder Bin + ä + rdatei mit zugeh + ö + rigen betriebssystemnahen Metadaten (z. B. Dateiname, Dateityp). + Daten -- Im base64-Format codierter Inhalt der Binaerdaten bzw. -datei. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasis_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, Binaerdaten_Datei=None, Daten=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CBinaerdaten"), self).__init__(Identitaet, Basis_Objekt_Allg, ID_Bearbeitungsvermerk, ID_Oertlichkeit_Ausgabe, Objektreferenzen, **kwargs_) + self.Binaerdaten_Datei = Binaerdaten_Datei + self.Binaerdaten_Datei_nsprefix_ = None + self.Daten = Daten + self.Daten_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CBinaerdaten) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CBinaerdaten.subclass: + return CBinaerdaten.subclass(*args_, **kwargs_) + else: + return CBinaerdaten(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Binaerdaten_Datei(self): + return self.Binaerdaten_Datei + def set_Binaerdaten_Datei(self, Binaerdaten_Datei): + self.Binaerdaten_Datei = Binaerdaten_Datei + def get_Daten(self): + return self.Daten + def set_Daten(self, Daten): + self.Daten = Daten + def has__content(self): + if ( + self.Binaerdaten_Datei is not None or + self.Daten is not None or + super(CBinaerdaten, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='CBinaerdaten', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CBinaerdaten') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CBinaerdaten': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CBinaerdaten') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CBinaerdaten', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='CBinaerdaten'): + super(CBinaerdaten, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CBinaerdaten') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='CBinaerdaten', fromsubclass_=False, pretty_print=True): + super(CBinaerdaten, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Binaerdaten_Datei is not None: + namespaceprefix_ = self.Binaerdaten_Datei_nsprefix_ + ':' if (UseCapturedNS_ and self.Binaerdaten_Datei_nsprefix_) else '' + self.Binaerdaten_Datei.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Binaerdaten_Datei', pretty_print=pretty_print) + if self.Daten is not None: + namespaceprefix_ = self.Daten_nsprefix_ + ':' if (UseCapturedNS_ and self.Daten_nsprefix_) else '' + self.Daten.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Daten', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CBinaerdaten, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Binaerdaten_Datei': + obj_ = CBinaerdaten_Datei.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Binaerdaten_Datei = obj_ + obj_.original_tagname_ = 'Binaerdaten_Datei' + elif nodeName_ == 'Daten': + obj_ = TCDaten.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Daten = obj_ + obj_.original_tagname_ = 'Daten' + super(CBinaerdaten, self)._buildChildren(child_, node, nodeName_, True) +# end class CBinaerdaten + + +class CETCS_Signal_TBV(GeneratedsSuper): + """TBV_Meldepunkt -- Angabe, ob das Signal als Meldepunkt f + ü + r das TBV-System (Tunnelbegegnungsverbot) verwendet wird (true). TBV-Meldepunkte werden im Rahmen der TBV-Planung festgelegt. + TBV_Tunnelbereich_Laenge -- Angabe der Tunnelbereichsl + ä + nge gem + ä + ß + TBV-Planung, sofern das Signal als Tunnelportalsignal geplant ist (Signal, das die Einfahrt in einen Tunnel erm + ö + glicht). + TBV_Tunnelsignal -- Angabe, ob das Signal f + ü + r das TBV-System ein Tunnelsignal ist (alle Signale zwischen Tunnelportalsignal und dem Abstand der maximalen Zugl + ä + nge hinter dem Tunnel). Die Festlegung erfolgt im Rahmen der TBV-Planung. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, TBV_Meldepunkt=None, TBV_Tunnelbereich_Laenge=None, TBV_Tunnelsignal=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.TBV_Meldepunkt = TBV_Meldepunkt + self.TBV_Meldepunkt_nsprefix_ = None + self.TBV_Tunnelbereich_Laenge = TBV_Tunnelbereich_Laenge + self.TBV_Tunnelbereich_Laenge_nsprefix_ = None + self.TBV_Tunnelsignal = TBV_Tunnelsignal + self.TBV_Tunnelsignal_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CETCS_Signal_TBV) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CETCS_Signal_TBV.subclass: + return CETCS_Signal_TBV.subclass(*args_, **kwargs_) + else: + return CETCS_Signal_TBV(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_TBV_Meldepunkt(self): + return self.TBV_Meldepunkt + def set_TBV_Meldepunkt(self, TBV_Meldepunkt): + self.TBV_Meldepunkt = TBV_Meldepunkt + def get_TBV_Tunnelbereich_Laenge(self): + return self.TBV_Tunnelbereich_Laenge + def set_TBV_Tunnelbereich_Laenge(self, TBV_Tunnelbereich_Laenge): + self.TBV_Tunnelbereich_Laenge = TBV_Tunnelbereich_Laenge + def get_TBV_Tunnelsignal(self): + return self.TBV_Tunnelsignal + def set_TBV_Tunnelsignal(self, TBV_Tunnelsignal): + self.TBV_Tunnelsignal = TBV_Tunnelsignal + def has__content(self): + if ( + self.TBV_Meldepunkt is not None or + self.TBV_Tunnelbereich_Laenge is not None or + self.TBV_Tunnelsignal is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='CETCS_Signal_TBV', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CETCS_Signal_TBV') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CETCS_Signal_TBV': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CETCS_Signal_TBV') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CETCS_Signal_TBV', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='CETCS_Signal_TBV'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='CETCS_Signal_TBV', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.TBV_Meldepunkt is not None: + namespaceprefix_ = self.TBV_Meldepunkt_nsprefix_ + ':' if (UseCapturedNS_ and self.TBV_Meldepunkt_nsprefix_) else '' + self.TBV_Meldepunkt.export(outfile, level, namespaceprefix_, namespacedef_='', name_='TBV_Meldepunkt', pretty_print=pretty_print) + if self.TBV_Tunnelbereich_Laenge is not None: + namespaceprefix_ = self.TBV_Tunnelbereich_Laenge_nsprefix_ + ':' if (UseCapturedNS_ and self.TBV_Tunnelbereich_Laenge_nsprefix_) else '' + self.TBV_Tunnelbereich_Laenge.export(outfile, level, namespaceprefix_, namespacedef_='', name_='TBV_Tunnelbereich_Laenge', pretty_print=pretty_print) + if self.TBV_Tunnelsignal is not None: + namespaceprefix_ = self.TBV_Tunnelsignal_nsprefix_ + ':' if (UseCapturedNS_ and self.TBV_Tunnelsignal_nsprefix_) else '' + self.TBV_Tunnelsignal.export(outfile, level, namespaceprefix_, namespacedef_='', name_='TBV_Tunnelsignal', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'TBV_Meldepunkt': + obj_ = TCTBV_Meldepunkt.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.TBV_Meldepunkt = obj_ + obj_.original_tagname_ = 'TBV_Meldepunkt' + elif nodeName_ == 'TBV_Tunnelbereich_Laenge': + obj_ = TCTBV_Tunnelbereich_Laenge.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.TBV_Tunnelbereich_Laenge = obj_ + obj_.original_tagname_ = 'TBV_Tunnelbereich_Laenge' + elif nodeName_ == 'TBV_Tunnelsignal': + obj_ = TCTBV_Tunnelsignal.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.TBV_Tunnelsignal = obj_ + obj_.original_tagname_ = 'TBV_Tunnelsignal' +# end class CETCS_Signal_TBV + + +class TCLaenge_1(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCLaenge_1"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TLaenge_1(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCLaenge_1) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCLaenge_1.subclass: + return TCLaenge_1.subclass(*args_, **kwargs_) + else: + return TCLaenge_1(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TLaenge_1(self, value): + result = True + # Validate type TLaenge_1, a restriction on nsBasisTypen:TMeter. + 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 + pass + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCLaenge_1, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCLaenge_1', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCLaenge_1') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCLaenge_1': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCLaenge_1') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCLaenge_1', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCLaenge_1'): + super(TCLaenge_1, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCLaenge_1') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCLaenge_1', fromsubclass_=False, pretty_print=True): + super(TCLaenge_1, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_decimal(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCLaenge_1, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + fval_ = self.gds_parse_decimal(sval_, node, 'Wert') + fval_ = self.gds_validate_decimal(fval_, node, 'Wert') + self.Wert = fval_ + self.Wert_nsprefix_ = child_.prefix + # validate type TLaenge_1 + self.validate_TLaenge_1(self.Wert) + super(TCLaenge_1, self)._buildChildren(child_, node, nodeName_, True) +# end class TCLaenge_1 + + +class TCAbstand_Einmesspunkt(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCAbstand_Einmesspunkt"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TAbstand_Einmesspunkt(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCAbstand_Einmesspunkt) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCAbstand_Einmesspunkt.subclass: + return TCAbstand_Einmesspunkt.subclass(*args_, **kwargs_) + else: + return TCAbstand_Einmesspunkt(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TAbstand_Einmesspunkt(self, value): + result = True + # Validate type TAbstand_Einmesspunkt, a restriction on nsBasisTypen:TMeter. + 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 + pass + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCAbstand_Einmesspunkt, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCAbstand_Einmesspunkt', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCAbstand_Einmesspunkt') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCAbstand_Einmesspunkt': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCAbstand_Einmesspunkt') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCAbstand_Einmesspunkt', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCAbstand_Einmesspunkt'): + super(TCAbstand_Einmesspunkt, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCAbstand_Einmesspunkt') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCAbstand_Einmesspunkt', fromsubclass_=False, pretty_print=True): + super(TCAbstand_Einmesspunkt, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_decimal(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCAbstand_Einmesspunkt, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + fval_ = self.gds_parse_decimal(sval_, node, 'Wert') + fval_ = self.gds_validate_decimal(fval_, node, 'Wert') + self.Wert = fval_ + self.Wert_nsprefix_ = child_.prefix + # validate type TAbstand_Einmesspunkt + self.validate_TAbstand_Einmesspunkt(self.Wert) + super(TCAbstand_Einmesspunkt, self)._buildChildren(child_, node, nodeName_, True) +# end class TCAbstand_Einmesspunkt + + +class TCVBC_Timer(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCVBC_Timer"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TVBC_Timer(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCVBC_Timer) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCVBC_Timer.subclass: + return TCVBC_Timer.subclass(*args_, **kwargs_) + else: + return TCVBC_Timer(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TVBC_Timer(self, value): + result = True + # Validate type TVBC_Timer, a restriction on xs:integer. + 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 + pass + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCVBC_Timer, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCVBC_Timer', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCVBC_Timer') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCVBC_Timer': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCVBC_Timer') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCVBC_Timer', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCVBC_Timer'): + super(TCVBC_Timer, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCVBC_Timer') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCVBC_Timer', fromsubclass_=False, pretty_print=True): + super(TCVBC_Timer, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_integer(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCVBC_Timer, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + ival_ = self.gds_parse_integer(sval_, node, 'Wert') + ival_ = self.gds_validate_integer(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + # validate type TVBC_Timer + self.validate_TVBC_Timer(self.Wert) + super(TCVBC_Timer, self)._buildChildren(child_, node, nodeName_, True) +# end class TCVBC_Timer + + +class CDP_Bezug_Funktional(GeneratedsSuper): + """DP_Bezug_Funktional_Art -- Angabe, ob die Zuordnung zum Signal mittelbar (z. B. Aufwerte-Datenpunkte) oder unmittelbar (z. B. Hauptsignal-DP) erfolgt. + ID_DP_Bezug_Funktional -- Element, auf das sich der fachliche Inhalt des Datenpunkts bezieht. Der fachliche Bezug kann Vorgaben f + ü + r die Positionierung des Datenpunkts beinhalten. Die Angabe ist nur erforderlich, sofern sich dieser Punkt nicht + ü + ber eine zugeh + ö + rige LEU-Anlage ermittelt werden kann bzw. soll. Gro + ß + e Metallteile werden + ü + ber ZUB_Streckeneigenschaft abgebildet. Bei ETCS L2 erfolgt die Angabe des Bezugspunkts im Zuammenhang mit dem DP-Typ. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, DP_Bezug_Funktional_Art=None, ID_DP_Bezug_Funktional=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.DP_Bezug_Funktional_Art = DP_Bezug_Funktional_Art + self.DP_Bezug_Funktional_Art_nsprefix_ = None + self.ID_DP_Bezug_Funktional = ID_DP_Bezug_Funktional + self.ID_DP_Bezug_Funktional_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CDP_Bezug_Funktional) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CDP_Bezug_Funktional.subclass: + return CDP_Bezug_Funktional.subclass(*args_, **kwargs_) + else: + return CDP_Bezug_Funktional(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_DP_Bezug_Funktional_Art(self): + return self.DP_Bezug_Funktional_Art + def set_DP_Bezug_Funktional_Art(self, DP_Bezug_Funktional_Art): + self.DP_Bezug_Funktional_Art = DP_Bezug_Funktional_Art + def get_ID_DP_Bezug_Funktional(self): + return self.ID_DP_Bezug_Funktional + def set_ID_DP_Bezug_Funktional(self, ID_DP_Bezug_Funktional): + self.ID_DP_Bezug_Funktional = ID_DP_Bezug_Funktional + def has__content(self): + if ( + self.DP_Bezug_Funktional_Art is not None or + self.ID_DP_Bezug_Funktional is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CDP_Bezug_Funktional', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CDP_Bezug_Funktional') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CDP_Bezug_Funktional': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CDP_Bezug_Funktional') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CDP_Bezug_Funktional', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='CDP_Bezug_Funktional'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CDP_Bezug_Funktional', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.DP_Bezug_Funktional_Art is not None: + namespaceprefix_ = self.DP_Bezug_Funktional_Art_nsprefix_ + ':' if (UseCapturedNS_ and self.DP_Bezug_Funktional_Art_nsprefix_) else '' + self.DP_Bezug_Funktional_Art.export(outfile, level, namespaceprefix_, namespacedef_='', name_='DP_Bezug_Funktional_Art', pretty_print=pretty_print) + if self.ID_DP_Bezug_Funktional is not None: + namespaceprefix_ = self.ID_DP_Bezug_Funktional_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_DP_Bezug_Funktional_nsprefix_) else '' + self.ID_DP_Bezug_Funktional.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_DP_Bezug_Funktional', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'DP_Bezug_Funktional_Art': + obj_ = TCDP_Bezug_Funktional_Art.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.DP_Bezug_Funktional_Art = obj_ + obj_.original_tagname_ = 'DP_Bezug_Funktional_Art' + elif nodeName_ == 'ID_DP_Bezug_Funktional': + obj_ = TCID_DP_Bezug_Funktional.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_DP_Bezug_Funktional = obj_ + obj_.original_tagname_ = 'ID_DP_Bezug_Funktional' +# end class CDP_Bezug_Funktional + + +class TCNID_C(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCNID_C"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TNID_C(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCNID_C) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCNID_C.subclass: + return TCNID_C.subclass(*args_, **kwargs_) + else: + return TCNID_C(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TNID_C(self, value): + result = True + # Validate type TNID_C, a restriction on xs:integer. + 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_TNID_C_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TNID_C_patterns_, )) + result = False + return result + validate_TNID_C_patterns_ = [['^(102[0-3]|10[0-1][0-9]|[1-9][0-9]{2}|0|[1-9][0-9]{0,1})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCNID_C, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCNID_C', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCNID_C') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCNID_C': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCNID_C') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCNID_C', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCNID_C'): + super(TCNID_C, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCNID_C') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCNID_C', fromsubclass_=False, pretty_print=True): + super(TCNID_C, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_integer(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCNID_C, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + ival_ = self.gds_parse_integer(sval_, node, 'Wert') + ival_ = self.gds_validate_integer(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + # validate type TNID_C + self.validate_TNID_C(self.Wert) + super(TCNID_C, self)._buildChildren(child_, node, nodeName_, True) +# end class TCNID_C + + +class TCVBC_Kennung(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCVBC_Kennung"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TVBC_Kennung(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCVBC_Kennung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCVBC_Kennung.subclass: + return TCVBC_Kennung.subclass(*args_, **kwargs_) + else: + return TCVBC_Kennung(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TVBC_Kennung(self, value): + result = True + # Validate type TVBC_Kennung, a restriction on xs:integer. + 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 + pass + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCVBC_Kennung, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCVBC_Kennung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCVBC_Kennung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCVBC_Kennung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCVBC_Kennung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCVBC_Kennung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCVBC_Kennung'): + super(TCVBC_Kennung, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCVBC_Kennung') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCVBC_Kennung', fromsubclass_=False, pretty_print=True): + super(TCVBC_Kennung, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_integer(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCVBC_Kennung, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + ival_ = self.gds_parse_integer(sval_, node, 'Wert') + ival_ = self.gds_validate_integer(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + # validate type TVBC_Kennung + self.validate_TVBC_Kennung(self.Wert) + super(TCVBC_Kennung, self)._buildChildren(child_, node, nodeName_, True) +# end class TCVBC_Kennung + + +class CLEU_Anlage_Bezeichnung(GeneratedsSuper): + """Bezeichnung_LEU_Anlage -- Bezeichnung der LEU-Anlage. Im Regelfall ist die Bezeichnung des Bezugspunkts zu + ü + bernehmen (Planungsunterst + ü + tzung). + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Bezeichnung_LEU_Anlage=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Bezeichnung_LEU_Anlage = Bezeichnung_LEU_Anlage + self.Bezeichnung_LEU_Anlage_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CLEU_Anlage_Bezeichnung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CLEU_Anlage_Bezeichnung.subclass: + return CLEU_Anlage_Bezeichnung.subclass(*args_, **kwargs_) + else: + return CLEU_Anlage_Bezeichnung(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Bezeichnung_LEU_Anlage(self): + return self.Bezeichnung_LEU_Anlage + def set_Bezeichnung_LEU_Anlage(self, Bezeichnung_LEU_Anlage): + self.Bezeichnung_LEU_Anlage = Bezeichnung_LEU_Anlage + def has__content(self): + if ( + self.Bezeichnung_LEU_Anlage is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='CLEU_Anlage_Bezeichnung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CLEU_Anlage_Bezeichnung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CLEU_Anlage_Bezeichnung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CLEU_Anlage_Bezeichnung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CLEU_Anlage_Bezeichnung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='CLEU_Anlage_Bezeichnung'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='CLEU_Anlage_Bezeichnung', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Bezeichnung_LEU_Anlage is not None: + namespaceprefix_ = self.Bezeichnung_LEU_Anlage_nsprefix_ + ':' if (UseCapturedNS_ and self.Bezeichnung_LEU_Anlage_nsprefix_) else '' + self.Bezeichnung_LEU_Anlage.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Bezeichnung_LEU_Anlage', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Bezeichnung_LEU_Anlage': + obj_ = TCBezeichnung_LEU_Anlage.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Bezeichnung_LEU_Anlage = obj_ + obj_.original_tagname_ = 'Bezeichnung_LEU_Anlage' +# end class CLEU_Anlage_Bezeichnung + + +class TCLM_G(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCLM_G"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCLM_G) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCLM_G.subclass: + return TCLM_G.subclass(*args_, **kwargs_) + else: + return TCLM_G(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def has__content(self): + if ( + self.Wert is not None or + super(TCLM_G, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCLM_G', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCLM_G') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCLM_G': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCLM_G') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCLM_G', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCLM_G'): + super(TCLM_G, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCLM_G') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCLM_G', fromsubclass_=False, pretty_print=True): + super(TCLM_G, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_boolean(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCLM_G, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + sval_ = child_.text + ival_ = self.gds_parse_boolean(sval_, node, 'Wert') + ival_ = self.gds_validate_boolean(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + super(TCLM_G, self)._buildChildren(child_, node, nodeName_, True) +# end class TCLM_G + + +class TCBez_Strecke_BTS_2(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCBez_Strecke_BTS_2"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TBez_Strecke_BTS_2(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCBez_Strecke_BTS_2) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCBez_Strecke_BTS_2.subclass: + return TCBez_Strecke_BTS_2.subclass(*args_, **kwargs_) + else: + return TCBez_Strecke_BTS_2(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TBez_Strecke_BTS_2(self, value): + result = True + # Validate type TBez_Strecke_BTS_2, a restriction on nsBasisTypen:TZeichenkette. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TBez_Strecke_BTS_2_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TBez_Strecke_BTS_2_patterns_, )) + result = False + return result + validate_TBez_Strecke_BTS_2_patterns_ = [['^([a-zA-Z_0-9]{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCBez_Strecke_BTS_2, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCBez_Strecke_BTS_2', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCBez_Strecke_BTS_2') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCBez_Strecke_BTS_2': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBez_Strecke_BTS_2') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCBez_Strecke_BTS_2', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCBez_Strecke_BTS_2'): + super(TCBez_Strecke_BTS_2, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBez_Strecke_BTS_2') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCBez_Strecke_BTS_2', fromsubclass_=False, pretty_print=True): + super(TCBez_Strecke_BTS_2, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCBez_Strecke_BTS_2, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TBez_Strecke_BTS_2 + self.validate_TBez_Strecke_BTS_2(self.Wert) + super(TCBez_Strecke_BTS_2, self)._buildChildren(child_, node, nodeName_, True) +# end class TCBez_Strecke_BTS_2 + + +class TCNennleistung(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCNennleistung"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TNennleistung(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCNennleistung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCNennleistung.subclass: + return TCNennleistung.subclass(*args_, **kwargs_) + else: + return TCNennleistung(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TNennleistung(self, value): + result = True + # Validate type TNennleistung, a restriction on xs:integer. + 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 + pass + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCNennleistung, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCNennleistung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCNennleistung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCNennleistung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCNennleistung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCNennleistung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCNennleistung'): + super(TCNennleistung, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCNennleistung') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCNennleistung', fromsubclass_=False, pretty_print=True): + super(TCNennleistung, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_integer(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCNennleistung, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + ival_ = self.gds_parse_integer(sval_, node, 'Wert') + ival_ = self.gds_validate_integer(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + # validate type TNennleistung + self.validate_TNennleistung(self.Wert) + super(TCNennleistung, self)._buildChildren(child_, node, nodeName_, True) +# end class TCNennleistung + + +class TCSTZ(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCSTZ"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMSTZ(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCSTZ) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCSTZ.subclass: + return TCSTZ.subclass(*args_, **kwargs_) + else: + return TCSTZ(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMSTZ(self, value): + result = True + # Validate type ENUMSTZ, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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', '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 ENUMSTZ' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCSTZ, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCSTZ', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCSTZ') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCSTZ': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCSTZ') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCSTZ', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCSTZ'): + super(TCSTZ, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCSTZ') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCSTZ', fromsubclass_=False, pretty_print=True): + super(TCSTZ, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCSTZ, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMSTZ + self.validate_ENUMSTZ(self.Wert) + super(TCSTZ, self)._buildChildren(child_, node, nodeName_, True) +# end class TCSTZ + + +class CLEU_Modul_Bezeichnung(GeneratedsSuper): + """Modulnummer -- Nummer des LEU-Moduls, die eindeutig innerhalb einer LEU-Anlage zu w + ä + hlen ist. Die Gesamtbezeichnung des LEU-Moduls setzt sich aus der Bezeichnung der zugeh + ö + rigen LEU-Anlage, Unterstrich und der Modulnummer zusammen. + Beispiel: + Bezeichnung LEU-Anlage: AA + Modulnummer: 1 + Bezeichnung LEU-Modul: AA_1 + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Modulnummer=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Modulnummer = Modulnummer + self.Modulnummer_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CLEU_Modul_Bezeichnung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CLEU_Modul_Bezeichnung.subclass: + return CLEU_Modul_Bezeichnung.subclass(*args_, **kwargs_) + else: + return CLEU_Modul_Bezeichnung(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Modulnummer(self): + return self.Modulnummer + def set_Modulnummer(self, Modulnummer): + self.Modulnummer = Modulnummer + def has__content(self): + if ( + self.Modulnummer is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='CLEU_Modul_Bezeichnung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CLEU_Modul_Bezeichnung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CLEU_Modul_Bezeichnung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CLEU_Modul_Bezeichnung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CLEU_Modul_Bezeichnung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='CLEU_Modul_Bezeichnung'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='CLEU_Modul_Bezeichnung', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Modulnummer is not None: + namespaceprefix_ = self.Modulnummer_nsprefix_ + ':' if (UseCapturedNS_ and self.Modulnummer_nsprefix_) else '' + self.Modulnummer.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Modulnummer', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Modulnummer': + obj_ = TCModulnummer.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Modulnummer = obj_ + obj_.original_tagname_ = 'Modulnummer' +# end class CLEU_Modul_Bezeichnung + + +class TCAbstand_Datenpunkt_TPI_Folgesignal(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCAbstand_Datenpunkt_TPI_Folgesignal"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TAbstand_Datenpunkt_TPI_Folgesignal(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCAbstand_Datenpunkt_TPI_Folgesignal) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCAbstand_Datenpunkt_TPI_Folgesignal.subclass: + return TCAbstand_Datenpunkt_TPI_Folgesignal.subclass(*args_, **kwargs_) + else: + return TCAbstand_Datenpunkt_TPI_Folgesignal(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TAbstand_Datenpunkt_TPI_Folgesignal(self, value): + result = True + # Validate type TAbstand_Datenpunkt_TPI_Folgesignal, a restriction on nsBasisTypen:TMeter. + 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 + pass + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCAbstand_Datenpunkt_TPI_Folgesignal, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCAbstand_Datenpunkt_TPI_Folgesignal', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCAbstand_Datenpunkt_TPI_Folgesignal') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCAbstand_Datenpunkt_TPI_Folgesignal': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCAbstand_Datenpunkt_TPI_Folgesignal') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCAbstand_Datenpunkt_TPI_Folgesignal', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCAbstand_Datenpunkt_TPI_Folgesignal'): + super(TCAbstand_Datenpunkt_TPI_Folgesignal, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCAbstand_Datenpunkt_TPI_Folgesignal') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCAbstand_Datenpunkt_TPI_Folgesignal', fromsubclass_=False, pretty_print=True): + super(TCAbstand_Datenpunkt_TPI_Folgesignal, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_decimal(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCAbstand_Datenpunkt_TPI_Folgesignal, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + fval_ = self.gds_parse_decimal(sval_, node, 'Wert') + fval_ = self.gds_validate_decimal(fval_, node, 'Wert') + self.Wert = fval_ + self.Wert_nsprefix_ = child_.prefix + # validate type TAbstand_Datenpunkt_TPI_Folgesignal + self.validate_TAbstand_Datenpunkt_TPI_Folgesignal(self.Wert) + super(TCAbstand_Datenpunkt_TPI_Folgesignal, self)._buildChildren(child_, node, nodeName_, True) +# end class TCAbstand_Datenpunkt_TPI_Folgesignal + + +class CETCS_Kante(CBasis_Objekt): + """CETCS_Kante -- Abbildung der Kante des ETCS-spezifischen Knoten-Kanten-Modells auf das topologische PlanPro-Knoten-Kanten-Modell. + ID_ETCS_Knoten_A -- Verweis auf den ETCS-Knoten am Anfang der Kante. + ID_ETCS_Knoten_B -- Verweis auf den ETCS-Knoten am Ende der Kante. + ID_RBC -- Verweis auf das RBC, in dessen Bereich die ETCS-Kante liegt. Im Bereich der RBC-Grenze ist ggf. eine Mehrfachangabe erforderlich. + ID_Strecke -- Verweis auf die Strecke, der die STCS-Kante zugeordnet wird. Die Angabe l + ä + sst sich durch Auswertung der topologischen Verortung der Strecke(n) sowie der Verortung der ETCS_Knoten ermitteln. Eine Abspeicherung kann zur Erleichterung weiterer Anwendungen (z. B. DiB) erfolgen. + ID_TOP_Kante -- Verweis auf die TOP-Kanten, die vollst + ä + ndig oder teilweise die ETCS-Kante bilden. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasis_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, Bezeichnung=None, ID_ETCS_Knoten_A=None, ID_ETCS_Knoten_B=None, ID_RBC=None, ID_Strecke=None, ID_TOP_Kante=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CETCS_Kante"), self).__init__(Identitaet, Basis_Objekt_Allg, ID_Bearbeitungsvermerk, ID_Oertlichkeit_Ausgabe, Objektreferenzen, **kwargs_) + self.Bezeichnung = Bezeichnung + self.Bezeichnung_nsprefix_ = None + self.ID_ETCS_Knoten_A = ID_ETCS_Knoten_A + self.ID_ETCS_Knoten_A_nsprefix_ = None + self.ID_ETCS_Knoten_B = ID_ETCS_Knoten_B + self.ID_ETCS_Knoten_B_nsprefix_ = None + if ID_RBC is None: + self.ID_RBC = [] + else: + self.ID_RBC = ID_RBC + self.ID_RBC_nsprefix_ = None + self.ID_Strecke = ID_Strecke + self.ID_Strecke_nsprefix_ = None + if ID_TOP_Kante is None: + self.ID_TOP_Kante = [] + else: + self.ID_TOP_Kante = ID_TOP_Kante + self.ID_TOP_Kante_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CETCS_Kante) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CETCS_Kante.subclass: + return CETCS_Kante.subclass(*args_, **kwargs_) + else: + return CETCS_Kante(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Bezeichnung(self): + return self.Bezeichnung + def set_Bezeichnung(self, Bezeichnung): + self.Bezeichnung = Bezeichnung + def get_ID_ETCS_Knoten_A(self): + return self.ID_ETCS_Knoten_A + def set_ID_ETCS_Knoten_A(self, ID_ETCS_Knoten_A): + self.ID_ETCS_Knoten_A = ID_ETCS_Knoten_A + def get_ID_ETCS_Knoten_B(self): + return self.ID_ETCS_Knoten_B + def set_ID_ETCS_Knoten_B(self, ID_ETCS_Knoten_B): + self.ID_ETCS_Knoten_B = ID_ETCS_Knoten_B + def get_ID_RBC(self): + return self.ID_RBC + def set_ID_RBC(self, ID_RBC): + self.ID_RBC = ID_RBC + def add_ID_RBC(self, value): + self.ID_RBC.append(value) + def insert_ID_RBC_at(self, index, value): + self.ID_RBC.insert(index, value) + def replace_ID_RBC_at(self, index, value): + self.ID_RBC[index] = value + def get_ID_Strecke(self): + return self.ID_Strecke + def set_ID_Strecke(self, ID_Strecke): + self.ID_Strecke = ID_Strecke + def get_ID_TOP_Kante(self): + return self.ID_TOP_Kante + def set_ID_TOP_Kante(self, ID_TOP_Kante): + self.ID_TOP_Kante = ID_TOP_Kante + def add_ID_TOP_Kante(self, value): + self.ID_TOP_Kante.append(value) + def insert_ID_TOP_Kante_at(self, index, value): + self.ID_TOP_Kante.insert(index, value) + def replace_ID_TOP_Kante_at(self, index, value): + self.ID_TOP_Kante[index] = value + def has__content(self): + if ( + self.Bezeichnung is not None or + self.ID_ETCS_Knoten_A is not None or + self.ID_ETCS_Knoten_B is not None or + self.ID_RBC or + self.ID_Strecke is not None or + self.ID_TOP_Kante or + super(CETCS_Kante, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CETCS_Kante', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CETCS_Kante') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CETCS_Kante': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CETCS_Kante') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CETCS_Kante', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='CETCS_Kante'): + super(CETCS_Kante, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CETCS_Kante') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CETCS_Kante', fromsubclass_=False, pretty_print=True): + super(CETCS_Kante, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Bezeichnung is not None: + namespaceprefix_ = self.Bezeichnung_nsprefix_ + ':' if (UseCapturedNS_ and self.Bezeichnung_nsprefix_) else '' + self.Bezeichnung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Bezeichnung', pretty_print=pretty_print) + if self.ID_ETCS_Knoten_A is not None: + namespaceprefix_ = self.ID_ETCS_Knoten_A_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_ETCS_Knoten_A_nsprefix_) else '' + self.ID_ETCS_Knoten_A.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_ETCS_Knoten_A', pretty_print=pretty_print) + if self.ID_ETCS_Knoten_B is not None: + namespaceprefix_ = self.ID_ETCS_Knoten_B_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_ETCS_Knoten_B_nsprefix_) else '' + self.ID_ETCS_Knoten_B.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_ETCS_Knoten_B', pretty_print=pretty_print) + for ID_RBC_ in self.ID_RBC: + namespaceprefix_ = self.ID_RBC_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_RBC_nsprefix_) else '' + ID_RBC_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_RBC', pretty_print=pretty_print) + if self.ID_Strecke is not None: + namespaceprefix_ = self.ID_Strecke_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Strecke_nsprefix_) else '' + self.ID_Strecke.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Strecke', pretty_print=pretty_print) + for ID_TOP_Kante_ in self.ID_TOP_Kante: + namespaceprefix_ = self.ID_TOP_Kante_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_TOP_Kante_nsprefix_) else '' + ID_TOP_Kante_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_TOP_Kante', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CETCS_Kante, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Bezeichnung': + obj_ = CETCS_Kante_Bezeichnung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Bezeichnung = obj_ + obj_.original_tagname_ = 'Bezeichnung' + elif nodeName_ == 'ID_ETCS_Knoten_A': + obj_ = TCID_ETCS_Knoten_ohne_Proxy.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_ETCS_Knoten_A = obj_ + obj_.original_tagname_ = 'ID_ETCS_Knoten_A' + elif nodeName_ == 'ID_ETCS_Knoten_B': + obj_ = TCID_ETCS_Knoten_ohne_Proxy.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_ETCS_Knoten_B = obj_ + obj_.original_tagname_ = 'ID_ETCS_Knoten_B' + elif nodeName_ == 'ID_RBC': + obj_ = TCID_RBC.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_RBC.append(obj_) + obj_.original_tagname_ = 'ID_RBC' + elif nodeName_ == 'ID_Strecke': + obj_ = TCID_Strecke.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Strecke = obj_ + obj_.original_tagname_ = 'ID_Strecke' + elif nodeName_ == 'ID_TOP_Kante': + obj_ = TCID_TOP_Kante_ohne_Proxy.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_TOP_Kante.append(obj_) + obj_.original_tagname_ = 'ID_TOP_Kante' + super(CETCS_Kante, self)._buildChildren(child_, node, nodeName_, True) +# end class CETCS_Kante + + +class TCMassgebende_Neig_Schutzstrecke(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCMassgebende_Neig_Schutzstrecke"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TMassgebende_Neig_Schutzstrecke(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCMassgebende_Neig_Schutzstrecke) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCMassgebende_Neig_Schutzstrecke.subclass: + return TCMassgebende_Neig_Schutzstrecke.subclass(*args_, **kwargs_) + else: + return TCMassgebende_Neig_Schutzstrecke(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TMassgebende_Neig_Schutzstrecke(self, value): + result = True + # Validate type TMassgebende_Neig_Schutzstrecke, 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 not self.gds_validate_simple_patterns( + self.validate_TMassgebende_Neig_Schutzstrecke_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TMassgebende_Neig_Schutzstrecke_patterns_, )) + result = False + return result + validate_TMassgebende_Neig_Schutzstrecke_patterns_ = [['^(-([1-9]|[1-7][0-9]|80)\\.[0-9]{2}|-0\\.[1-9][0-9]|-0\\.0[1-9]|[0-9]\\.[0-9]{2}|[1-7][0-9]\\.[0-9]{2}|80\\.00)$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCMassgebende_Neig_Schutzstrecke, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCMassgebende_Neig_Schutzstrecke', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCMassgebende_Neig_Schutzstrecke') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCMassgebende_Neig_Schutzstrecke': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCMassgebende_Neig_Schutzstrecke') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCMassgebende_Neig_Schutzstrecke', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCMassgebende_Neig_Schutzstrecke'): + super(TCMassgebende_Neig_Schutzstrecke, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCMassgebende_Neig_Schutzstrecke') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCMassgebende_Neig_Schutzstrecke', fromsubclass_=False, pretty_print=True): + super(TCMassgebende_Neig_Schutzstrecke, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_decimal(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCMassgebende_Neig_Schutzstrecke, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + fval_ = self.gds_parse_decimal(sval_, node, 'Wert') + fval_ = self.gds_validate_decimal(fval_, node, 'Wert') + self.Wert = fval_ + self.Wert_nsprefix_ = child_.prefix + # validate type TMassgebende_Neig_Schutzstrecke + self.validate_TMassgebende_Neig_Schutzstrecke(self.Wert) + super(TCMassgebende_Neig_Schutzstrecke, self)._buildChildren(child_, node, nodeName_, True) +# end class TCMassgebende_Neig_Schutzstrecke + + +class CDatenpunkt_Link(CBasis_Objekt): + """CDatenpunkt_Link -- Linking-Information zu einem nachfolgenden Datenpunkt. Die Information kann in mehreren Fachtelegrammen verwendet werden. Die Festlegung erfolgt nur bei ZBS und GNT im Rahmen des PT 1. + ID_DP_Link_Start -- Datenpunkt, von dem das Linking ausgeht (Start). Sofern der Datenpunkt nur + ü + ber ID_DP_Link_Start referenziert wird, erh + ä + lt er die Kennung \"A\" (Anfang des Linkings). Bei Referenzierung + ü + ber ID_DP_Link_Start wie auch ID_DP_Link_Ziel handelt es sich um einen Unterwegs-DP (Kennung \"U\"). + ID_DP_Link_Ziel -- Ziel-Datenpunkt des betreffenden Linkings. Sofern der Datenpunkt nur + ü + ber ID_DP_Link_Ziel referenziert wird, erh + ä + lt er die Kennung \"E\" (Ende des Linkings). Bei Referenzierung + ü + ber ID_DP_Link_Start wie auch ID_DP_Link_Ziel handelt es sich um einen Unterwegs-DP (Kennung \"U\"). + ID_Fachtelegramm -- Angabe aller Fachtelegramme, denen die Linking-Information zugeordnet wird. Die Angabe bezieht sich auf den Start-Datenpunkt des ersten Linkings. Dies ist der Datenpunkt, in dem die Linking-Informationen + ü + bertragen werden. + Link_Distanz -- Abstand zwischen Start- und Ziel-Datenpunkt des Linkings. Die Angabe ist erforderlich, um bei mehreren Fahrwegen zwischen Start- und Ziel-Datenpunkt die relevante Distanz eindeutig zu bestimmen. + Sofern mehrere Fahrwege und damit Distanzen zwischen Start- und Ziel-Datenpunkt existieren, sind mehrere Instanzen von Datenpunkt_Link anzulegen. + Ziel_DP_Ausrichtung -- Durch das Linking festgelegte Ausrichtung des Ziel-Datenpunkts in Bezug auf die Fahrtrichtung des auswertenden Zuges. Bei ESG entf + ä + llt die Angabe. + Anwendung_ESG -- Das Linking wird f + ü + r das Anwendungssystem ESG definiert (\"true\"). Der Wert \"false\" wird nicht verwendet. + Anwendung_GNT -- Das Linking wird f + ü + r das Anwendungssystem GNT definiert (\"true\"). Der Wert \"false\" wird nicht verwendet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasis_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, ID_DP_Link_Start=None, ID_DP_Link_Ziel=None, ID_Fachtelegramm=None, Link_Distanz=None, Ziel_DP_Ausrichtung=None, Anwendung_ESG=None, Anwendung_GNT=None, ZBS_Merkmale=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CDatenpunkt_Link"), self).__init__(Identitaet, Basis_Objekt_Allg, ID_Bearbeitungsvermerk, ID_Oertlichkeit_Ausgabe, Objektreferenzen, **kwargs_) + self.ID_DP_Link_Start = ID_DP_Link_Start + self.ID_DP_Link_Start_nsprefix_ = None + self.ID_DP_Link_Ziel = ID_DP_Link_Ziel + self.ID_DP_Link_Ziel_nsprefix_ = None + if ID_Fachtelegramm is None: + self.ID_Fachtelegramm = [] + else: + self.ID_Fachtelegramm = ID_Fachtelegramm + self.ID_Fachtelegramm_nsprefix_ = None + self.Link_Distanz = Link_Distanz + self.Link_Distanz_nsprefix_ = None + self.Ziel_DP_Ausrichtung = Ziel_DP_Ausrichtung + self.Ziel_DP_Ausrichtung_nsprefix_ = None + self.Anwendung_ESG = Anwendung_ESG + self.Anwendung_ESG_nsprefix_ = None + self.Anwendung_GNT = Anwendung_GNT + self.Anwendung_GNT_nsprefix_ = None + self.ZBS_Merkmale = ZBS_Merkmale + self.ZBS_Merkmale_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CDatenpunkt_Link) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CDatenpunkt_Link.subclass: + return CDatenpunkt_Link.subclass(*args_, **kwargs_) + else: + return CDatenpunkt_Link(*args_, **kwargs_) + factory = staticmethod(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_DP_Link_Start(self): + return self.ID_DP_Link_Start + def set_ID_DP_Link_Start(self, ID_DP_Link_Start): + self.ID_DP_Link_Start = ID_DP_Link_Start + def get_ID_DP_Link_Ziel(self): + return self.ID_DP_Link_Ziel + def set_ID_DP_Link_Ziel(self, ID_DP_Link_Ziel): + self.ID_DP_Link_Ziel = ID_DP_Link_Ziel + def get_ID_Fachtelegramm(self): + return self.ID_Fachtelegramm + def set_ID_Fachtelegramm(self, ID_Fachtelegramm): + self.ID_Fachtelegramm = ID_Fachtelegramm + def add_ID_Fachtelegramm(self, value): + self.ID_Fachtelegramm.append(value) + def insert_ID_Fachtelegramm_at(self, index, value): + self.ID_Fachtelegramm.insert(index, value) + def replace_ID_Fachtelegramm_at(self, index, value): + self.ID_Fachtelegramm[index] = value + def get_Link_Distanz(self): + return self.Link_Distanz + def set_Link_Distanz(self, Link_Distanz): + self.Link_Distanz = Link_Distanz + def get_Ziel_DP_Ausrichtung(self): + return self.Ziel_DP_Ausrichtung + def set_Ziel_DP_Ausrichtung(self, Ziel_DP_Ausrichtung): + self.Ziel_DP_Ausrichtung = Ziel_DP_Ausrichtung + def get_Anwendung_ESG(self): + return self.Anwendung_ESG + def set_Anwendung_ESG(self, Anwendung_ESG): + self.Anwendung_ESG = Anwendung_ESG + def get_Anwendung_GNT(self): + return self.Anwendung_GNT + def set_Anwendung_GNT(self, Anwendung_GNT): + self.Anwendung_GNT = Anwendung_GNT + def get_ZBS_Merkmale(self): + return self.ZBS_Merkmale + def set_ZBS_Merkmale(self, ZBS_Merkmale): + self.ZBS_Merkmale = ZBS_Merkmale + def has__content(self): + if ( + self.ID_DP_Link_Start is not None or + self.ID_DP_Link_Ziel is not None or + self.ID_Fachtelegramm or + self.Link_Distanz is not None or + self.Ziel_DP_Ausrichtung is not None or + self.Anwendung_ESG is not None or + self.Anwendung_GNT is not None or + self.ZBS_Merkmale is not None or + super(CDatenpunkt_Link, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CDatenpunkt_Link', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CDatenpunkt_Link') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CDatenpunkt_Link': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CDatenpunkt_Link') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CDatenpunkt_Link', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='CDatenpunkt_Link'): + super(CDatenpunkt_Link, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CDatenpunkt_Link') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CDatenpunkt_Link', fromsubclass_=False, pretty_print=True): + super(CDatenpunkt_Link, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.ID_DP_Link_Start is not None: + namespaceprefix_ = self.ID_DP_Link_Start_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_DP_Link_Start_nsprefix_) else '' + self.ID_DP_Link_Start.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_DP_Link_Start', pretty_print=pretty_print) + if self.ID_DP_Link_Ziel is not None: + namespaceprefix_ = self.ID_DP_Link_Ziel_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_DP_Link_Ziel_nsprefix_) else '' + self.ID_DP_Link_Ziel.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_DP_Link_Ziel', pretty_print=pretty_print) + for ID_Fachtelegramm_ in self.ID_Fachtelegramm: + namespaceprefix_ = self.ID_Fachtelegramm_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Fachtelegramm_nsprefix_) else '' + ID_Fachtelegramm_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Fachtelegramm', pretty_print=pretty_print) + if self.Link_Distanz is not None: + namespaceprefix_ = self.Link_Distanz_nsprefix_ + ':' if (UseCapturedNS_ and self.Link_Distanz_nsprefix_) else '' + self.Link_Distanz.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Link_Distanz', pretty_print=pretty_print) + if self.Ziel_DP_Ausrichtung is not None: + namespaceprefix_ = self.Ziel_DP_Ausrichtung_nsprefix_ + ':' if (UseCapturedNS_ and self.Ziel_DP_Ausrichtung_nsprefix_) else '' + self.Ziel_DP_Ausrichtung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Ziel_DP_Ausrichtung', pretty_print=pretty_print) + if self.Anwendung_ESG is not None: + namespaceprefix_ = self.Anwendung_ESG_nsprefix_ + ':' if (UseCapturedNS_ and self.Anwendung_ESG_nsprefix_) else '' + self.Anwendung_ESG.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Anwendung_ESG', pretty_print=pretty_print) + if self.Anwendung_GNT is not None: + namespaceprefix_ = self.Anwendung_GNT_nsprefix_ + ':' if (UseCapturedNS_ and self.Anwendung_GNT_nsprefix_) else '' + self.Anwendung_GNT.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Anwendung_GNT', pretty_print=pretty_print) + if self.ZBS_Merkmale is not None: + namespaceprefix_ = self.ZBS_Merkmale_nsprefix_ + ':' if (UseCapturedNS_ and self.ZBS_Merkmale_nsprefix_) else '' + self.ZBS_Merkmale.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ZBS_Merkmale', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CDatenpunkt_Link, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_DP_Link_Start': + obj_ = TCID_Datenpunkt.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_DP_Link_Start = obj_ + obj_.original_tagname_ = 'ID_DP_Link_Start' + elif nodeName_ == 'ID_DP_Link_Ziel': + obj_ = TCID_Datenpunkt.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_DP_Link_Ziel = obj_ + obj_.original_tagname_ = 'ID_DP_Link_Ziel' + elif nodeName_ == 'ID_Fachtelegramm': + obj_ = TCID_Fachtelegramm.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Fachtelegramm.append(obj_) + obj_.original_tagname_ = 'ID_Fachtelegramm' + elif nodeName_ == 'Link_Distanz': + obj_ = TCLink_Distanz.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Link_Distanz = obj_ + obj_.original_tagname_ = 'Link_Distanz' + elif nodeName_ == 'Ziel_DP_Ausrichtung': + obj_ = TCZiel_DP_Ausrichtung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Ziel_DP_Ausrichtung = obj_ + obj_.original_tagname_ = 'Ziel_DP_Ausrichtung' + elif nodeName_ == 'Anwendung_ESG': + obj_ = TCAnwendung_ESG.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Anwendung_ESG = obj_ + obj_.original_tagname_ = 'Anwendung_ESG' + elif nodeName_ == 'Anwendung_GNT': + obj_ = TCAnwendung_GNT.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Anwendung_GNT = obj_ + obj_.original_tagname_ = 'Anwendung_GNT' + elif nodeName_ == 'ZBS_Merkmale': + obj_ = CZBS_Merkmale.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ZBS_Merkmale = obj_ + obj_.original_tagname_ = 'ZBS_Merkmale' + super(CDatenpunkt_Link, self)._buildChildren(child_, node, nodeName_, True) +# end class CDatenpunkt_Link + + +class CESG_Spezifische_Merkmale(GeneratedsSuper): + """ETCS_Paketnummer -- Paketnummer gem + ä + ß + Dokument \"Telegramme f + ü + r Regelbremsweg xxxx m\". + ETCS_Par_Erlaeuterung -- Erl + ä + uterung des unter ETCS_Parametername definierten Parameters. + ETCS_Parametername -- Parametername gem + ä + ß + Dokument \"Telegramme f + ü + r Regelbremsweg xxxx m\". Wenn mehrere Parameter gleichen Namens im Paket auftauchen k + ö + nnen (z. B. in Aufz + ä + hlungen mit N_ITER), wird die Ordnungsnummer des individuellen Parameters in Klammern angegeben. Vgl. Subset 026-7. + ETCS_Parameterwert -- Wert des unter ETCS_Parametername definierten Parameters. + Rekursion_2_Nr -- Nummer der Rekursion in der zweiten Rekursionsebene bei rekursiv vorkommenden Paket-Parametern (N_ITER). + Rekursion_Nr -- Nummer der Rekursion bei rekursiv vorkommenden Paket-Parametern (N_ITER). + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, ETCS_Paketnummer=None, ETCS_Par_Erlaeuterung=None, ETCS_Parametername=None, ETCS_Parameterwert=None, Rekursion_2_Nr=None, Rekursion_Nr=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.ETCS_Paketnummer = ETCS_Paketnummer + self.ETCS_Paketnummer_nsprefix_ = None + self.ETCS_Par_Erlaeuterung = ETCS_Par_Erlaeuterung + self.ETCS_Par_Erlaeuterung_nsprefix_ = None + self.ETCS_Parametername = ETCS_Parametername + self.ETCS_Parametername_nsprefix_ = None + self.ETCS_Parameterwert = ETCS_Parameterwert + self.ETCS_Parameterwert_nsprefix_ = None + self.Rekursion_2_Nr = Rekursion_2_Nr + self.Rekursion_2_Nr_nsprefix_ = None + self.Rekursion_Nr = Rekursion_Nr + self.Rekursion_Nr_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CESG_Spezifische_Merkmale) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CESG_Spezifische_Merkmale.subclass: + return CESG_Spezifische_Merkmale.subclass(*args_, **kwargs_) + else: + return CESG_Spezifische_Merkmale(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_ETCS_Paketnummer(self): + return self.ETCS_Paketnummer + def set_ETCS_Paketnummer(self, ETCS_Paketnummer): + self.ETCS_Paketnummer = ETCS_Paketnummer + def get_ETCS_Par_Erlaeuterung(self): + return self.ETCS_Par_Erlaeuterung + def set_ETCS_Par_Erlaeuterung(self, ETCS_Par_Erlaeuterung): + self.ETCS_Par_Erlaeuterung = ETCS_Par_Erlaeuterung + def get_ETCS_Parametername(self): + return self.ETCS_Parametername + def set_ETCS_Parametername(self, ETCS_Parametername): + self.ETCS_Parametername = ETCS_Parametername + def get_ETCS_Parameterwert(self): + return self.ETCS_Parameterwert + def set_ETCS_Parameterwert(self, ETCS_Parameterwert): + self.ETCS_Parameterwert = ETCS_Parameterwert + def get_Rekursion_2_Nr(self): + return self.Rekursion_2_Nr + def set_Rekursion_2_Nr(self, Rekursion_2_Nr): + self.Rekursion_2_Nr = Rekursion_2_Nr + def get_Rekursion_Nr(self): + return self.Rekursion_Nr + def set_Rekursion_Nr(self, Rekursion_Nr): + self.Rekursion_Nr = Rekursion_Nr + def has__content(self): + if ( + self.ETCS_Paketnummer is not None or + self.ETCS_Par_Erlaeuterung is not None or + self.ETCS_Parametername is not None or + self.ETCS_Parameterwert is not None or + self.Rekursion_2_Nr is not None or + self.Rekursion_Nr is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='CESG_Spezifische_Merkmale', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CESG_Spezifische_Merkmale') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CESG_Spezifische_Merkmale': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CESG_Spezifische_Merkmale') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CESG_Spezifische_Merkmale', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='CESG_Spezifische_Merkmale'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='CESG_Spezifische_Merkmale', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.ETCS_Paketnummer is not None: + namespaceprefix_ = self.ETCS_Paketnummer_nsprefix_ + ':' if (UseCapturedNS_ and self.ETCS_Paketnummer_nsprefix_) else '' + self.ETCS_Paketnummer.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ETCS_Paketnummer', pretty_print=pretty_print) + if self.ETCS_Par_Erlaeuterung is not None: + namespaceprefix_ = self.ETCS_Par_Erlaeuterung_nsprefix_ + ':' if (UseCapturedNS_ and self.ETCS_Par_Erlaeuterung_nsprefix_) else '' + self.ETCS_Par_Erlaeuterung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ETCS_Par_Erlaeuterung', pretty_print=pretty_print) + if self.ETCS_Parametername is not None: + namespaceprefix_ = self.ETCS_Parametername_nsprefix_ + ':' if (UseCapturedNS_ and self.ETCS_Parametername_nsprefix_) else '' + self.ETCS_Parametername.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ETCS_Parametername', pretty_print=pretty_print) + if self.ETCS_Parameterwert is not None: + namespaceprefix_ = self.ETCS_Parameterwert_nsprefix_ + ':' if (UseCapturedNS_ and self.ETCS_Parameterwert_nsprefix_) else '' + self.ETCS_Parameterwert.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ETCS_Parameterwert', pretty_print=pretty_print) + if self.Rekursion_2_Nr is not None: + namespaceprefix_ = self.Rekursion_2_Nr_nsprefix_ + ':' if (UseCapturedNS_ and self.Rekursion_2_Nr_nsprefix_) else '' + self.Rekursion_2_Nr.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Rekursion_2_Nr', pretty_print=pretty_print) + if self.Rekursion_Nr is not None: + namespaceprefix_ = self.Rekursion_Nr_nsprefix_ + ':' if (UseCapturedNS_ and self.Rekursion_Nr_nsprefix_) else '' + self.Rekursion_Nr.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Rekursion_Nr', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ETCS_Paketnummer': + obj_ = TCETCS_Paketnummer.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ETCS_Paketnummer = obj_ + obj_.original_tagname_ = 'ETCS_Paketnummer' + elif nodeName_ == 'ETCS_Par_Erlaeuterung': + obj_ = TCETCS_Par_Erlaeuterung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ETCS_Par_Erlaeuterung = obj_ + obj_.original_tagname_ = 'ETCS_Par_Erlaeuterung' + elif nodeName_ == 'ETCS_Parametername': + obj_ = TCETCS_Parametername.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ETCS_Parametername = obj_ + obj_.original_tagname_ = 'ETCS_Parametername' + elif nodeName_ == 'ETCS_Parameterwert': + obj_ = TCETCS_Parameterwert.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ETCS_Parameterwert = obj_ + obj_.original_tagname_ = 'ETCS_Parameterwert' + elif nodeName_ == 'Rekursion_2_Nr': + obj_ = TCRekursion_2_Nr.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Rekursion_2_Nr = obj_ + obj_.original_tagname_ = 'Rekursion_2_Nr' + elif nodeName_ == 'Rekursion_Nr': + obj_ = TCRekursion_Nr.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Rekursion_Nr = obj_ + obj_.original_tagname_ = 'Rekursion_Nr' +# end class CESG_Spezifische_Merkmale + + +class CETCS_Adresse(GeneratedsSuper): + """NID_C -- Kennung zur Unterscheidung verschiedener Regionen. Bestandteil der ETCS-ID gem + ä + ß + Subset 26, Kapitel 7 und 8. + NID_RBC -- Kennung des RBC innerhalb einer Region. Bestandteil der ETCS-ID gem + ä + ß + Subset 26, Kapitel 7 und 8. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, NID_C=None, NID_RBC=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.NID_C = NID_C + self.NID_C_nsprefix_ = None + self.NID_RBC = NID_RBC + self.NID_RBC_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CETCS_Adresse) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CETCS_Adresse.subclass: + return CETCS_Adresse.subclass(*args_, **kwargs_) + else: + return CETCS_Adresse(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_NID_C(self): + return self.NID_C + def set_NID_C(self, NID_C): + self.NID_C = NID_C + def get_NID_RBC(self): + return self.NID_RBC + def set_NID_RBC(self, NID_RBC): + self.NID_RBC = NID_RBC + def has__content(self): + if ( + self.NID_C is not None or + self.NID_RBC is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='CETCS_Adresse', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CETCS_Adresse') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CETCS_Adresse': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CETCS_Adresse') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CETCS_Adresse', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='CETCS_Adresse'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='CETCS_Adresse', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.NID_C is not None: + namespaceprefix_ = self.NID_C_nsprefix_ + ':' if (UseCapturedNS_ and self.NID_C_nsprefix_) else '' + self.NID_C.export(outfile, level, namespaceprefix_, namespacedef_='', name_='NID_C', pretty_print=pretty_print) + if self.NID_RBC is not None: + namespaceprefix_ = self.NID_RBC_nsprefix_ + ':' if (UseCapturedNS_ and self.NID_RBC_nsprefix_) else '' + self.NID_RBC.export(outfile, level, namespaceprefix_, namespacedef_='', name_='NID_RBC', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'NID_C': + obj_ = TCNID_C.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.NID_C = obj_ + obj_.original_tagname_ = 'NID_C' + elif nodeName_ == 'NID_RBC': + obj_ = TCNID_RBC.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.NID_RBC = obj_ + obj_.original_tagname_ = 'NID_RBC' +# end class CETCS_Adresse + + +class CDP_Typ_GETCS(GeneratedsSuper): + """DP_ATO -- Verwendungsart des Datenpunkt(typ)s bei Nutzung f + ü + r ATO. Das Attribut kann die Werte \"Pr + ä + zisionshalt\", \"Pr + ä + zisionshalt hochpr + ä + zise\" (mit besonderen Anforderungen hinsichtlich Platzierung und Einmessung) und \"sonstige\" (sonstige Funktion f + ü + r ATO, die mittels Bearbeitungsvermerk zu erl + ä + utern ist) annehmen. Hat der Datenpunkt(typ) f + ü + r ATO keinerlei Funktion, entf + ä + llt das Attribut. + DP_Typ_ETCS -- Durch das Anwendungssystem ETCS definierter Datenpunkttyp. Bei zusammengefassten Datenpunkttypen erfolgt eine mehrfache Angabe. + ID_DP_Bezug_Funktional -- Element, auf das sich der fachliche Inhalt des Datenpunkts bezieht. Der fachliche Bezug kann Vorgaben f + ü + r die Positionierung des Datenpunkts beinhalten. Die Angabe ist nur erforderlich, sofern sich dieser Punkt nicht + ü + ber eine zugeh + ö + rige LEU-Anlage ermittelt werden kann bzw. soll. Gro + ß + e Metallteile werden + ü + ber ZUB_Streckeneigenschaft abgebildet. Bei ETCS L2 erfolgt die Angabe des Bezugspunkts im Zuammenhang mit dem DP-Typ. + Verkuerzter_Abstand -- Bei DP 26: Angabe des Abstands, um den der Beginn der Langsamfahrstelle verk + ü + rzt wird. DB-Regelwerk Ril 819.1344, 4.1 (31) + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, DP_ATO=None, DP_Typ_ETCS=None, ID_DP_Bezug_Funktional=None, Verkuerzter_Abstand=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.DP_ATO = DP_ATO + self.DP_ATO_nsprefix_ = None + self.DP_Typ_ETCS = DP_Typ_ETCS + self.DP_Typ_ETCS_nsprefix_ = None + self.ID_DP_Bezug_Funktional = ID_DP_Bezug_Funktional + self.ID_DP_Bezug_Funktional_nsprefix_ = None + self.Verkuerzter_Abstand = Verkuerzter_Abstand + self.Verkuerzter_Abstand_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CDP_Typ_GETCS) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CDP_Typ_GETCS.subclass: + return CDP_Typ_GETCS.subclass(*args_, **kwargs_) + else: + return CDP_Typ_GETCS(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_DP_ATO(self): + return self.DP_ATO + def set_DP_ATO(self, DP_ATO): + self.DP_ATO = DP_ATO + def get_DP_Typ_ETCS(self): + return self.DP_Typ_ETCS + def set_DP_Typ_ETCS(self, DP_Typ_ETCS): + self.DP_Typ_ETCS = DP_Typ_ETCS + def get_ID_DP_Bezug_Funktional(self): + return self.ID_DP_Bezug_Funktional + def set_ID_DP_Bezug_Funktional(self, ID_DP_Bezug_Funktional): + self.ID_DP_Bezug_Funktional = ID_DP_Bezug_Funktional + def get_Verkuerzter_Abstand(self): + return self.Verkuerzter_Abstand + def set_Verkuerzter_Abstand(self, Verkuerzter_Abstand): + self.Verkuerzter_Abstand = Verkuerzter_Abstand + def has__content(self): + if ( + self.DP_ATO is not None or + self.DP_Typ_ETCS is not None or + self.ID_DP_Bezug_Funktional is not None or + self.Verkuerzter_Abstand is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CDP_Typ_GETCS', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CDP_Typ_GETCS') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CDP_Typ_GETCS': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CDP_Typ_GETCS') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CDP_Typ_GETCS', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='CDP_Typ_GETCS'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CDP_Typ_GETCS', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.DP_ATO is not None: + namespaceprefix_ = self.DP_ATO_nsprefix_ + ':' if (UseCapturedNS_ and self.DP_ATO_nsprefix_) else '' + self.DP_ATO.export(outfile, level, namespaceprefix_, namespacedef_='', name_='DP_ATO', pretty_print=pretty_print) + if self.DP_Typ_ETCS is not None: + namespaceprefix_ = self.DP_Typ_ETCS_nsprefix_ + ':' if (UseCapturedNS_ and self.DP_Typ_ETCS_nsprefix_) else '' + self.DP_Typ_ETCS.export(outfile, level, namespaceprefix_, namespacedef_='', name_='DP_Typ_ETCS', pretty_print=pretty_print) + if self.ID_DP_Bezug_Funktional is not None: + namespaceprefix_ = self.ID_DP_Bezug_Funktional_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_DP_Bezug_Funktional_nsprefix_) else '' + self.ID_DP_Bezug_Funktional.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_DP_Bezug_Funktional', pretty_print=pretty_print) + if self.Verkuerzter_Abstand is not None: + namespaceprefix_ = self.Verkuerzter_Abstand_nsprefix_ + ':' if (UseCapturedNS_ and self.Verkuerzter_Abstand_nsprefix_) else '' + self.Verkuerzter_Abstand.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Verkuerzter_Abstand', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'DP_ATO': + obj_ = TCDP_ATO.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.DP_ATO = obj_ + obj_.original_tagname_ = 'DP_ATO' + elif nodeName_ == 'DP_Typ_ETCS': + obj_ = TCDP_Typ_ETCS.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.DP_Typ_ETCS = obj_ + obj_.original_tagname_ = 'DP_Typ_ETCS' + elif nodeName_ == 'ID_DP_Bezug_Funktional': + obj_ = TCID_DP_Bezug_Funktional.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_DP_Bezug_Funktional = obj_ + obj_.original_tagname_ = 'ID_DP_Bezug_Funktional' + elif nodeName_ == 'Verkuerzter_Abstand': + obj_ = TCVerkuerzter_Abstand.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Verkuerzter_Abstand = obj_ + obj_.original_tagname_ = 'Verkuerzter_Abstand' +# end class CDP_Typ_GETCS + + +class CZBS_Merkmale(GeneratedsSuper): + """DP_Link_Art -- Art des Linkings (Grund- oder Hilfs-). Der Ziel-Datenpunkt des Grund-Linkings muss mit dem Ziel-Datenpunkt des letzten Hilfs-Linkings + ü + bereinstimmen. Ist diese Bedingung nicht erf + ü + llt, ist ein Verkettungsst + ü + tzpunkt erforderlich. Ein Verkettungsst + ü + tzpunkt besitzt keine Grundverkettung und er ist Start-DP f + ü + r weitere Hilfs-Linkings mit unterschiedlichen Fachtelegrammen. + ZBS_Reaktion -- Reaktion des Fahrzeugger + ä + ts, wenn der unter ID_DP_Link_Ziel angegebene Ziel-Datenpunkt nicht gelesen wird. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, DP_Link_Art=None, ZBS_Reaktion=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.DP_Link_Art = DP_Link_Art + self.DP_Link_Art_nsprefix_ = None + self.ZBS_Reaktion = ZBS_Reaktion + self.ZBS_Reaktion_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CZBS_Merkmale) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CZBS_Merkmale.subclass: + return CZBS_Merkmale.subclass(*args_, **kwargs_) + else: + return CZBS_Merkmale(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_DP_Link_Art(self): + return self.DP_Link_Art + def set_DP_Link_Art(self, DP_Link_Art): + self.DP_Link_Art = DP_Link_Art + def get_ZBS_Reaktion(self): + return self.ZBS_Reaktion + def set_ZBS_Reaktion(self, ZBS_Reaktion): + self.ZBS_Reaktion = ZBS_Reaktion + def has__content(self): + if ( + self.DP_Link_Art is not None or + self.ZBS_Reaktion is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='CZBS_Merkmale', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CZBS_Merkmale') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CZBS_Merkmale': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CZBS_Merkmale') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CZBS_Merkmale', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='CZBS_Merkmale'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='CZBS_Merkmale', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.DP_Link_Art is not None: + namespaceprefix_ = self.DP_Link_Art_nsprefix_ + ':' if (UseCapturedNS_ and self.DP_Link_Art_nsprefix_) else '' + self.DP_Link_Art.export(outfile, level, namespaceprefix_, namespacedef_='', name_='DP_Link_Art', pretty_print=pretty_print) + if self.ZBS_Reaktion is not None: + namespaceprefix_ = self.ZBS_Reaktion_nsprefix_ + ':' if (UseCapturedNS_ and self.ZBS_Reaktion_nsprefix_) else '' + self.ZBS_Reaktion.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ZBS_Reaktion', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'DP_Link_Art': + obj_ = TCDP_Link_Art.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.DP_Link_Art = obj_ + obj_.original_tagname_ = 'DP_Link_Art' + elif nodeName_ == 'ZBS_Reaktion': + obj_ = TCZBS_Reaktion.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ZBS_Reaktion = obj_ + obj_.original_tagname_ = 'ZBS_Reaktion' +# end class CZBS_Merkmale + + +class TCUntergruppen_ID(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCUntergruppen_ID"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TUntergruppen_ID(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCUntergruppen_ID) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCUntergruppen_ID.subclass: + return TCUntergruppen_ID.subclass(*args_, **kwargs_) + else: + return TCUntergruppen_ID(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TUntergruppen_ID(self, value): + result = True + # Validate type TUntergruppen_ID, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TUntergruppen_ID_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TUntergruppen_ID_patterns_, )) + result = False + return result + validate_TUntergruppen_ID_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCUntergruppen_ID, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCUntergruppen_ID', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCUntergruppen_ID') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCUntergruppen_ID': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCUntergruppen_ID') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCUntergruppen_ID', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCUntergruppen_ID'): + super(TCUntergruppen_ID, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCUntergruppen_ID') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCUntergruppen_ID', fromsubclass_=False, pretty_print=True): + super(TCUntergruppen_ID, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCUntergruppen_ID, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TUntergruppen_ID + self.validate_TUntergruppen_ID(self.Wert) + super(TCUntergruppen_ID, self)._buildChildren(child_, node, nodeName_, True) +# end class TCUntergruppen_ID + + +class TCLEU_Anlage_Art(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCLEU_Anlage_Art"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMLEU_Art(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCLEU_Anlage_Art) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCLEU_Anlage_Art.subclass: + return TCLEU_Anlage_Art.subclass(*args_, **kwargs_) + else: + return TCLEU_Anlage_Art(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMLEU_Art(self, value): + result = True + # Validate type ENUMLEU_Art, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['LEU-P', 'Voll-LEU'] + 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 ENUMLEU_Art' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCLEU_Anlage_Art, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCLEU_Anlage_Art', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCLEU_Anlage_Art') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCLEU_Anlage_Art': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCLEU_Anlage_Art') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCLEU_Anlage_Art', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCLEU_Anlage_Art'): + super(TCLEU_Anlage_Art, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCLEU_Anlage_Art') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCLEU_Anlage_Art', fromsubclass_=False, pretty_print=True): + super(TCLEU_Anlage_Art, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCLEU_Anlage_Art, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMLEU_Art + self.validate_ENUMLEU_Art(self.Wert) + super(TCLEU_Anlage_Art, self)._buildChildren(child_, node, nodeName_, True) +# end class TCLEU_Anlage_Art + + +class TCEinstieg_Erlaubt(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCEinstieg_Erlaubt"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCEinstieg_Erlaubt) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCEinstieg_Erlaubt.subclass: + return TCEinstieg_Erlaubt.subclass(*args_, **kwargs_) + else: + return TCEinstieg_Erlaubt(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def has__content(self): + if ( + self.Wert is not None or + super(TCEinstieg_Erlaubt, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCEinstieg_Erlaubt', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCEinstieg_Erlaubt') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCEinstieg_Erlaubt': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCEinstieg_Erlaubt') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCEinstieg_Erlaubt', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCEinstieg_Erlaubt'): + super(TCEinstieg_Erlaubt, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCEinstieg_Erlaubt') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCEinstieg_Erlaubt', fromsubclass_=False, pretty_print=True): + super(TCEinstieg_Erlaubt, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_boolean(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCEinstieg_Erlaubt, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + sval_ = child_.text + ival_ = self.gds_parse_boolean(sval_, node, 'Wert') + ival_ = self.gds_validate_boolean(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + super(TCEinstieg_Erlaubt, self)._buildChildren(child_, node, nodeName_, True) +# end class TCEinstieg_Erlaubt + + +class TCNID_STM(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCNID_STM"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMNID_STM(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCNID_STM) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCNID_STM.subclass: + return TCNID_STM.subclass(*args_, **kwargs_) + else: + return TCNID_STM(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMNID_STM(self, value): + result = True + # Validate type ENUMNID_STM, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['ATB', 'Crocodile', 'EBICAB 900 (Poland)', 'HVB', 'INDUSI', 'LS', 'MEMOR II+', 'PZB/LZB', 'RPS', 'SHP', 'sonstige', 'TBL 1', 'TBL 1+', 'TBL 2/3', 'TVM', 'ZUB121/Signum', 'ZUB123'] + 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 ENUMNID_STM' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCNID_STM, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCNID_STM', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCNID_STM') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCNID_STM': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCNID_STM') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCNID_STM', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCNID_STM'): + super(TCNID_STM, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCNID_STM') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCNID_STM', fromsubclass_=False, pretty_print=True): + super(TCNID_STM, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCNID_STM, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMNID_STM + self.validate_ENUMNID_STM(self.Wert) + super(TCNID_STM, self)._buildChildren(child_, node, nodeName_, True) +# end class TCNID_STM + + +class CDP_Typ(GeneratedsSuper): + """DP_Typ_Art -- Das angegebene Anwendungssystem ist das sekund + ä + r genutzte. Sofern keine Angabe vorhanden ist, handelt es sich um das einzige oder primaer genutzte Anwendungssystem. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, DP_Typ_Art=None, DP_Typ_GESG=None, DP_Typ_GETCS=None, DP_Typ_GGNT=None, DP_Typ_GSonst=None, DP_Typ_GTrans=None, DP_Typ_GZBS=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.DP_Typ_Art = DP_Typ_Art + self.DP_Typ_Art_nsprefix_ = None + self.DP_Typ_GESG = DP_Typ_GESG + self.DP_Typ_GESG_nsprefix_ = None + if DP_Typ_GETCS is None: + self.DP_Typ_GETCS = [] + else: + self.DP_Typ_GETCS = DP_Typ_GETCS + self.DP_Typ_GETCS_nsprefix_ = None + self.DP_Typ_GGNT = DP_Typ_GGNT + self.DP_Typ_GGNT_nsprefix_ = None + self.DP_Typ_GSonst = DP_Typ_GSonst + self.DP_Typ_GSonst_nsprefix_ = None + self.DP_Typ_GTrans = DP_Typ_GTrans + self.DP_Typ_GTrans_nsprefix_ = None + self.DP_Typ_GZBS = DP_Typ_GZBS + self.DP_Typ_GZBS_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CDP_Typ) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CDP_Typ.subclass: + return CDP_Typ.subclass(*args_, **kwargs_) + else: + return CDP_Typ(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_DP_Typ_Art(self): + return self.DP_Typ_Art + def set_DP_Typ_Art(self, DP_Typ_Art): + self.DP_Typ_Art = DP_Typ_Art + def get_DP_Typ_GESG(self): + return self.DP_Typ_GESG + def set_DP_Typ_GESG(self, DP_Typ_GESG): + self.DP_Typ_GESG = DP_Typ_GESG + def get_DP_Typ_GETCS(self): + return self.DP_Typ_GETCS + def set_DP_Typ_GETCS(self, DP_Typ_GETCS): + self.DP_Typ_GETCS = DP_Typ_GETCS + def add_DP_Typ_GETCS(self, value): + self.DP_Typ_GETCS.append(value) + def insert_DP_Typ_GETCS_at(self, index, value): + self.DP_Typ_GETCS.insert(index, value) + def replace_DP_Typ_GETCS_at(self, index, value): + self.DP_Typ_GETCS[index] = value + def get_DP_Typ_GGNT(self): + return self.DP_Typ_GGNT + def set_DP_Typ_GGNT(self, DP_Typ_GGNT): + self.DP_Typ_GGNT = DP_Typ_GGNT + def get_DP_Typ_GSonst(self): + return self.DP_Typ_GSonst + def set_DP_Typ_GSonst(self, DP_Typ_GSonst): + self.DP_Typ_GSonst = DP_Typ_GSonst + def get_DP_Typ_GTrans(self): + return self.DP_Typ_GTrans + def set_DP_Typ_GTrans(self, DP_Typ_GTrans): + self.DP_Typ_GTrans = DP_Typ_GTrans + def get_DP_Typ_GZBS(self): + return self.DP_Typ_GZBS + def set_DP_Typ_GZBS(self, DP_Typ_GZBS): + self.DP_Typ_GZBS = DP_Typ_GZBS + def has__content(self): + if ( + self.DP_Typ_Art is not None or + self.DP_Typ_GESG is not None or + self.DP_Typ_GETCS or + self.DP_Typ_GGNT is not None or + self.DP_Typ_GSonst is not None or + self.DP_Typ_GTrans is not None or + self.DP_Typ_GZBS is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='CDP_Typ', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CDP_Typ') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CDP_Typ': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CDP_Typ') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CDP_Typ', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='CDP_Typ'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='CDP_Typ', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.DP_Typ_Art is not None: + namespaceprefix_ = self.DP_Typ_Art_nsprefix_ + ':' if (UseCapturedNS_ and self.DP_Typ_Art_nsprefix_) else '' + self.DP_Typ_Art.export(outfile, level, namespaceprefix_, namespacedef_='', name_='DP_Typ_Art', pretty_print=pretty_print) + if self.DP_Typ_GESG is not None: + namespaceprefix_ = self.DP_Typ_GESG_nsprefix_ + ':' if (UseCapturedNS_ and self.DP_Typ_GESG_nsprefix_) else '' + self.DP_Typ_GESG.export(outfile, level, namespaceprefix_, namespacedef_='', name_='DP_Typ_GESG', pretty_print=pretty_print) + for DP_Typ_GETCS_ in self.DP_Typ_GETCS: + namespaceprefix_ = self.DP_Typ_GETCS_nsprefix_ + ':' if (UseCapturedNS_ and self.DP_Typ_GETCS_nsprefix_) else '' + DP_Typ_GETCS_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='DP_Typ_GETCS', pretty_print=pretty_print) + if self.DP_Typ_GGNT is not None: + namespaceprefix_ = self.DP_Typ_GGNT_nsprefix_ + ':' if (UseCapturedNS_ and self.DP_Typ_GGNT_nsprefix_) else '' + self.DP_Typ_GGNT.export(outfile, level, namespaceprefix_, namespacedef_='', name_='DP_Typ_GGNT', pretty_print=pretty_print) + if self.DP_Typ_GSonst is not None: + namespaceprefix_ = self.DP_Typ_GSonst_nsprefix_ + ':' if (UseCapturedNS_ and self.DP_Typ_GSonst_nsprefix_) else '' + self.DP_Typ_GSonst.export(outfile, level, namespaceprefix_, namespacedef_='', name_='DP_Typ_GSonst', pretty_print=pretty_print) + if self.DP_Typ_GTrans is not None: + namespaceprefix_ = self.DP_Typ_GTrans_nsprefix_ + ':' if (UseCapturedNS_ and self.DP_Typ_GTrans_nsprefix_) else '' + self.DP_Typ_GTrans.export(outfile, level, namespaceprefix_, namespacedef_='', name_='DP_Typ_GTrans', pretty_print=pretty_print) + if self.DP_Typ_GZBS is not None: + namespaceprefix_ = self.DP_Typ_GZBS_nsprefix_ + ':' if (UseCapturedNS_ and self.DP_Typ_GZBS_nsprefix_) else '' + self.DP_Typ_GZBS.export(outfile, level, namespaceprefix_, namespacedef_='', name_='DP_Typ_GZBS', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'DP_Typ_Art': + obj_ = TCDP_Typ_Art.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.DP_Typ_Art = obj_ + obj_.original_tagname_ = 'DP_Typ_Art' + elif nodeName_ == 'DP_Typ_GESG': + obj_ = CDP_Typ_GESG.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.DP_Typ_GESG = obj_ + obj_.original_tagname_ = 'DP_Typ_GESG' + elif nodeName_ == 'DP_Typ_GETCS': + obj_ = CDP_Typ_GETCS.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.DP_Typ_GETCS.append(obj_) + obj_.original_tagname_ = 'DP_Typ_GETCS' + elif nodeName_ == 'DP_Typ_GGNT': + obj_ = CDP_Typ_GGNT.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.DP_Typ_GGNT = obj_ + obj_.original_tagname_ = 'DP_Typ_GGNT' + elif nodeName_ == 'DP_Typ_GSonst': + obj_ = CDP_Typ_GSonst.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.DP_Typ_GSonst = obj_ + obj_.original_tagname_ = 'DP_Typ_GSonst' + elif nodeName_ == 'DP_Typ_GTrans': + obj_ = CDP_Typ_GTrans.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.DP_Typ_GTrans = obj_ + obj_.original_tagname_ = 'DP_Typ_GTrans' + elif nodeName_ == 'DP_Typ_GZBS': + obj_ = CDP_Typ_GZBS.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.DP_Typ_GZBS = obj_ + obj_.original_tagname_ = 'DP_Typ_GZBS' +# end class CDP_Typ + + +class TCBez_ZUB_Bereichsgrenze(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCBez_ZUB_Bereichsgrenze"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TBez_ZUB_Bereichsgrenze(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCBez_ZUB_Bereichsgrenze) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCBez_ZUB_Bereichsgrenze.subclass: + return TCBez_ZUB_Bereichsgrenze.subclass(*args_, **kwargs_) + else: + return TCBez_ZUB_Bereichsgrenze(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TBez_ZUB_Bereichsgrenze(self, value): + result = True + # Validate type TBez_ZUB_Bereichsgrenze, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TBez_ZUB_Bereichsgrenze_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TBez_ZUB_Bereichsgrenze_patterns_, )) + result = False + return result + validate_TBez_ZUB_Bereichsgrenze_patterns_ = [['^(.{1,50})$'], ['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCBez_ZUB_Bereichsgrenze, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCBez_ZUB_Bereichsgrenze', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCBez_ZUB_Bereichsgrenze') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCBez_ZUB_Bereichsgrenze': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBez_ZUB_Bereichsgrenze') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCBez_ZUB_Bereichsgrenze', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCBez_ZUB_Bereichsgrenze'): + super(TCBez_ZUB_Bereichsgrenze, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBez_ZUB_Bereichsgrenze') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCBez_ZUB_Bereichsgrenze', fromsubclass_=False, pretty_print=True): + super(TCBez_ZUB_Bereichsgrenze, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCBez_ZUB_Bereichsgrenze, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TBez_ZUB_Bereichsgrenze + self.validate_TBez_ZUB_Bereichsgrenze(self.Wert) + super(TCBez_ZUB_Bereichsgrenze, self)._buildChildren(child_, node, nodeName_, True) +# end class TCBez_ZUB_Bereichsgrenze + + +class CBalise(CBasis_Objekt): + """CBalise -- Bauelement zur + Ü + bertragung von Telegrammen an ETCS-Fahrzeugeinrichtungen. Gesteuerte Balisen sind anhand des Verweises LEU_Modul.LEU_Modul_Ausgang.ID_Balise auf diese Balise zu erkennen. Bei Erstellung des PT 1 ESG sind neben dem Datenpunkt auch die entsprechende Anzahl von Balisen anzulegen. + ID_Datenpunkt -- Verweis auf den Datenpunkt, zu dem die Balise geh + ö + rt. Die maximale Anzahl von 16 Balisen f + ü + r einen Datenpunkt ergibt sich aus der M + ö + glichkeit duplizierter Balisen. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasis_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, Balise_Allg=None, ID_Datenpunkt=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CBalise"), self).__init__(Identitaet, Basis_Objekt_Allg, ID_Bearbeitungsvermerk, ID_Oertlichkeit_Ausgabe, Objektreferenzen, **kwargs_) + self.Balise_Allg = Balise_Allg + self.Balise_Allg_nsprefix_ = None + self.ID_Datenpunkt = ID_Datenpunkt + self.ID_Datenpunkt_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CBalise) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CBalise.subclass: + return CBalise.subclass(*args_, **kwargs_) + else: + return CBalise(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Balise_Allg(self): + return self.Balise_Allg + def set_Balise_Allg(self, Balise_Allg): + self.Balise_Allg = Balise_Allg + def get_ID_Datenpunkt(self): + return self.ID_Datenpunkt + def set_ID_Datenpunkt(self, ID_Datenpunkt): + self.ID_Datenpunkt = ID_Datenpunkt + def has__content(self): + if ( + self.Balise_Allg is not None or + self.ID_Datenpunkt is not None or + super(CBalise, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CBalise', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CBalise') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CBalise': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CBalise') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CBalise', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='CBalise'): + super(CBalise, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CBalise') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CBalise', fromsubclass_=False, pretty_print=True): + super(CBalise, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Balise_Allg is not None: + namespaceprefix_ = self.Balise_Allg_nsprefix_ + ':' if (UseCapturedNS_ and self.Balise_Allg_nsprefix_) else '' + self.Balise_Allg.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Balise_Allg', pretty_print=pretty_print) + if self.ID_Datenpunkt is not None: + namespaceprefix_ = self.ID_Datenpunkt_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Datenpunkt_nsprefix_) else '' + self.ID_Datenpunkt.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Datenpunkt', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CBalise, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Balise_Allg': + obj_ = CBalise_Allg.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Balise_Allg = obj_ + obj_.original_tagname_ = 'Balise_Allg' + elif nodeName_ == 'ID_Datenpunkt': + obj_ = TCID_Datenpunkt_ohne_Proxy.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Datenpunkt = obj_ + obj_.original_tagname_ = 'ID_Datenpunkt' + super(CBalise, self)._buildChildren(child_, node, nodeName_, True) +# end class CBalise + + +class CDP_Typ_GTrans(GeneratedsSuper): + """DP_Typ_Trans -- Angabe, ob es sich um einen Ank + ü + ndigungs- oder Transitions-Datenpunkt handelt. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, DP_Typ_Trans=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.DP_Typ_Trans = DP_Typ_Trans + self.DP_Typ_Trans_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CDP_Typ_GTrans) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CDP_Typ_GTrans.subclass: + return CDP_Typ_GTrans.subclass(*args_, **kwargs_) + else: + return CDP_Typ_GTrans(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_DP_Typ_Trans(self): + return self.DP_Typ_Trans + def set_DP_Typ_Trans(self, DP_Typ_Trans): + self.DP_Typ_Trans = DP_Typ_Trans + def has__content(self): + if ( + self.DP_Typ_Trans is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='CDP_Typ_GTrans', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CDP_Typ_GTrans') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CDP_Typ_GTrans': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CDP_Typ_GTrans') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CDP_Typ_GTrans', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='CDP_Typ_GTrans'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='CDP_Typ_GTrans', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.DP_Typ_Trans is not None: + namespaceprefix_ = self.DP_Typ_Trans_nsprefix_ + ':' if (UseCapturedNS_ and self.DP_Typ_Trans_nsprefix_) else '' + self.DP_Typ_Trans.export(outfile, level, namespaceprefix_, namespacedef_='', name_='DP_Typ_Trans', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'DP_Typ_Trans': + obj_ = TCDP_Typ_Trans.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.DP_Typ_Trans = obj_ + obj_.original_tagname_ = 'DP_Typ_Trans' +# end class CDP_Typ_GTrans + + +class CZUB_Bgrenze_RBC_Wechsel(GeneratedsSuper): + """Bgrenze_RBC_Wechsel_BTS_Kette -- Angaben zu den drei angrenzenden GSM-R-Sendemasten (BTS). Die Angabe erfolgt f + ü + r jede Fahrtrichtung und Fahrtm + ö + glichkeit. + ID_RBC_Nach_Grenze -- Verweis auf das nach der Bereichsgrenze zust + ä + ndige RBC. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Bgrenze_RBC_Wechsel_BTS_Kette=None, ID_RBC_Nach_Grenze=None, gds_collector_=None, **kwargs_): + self.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 Bgrenze_RBC_Wechsel_BTS_Kette is None: + self.Bgrenze_RBC_Wechsel_BTS_Kette = [] + else: + self.Bgrenze_RBC_Wechsel_BTS_Kette = Bgrenze_RBC_Wechsel_BTS_Kette + self.Bgrenze_RBC_Wechsel_BTS_Kette_nsprefix_ = None + self.ID_RBC_Nach_Grenze = ID_RBC_Nach_Grenze + self.ID_RBC_Nach_Grenze_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CZUB_Bgrenze_RBC_Wechsel) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CZUB_Bgrenze_RBC_Wechsel.subclass: + return CZUB_Bgrenze_RBC_Wechsel.subclass(*args_, **kwargs_) + else: + return CZUB_Bgrenze_RBC_Wechsel(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Bgrenze_RBC_Wechsel_BTS_Kette(self): + return self.Bgrenze_RBC_Wechsel_BTS_Kette + def set_Bgrenze_RBC_Wechsel_BTS_Kette(self, Bgrenze_RBC_Wechsel_BTS_Kette): + self.Bgrenze_RBC_Wechsel_BTS_Kette = Bgrenze_RBC_Wechsel_BTS_Kette + def add_Bgrenze_RBC_Wechsel_BTS_Kette(self, value): + self.Bgrenze_RBC_Wechsel_BTS_Kette.append(value) + def insert_Bgrenze_RBC_Wechsel_BTS_Kette_at(self, index, value): + self.Bgrenze_RBC_Wechsel_BTS_Kette.insert(index, value) + def replace_Bgrenze_RBC_Wechsel_BTS_Kette_at(self, index, value): + self.Bgrenze_RBC_Wechsel_BTS_Kette[index] = value + def get_ID_RBC_Nach_Grenze(self): + return self.ID_RBC_Nach_Grenze + def set_ID_RBC_Nach_Grenze(self, ID_RBC_Nach_Grenze): + self.ID_RBC_Nach_Grenze = ID_RBC_Nach_Grenze + def has__content(self): + if ( + self.Bgrenze_RBC_Wechsel_BTS_Kette or + self.ID_RBC_Nach_Grenze is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CZUB_Bgrenze_RBC_Wechsel', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CZUB_Bgrenze_RBC_Wechsel') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CZUB_Bgrenze_RBC_Wechsel': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CZUB_Bgrenze_RBC_Wechsel') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CZUB_Bgrenze_RBC_Wechsel', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='CZUB_Bgrenze_RBC_Wechsel'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CZUB_Bgrenze_RBC_Wechsel', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for Bgrenze_RBC_Wechsel_BTS_Kette_ in self.Bgrenze_RBC_Wechsel_BTS_Kette: + namespaceprefix_ = self.Bgrenze_RBC_Wechsel_BTS_Kette_nsprefix_ + ':' if (UseCapturedNS_ and self.Bgrenze_RBC_Wechsel_BTS_Kette_nsprefix_) else '' + Bgrenze_RBC_Wechsel_BTS_Kette_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Bgrenze_RBC_Wechsel_BTS_Kette', pretty_print=pretty_print) + if self.ID_RBC_Nach_Grenze is not None: + namespaceprefix_ = self.ID_RBC_Nach_Grenze_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_RBC_Nach_Grenze_nsprefix_) else '' + self.ID_RBC_Nach_Grenze.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_RBC_Nach_Grenze', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Bgrenze_RBC_Wechsel_BTS_Kette': + obj_ = CBgrenze_RBC_Wechsel_BTS_Kette.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Bgrenze_RBC_Wechsel_BTS_Kette.append(obj_) + obj_.original_tagname_ = 'Bgrenze_RBC_Wechsel_BTS_Kette' + elif nodeName_ == 'ID_RBC_Nach_Grenze': + obj_ = TCID_RBC.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_RBC_Nach_Grenze = obj_ + obj_.original_tagname_ = 'ID_RBC_Nach_Grenze' +# end class CZUB_Bgrenze_RBC_Wechsel + + +class TCDP_Link_Art(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCDP_Link_Art"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMDP_Link_Art(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCDP_Link_Art) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCDP_Link_Art.subclass: + return TCDP_Link_Art.subclass(*args_, **kwargs_) + else: + return TCDP_Link_Art(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMDP_Link_Art(self, value): + result = True + # Validate type ENUMDP_Link_Art, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['Grund', 'Hilfs', 'sonstige'] + 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 ENUMDP_Link_Art' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCDP_Link_Art, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCDP_Link_Art', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCDP_Link_Art') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCDP_Link_Art': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCDP_Link_Art') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCDP_Link_Art', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCDP_Link_Art'): + super(TCDP_Link_Art, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCDP_Link_Art') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCDP_Link_Art', fromsubclass_=False, pretty_print=True): + super(TCDP_Link_Art, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCDP_Link_Art, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMDP_Link_Art + self.validate_ENUMDP_Link_Art(self.Wert) + super(TCDP_Link_Art, self)._buildChildren(child_, node, nodeName_, True) +# end class TCDP_Link_Art + + +class TCV_Zul_Strecke(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCV_Zul_Strecke"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TV_Zul_Strecke(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCV_Zul_Strecke) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCV_Zul_Strecke.subclass: + return TCV_Zul_Strecke.subclass(*args_, **kwargs_) + else: + return TCV_Zul_Strecke(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TV_Zul_Strecke(self, value): + result = True + # Validate type TV_Zul_Strecke, a restriction on nsBasisTypen:TGeschwindigkeit. + 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_TV_Zul_Strecke_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TV_Zul_Strecke_patterns_, )) + result = False + return result + validate_TV_Zul_Strecke_patterns_ = [['^(0|[1-9][0-9]{0,1}|[1-4][0-9]{2}|500)$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCV_Zul_Strecke, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCV_Zul_Strecke', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCV_Zul_Strecke') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCV_Zul_Strecke': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCV_Zul_Strecke') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCV_Zul_Strecke', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCV_Zul_Strecke'): + super(TCV_Zul_Strecke, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCV_Zul_Strecke') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCV_Zul_Strecke', fromsubclass_=False, pretty_print=True): + super(TCV_Zul_Strecke, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_integer(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCV_Zul_Strecke, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + ival_ = self.gds_parse_integer(sval_, node, 'Wert') + ival_ = self.gds_validate_integer(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + # validate type TV_Zul_Strecke + self.validate_TV_Zul_Strecke(self.Wert) + super(TCV_Zul_Strecke, self)._buildChildren(child_, node, nodeName_, True) +# end class TCV_Zul_Strecke + + +class TCFT_ZBS_Typ(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCFT_ZBS_Typ"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMFT_ZBS_Typ(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCFT_ZBS_Typ) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCFT_ZBS_Typ.subclass: + return TCFT_ZBS_Typ.subclass(*args_, **kwargs_) + else: + return TCFT_ZBS_Typ(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMFT_ZBS_Typ(self, value): + result = True + # Validate type ENUMFT_ZBS_Typ, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['Null', 'RBE', 'RS', 'RSp', 'sonstige', 'ZA', 'ZBbP', 'ZBP', 'ZF', 'ZH', 'ZHF', 'ZLiH', 'ZLiV', 'ZO', 'ZRE', 'ZRH', 'ZRHF', 'ZRLa', 'ZRV', 'ZÜ', 'ZV'] + 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 ENUMFT_ZBS_Typ' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCFT_ZBS_Typ, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCFT_ZBS_Typ', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCFT_ZBS_Typ') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCFT_ZBS_Typ': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCFT_ZBS_Typ') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCFT_ZBS_Typ', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCFT_ZBS_Typ'): + super(TCFT_ZBS_Typ, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCFT_ZBS_Typ') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCFT_ZBS_Typ', fromsubclass_=False, pretty_print=True): + super(TCFT_ZBS_Typ, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCFT_ZBS_Typ, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMFT_ZBS_Typ + self.validate_ENUMFT_ZBS_Typ(self.Wert) + super(TCFT_ZBS_Typ, self)._buildChildren(child_, node, nodeName_, True) +# end class TCFT_ZBS_Typ + + +class TCModulnummer(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCModulnummer"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TModulnummer(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCModulnummer) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCModulnummer.subclass: + return TCModulnummer.subclass(*args_, **kwargs_) + else: + return TCModulnummer(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TModulnummer(self, value): + result = True + # Validate type TModulnummer, a restriction on xs:integer. + 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 + pass + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCModulnummer, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCModulnummer', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCModulnummer') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCModulnummer': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCModulnummer') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCModulnummer', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCModulnummer'): + super(TCModulnummer, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCModulnummer') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCModulnummer', fromsubclass_=False, pretty_print=True): + super(TCModulnummer, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_integer(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCModulnummer, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + ival_ = self.gds_parse_integer(sval_, node, 'Wert') + ival_ = self.gds_validate_integer(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + # validate type TModulnummer + self.validate_TModulnummer(self.Wert) + super(TCModulnummer, self)._buildChildren(child_, node, nodeName_, True) +# end class TCModulnummer + + +class CDP_Typ_GSonst(GeneratedsSuper): + """Anwendung_Sonst -- Bezeichnung des sonstigen Anwendungssystems. + DP_Typ_Sonst -- Durch sonstige Anwendungssysteme definierter Datenpunkttyp. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anwendung_Sonst=None, DP_Typ_Sonst=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anwendung_Sonst = Anwendung_Sonst + self.Anwendung_Sonst_nsprefix_ = None + self.DP_Typ_Sonst = DP_Typ_Sonst + self.DP_Typ_Sonst_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CDP_Typ_GSonst) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CDP_Typ_GSonst.subclass: + return CDP_Typ_GSonst.subclass(*args_, **kwargs_) + else: + return CDP_Typ_GSonst(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anwendung_Sonst(self): + return self.Anwendung_Sonst + def set_Anwendung_Sonst(self, Anwendung_Sonst): + self.Anwendung_Sonst = Anwendung_Sonst + def get_DP_Typ_Sonst(self): + return self.DP_Typ_Sonst + def set_DP_Typ_Sonst(self, DP_Typ_Sonst): + self.DP_Typ_Sonst = DP_Typ_Sonst + def has__content(self): + if ( + self.Anwendung_Sonst is not None or + self.DP_Typ_Sonst is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='CDP_Typ_GSonst', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CDP_Typ_GSonst') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CDP_Typ_GSonst': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CDP_Typ_GSonst') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CDP_Typ_GSonst', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='CDP_Typ_GSonst'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='CDP_Typ_GSonst', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Anwendung_Sonst is not None: + namespaceprefix_ = self.Anwendung_Sonst_nsprefix_ + ':' if (UseCapturedNS_ and self.Anwendung_Sonst_nsprefix_) else '' + self.Anwendung_Sonst.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Anwendung_Sonst', pretty_print=pretty_print) + if self.DP_Typ_Sonst is not None: + namespaceprefix_ = self.DP_Typ_Sonst_nsprefix_ + ':' if (UseCapturedNS_ and self.DP_Typ_Sonst_nsprefix_) else '' + self.DP_Typ_Sonst.export(outfile, level, namespaceprefix_, namespacedef_='', name_='DP_Typ_Sonst', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Anwendung_Sonst': + obj_ = TCAnwendung_Sonst.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Anwendung_Sonst = obj_ + obj_.original_tagname_ = 'Anwendung_Sonst' + elif nodeName_ == 'DP_Typ_Sonst': + obj_ = TCDP_Typ_Sonst.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.DP_Typ_Sonst = obj_ + obj_.original_tagname_ = 'DP_Typ_Sonst' +# end class CDP_Typ_GSonst + + +class TCETCS_Parameterwert(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCETCS_Parameterwert"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TETCS_Parameterwert(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCETCS_Parameterwert) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCETCS_Parameterwert.subclass: + return TCETCS_Parameterwert.subclass(*args_, **kwargs_) + else: + return TCETCS_Parameterwert(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TETCS_Parameterwert(self, value): + result = True + # Validate type TETCS_Parameterwert, a restriction on xs:integer. + 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 + pass + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCETCS_Parameterwert, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCETCS_Parameterwert', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCETCS_Parameterwert') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCETCS_Parameterwert': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCETCS_Parameterwert') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCETCS_Parameterwert', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCETCS_Parameterwert'): + super(TCETCS_Parameterwert, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCETCS_Parameterwert') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCETCS_Parameterwert', fromsubclass_=False, pretty_print=True): + super(TCETCS_Parameterwert, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_integer(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCETCS_Parameterwert, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + ival_ = self.gds_parse_integer(sval_, node, 'Wert') + ival_ = self.gds_validate_integer(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + # validate type TETCS_Parameterwert + self.validate_TETCS_Parameterwert(self.Wert) + super(TCETCS_Parameterwert, self)._buildChildren(child_, node, nodeName_, True) +# end class TCETCS_Parameterwert + + +class CETCS_Knoten(CBasis_Objekt): + """CETCS_Knoten -- Abbildung des Knotens des ETCS-spezifischen Knoten-Kanten-Modells auf das topologische PlanPro-Knoten-Kanten-Modell. Bei Kreuzungsweichen erfolgt die Verortung zweifach, sonst einfach. + ID_TOP_Knoten -- Verweis auf den TOP-Knoten, mit dem der ETCS-Knoten identisch ist. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasis_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, ID_TOP_Knoten=None, Knoten_Auf_TOP_Kante=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CETCS_Knoten"), self).__init__(Identitaet, Basis_Objekt_Allg, ID_Bearbeitungsvermerk, ID_Oertlichkeit_Ausgabe, Objektreferenzen, **kwargs_) + self.ID_TOP_Knoten = ID_TOP_Knoten + self.ID_TOP_Knoten_nsprefix_ = None + self.Knoten_Auf_TOP_Kante = Knoten_Auf_TOP_Kante + self.Knoten_Auf_TOP_Kante_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CETCS_Knoten) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CETCS_Knoten.subclass: + return CETCS_Knoten.subclass(*args_, **kwargs_) + else: + return CETCS_Knoten(*args_, **kwargs_) + factory = staticmethod(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_TOP_Knoten(self): + return self.ID_TOP_Knoten + def set_ID_TOP_Knoten(self, ID_TOP_Knoten): + self.ID_TOP_Knoten = ID_TOP_Knoten + def get_Knoten_Auf_TOP_Kante(self): + return self.Knoten_Auf_TOP_Kante + def set_Knoten_Auf_TOP_Kante(self, Knoten_Auf_TOP_Kante): + self.Knoten_Auf_TOP_Kante = Knoten_Auf_TOP_Kante + def has__content(self): + if ( + self.ID_TOP_Knoten is not None or + self.Knoten_Auf_TOP_Kante is not None or + super(CETCS_Knoten, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CETCS_Knoten', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CETCS_Knoten') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CETCS_Knoten': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CETCS_Knoten') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CETCS_Knoten', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='CETCS_Knoten'): + super(CETCS_Knoten, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CETCS_Knoten') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CETCS_Knoten', fromsubclass_=False, pretty_print=True): + super(CETCS_Knoten, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.ID_TOP_Knoten is not None: + namespaceprefix_ = self.ID_TOP_Knoten_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_TOP_Knoten_nsprefix_) else '' + self.ID_TOP_Knoten.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_TOP_Knoten', pretty_print=pretty_print) + if self.Knoten_Auf_TOP_Kante is not None: + namespaceprefix_ = self.Knoten_Auf_TOP_Kante_nsprefix_ + ':' if (UseCapturedNS_ and self.Knoten_Auf_TOP_Kante_nsprefix_) else '' + self.Knoten_Auf_TOP_Kante.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Knoten_Auf_TOP_Kante', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CETCS_Knoten, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_TOP_Knoten': + obj_ = TCID_TOP_Knoten.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_TOP_Knoten = obj_ + obj_.original_tagname_ = 'ID_TOP_Knoten' + elif nodeName_ == 'Knoten_Auf_TOP_Kante': + obj_ = CKnoten_Auf_TOP_Kante.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Knoten_Auf_TOP_Kante = obj_ + obj_.original_tagname_ = 'Knoten_Auf_TOP_Kante' + super(CETCS_Knoten, self)._buildChildren(child_, node, nodeName_, True) +# end class CETCS_Knoten + + +class CZBS_Schutzstrecke_Allg(GeneratedsSuper): + """Laenge_Soll_Mind_150 -- Solll + ä + nge der Schutzstrecke bei Betrachtung der Neigung im Bereich 150 m vor dem Zielsignal der Zugstra + ß + e bis zum Ende der Mindestschutzstrecke (siehe Massgebende_Neigung_Mind_150). Die Solll + ä + nge der Mindestschutzstrecke wird + ü + ber das Attribut Laenge_Soll in der zugeh + ö + rigen Instanz von Fstr_DWeg abgebildet. + Massgebende_Neigung_Mind_150 -- Ma + ß + gebende Neigung im Bereich 150 m vor dem Zielsignal der Zugstra + ß + e bis zum Ende der Mindestschutzstrecke. Die ma + ß + gebende Neigung im Bereich der Mindestschutzstrecke wird + ü + ber das Attribut Massgebende_Neigung in der zugeh + ö + rigen Instanz von Fstr_DWeg abgebildet. + V_Frei -- Freigabegeschwindigkeit, die der Berechnung der Schutzstrecke zugrunde liegt. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Laenge_Soll_Mind_150=None, Massgebende_Neigung_Mind_150=None, V_Frei=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Laenge_Soll_Mind_150 = Laenge_Soll_Mind_150 + self.Laenge_Soll_Mind_150_nsprefix_ = None + self.Massgebende_Neigung_Mind_150 = Massgebende_Neigung_Mind_150 + self.Massgebende_Neigung_Mind_150_nsprefix_ = None + self.V_Frei = V_Frei + self.V_Frei_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CZBS_Schutzstrecke_Allg) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CZBS_Schutzstrecke_Allg.subclass: + return CZBS_Schutzstrecke_Allg.subclass(*args_, **kwargs_) + else: + return CZBS_Schutzstrecke_Allg(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Laenge_Soll_Mind_150(self): + return self.Laenge_Soll_Mind_150 + def set_Laenge_Soll_Mind_150(self, Laenge_Soll_Mind_150): + self.Laenge_Soll_Mind_150 = Laenge_Soll_Mind_150 + def get_Massgebende_Neigung_Mind_150(self): + return self.Massgebende_Neigung_Mind_150 + def set_Massgebende_Neigung_Mind_150(self, Massgebende_Neigung_Mind_150): + self.Massgebende_Neigung_Mind_150 = Massgebende_Neigung_Mind_150 + def get_V_Frei(self): + return self.V_Frei + def set_V_Frei(self, V_Frei): + self.V_Frei = V_Frei + def has__content(self): + if ( + self.Laenge_Soll_Mind_150 is not None or + self.Massgebende_Neigung_Mind_150 is not None or + self.V_Frei is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='CZBS_Schutzstrecke_Allg', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CZBS_Schutzstrecke_Allg') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CZBS_Schutzstrecke_Allg': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CZBS_Schutzstrecke_Allg') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CZBS_Schutzstrecke_Allg', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='CZBS_Schutzstrecke_Allg'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='CZBS_Schutzstrecke_Allg', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Laenge_Soll_Mind_150 is not None: + namespaceprefix_ = self.Laenge_Soll_Mind_150_nsprefix_ + ':' if (UseCapturedNS_ and self.Laenge_Soll_Mind_150_nsprefix_) else '' + self.Laenge_Soll_Mind_150.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Laenge_Soll_Mind_150', pretty_print=pretty_print) + if self.Massgebende_Neigung_Mind_150 is not None: + namespaceprefix_ = self.Massgebende_Neigung_Mind_150_nsprefix_ + ':' if (UseCapturedNS_ and self.Massgebende_Neigung_Mind_150_nsprefix_) else '' + self.Massgebende_Neigung_Mind_150.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Massgebende_Neigung_Mind_150', pretty_print=pretty_print) + if self.V_Frei is not None: + namespaceprefix_ = self.V_Frei_nsprefix_ + ':' if (UseCapturedNS_ and self.V_Frei_nsprefix_) else '' + self.V_Frei.export(outfile, level, namespaceprefix_, namespacedef_='', name_='V_Frei', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Laenge_Soll_Mind_150': + obj_ = TCLaenge_Soll_Mind_150.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Laenge_Soll_Mind_150 = obj_ + obj_.original_tagname_ = 'Laenge_Soll_Mind_150' + elif nodeName_ == 'Massgebende_Neigung_Mind_150': + obj_ = TCMassgebende_Neigung_Mind_150.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Massgebende_Neigung_Mind_150 = obj_ + obj_.original_tagname_ = 'Massgebende_Neigung_Mind_150' + elif nodeName_ == 'V_Frei': + obj_ = TCV_Frei.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.V_Frei = obj_ + obj_.original_tagname_ = 'V_Frei' +# end class CZBS_Schutzstrecke_Allg + + +class TCMassgebende_Neigung_Mind_Sig(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCMassgebende_Neigung_Mind_Sig"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TMassgebende_Neigung_Mind_Sig(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCMassgebende_Neigung_Mind_Sig) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCMassgebende_Neigung_Mind_Sig.subclass: + return TCMassgebende_Neigung_Mind_Sig.subclass(*args_, **kwargs_) + else: + return TCMassgebende_Neigung_Mind_Sig(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TMassgebende_Neigung_Mind_Sig(self, value): + result = True + # Validate type TMassgebende_Neigung_Mind_Sig, 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 + pass + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCMassgebende_Neigung_Mind_Sig, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCMassgebende_Neigung_Mind_Sig', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCMassgebende_Neigung_Mind_Sig') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCMassgebende_Neigung_Mind_Sig': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCMassgebende_Neigung_Mind_Sig') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCMassgebende_Neigung_Mind_Sig', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCMassgebende_Neigung_Mind_Sig'): + super(TCMassgebende_Neigung_Mind_Sig, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCMassgebende_Neigung_Mind_Sig') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCMassgebende_Neigung_Mind_Sig', fromsubclass_=False, pretty_print=True): + super(TCMassgebende_Neigung_Mind_Sig, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_decimal(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCMassgebende_Neigung_Mind_Sig, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + fval_ = self.gds_parse_decimal(sval_, node, 'Wert') + fval_ = self.gds_validate_decimal(fval_, node, 'Wert') + self.Wert = fval_ + self.Wert_nsprefix_ = child_.prefix + # validate type TMassgebende_Neigung_Mind_Sig + self.validate_TMassgebende_Neigung_Mind_Sig(self.Wert) + super(TCMassgebende_Neigung_Mind_Sig, self)._buildChildren(child_, node, nodeName_, True) +# end class TCMassgebende_Neigung_Mind_Sig + + +class TCAnwendung_GNT(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCAnwendung_GNT"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCAnwendung_GNT) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCAnwendung_GNT.subclass: + return TCAnwendung_GNT.subclass(*args_, **kwargs_) + else: + return TCAnwendung_GNT(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def has__content(self): + if ( + self.Wert is not None or + super(TCAnwendung_GNT, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCAnwendung_GNT', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCAnwendung_GNT') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCAnwendung_GNT': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCAnwendung_GNT') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCAnwendung_GNT', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCAnwendung_GNT'): + super(TCAnwendung_GNT, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCAnwendung_GNT') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCAnwendung_GNT', fromsubclass_=False, pretty_print=True): + super(TCAnwendung_GNT, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_boolean(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCAnwendung_GNT, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + sval_ = child_.text + ival_ = self.gds_parse_boolean(sval_, node, 'Wert') + ival_ = self.gds_validate_boolean(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + super(TCAnwendung_GNT, self)._buildChildren(child_, node, nodeName_, True) +# end class TCAnwendung_GNT + + +class TCBaseline_System_Version(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCBaseline_System_Version"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TBaseline_System_Version(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCBaseline_System_Version) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCBaseline_System_Version.subclass: + return TCBaseline_System_Version.subclass(*args_, **kwargs_) + else: + return TCBaseline_System_Version(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TBaseline_System_Version(self, value): + result = True + # Validate type TBaseline_System_Version, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TBaseline_System_Version_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TBaseline_System_Version_patterns_, )) + result = False + return result + validate_TBaseline_System_Version_patterns_ = [['^([0-9])$'], ['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCBaseline_System_Version, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCBaseline_System_Version', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCBaseline_System_Version') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCBaseline_System_Version': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBaseline_System_Version') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCBaseline_System_Version', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCBaseline_System_Version'): + super(TCBaseline_System_Version, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBaseline_System_Version') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCBaseline_System_Version', fromsubclass_=False, pretty_print=True): + super(TCBaseline_System_Version, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCBaseline_System_Version, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TBaseline_System_Version + self.validate_TBaseline_System_Version(self.Wert) + super(TCBaseline_System_Version, self)._buildChildren(child_, node, nodeName_, True) +# end class TCBaseline_System_Version + + +class CProg_Datei_Gruppe(CBasis_Objekt): + """CProg_Datei_Gruppe -- Gruppe von Dateien, die zum Programmieren der Balise oder LEU ben + ö + tigt werden. + ID_Komponente_Programmiert -- Verweis auf die zu programmierende Komponente (Balise oder LEU-Modul). Bei ESG k + ö + nnen auch mehrere Komponenten angegeben werden. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasis_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, ID_Komponente_Programmiert=None, Prog_Datei_Einzel=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CProg_Datei_Gruppe"), self).__init__(Identitaet, Basis_Objekt_Allg, ID_Bearbeitungsvermerk, ID_Oertlichkeit_Ausgabe, Objektreferenzen, **kwargs_) + if ID_Komponente_Programmiert is None: + self.ID_Komponente_Programmiert = [] + else: + self.ID_Komponente_Programmiert = ID_Komponente_Programmiert + self.ID_Komponente_Programmiert_nsprefix_ = None + if Prog_Datei_Einzel is None: + self.Prog_Datei_Einzel = [] + else: + self.Prog_Datei_Einzel = Prog_Datei_Einzel + self.Prog_Datei_Einzel_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CProg_Datei_Gruppe) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CProg_Datei_Gruppe.subclass: + return CProg_Datei_Gruppe.subclass(*args_, **kwargs_) + else: + return CProg_Datei_Gruppe(*args_, **kwargs_) + factory = staticmethod(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_Komponente_Programmiert(self): + return self.ID_Komponente_Programmiert + def set_ID_Komponente_Programmiert(self, ID_Komponente_Programmiert): + self.ID_Komponente_Programmiert = ID_Komponente_Programmiert + def add_ID_Komponente_Programmiert(self, value): + self.ID_Komponente_Programmiert.append(value) + def insert_ID_Komponente_Programmiert_at(self, index, value): + self.ID_Komponente_Programmiert.insert(index, value) + def replace_ID_Komponente_Programmiert_at(self, index, value): + self.ID_Komponente_Programmiert[index] = value + def get_Prog_Datei_Einzel(self): + return self.Prog_Datei_Einzel + def set_Prog_Datei_Einzel(self, Prog_Datei_Einzel): + self.Prog_Datei_Einzel = Prog_Datei_Einzel + def add_Prog_Datei_Einzel(self, value): + self.Prog_Datei_Einzel.append(value) + def insert_Prog_Datei_Einzel_at(self, index, value): + self.Prog_Datei_Einzel.insert(index, value) + def replace_Prog_Datei_Einzel_at(self, index, value): + self.Prog_Datei_Einzel[index] = value + def has__content(self): + if ( + self.ID_Komponente_Programmiert or + self.Prog_Datei_Einzel or + super(CProg_Datei_Gruppe, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CProg_Datei_Gruppe', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CProg_Datei_Gruppe') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CProg_Datei_Gruppe': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CProg_Datei_Gruppe') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CProg_Datei_Gruppe', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='CProg_Datei_Gruppe'): + super(CProg_Datei_Gruppe, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CProg_Datei_Gruppe') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CProg_Datei_Gruppe', fromsubclass_=False, pretty_print=True): + super(CProg_Datei_Gruppe, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Komponente_Programmiert_ in self.ID_Komponente_Programmiert: + namespaceprefix_ = self.ID_Komponente_Programmiert_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Komponente_Programmiert_nsprefix_) else '' + ID_Komponente_Programmiert_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Komponente_Programmiert', pretty_print=pretty_print) + for Prog_Datei_Einzel_ in self.Prog_Datei_Einzel: + namespaceprefix_ = self.Prog_Datei_Einzel_nsprefix_ + ':' if (UseCapturedNS_ and self.Prog_Datei_Einzel_nsprefix_) else '' + Prog_Datei_Einzel_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Prog_Datei_Einzel', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CProg_Datei_Gruppe, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Komponente_Programmiert': + obj_ = TCID_Komponente_Programmiert.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Komponente_Programmiert.append(obj_) + obj_.original_tagname_ = 'ID_Komponente_Programmiert' + elif nodeName_ == 'Prog_Datei_Einzel': + obj_ = CProg_Datei_Einzel.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Prog_Datei_Einzel.append(obj_) + obj_.original_tagname_ = 'Prog_Datei_Einzel' + super(CProg_Datei_Gruppe, self)._buildChildren(child_, node, nodeName_, True) +# end class CProg_Datei_Gruppe + + +class TCDP_Typ_ZBS(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCDP_Typ_ZBS"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMDP_Typ_ZBS(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCDP_Typ_ZBS) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCDP_Typ_ZBS.subclass: + return TCDP_Typ_ZBS.subclass(*args_, **kwargs_) + else: + return TCDP_Typ_ZBS(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMDP_Typ_ZBS(self, value): + result = True + # Validate type ENUMDP_Typ_ZBS, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['RBE', 'RS', 'RSp', 'sonstige', 'ZA', 'ZBbP', 'ZBP', 'ZF', 'ZH', 'ZHF', 'ZLiH', 'ZLiV', 'ZO', 'ZRE_1', 'ZRE_2', 'ZRH', 'ZRHF', 'ZRLa', 'ZRV', 'ZÜ', 'ZV'] + 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 ENUMDP_Typ_ZBS' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCDP_Typ_ZBS, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCDP_Typ_ZBS', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCDP_Typ_ZBS') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCDP_Typ_ZBS': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCDP_Typ_ZBS') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCDP_Typ_ZBS', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCDP_Typ_ZBS'): + super(TCDP_Typ_ZBS, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCDP_Typ_ZBS') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCDP_Typ_ZBS', fromsubclass_=False, pretty_print=True): + super(TCDP_Typ_ZBS, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCDP_Typ_ZBS, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMDP_Typ_ZBS + self.validate_ENUMDP_Typ_ZBS(self.Wert) + super(TCDP_Typ_ZBS, self)._buildChildren(child_, node, nodeName_, True) +# end class TCDP_Typ_ZBS + + +class TCETCS_Paketnummer(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCETCS_Paketnummer"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TETCS_Paketnummer(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCETCS_Paketnummer) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCETCS_Paketnummer.subclass: + return TCETCS_Paketnummer.subclass(*args_, **kwargs_) + else: + return TCETCS_Paketnummer(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TETCS_Paketnummer(self, value): + result = True + # Validate type TETCS_Paketnummer, a restriction on xs:integer. + 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 + pass + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCETCS_Paketnummer, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCETCS_Paketnummer', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCETCS_Paketnummer') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCETCS_Paketnummer': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCETCS_Paketnummer') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCETCS_Paketnummer', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCETCS_Paketnummer'): + super(TCETCS_Paketnummer, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCETCS_Paketnummer') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCETCS_Paketnummer', fromsubclass_=False, pretty_print=True): + super(TCETCS_Paketnummer, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_integer(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCETCS_Paketnummer, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + ival_ = self.gds_parse_integer(sval_, node, 'Wert') + ival_ = self.gds_validate_integer(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + # validate type TETCS_Paketnummer + self.validate_TETCS_Paketnummer(self.Wert) + super(TCETCS_Paketnummer, self)._buildChildren(child_, node, nodeName_, True) +# end class TCETCS_Paketnummer + + +class TCVGR_1(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCVGR_1"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TVGR_1(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCVGR_1) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCVGR_1.subclass: + return TCVGR_1.subclass(*args_, **kwargs_) + else: + return TCVGR_1(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TVGR_1(self, value): + result = True + # Validate type TVGR_1, a restriction on nsBasisTypen:TGeschwindigkeit. + 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_TVGR_1_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TVGR_1_patterns_, )) + result = False + return result + validate_TVGR_1_patterns_ = [['^(0|[1-9][0-9]{0,1}|[1-4][0-9]{2}|500)$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCVGR_1, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCVGR_1', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCVGR_1') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCVGR_1': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCVGR_1') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCVGR_1', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCVGR_1'): + super(TCVGR_1, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCVGR_1') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCVGR_1', fromsubclass_=False, pretty_print=True): + super(TCVGR_1, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_integer(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCVGR_1, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + ival_ = self.gds_parse_integer(sval_, node, 'Wert') + ival_ = self.gds_validate_integer(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + # validate type TVGR_1 + self.validate_TVGR_1(self.Wert) + super(TCVGR_1, self)._buildChildren(child_, node, nodeName_, True) +# end class TCVGR_1 + + +class TCNID_TSR(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCNID_TSR"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TNID_TSR(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCNID_TSR) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCNID_TSR.subclass: + return TCNID_TSR.subclass(*args_, **kwargs_) + else: + return TCNID_TSR(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TNID_TSR(self, value): + result = True + # Validate type TNID_TSR, a restriction on xs:integer. + 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 + pass + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCNID_TSR, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCNID_TSR', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCNID_TSR') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCNID_TSR': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCNID_TSR') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCNID_TSR', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCNID_TSR'): + super(TCNID_TSR, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCNID_TSR') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCNID_TSR', fromsubclass_=False, pretty_print=True): + super(TCNID_TSR, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_integer(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCNID_TSR, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + ival_ = self.gds_parse_integer(sval_, node, 'Wert') + ival_ = self.gds_validate_integer(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + # validate type TNID_TSR + self.validate_TNID_TSR(self.Wert) + super(TCNID_TSR, self)._buildChildren(child_, node, nodeName_, True) +# end class TCNID_TSR + + +class TCAnwendung_Sonst(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCAnwendung_Sonst"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TAnwendung_Sonst(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCAnwendung_Sonst) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCAnwendung_Sonst.subclass: + return TCAnwendung_Sonst.subclass(*args_, **kwargs_) + else: + return TCAnwendung_Sonst(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TAnwendung_Sonst(self, value): + result = True + # Validate type TAnwendung_Sonst, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TAnwendung_Sonst_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TAnwendung_Sonst_patterns_, )) + result = False + return result + validate_TAnwendung_Sonst_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCAnwendung_Sonst, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCAnwendung_Sonst', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCAnwendung_Sonst') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCAnwendung_Sonst': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCAnwendung_Sonst') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCAnwendung_Sonst', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCAnwendung_Sonst'): + super(TCAnwendung_Sonst, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCAnwendung_Sonst') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCAnwendung_Sonst', fromsubclass_=False, pretty_print=True): + super(TCAnwendung_Sonst, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCAnwendung_Sonst, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TAnwendung_Sonst + self.validate_TAnwendung_Sonst(self.Wert) + super(TCAnwendung_Sonst, self)._buildChildren(child_, node, nodeName_, True) +# end class TCAnwendung_Sonst + + +class TCSolllaenge_Mind_Sig(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCSolllaenge_Mind_Sig"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TSolllaenge_Mind_Sig(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCSolllaenge_Mind_Sig) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCSolllaenge_Mind_Sig.subclass: + return TCSolllaenge_Mind_Sig.subclass(*args_, **kwargs_) + else: + return TCSolllaenge_Mind_Sig(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TSolllaenge_Mind_Sig(self, value): + result = True + # Validate type TSolllaenge_Mind_Sig, a restriction on nsBasisTypen:TMeter. + 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 + pass + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCSolllaenge_Mind_Sig, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCSolllaenge_Mind_Sig', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCSolllaenge_Mind_Sig') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCSolllaenge_Mind_Sig': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCSolllaenge_Mind_Sig') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCSolllaenge_Mind_Sig', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCSolllaenge_Mind_Sig'): + super(TCSolllaenge_Mind_Sig, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCSolllaenge_Mind_Sig') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCSolllaenge_Mind_Sig', fromsubclass_=False, pretty_print=True): + super(TCSolllaenge_Mind_Sig, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_decimal(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCSolllaenge_Mind_Sig, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + fval_ = self.gds_parse_decimal(sval_, node, 'Wert') + fval_ = self.gds_validate_decimal(fval_, node, 'Wert') + self.Wert = fval_ + self.Wert_nsprefix_ = child_.prefix + # validate type TSolllaenge_Mind_Sig + self.validate_TSolllaenge_Mind_Sig(self.Wert) + super(TCSolllaenge_Mind_Sig, self)._buildChildren(child_, node, nodeName_, True) +# end class TCSolllaenge_Mind_Sig + + +class TCFT_GNT_Punktart(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCFT_GNT_Punktart"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMFT_GNT_Punktart(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCFT_GNT_Punktart) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCFT_GNT_Punktart.subclass: + return TCFT_GNT_Punktart.subclass(*args_, **kwargs_) + else: + return TCFT_GNT_Punktart(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMFT_GNT_Punktart(self, value): + result = True + # Validate type ENUMFT_GNT_Punktart, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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'] + 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 ENUMFT_GNT_Punktart' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCFT_GNT_Punktart, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCFT_GNT_Punktart', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCFT_GNT_Punktart') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCFT_GNT_Punktart': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCFT_GNT_Punktart') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCFT_GNT_Punktart', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCFT_GNT_Punktart'): + super(TCFT_GNT_Punktart, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCFT_GNT_Punktart') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCFT_GNT_Punktart', fromsubclass_=False, pretty_print=True): + super(TCFT_GNT_Punktart, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCFT_GNT_Punktart, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMFT_GNT_Punktart + self.validate_ENUMFT_GNT_Punktart(self.Wert) + super(TCFT_GNT_Punktart, self)._buildChildren(child_, node, nodeName_, True) +# end class TCFT_GNT_Punktart + + +class TCProjektierungsfall(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCProjektierungsfall"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TProjektierungsfall(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCProjektierungsfall) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCProjektierungsfall.subclass: + return TCProjektierungsfall.subclass(*args_, **kwargs_) + else: + return TCProjektierungsfall(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TProjektierungsfall(self, value): + result = True + # Validate type TProjektierungsfall, a restriction on xs:integer. + 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 + pass + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCProjektierungsfall, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCProjektierungsfall', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCProjektierungsfall') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCProjektierungsfall': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCProjektierungsfall') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCProjektierungsfall', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCProjektierungsfall'): + super(TCProjektierungsfall, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCProjektierungsfall') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCProjektierungsfall', fromsubclass_=False, pretty_print=True): + super(TCProjektierungsfall, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_integer(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCProjektierungsfall, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + ival_ = self.gds_parse_integer(sval_, node, 'Wert') + ival_ = self.gds_validate_integer(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + # validate type TProjektierungsfall + self.validate_TProjektierungsfall(self.Wert) + super(TCProjektierungsfall, self)._buildChildren(child_, node, nodeName_, True) +# end class TCProjektierungsfall + + +class TCAbstand_Datenpunkt_EH_EM_Folgesignal(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCAbstand_Datenpunkt_EH_EM_Folgesignal"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TAbstand_Datenpunkt_EH_EM_Folgesignal(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCAbstand_Datenpunkt_EH_EM_Folgesignal) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCAbstand_Datenpunkt_EH_EM_Folgesignal.subclass: + return TCAbstand_Datenpunkt_EH_EM_Folgesignal.subclass(*args_, **kwargs_) + else: + return TCAbstand_Datenpunkt_EH_EM_Folgesignal(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TAbstand_Datenpunkt_EH_EM_Folgesignal(self, value): + result = True + # Validate type TAbstand_Datenpunkt_EH_EM_Folgesignal, a restriction on nsBasisTypen:TMeter. + 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 + pass + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCAbstand_Datenpunkt_EH_EM_Folgesignal, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCAbstand_Datenpunkt_EH_EM_Folgesignal', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCAbstand_Datenpunkt_EH_EM_Folgesignal') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCAbstand_Datenpunkt_EH_EM_Folgesignal': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCAbstand_Datenpunkt_EH_EM_Folgesignal') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCAbstand_Datenpunkt_EH_EM_Folgesignal', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCAbstand_Datenpunkt_EH_EM_Folgesignal'): + super(TCAbstand_Datenpunkt_EH_EM_Folgesignal, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCAbstand_Datenpunkt_EH_EM_Folgesignal') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCAbstand_Datenpunkt_EH_EM_Folgesignal', fromsubclass_=False, pretty_print=True): + super(TCAbstand_Datenpunkt_EH_EM_Folgesignal, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_decimal(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCAbstand_Datenpunkt_EH_EM_Folgesignal, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + fval_ = self.gds_parse_decimal(sval_, node, 'Wert') + fval_ = self.gds_validate_decimal(fval_, node, 'Wert') + self.Wert = fval_ + self.Wert_nsprefix_ = child_.prefix + # validate type TAbstand_Datenpunkt_EH_EM_Folgesignal + self.validate_TAbstand_Datenpunkt_EH_EM_Folgesignal(self.Wert) + super(TCAbstand_Datenpunkt_EH_EM_Folgesignal, self)._buildChildren(child_, node, nodeName_, True) +# end class TCAbstand_Datenpunkt_EH_EM_Folgesignal + + +class TCVerwendung(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCVerwendung"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TVerwendung(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCVerwendung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCVerwendung.subclass: + return TCVerwendung.subclass(*args_, **kwargs_) + else: + return TCVerwendung(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TVerwendung(self, value): + result = True + # Validate type TVerwendung, a restriction on nsBasisTypen:TZeichenkette. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TVerwendung_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TVerwendung_patterns_, )) + result = False + return result + validate_TVerwendung_patterns_ = [['^([a-zA-Z_0-9]{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCVerwendung, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCVerwendung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCVerwendung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCVerwendung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCVerwendung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCVerwendung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCVerwendung'): + super(TCVerwendung, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCVerwendung') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCVerwendung', fromsubclass_=False, pretty_print=True): + super(TCVerwendung, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCVerwendung, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TVerwendung + self.validate_TVerwendung(self.Wert) + super(TCVerwendung, self)._buildChildren(child_, node, nodeName_, True) +# end class TCVerwendung + + +class CBalise_Allg(GeneratedsSuper): + """Anordnung_Im_DP -- Physische Anordnung der Balise im Datenpunkt. Die Balise mit der Nummer 1 ist die Referenzbalise des Datenpunkts. Duplizierte Balisen werden mitgez + ä + hlt. + Balise_Geraetestand -- Ger + ä + testand der Balise. Die Information ist im Zusammenhang mit der Typ-Angabe im Attribut \"Fabrikat\" zu interpretieren. Beispiel: 3, 12a. + Balisenhalter -- Art des verwendeten Balisenhalters, z. B. Vortok. Die Erfassung erfolgt gegenw + ä + rtig auf der Baustelle (R + ü + cklaufdatum). + Fabrikat -- Herstellerbezogene Bezeichnung bzw. Typ-Angabe (R + ü + cklaufdatum). Beispiel: S21 (Siemens). + Hersteller -- Unternehmen, das die Funktionsf + ä + higkeit der Anlage verantwortlich hergestellt hat oder Hersteller des jeweiligen Elements. Diese Eigenschaft ist kein Datum einer Planung, sondern dient im R + ü + cklauf der Planung dazu den Hersteller im Bestand zu erfassen. Es ist die zum Zeitpunkt der Inbetriebnahme g + ü + ltige Firmierung zu verwenden. DB-Regelwerk Beschreibung im Erl + ä + uterungsbericht + Hinweis_Balisenbefestigung -- Hinweis auf Besonderheiten bei der Balisenbefestigung, z. B. L + ä + ngsbefestigung. + Montageabweichung -- Abweichung vom geplanten Standort der Balise bei der Montage im Rahmen der zul + ä + ssigen Toleranz. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anordnung_Im_DP=None, Balise_Geraetestand=None, Balisenhalter=None, Fabrikat=None, Hersteller=None, Hinweis_Balisenbefestigung=None, Montageabweichung=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anordnung_Im_DP = Anordnung_Im_DP + self.Anordnung_Im_DP_nsprefix_ = None + self.Balise_Geraetestand = Balise_Geraetestand + self.Balise_Geraetestand_nsprefix_ = None + self.Balisenhalter = Balisenhalter + self.Balisenhalter_nsprefix_ = None + self.Fabrikat = Fabrikat + self.Fabrikat_nsprefix_ = None + self.Hersteller = Hersteller + self.Hersteller_nsprefix_ = None + self.Hinweis_Balisenbefestigung = Hinweis_Balisenbefestigung + self.Hinweis_Balisenbefestigung_nsprefix_ = None + self.Montageabweichung = Montageabweichung + self.Montageabweichung_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CBalise_Allg) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CBalise_Allg.subclass: + return CBalise_Allg.subclass(*args_, **kwargs_) + else: + return CBalise_Allg(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anordnung_Im_DP(self): + return self.Anordnung_Im_DP + def set_Anordnung_Im_DP(self, Anordnung_Im_DP): + self.Anordnung_Im_DP = Anordnung_Im_DP + def get_Balise_Geraetestand(self): + return self.Balise_Geraetestand + def set_Balise_Geraetestand(self, Balise_Geraetestand): + self.Balise_Geraetestand = Balise_Geraetestand + def get_Balisenhalter(self): + return self.Balisenhalter + def set_Balisenhalter(self, Balisenhalter): + self.Balisenhalter = Balisenhalter + def get_Fabrikat(self): + return self.Fabrikat + def set_Fabrikat(self, Fabrikat): + self.Fabrikat = Fabrikat + def get_Hersteller(self): + return self.Hersteller + def set_Hersteller(self, Hersteller): + self.Hersteller = Hersteller + def get_Hinweis_Balisenbefestigung(self): + return self.Hinweis_Balisenbefestigung + def set_Hinweis_Balisenbefestigung(self, Hinweis_Balisenbefestigung): + self.Hinweis_Balisenbefestigung = Hinweis_Balisenbefestigung + def get_Montageabweichung(self): + return self.Montageabweichung + def set_Montageabweichung(self, Montageabweichung): + self.Montageabweichung = Montageabweichung + def has__content(self): + if ( + self.Anordnung_Im_DP is not None or + self.Balise_Geraetestand is not None or + self.Balisenhalter is not None or + self.Fabrikat is not None or + self.Hersteller is not None or + self.Hinweis_Balisenbefestigung is not None or + self.Montageabweichung is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='CBalise_Allg', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CBalise_Allg') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CBalise_Allg': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CBalise_Allg') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CBalise_Allg', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='CBalise_Allg'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='CBalise_Allg', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Anordnung_Im_DP is not None: + namespaceprefix_ = self.Anordnung_Im_DP_nsprefix_ + ':' if (UseCapturedNS_ and self.Anordnung_Im_DP_nsprefix_) else '' + self.Anordnung_Im_DP.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Anordnung_Im_DP', pretty_print=pretty_print) + if self.Balise_Geraetestand is not None: + namespaceprefix_ = self.Balise_Geraetestand_nsprefix_ + ':' if (UseCapturedNS_ and self.Balise_Geraetestand_nsprefix_) else '' + self.Balise_Geraetestand.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Balise_Geraetestand', pretty_print=pretty_print) + if self.Balisenhalter is not None: + namespaceprefix_ = self.Balisenhalter_nsprefix_ + ':' if (UseCapturedNS_ and self.Balisenhalter_nsprefix_) else '' + self.Balisenhalter.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Balisenhalter', pretty_print=pretty_print) + if self.Fabrikat is not None: + namespaceprefix_ = self.Fabrikat_nsprefix_ + ':' if (UseCapturedNS_ and self.Fabrikat_nsprefix_) else '' + self.Fabrikat.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Fabrikat', pretty_print=pretty_print) + if self.Hersteller is not None: + namespaceprefix_ = self.Hersteller_nsprefix_ + ':' if (UseCapturedNS_ and self.Hersteller_nsprefix_) else '' + self.Hersteller.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Hersteller', pretty_print=pretty_print) + if self.Hinweis_Balisenbefestigung is not None: + namespaceprefix_ = self.Hinweis_Balisenbefestigung_nsprefix_ + ':' if (UseCapturedNS_ and self.Hinweis_Balisenbefestigung_nsprefix_) else '' + self.Hinweis_Balisenbefestigung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Hinweis_Balisenbefestigung', pretty_print=pretty_print) + if self.Montageabweichung is not None: + namespaceprefix_ = self.Montageabweichung_nsprefix_ + ':' if (UseCapturedNS_ and self.Montageabweichung_nsprefix_) else '' + self.Montageabweichung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Montageabweichung', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Anordnung_Im_DP': + obj_ = TCAnordnung_Im_DP.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Anordnung_Im_DP = obj_ + obj_.original_tagname_ = 'Anordnung_Im_DP' + elif nodeName_ == 'Balise_Geraetestand': + obj_ = TCBalise_Geraetestand.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Balise_Geraetestand = obj_ + obj_.original_tagname_ = 'Balise_Geraetestand' + elif nodeName_ == 'Balisenhalter': + obj_ = TCBalisenhalter.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Balisenhalter = obj_ + obj_.original_tagname_ = 'Balisenhalter' + elif nodeName_ == 'Fabrikat': + obj_ = TCFabrikat.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Fabrikat = obj_ + obj_.original_tagname_ = 'Fabrikat' + elif nodeName_ == 'Hersteller': + obj_ = TCHersteller.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Hersteller = obj_ + obj_.original_tagname_ = 'Hersteller' + elif nodeName_ == 'Hinweis_Balisenbefestigung': + obj_ = TCHinweis_Balisenbefestigung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Hinweis_Balisenbefestigung = obj_ + obj_.original_tagname_ = 'Hinweis_Balisenbefestigung' + elif nodeName_ == 'Montageabweichung': + obj_ = TCMontageabweichung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Montageabweichung = obj_ + obj_.original_tagname_ = 'Montageabweichung' +# end class CBalise_Allg + + +class CZUB_Bereichsgrenze_Nach_ZBS(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Bgrenze_Nach_ZBS_Bed_Einstieg=None, gds_collector_=None, **kwargs_): + self.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 Bgrenze_Nach_ZBS_Bed_Einstieg is None: + self.Bgrenze_Nach_ZBS_Bed_Einstieg = [] + else: + self.Bgrenze_Nach_ZBS_Bed_Einstieg = Bgrenze_Nach_ZBS_Bed_Einstieg + self.Bgrenze_Nach_ZBS_Bed_Einstieg_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CZUB_Bereichsgrenze_Nach_ZBS) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CZUB_Bereichsgrenze_Nach_ZBS.subclass: + return CZUB_Bereichsgrenze_Nach_ZBS.subclass(*args_, **kwargs_) + else: + return CZUB_Bereichsgrenze_Nach_ZBS(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Bgrenze_Nach_ZBS_Bed_Einstieg(self): + return self.Bgrenze_Nach_ZBS_Bed_Einstieg + def set_Bgrenze_Nach_ZBS_Bed_Einstieg(self, Bgrenze_Nach_ZBS_Bed_Einstieg): + self.Bgrenze_Nach_ZBS_Bed_Einstieg = Bgrenze_Nach_ZBS_Bed_Einstieg + def add_Bgrenze_Nach_ZBS_Bed_Einstieg(self, value): + self.Bgrenze_Nach_ZBS_Bed_Einstieg.append(value) + def insert_Bgrenze_Nach_ZBS_Bed_Einstieg_at(self, index, value): + self.Bgrenze_Nach_ZBS_Bed_Einstieg.insert(index, value) + def replace_Bgrenze_Nach_ZBS_Bed_Einstieg_at(self, index, value): + self.Bgrenze_Nach_ZBS_Bed_Einstieg[index] = value + def has__content(self): + if ( + self.Bgrenze_Nach_ZBS_Bed_Einstieg + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='CZUB_Bereichsgrenze_Nach_ZBS', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CZUB_Bereichsgrenze_Nach_ZBS') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CZUB_Bereichsgrenze_Nach_ZBS': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CZUB_Bereichsgrenze_Nach_ZBS') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CZUB_Bereichsgrenze_Nach_ZBS', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='CZUB_Bereichsgrenze_Nach_ZBS'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='CZUB_Bereichsgrenze_Nach_ZBS', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for Bgrenze_Nach_ZBS_Bed_Einstieg_ in self.Bgrenze_Nach_ZBS_Bed_Einstieg: + namespaceprefix_ = self.Bgrenze_Nach_ZBS_Bed_Einstieg_nsprefix_ + ':' if (UseCapturedNS_ and self.Bgrenze_Nach_ZBS_Bed_Einstieg_nsprefix_) else '' + Bgrenze_Nach_ZBS_Bed_Einstieg_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Bgrenze_Nach_ZBS_Bed_Einstieg', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Bgrenze_Nach_ZBS_Bed_Einstieg': + obj_ = CBgrenze_Nach_ZBS_Bed_Einstieg.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Bgrenze_Nach_ZBS_Bed_Einstieg.append(obj_) + obj_.original_tagname_ = 'Bgrenze_Nach_ZBS_Bed_Einstieg' +# end class CZUB_Bereichsgrenze_Nach_ZBS + + +class TCText_Bedingung(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCText_Bedingung"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TText_Bedingung(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCText_Bedingung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCText_Bedingung.subclass: + return TCText_Bedingung.subclass(*args_, **kwargs_) + else: + return TCText_Bedingung(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TText_Bedingung(self, value): + result = True + # Validate type TText_Bedingung, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TText_Bedingung_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TText_Bedingung_patterns_, )) + result = False + return result + validate_TText_Bedingung_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCText_Bedingung, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCText_Bedingung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCText_Bedingung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCText_Bedingung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCText_Bedingung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCText_Bedingung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCText_Bedingung'): + super(TCText_Bedingung, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCText_Bedingung') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCText_Bedingung', fromsubclass_=False, pretty_print=True): + super(TCText_Bedingung, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCText_Bedingung, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TText_Bedingung + self.validate_TText_Bedingung(self.Wert) + super(TCText_Bedingung, self)._buildChildren(child_, node, nodeName_, True) +# end class TCText_Bedingung + + +class TCFT_ESG_Typ(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCFT_ESG_Typ"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TFT_ESG_Typ(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCFT_ESG_Typ) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCFT_ESG_Typ.subclass: + return TCFT_ESG_Typ.subclass(*args_, **kwargs_) + else: + return TCFT_ESG_Typ(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TFT_ESG_Typ(self, value): + result = True + # Validate type TFT_ESG_Typ, a restriction on nsBasisTypen:TZeichenkette. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TFT_ESG_Typ_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TFT_ESG_Typ_patterns_, )) + result = False + return result + validate_TFT_ESG_Typ_patterns_ = [['^(.{2})$'], ['^([a-zA-Z_0-9]{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCFT_ESG_Typ, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCFT_ESG_Typ', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCFT_ESG_Typ') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCFT_ESG_Typ': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCFT_ESG_Typ') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCFT_ESG_Typ', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCFT_ESG_Typ'): + super(TCFT_ESG_Typ, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCFT_ESG_Typ') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCFT_ESG_Typ', fromsubclass_=False, pretty_print=True): + super(TCFT_ESG_Typ, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCFT_ESG_Typ, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TFT_ESG_Typ + self.validate_TFT_ESG_Typ(self.Wert) + super(TCFT_ESG_Typ, self)._buildChildren(child_, node, nodeName_, True) +# end class TCFT_ESG_Typ + + +class TCNummer_Schaltkasten(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCNummer_Schaltkasten"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TNummer_Schaltkasten(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCNummer_Schaltkasten) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCNummer_Schaltkasten.subclass: + return TCNummer_Schaltkasten.subclass(*args_, **kwargs_) + else: + return TCNummer_Schaltkasten(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TNummer_Schaltkasten(self, value): + result = True + # Validate type TNummer_Schaltkasten, a restriction on xs:integer. + 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 + pass + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCNummer_Schaltkasten, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCNummer_Schaltkasten', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCNummer_Schaltkasten') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCNummer_Schaltkasten': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCNummer_Schaltkasten') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCNummer_Schaltkasten', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCNummer_Schaltkasten'): + super(TCNummer_Schaltkasten, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCNummer_Schaltkasten') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCNummer_Schaltkasten', fromsubclass_=False, pretty_print=True): + super(TCNummer_Schaltkasten, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_integer(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCNummer_Schaltkasten, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + ival_ = self.gds_parse_integer(sval_, node, 'Wert') + ival_ = self.gds_validate_integer(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + # validate type TNummer_Schaltkasten + self.validate_TNummer_Schaltkasten(self.Wert) + super(TCNummer_Schaltkasten, self)._buildChildren(child_, node, nodeName_, True) +# end class TCNummer_Schaltkasten + + +class CETCS_Signal_Allg(GeneratedsSuper): + """Ausstieg_ETCS_Sperre -- Angabe, ob bzw. in welcher Form bei einer ETCS-Sperre ein Ausstieg aus L2 erlaubt ist. + Dunkelschaltanstoss -- Angabe, ob f + ü + r dieses Signal von der ETCS-Zentrale Dunkelschaltanst + ö + ß + e gesendet werden d + ü + rfen (true) oder nicht (false). Vorbedingung ist, dass das Signal stellwerksseitig bereits dunkelschaltbar ist (siehe Dunkelschaltung). + Einstieg_Erlaubt -- Angabe, ob das Signal als Einstiegssignal innerhalb des L2-Bereichs zul + ä + ssig ist (true) oder nicht (false). + Gruppen_ID -- Zuordnung zu einer Gruppe, um im Falle einer Rechnerst + ö + rung im ESTW dem RBC die gest + ö + rten Elemente einfach + ü + bertragen zu k + ö + nnen. Siehe Ril 819.1344 4 (36). Die Angabe entf + ä + llt ggf. zu einem sp + ä + teren Zeitpunkt. + Untergruppen_ID -- Zuordnung zu einer Untergruppe, um im Falle einer Rechnerst + ö + rung im ESTW dem RBC die gest + ö + rten Elemente einfach + ü + bertragen zu k + ö + nnen. Siehe Ril 819.1344 4 (36). Die Angabe entf + ä + llt ggf. zu einem sp + ä + teren Zeitpunkt. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Ausstieg_ETCS_Sperre=None, Dunkelschaltanstoss=None, Einstieg_Erlaubt=None, Gruppen_ID=None, Untergruppen_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.Ausstieg_ETCS_Sperre = Ausstieg_ETCS_Sperre + self.Ausstieg_ETCS_Sperre_nsprefix_ = None + self.Dunkelschaltanstoss = Dunkelschaltanstoss + self.Dunkelschaltanstoss_nsprefix_ = None + self.Einstieg_Erlaubt = Einstieg_Erlaubt + self.Einstieg_Erlaubt_nsprefix_ = None + self.Gruppen_ID = Gruppen_ID + self.Gruppen_ID_nsprefix_ = None + self.Untergruppen_ID = Untergruppen_ID + self.Untergruppen_ID_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CETCS_Signal_Allg) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CETCS_Signal_Allg.subclass: + return CETCS_Signal_Allg.subclass(*args_, **kwargs_) + else: + return CETCS_Signal_Allg(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Ausstieg_ETCS_Sperre(self): + return self.Ausstieg_ETCS_Sperre + def set_Ausstieg_ETCS_Sperre(self, Ausstieg_ETCS_Sperre): + self.Ausstieg_ETCS_Sperre = Ausstieg_ETCS_Sperre + def get_Dunkelschaltanstoss(self): + return self.Dunkelschaltanstoss + def set_Dunkelschaltanstoss(self, Dunkelschaltanstoss): + self.Dunkelschaltanstoss = Dunkelschaltanstoss + def get_Einstieg_Erlaubt(self): + return self.Einstieg_Erlaubt + def set_Einstieg_Erlaubt(self, Einstieg_Erlaubt): + self.Einstieg_Erlaubt = Einstieg_Erlaubt + def get_Gruppen_ID(self): + return self.Gruppen_ID + def set_Gruppen_ID(self, Gruppen_ID): + self.Gruppen_ID = Gruppen_ID + def get_Untergruppen_ID(self): + return self.Untergruppen_ID + def set_Untergruppen_ID(self, Untergruppen_ID): + self.Untergruppen_ID = Untergruppen_ID + def has__content(self): + if ( + self.Ausstieg_ETCS_Sperre is not None or + self.Dunkelschaltanstoss is not None or + self.Einstieg_Erlaubt is not None or + self.Gruppen_ID is not None or + self.Untergruppen_ID is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='CETCS_Signal_Allg', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CETCS_Signal_Allg') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CETCS_Signal_Allg': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CETCS_Signal_Allg') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CETCS_Signal_Allg', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='CETCS_Signal_Allg'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='CETCS_Signal_Allg', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Ausstieg_ETCS_Sperre is not None: + namespaceprefix_ = self.Ausstieg_ETCS_Sperre_nsprefix_ + ':' if (UseCapturedNS_ and self.Ausstieg_ETCS_Sperre_nsprefix_) else '' + self.Ausstieg_ETCS_Sperre.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Ausstieg_ETCS_Sperre', pretty_print=pretty_print) + if self.Dunkelschaltanstoss is not None: + namespaceprefix_ = self.Dunkelschaltanstoss_nsprefix_ + ':' if (UseCapturedNS_ and self.Dunkelschaltanstoss_nsprefix_) else '' + self.Dunkelschaltanstoss.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Dunkelschaltanstoss', pretty_print=pretty_print) + if self.Einstieg_Erlaubt is not None: + namespaceprefix_ = self.Einstieg_Erlaubt_nsprefix_ + ':' if (UseCapturedNS_ and self.Einstieg_Erlaubt_nsprefix_) else '' + self.Einstieg_Erlaubt.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Einstieg_Erlaubt', pretty_print=pretty_print) + if self.Gruppen_ID is not None: + namespaceprefix_ = self.Gruppen_ID_nsprefix_ + ':' if (UseCapturedNS_ and self.Gruppen_ID_nsprefix_) else '' + self.Gruppen_ID.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Gruppen_ID', pretty_print=pretty_print) + if self.Untergruppen_ID is not None: + namespaceprefix_ = self.Untergruppen_ID_nsprefix_ + ':' if (UseCapturedNS_ and self.Untergruppen_ID_nsprefix_) else '' + self.Untergruppen_ID.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Untergruppen_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): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Ausstieg_ETCS_Sperre': + obj_ = TCAusstieg_ETCS_Sperre.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Ausstieg_ETCS_Sperre = obj_ + obj_.original_tagname_ = 'Ausstieg_ETCS_Sperre' + elif nodeName_ == 'Dunkelschaltanstoss': + obj_ = TCDunkelschaltanstoss.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Dunkelschaltanstoss = obj_ + obj_.original_tagname_ = 'Dunkelschaltanstoss' + elif nodeName_ == 'Einstieg_Erlaubt': + obj_ = TCEinstieg_Erlaubt.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Einstieg_Erlaubt = obj_ + obj_.original_tagname_ = 'Einstieg_Erlaubt' + elif nodeName_ == 'Gruppen_ID': + obj_ = TCGruppen_ID.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Gruppen_ID = obj_ + obj_.original_tagname_ = 'Gruppen_ID' + elif nodeName_ == 'Untergruppen_ID': + obj_ = TCUntergruppen_ID.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Untergruppen_ID = obj_ + obj_.original_tagname_ = 'Untergruppen_ID' +# end class CETCS_Signal_Allg + + +class TCLink_Distanz(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCLink_Distanz"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TLink_Distanz(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCLink_Distanz) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCLink_Distanz.subclass: + return TCLink_Distanz.subclass(*args_, **kwargs_) + else: + return TCLink_Distanz(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TLink_Distanz(self, value): + result = True + # Validate type TLink_Distanz, a restriction on nsBasisTypen:TMeter. + 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 + pass + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCLink_Distanz, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCLink_Distanz', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCLink_Distanz') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCLink_Distanz': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCLink_Distanz') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCLink_Distanz', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCLink_Distanz'): + super(TCLink_Distanz, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCLink_Distanz') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCLink_Distanz', fromsubclass_=False, pretty_print=True): + super(TCLink_Distanz, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_decimal(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCLink_Distanz, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + fval_ = self.gds_parse_decimal(sval_, node, 'Wert') + fval_ = self.gds_validate_decimal(fval_, node, 'Wert') + self.Wert = fval_ + self.Wert_nsprefix_ = child_.prefix + # validate type TLink_Distanz + self.validate_TLink_Distanz(self.Wert) + super(TCLink_Distanz, self)._buildChildren(child_, node, nodeName_, True) +# end class TCLink_Distanz + + +class TCAusgang_Nr(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCAusgang_Nr"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TAusgang_Nr(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCAusgang_Nr) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCAusgang_Nr.subclass: + return TCAusgang_Nr.subclass(*args_, **kwargs_) + else: + return TCAusgang_Nr(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TAusgang_Nr(self, value): + result = True + # Validate type TAusgang_Nr, a restriction on xs:integer. + 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 + pass + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCAusgang_Nr, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCAusgang_Nr', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCAusgang_Nr') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCAusgang_Nr': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCAusgang_Nr') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCAusgang_Nr', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCAusgang_Nr'): + super(TCAusgang_Nr, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCAusgang_Nr') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCAusgang_Nr', fromsubclass_=False, pretty_print=True): + super(TCAusgang_Nr, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_integer(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCAusgang_Nr, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + ival_ = self.gds_parse_integer(sval_, node, 'Wert') + ival_ = self.gds_validate_integer(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + # validate type TAusgang_Nr + self.validate_TAusgang_Nr(self.Wert) + super(TCAusgang_Nr, self)._buildChildren(child_, node, nodeName_, True) +# end class TCAusgang_Nr + + +class TCEinzeldatei_Art(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCEinzeldatei_Art"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMEinzeldatei_Art(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCEinzeldatei_Art) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCEinzeldatei_Art.subclass: + return TCEinzeldatei_Art.subclass(*args_, **kwargs_) + else: + return TCEinzeldatei_Art(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMEinzeldatei_Art(self, value): + result = True + # Validate type ENUMEinzeldatei_Art, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['Hilfsdatei', 'Ladedatei'] + 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 ENUMEinzeldatei_Art' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCEinzeldatei_Art, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCEinzeldatei_Art', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCEinzeldatei_Art') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCEinzeldatei_Art': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCEinzeldatei_Art') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCEinzeldatei_Art', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCEinzeldatei_Art'): + super(TCEinzeldatei_Art, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCEinzeldatei_Art') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCEinzeldatei_Art', fromsubclass_=False, pretty_print=True): + super(TCEinzeldatei_Art, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCEinzeldatei_Art, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMEinzeldatei_Art + self.validate_ENUMEinzeldatei_Art(self.Wert) + super(TCEinzeldatei_Art, self)._buildChildren(child_, node, nodeName_, True) +# end class TCEinzeldatei_Art + + +class TCKm_BTS_2(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCKm_BTS_2"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TKm_BTS_2(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCKm_BTS_2) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCKm_BTS_2.subclass: + return TCKm_BTS_2.subclass(*args_, **kwargs_) + else: + return TCKm_BTS_2(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TKm_BTS_2(self, value): + result = True + # Validate type TKm_BTS_2, a restriction on nsBasisTypen:TKilometrierung. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TKm_BTS_2_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TKm_BTS_2_patterns_, )) + result = False + return result + validate_TKm_BTS_2_patterns_ = [['^(-?(([1-9][0-9]{0,2})|0),([0-9]{3}|([0-9][\\+\\-][1-9][0-9]{0,4})))$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCKm_BTS_2, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCKm_BTS_2', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCKm_BTS_2') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCKm_BTS_2': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCKm_BTS_2') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCKm_BTS_2', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCKm_BTS_2'): + super(TCKm_BTS_2, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCKm_BTS_2') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCKm_BTS_2', fromsubclass_=False, pretty_print=True): + super(TCKm_BTS_2, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCKm_BTS_2, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TKm_BTS_2 + self.validate_TKm_BTS_2(self.Wert) + super(TCKm_BTS_2, self)._buildChildren(child_, node, nodeName_, True) +# end class TCKm_BTS_2 + + +class TCDP_Typ_Sonst(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCDP_Typ_Sonst"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TDP_Typ_Sonst(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCDP_Typ_Sonst) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCDP_Typ_Sonst.subclass: + return TCDP_Typ_Sonst.subclass(*args_, **kwargs_) + else: + return TCDP_Typ_Sonst(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TDP_Typ_Sonst(self, value): + result = True + # Validate type TDP_Typ_Sonst, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TDP_Typ_Sonst_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TDP_Typ_Sonst_patterns_, )) + result = False + return result + validate_TDP_Typ_Sonst_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCDP_Typ_Sonst, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCDP_Typ_Sonst', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCDP_Typ_Sonst') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCDP_Typ_Sonst': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCDP_Typ_Sonst') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCDP_Typ_Sonst', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCDP_Typ_Sonst'): + super(TCDP_Typ_Sonst, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCDP_Typ_Sonst') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCDP_Typ_Sonst', fromsubclass_=False, pretty_print=True): + super(TCDP_Typ_Sonst, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCDP_Typ_Sonst, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TDP_Typ_Sonst + self.validate_TDP_Typ_Sonst(self.Wert) + super(TCDP_Typ_Sonst, self)._buildChildren(child_, node, nodeName_, True) +# end class TCDP_Typ_Sonst + + +class TCSonstige_Standortangabe(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCSonstige_Standortangabe"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TSonstige_Standortangabe(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCSonstige_Standortangabe) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCSonstige_Standortangabe.subclass: + return TCSonstige_Standortangabe.subclass(*args_, **kwargs_) + else: + return TCSonstige_Standortangabe(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TSonstige_Standortangabe(self, value): + result = True + # Validate type TSonstige_Standortangabe, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TSonstige_Standortangabe_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TSonstige_Standortangabe_patterns_, )) + result = False + return result + validate_TSonstige_Standortangabe_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCSonstige_Standortangabe, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCSonstige_Standortangabe', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCSonstige_Standortangabe') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCSonstige_Standortangabe': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCSonstige_Standortangabe') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCSonstige_Standortangabe', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCSonstige_Standortangabe'): + super(TCSonstige_Standortangabe, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCSonstige_Standortangabe') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCSonstige_Standortangabe', fromsubclass_=False, pretty_print=True): + super(TCSonstige_Standortangabe, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCSonstige_Standortangabe, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TSonstige_Standortangabe + self.validate_TSonstige_Standortangabe(self.Wert) + super(TCSonstige_Standortangabe, self)._buildChildren(child_, node, nodeName_, True) +# end class TCSonstige_Standortangabe + + +class TCBezeichnung_LEU_Anlage(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCBezeichnung_LEU_Anlage"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TBezeichnung_LEU_Anlage(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCBezeichnung_LEU_Anlage) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCBezeichnung_LEU_Anlage.subclass: + return TCBezeichnung_LEU_Anlage.subclass(*args_, **kwargs_) + else: + return TCBezeichnung_LEU_Anlage(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TBezeichnung_LEU_Anlage(self, value): + result = True + # Validate type TBezeichnung_LEU_Anlage, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TBezeichnung_LEU_Anlage_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TBezeichnung_LEU_Anlage_patterns_, )) + result = False + return result + validate_TBezeichnung_LEU_Anlage_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCBezeichnung_LEU_Anlage, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCBezeichnung_LEU_Anlage', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCBezeichnung_LEU_Anlage') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCBezeichnung_LEU_Anlage': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBezeichnung_LEU_Anlage') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCBezeichnung_LEU_Anlage', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCBezeichnung_LEU_Anlage'): + super(TCBezeichnung_LEU_Anlage, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBezeichnung_LEU_Anlage') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCBezeichnung_LEU_Anlage', fromsubclass_=False, pretty_print=True): + super(TCBezeichnung_LEU_Anlage, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCBezeichnung_LEU_Anlage, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TBezeichnung_LEU_Anlage + self.validate_TBezeichnung_LEU_Anlage(self.Wert) + super(TCBezeichnung_LEU_Anlage, self)._buildChildren(child_, node, nodeName_, True) +# end class TCBezeichnung_LEU_Anlage + + +class CLEU_Schaltkasten_Bezeichnung(GeneratedsSuper): + """Nummer_Schaltkasten -- Nummer des Schaltkastens, die der Bezeichnung der LEU-Anlage f + ü + r die Bezeichnung des LEU-Schaltkastens angef + ü + gt wird. Wenn sich in einem LEU-Schaltkasten Module mehrerer LEU-Anlagen befinden, wird die Bezeichnung des LEU-Schaltkastens aus den Bezeichnungen gem + ä + ß + vorheriger Regel f + ü + r alle enthaltenen LEU-Anlagen zusammengesetzt. + Beispiel: + Bez. LEU-Anlage 1: A1 + Bez. LEU-Anlage 2: A2 + Nummer_Schaltkasten: 1 + Bezeichnung Schaltkasten: A1.1, A2.1 + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Nummer_Schaltkasten=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Nummer_Schaltkasten = Nummer_Schaltkasten + self.Nummer_Schaltkasten_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CLEU_Schaltkasten_Bezeichnung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CLEU_Schaltkasten_Bezeichnung.subclass: + return CLEU_Schaltkasten_Bezeichnung.subclass(*args_, **kwargs_) + else: + return CLEU_Schaltkasten_Bezeichnung(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Nummer_Schaltkasten(self): + return self.Nummer_Schaltkasten + def set_Nummer_Schaltkasten(self, Nummer_Schaltkasten): + self.Nummer_Schaltkasten = Nummer_Schaltkasten + def has__content(self): + if ( + self.Nummer_Schaltkasten is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='CLEU_Schaltkasten_Bezeichnung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CLEU_Schaltkasten_Bezeichnung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CLEU_Schaltkasten_Bezeichnung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CLEU_Schaltkasten_Bezeichnung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CLEU_Schaltkasten_Bezeichnung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='CLEU_Schaltkasten_Bezeichnung'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='CLEU_Schaltkasten_Bezeichnung', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Nummer_Schaltkasten is not None: + namespaceprefix_ = self.Nummer_Schaltkasten_nsprefix_ + ':' if (UseCapturedNS_ and self.Nummer_Schaltkasten_nsprefix_) else '' + self.Nummer_Schaltkasten.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Nummer_Schaltkasten', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Nummer_Schaltkasten': + obj_ = TCNummer_Schaltkasten.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Nummer_Schaltkasten = obj_ + obj_.original_tagname_ = 'Nummer_Schaltkasten' +# end class CLEU_Schaltkasten_Bezeichnung + + +class TCDP_Typ_Trans(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCDP_Typ_Trans"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMDP_Typ_Trans(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCDP_Typ_Trans) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCDP_Typ_Trans.subclass: + return TCDP_Typ_Trans.subclass(*args_, **kwargs_) + else: + return TCDP_Typ_Trans(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMDP_Typ_Trans(self, value): + result = True + # Validate type ENUMDP_Typ_Trans, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['A', 'sonstige', 'TR'] + 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 ENUMDP_Typ_Trans' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCDP_Typ_Trans, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCDP_Typ_Trans', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCDP_Typ_Trans') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCDP_Typ_Trans': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCDP_Typ_Trans') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCDP_Typ_Trans', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCDP_Typ_Trans'): + super(TCDP_Typ_Trans, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCDP_Typ_Trans') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCDP_Typ_Trans', fromsubclass_=False, pretty_print=True): + super(TCDP_Typ_Trans, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCDP_Typ_Trans, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMDP_Typ_Trans + self.validate_ENUMDP_Typ_Trans(self.Wert) + super(TCDP_Typ_Trans, self)._buildChildren(child_, node, nodeName_, True) +# end class TCDP_Typ_Trans + + +class TCAbstand_Reduziert(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCAbstand_Reduziert"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCAbstand_Reduziert) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCAbstand_Reduziert.subclass: + return TCAbstand_Reduziert.subclass(*args_, **kwargs_) + else: + return TCAbstand_Reduziert(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def has__content(self): + if ( + self.Wert is not None or + super(TCAbstand_Reduziert, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCAbstand_Reduziert', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCAbstand_Reduziert') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCAbstand_Reduziert': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCAbstand_Reduziert') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCAbstand_Reduziert', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCAbstand_Reduziert'): + super(TCAbstand_Reduziert, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCAbstand_Reduziert') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCAbstand_Reduziert', fromsubclass_=False, pretty_print=True): + super(TCAbstand_Reduziert, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_boolean(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCAbstand_Reduziert, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + sval_ = child_.text + ival_ = self.gds_parse_boolean(sval_, node, 'Wert') + ival_ = self.gds_validate_boolean(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + super(TCAbstand_Reduziert, self)._buildChildren(child_, node, nodeName_, True) +# end class TCAbstand_Reduziert + + +class TCV_Ziel(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCV_Ziel"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TV_Ziel(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCV_Ziel) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCV_Ziel.subclass: + return TCV_Ziel.subclass(*args_, **kwargs_) + else: + return TCV_Ziel(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TV_Ziel(self, value): + result = True + # Validate type TV_Ziel, a restriction on nsBasisTypen:TGeschwindigkeit. + 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_TV_Ziel_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TV_Ziel_patterns_, )) + result = False + return result + validate_TV_Ziel_patterns_ = [['^(0|[1-9][0-9]{0,1}|[1-4][0-9]{2}|500)$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCV_Ziel, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCV_Ziel', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCV_Ziel') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCV_Ziel': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCV_Ziel') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCV_Ziel', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCV_Ziel'): + super(TCV_Ziel, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCV_Ziel') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCV_Ziel', fromsubclass_=False, pretty_print=True): + super(TCV_Ziel, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_integer(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCV_Ziel, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + ival_ = self.gds_parse_integer(sval_, node, 'Wert') + ival_ = self.gds_validate_integer(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + # validate type TV_Ziel + self.validate_TV_Ziel(self.Wert) + super(TCV_Ziel, self)._buildChildren(child_, node, nodeName_, True) +# end class TCV_Ziel + + +class TCAusrichtung9(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCAusrichtung9"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TAusrichtung(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCAusrichtung9) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCAusrichtung9.subclass: + return TCAusrichtung9.subclass(*args_, **kwargs_) + else: + return TCAusrichtung9(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TAusrichtung(self, value): + result = True + # Validate type TAusrichtung, a restriction on nsBasisTypen:ENUMAusrichtung. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['gegen', 'in', 'keine'] + 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 TAusrichtung' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCAusrichtung9, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCAusrichtung9', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCAusrichtung9') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCAusrichtung9': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCAusrichtung9') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCAusrichtung9', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCAusrichtung9'): + super(TCAusrichtung9, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCAusrichtung9') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCAusrichtung9', fromsubclass_=False, pretty_print=True): + super(TCAusrichtung9, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCAusrichtung9, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TAusrichtung + self.validate_TAusrichtung(self.Wert) + super(TCAusrichtung9, self)._buildChildren(child_, node, nodeName_, True) +# end class TCAusrichtung9 + + +class CZUB_Bereichsgrenze_Bezeichnung(GeneratedsSuper): + """Bez_ZUB_Bereichsgrenze -- Bezeichnung der Bereichsgrenze (Ein-/Ausstiegspunkt), z. B. \"Einstieg in Richtung Gleise 7-14\". Die Angabe ist bei Ein-/Ausstieg L2 Pflicht. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Bez_ZUB_Bereichsgrenze=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Bez_ZUB_Bereichsgrenze = Bez_ZUB_Bereichsgrenze + self.Bez_ZUB_Bereichsgrenze_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CZUB_Bereichsgrenze_Bezeichnung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CZUB_Bereichsgrenze_Bezeichnung.subclass: + return CZUB_Bereichsgrenze_Bezeichnung.subclass(*args_, **kwargs_) + else: + return CZUB_Bereichsgrenze_Bezeichnung(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Bez_ZUB_Bereichsgrenze(self): + return self.Bez_ZUB_Bereichsgrenze + def set_Bez_ZUB_Bereichsgrenze(self, Bez_ZUB_Bereichsgrenze): + self.Bez_ZUB_Bereichsgrenze = Bez_ZUB_Bereichsgrenze + def has__content(self): + if ( + self.Bez_ZUB_Bereichsgrenze is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='CZUB_Bereichsgrenze_Bezeichnung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CZUB_Bereichsgrenze_Bezeichnung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CZUB_Bereichsgrenze_Bezeichnung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CZUB_Bereichsgrenze_Bezeichnung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CZUB_Bereichsgrenze_Bezeichnung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='CZUB_Bereichsgrenze_Bezeichnung'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='CZUB_Bereichsgrenze_Bezeichnung', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Bez_ZUB_Bereichsgrenze is not None: + namespaceprefix_ = self.Bez_ZUB_Bereichsgrenze_nsprefix_ + ':' if (UseCapturedNS_ and self.Bez_ZUB_Bereichsgrenze_nsprefix_) else '' + self.Bez_ZUB_Bereichsgrenze.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Bez_ZUB_Bereichsgrenze', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Bez_ZUB_Bereichsgrenze': + obj_ = TCBez_ZUB_Bereichsgrenze.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Bez_ZUB_Bereichsgrenze = obj_ + obj_.original_tagname_ = 'Bez_ZUB_Bereichsgrenze' +# end class CZUB_Bereichsgrenze_Bezeichnung + + +class CRBC_Allg(GeneratedsSuper): + """RBC_ETCS_System_Version -- Erste Stelle der Systemversion gem + ä + ß + System Requirement Specification (Subset 26, Kapitel 7). Die Angabe kann nicht eindeutig aus der ersten Stelle der SRS-Version abgeleitet werden. Auf Basis der SRS 3.3.0 kann beispielsweise die Systemversion 1 oder 2 implementiert werden. + RBC_SRS_Version -- Version der System Requirement Specification (Subset 26, Kapitel 7). Beispiel: 3.3.0. + Rufnummer -- Rufnummer, unter der das RBC per EuroRadio f + ü + r das Fahrzeugger + ä + t erreichbar ist. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, RBC_ETCS_System_Version=None, RBC_SRS_Version=None, Rufnummer=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.RBC_ETCS_System_Version = RBC_ETCS_System_Version + self.RBC_ETCS_System_Version_nsprefix_ = None + self.RBC_SRS_Version = RBC_SRS_Version + self.RBC_SRS_Version_nsprefix_ = None + self.Rufnummer = Rufnummer + self.Rufnummer_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CRBC_Allg) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CRBC_Allg.subclass: + return CRBC_Allg.subclass(*args_, **kwargs_) + else: + return CRBC_Allg(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_RBC_ETCS_System_Version(self): + return self.RBC_ETCS_System_Version + def set_RBC_ETCS_System_Version(self, RBC_ETCS_System_Version): + self.RBC_ETCS_System_Version = RBC_ETCS_System_Version + def get_RBC_SRS_Version(self): + return self.RBC_SRS_Version + def set_RBC_SRS_Version(self, RBC_SRS_Version): + self.RBC_SRS_Version = RBC_SRS_Version + def get_Rufnummer(self): + return self.Rufnummer + def set_Rufnummer(self, Rufnummer): + self.Rufnummer = Rufnummer + def has__content(self): + if ( + self.RBC_ETCS_System_Version is not None or + self.RBC_SRS_Version is not None or + self.Rufnummer is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='CRBC_Allg', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CRBC_Allg') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CRBC_Allg': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CRBC_Allg') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CRBC_Allg', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='CRBC_Allg'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='CRBC_Allg', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.RBC_ETCS_System_Version is not None: + namespaceprefix_ = self.RBC_ETCS_System_Version_nsprefix_ + ':' if (UseCapturedNS_ and self.RBC_ETCS_System_Version_nsprefix_) else '' + self.RBC_ETCS_System_Version.export(outfile, level, namespaceprefix_, namespacedef_='', name_='RBC_ETCS_System_Version', pretty_print=pretty_print) + if self.RBC_SRS_Version is not None: + namespaceprefix_ = self.RBC_SRS_Version_nsprefix_ + ':' if (UseCapturedNS_ and self.RBC_SRS_Version_nsprefix_) else '' + self.RBC_SRS_Version.export(outfile, level, namespaceprefix_, namespacedef_='', name_='RBC_SRS_Version', pretty_print=pretty_print) + if self.Rufnummer is not None: + namespaceprefix_ = self.Rufnummer_nsprefix_ + ':' if (UseCapturedNS_ and self.Rufnummer_nsprefix_) else '' + self.Rufnummer.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Rufnummer', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'RBC_ETCS_System_Version': + obj_ = TCRBC_ETCS_System_Version.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.RBC_ETCS_System_Version = obj_ + obj_.original_tagname_ = 'RBC_ETCS_System_Version' + elif nodeName_ == 'RBC_SRS_Version': + obj_ = TCRBC_SRS_Version.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.RBC_SRS_Version = obj_ + obj_.original_tagname_ = 'RBC_SRS_Version' + elif nodeName_ == 'Rufnummer': + obj_ = TCRufnummer.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Rufnummer = obj_ + obj_.original_tagname_ = 'Rufnummer' +# end class CRBC_Allg + + +class TCESG_Ind_Parameter(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCESG_Ind_Parameter"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TESG_Ind_Parameter(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCESG_Ind_Parameter) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCESG_Ind_Parameter.subclass: + return TCESG_Ind_Parameter.subclass(*args_, **kwargs_) + else: + return TCESG_Ind_Parameter(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TESG_Ind_Parameter(self, value): + result = True + # Validate type TESG_Ind_Parameter, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TESG_Ind_Parameter_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TESG_Ind_Parameter_patterns_, )) + result = False + return result + validate_TESG_Ind_Parameter_patterns_ = [['^(.{1,15})$'], ['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCESG_Ind_Parameter, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCESG_Ind_Parameter', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCESG_Ind_Parameter') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCESG_Ind_Parameter': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCESG_Ind_Parameter') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCESG_Ind_Parameter', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCESG_Ind_Parameter'): + super(TCESG_Ind_Parameter, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCESG_Ind_Parameter') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCESG_Ind_Parameter', fromsubclass_=False, pretty_print=True): + super(TCESG_Ind_Parameter, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCESG_Ind_Parameter, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TESG_Ind_Parameter + self.validate_TESG_Ind_Parameter(self.Wert) + super(TCESG_Ind_Parameter, self)._buildChildren(child_, node, nodeName_, True) +# end class TCESG_Ind_Parameter + + +class TCBez_Strecke_BTS_3(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCBez_Strecke_BTS_3"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TBez_Strecke_BTS_3(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCBez_Strecke_BTS_3) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCBez_Strecke_BTS_3.subclass: + return TCBez_Strecke_BTS_3.subclass(*args_, **kwargs_) + else: + return TCBez_Strecke_BTS_3(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TBez_Strecke_BTS_3(self, value): + result = True + # Validate type TBez_Strecke_BTS_3, a restriction on nsBasisTypen:TZeichenkette. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TBez_Strecke_BTS_3_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TBez_Strecke_BTS_3_patterns_, )) + result = False + return result + validate_TBez_Strecke_BTS_3_patterns_ = [['^([a-zA-Z_0-9]{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCBez_Strecke_BTS_3, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCBez_Strecke_BTS_3', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCBez_Strecke_BTS_3') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCBez_Strecke_BTS_3': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBez_Strecke_BTS_3') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCBez_Strecke_BTS_3', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCBez_Strecke_BTS_3'): + super(TCBez_Strecke_BTS_3, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBez_Strecke_BTS_3') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCBez_Strecke_BTS_3', fromsubclass_=False, pretty_print=True): + super(TCBez_Strecke_BTS_3, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCBez_Strecke_BTS_3, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TBez_Strecke_BTS_3 + self.validate_TBez_Strecke_BTS_3(self.Wert) + super(TCBez_Strecke_BTS_3, self)._buildChildren(child_, node, nodeName_, True) +# end class TCBez_Strecke_BTS_3 + + +class TCVerbot_WB_Art(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCVerbot_WB_Art"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMVerbot_WB_Art(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCVerbot_WB_Art) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCVerbot_WB_Art.subclass: + return TCVerbot_WB_Art.subclass(*args_, **kwargs_) + else: + return TCVerbot_WB_Art(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMVerbot_WB_Art(self, value): + result = True + # Validate type ENUMVerbot_WB_Art, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['Betriebsbremsung', 'vollständig'] + 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 ENUMVerbot_WB_Art' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCVerbot_WB_Art, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCVerbot_WB_Art', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCVerbot_WB_Art') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCVerbot_WB_Art': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCVerbot_WB_Art') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCVerbot_WB_Art', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCVerbot_WB_Art'): + super(TCVerbot_WB_Art, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCVerbot_WB_Art') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCVerbot_WB_Art', fromsubclass_=False, pretty_print=True): + super(TCVerbot_WB_Art, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCVerbot_WB_Art, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMVerbot_WB_Art + self.validate_ENUMVerbot_WB_Art(self.Wert) + super(TCVerbot_WB_Art, self)._buildChildren(child_, node, nodeName_, True) +# end class TCVerbot_WB_Art + + +class TCPrioritaet10(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCPrioritaet10"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TPrioritaet(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCPrioritaet10) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCPrioritaet10.subclass: + return TCPrioritaet10.subclass(*args_, **kwargs_) + else: + return TCPrioritaet10(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TPrioritaet(self, value): + result = True + # Validate type TPrioritaet, a restriction on xs:integer. + 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 + pass + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCPrioritaet10, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCPrioritaet10', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCPrioritaet10') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCPrioritaet10': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCPrioritaet10') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCPrioritaet10', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCPrioritaet10'): + super(TCPrioritaet10, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCPrioritaet10') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCPrioritaet10', fromsubclass_=False, pretty_print=True): + super(TCPrioritaet10, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_integer(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCPrioritaet10, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + ival_ = self.gds_parse_integer(sval_, node, 'Wert') + ival_ = self.gds_validate_integer(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + # validate type TPrioritaet + self.validate_TPrioritaet(self.Wert) + super(TCPrioritaet10, self)._buildChildren(child_, node, nodeName_, True) +# end class TCPrioritaet10 + + +class TCMassgebende_Neig_1(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCMassgebende_Neig_1"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TMassgebende_Neig_1(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCMassgebende_Neig_1) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCMassgebende_Neig_1.subclass: + return TCMassgebende_Neig_1.subclass(*args_, **kwargs_) + else: + return TCMassgebende_Neig_1(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TMassgebende_Neig_1(self, value): + result = True + # Validate type TMassgebende_Neig_1, 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 not self.gds_validate_simple_patterns( + self.validate_TMassgebende_Neig_1_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TMassgebende_Neig_1_patterns_, )) + result = False + return result + validate_TMassgebende_Neig_1_patterns_ = [['^(-([1-9]|[1-7][0-9]|80)\\.[0-9]{2}|-0\\.[1-9][0-9]|-0\\.0[1-9]|[0-9]\\.[0-9]{2}|[1-7][0-9]\\.[0-9]{2}|80\\.00)$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCMassgebende_Neig_1, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCMassgebende_Neig_1', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCMassgebende_Neig_1') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCMassgebende_Neig_1': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCMassgebende_Neig_1') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCMassgebende_Neig_1', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCMassgebende_Neig_1'): + super(TCMassgebende_Neig_1, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCMassgebende_Neig_1') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCMassgebende_Neig_1', fromsubclass_=False, pretty_print=True): + super(TCMassgebende_Neig_1, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_decimal(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCMassgebende_Neig_1, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + fval_ = self.gds_parse_decimal(sval_, node, 'Wert') + fval_ = self.gds_validate_decimal(fval_, node, 'Wert') + self.Wert = fval_ + self.Wert_nsprefix_ = child_.prefix + # validate type TMassgebende_Neig_1 + self.validate_TMassgebende_Neig_1(self.Wert) + super(TCMassgebende_Neig_1, self)._buildChildren(child_, node, nodeName_, True) +# end class TCMassgebende_Neig_1 + + +class CDP_Typ_GGNT(GeneratedsSuper): + """DP_Typ_GNT -- Durch das Anwendungssystem GNT definierter Datenpunkttyp. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, DP_Typ_GNT=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.DP_Typ_GNT = DP_Typ_GNT + self.DP_Typ_GNT_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CDP_Typ_GGNT) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CDP_Typ_GGNT.subclass: + return CDP_Typ_GGNT.subclass(*args_, **kwargs_) + else: + return CDP_Typ_GGNT(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_DP_Typ_GNT(self): + return self.DP_Typ_GNT + def set_DP_Typ_GNT(self, DP_Typ_GNT): + self.DP_Typ_GNT = DP_Typ_GNT + def has__content(self): + if ( + self.DP_Typ_GNT is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='CDP_Typ_GGNT', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CDP_Typ_GGNT') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CDP_Typ_GGNT': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CDP_Typ_GGNT') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CDP_Typ_GGNT', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='CDP_Typ_GGNT'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='CDP_Typ_GGNT', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.DP_Typ_GNT is not None: + namespaceprefix_ = self.DP_Typ_GNT_nsprefix_ + ':' if (UseCapturedNS_ and self.DP_Typ_GNT_nsprefix_) else '' + self.DP_Typ_GNT.export(outfile, level, namespaceprefix_, namespacedef_='', name_='DP_Typ_GNT', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'DP_Typ_GNT': + obj_ = TCDP_Typ_GNT.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.DP_Typ_GNT = obj_ + obj_.original_tagname_ = 'DP_Typ_GNT' +# end class CDP_Typ_GGNT + + +class TCTextmeldung(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCTextmeldung"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TTextmeldung(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCTextmeldung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCTextmeldung.subclass: + return TCTextmeldung.subclass(*args_, **kwargs_) + else: + return TCTextmeldung(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TTextmeldung(self, value): + result = True + # Validate type TTextmeldung, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TTextmeldung_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TTextmeldung_patterns_, )) + result = False + return result + validate_TTextmeldung_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCTextmeldung, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCTextmeldung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCTextmeldung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCTextmeldung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCTextmeldung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCTextmeldung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCTextmeldung'): + super(TCTextmeldung, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCTextmeldung') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCTextmeldung', fromsubclass_=False, pretty_print=True): + super(TCTextmeldung, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCTextmeldung, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TTextmeldung + self.validate_TTextmeldung(self.Wert) + super(TCTextmeldung, self)._buildChildren(child_, node, nodeName_, True) +# end class TCTextmeldung + + +class TCVLA(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCVLA"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TVLA(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCVLA) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCVLA.subclass: + return TCVLA.subclass(*args_, **kwargs_) + else: + return TCVLA(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TVLA(self, value): + result = True + # Validate type TVLA, a restriction on nsBasisTypen:TGeschwindigkeit. + 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_TVLA_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TVLA_patterns_, )) + result = False + return result + validate_TVLA_patterns_ = [['^(0|[1-9][0-9]{0,1}|[1-4][0-9]{2}|500)$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCVLA, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCVLA', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCVLA') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCVLA': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCVLA') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCVLA', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCVLA'): + super(TCVLA, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCVLA') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCVLA', fromsubclass_=False, pretty_print=True): + super(TCVLA, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_integer(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCVLA, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + ival_ = self.gds_parse_integer(sval_, node, 'Wert') + ival_ = self.gds_validate_integer(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + # validate type TVLA + self.validate_TVLA(self.Wert) + super(TCVLA, self)._buildChildren(child_, node, nodeName_, True) +# end class TCVLA + + +class TCLEU_Schaltkasten_Typ(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCLEU_Schaltkasten_Typ"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TLEU_Schaltkasten_Typ(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCLEU_Schaltkasten_Typ) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCLEU_Schaltkasten_Typ.subclass: + return TCLEU_Schaltkasten_Typ.subclass(*args_, **kwargs_) + else: + return TCLEU_Schaltkasten_Typ(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TLEU_Schaltkasten_Typ(self, value): + result = True + # Validate type TLEU_Schaltkasten_Typ, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TLEU_Schaltkasten_Typ_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TLEU_Schaltkasten_Typ_patterns_, )) + result = False + return result + validate_TLEU_Schaltkasten_Typ_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCLEU_Schaltkasten_Typ, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCLEU_Schaltkasten_Typ', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCLEU_Schaltkasten_Typ') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCLEU_Schaltkasten_Typ': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCLEU_Schaltkasten_Typ') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCLEU_Schaltkasten_Typ', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCLEU_Schaltkasten_Typ'): + super(TCLEU_Schaltkasten_Typ, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCLEU_Schaltkasten_Typ') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCLEU_Schaltkasten_Typ', fromsubclass_=False, pretty_print=True): + super(TCLEU_Schaltkasten_Typ, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCLEU_Schaltkasten_Typ, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TLEU_Schaltkasten_Typ + self.validate_TLEU_Schaltkasten_Typ(self.Wert) + super(TCLEU_Schaltkasten_Typ, self)._buildChildren(child_, node, nodeName_, True) +# end class TCLEU_Schaltkasten_Typ + + +class TCVerbot_Regenerative_Bremse(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCVerbot_Regenerative_Bremse"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCVerbot_Regenerative_Bremse) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCVerbot_Regenerative_Bremse.subclass: + return TCVerbot_Regenerative_Bremse.subclass(*args_, **kwargs_) + else: + return TCVerbot_Regenerative_Bremse(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def has__content(self): + if ( + self.Wert is not None or + super(TCVerbot_Regenerative_Bremse, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCVerbot_Regenerative_Bremse', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCVerbot_Regenerative_Bremse') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCVerbot_Regenerative_Bremse': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCVerbot_Regenerative_Bremse') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCVerbot_Regenerative_Bremse', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCVerbot_Regenerative_Bremse'): + super(TCVerbot_Regenerative_Bremse, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCVerbot_Regenerative_Bremse') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCVerbot_Regenerative_Bremse', fromsubclass_=False, pretty_print=True): + super(TCVerbot_Regenerative_Bremse, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_boolean(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCVerbot_Regenerative_Bremse, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + sval_ = child_.text + ival_ = self.gds_parse_boolean(sval_, node, 'Wert') + ival_ = self.gds_validate_boolean(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + super(TCVerbot_Regenerative_Bremse, self)._buildChildren(child_, node, nodeName_, True) +# end class TCVerbot_Regenerative_Bremse + + +class CZUB_Streckeneigenschaft_Bezeichnung(GeneratedsSuper): + """Bezeichnung_ZUB_SE -- Bezeichnung des gekennzeichneten Bereichs (z. B. Metallteil, Tunnel mit Anhalteverbot etc.). + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Bezeichnung_ZUB_SE=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Bezeichnung_ZUB_SE = Bezeichnung_ZUB_SE + self.Bezeichnung_ZUB_SE_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CZUB_Streckeneigenschaft_Bezeichnung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CZUB_Streckeneigenschaft_Bezeichnung.subclass: + return CZUB_Streckeneigenschaft_Bezeichnung.subclass(*args_, **kwargs_) + else: + return CZUB_Streckeneigenschaft_Bezeichnung(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Bezeichnung_ZUB_SE(self): + return self.Bezeichnung_ZUB_SE + def set_Bezeichnung_ZUB_SE(self, Bezeichnung_ZUB_SE): + self.Bezeichnung_ZUB_SE = Bezeichnung_ZUB_SE + def has__content(self): + if ( + self.Bezeichnung_ZUB_SE is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='CZUB_Streckeneigenschaft_Bezeichnung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CZUB_Streckeneigenschaft_Bezeichnung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CZUB_Streckeneigenschaft_Bezeichnung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CZUB_Streckeneigenschaft_Bezeichnung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CZUB_Streckeneigenschaft_Bezeichnung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='CZUB_Streckeneigenschaft_Bezeichnung'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='CZUB_Streckeneigenschaft_Bezeichnung', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Bezeichnung_ZUB_SE is not None: + namespaceprefix_ = self.Bezeichnung_ZUB_SE_nsprefix_ + ':' if (UseCapturedNS_ and self.Bezeichnung_ZUB_SE_nsprefix_) else '' + self.Bezeichnung_ZUB_SE.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Bezeichnung_ZUB_SE', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Bezeichnung_ZUB_SE': + obj_ = TCBezeichnung_ZUB_SE.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Bezeichnung_ZUB_SE = obj_ + obj_.original_tagname_ = 'Bezeichnung_ZUB_SE' +# end class CZUB_Streckeneigenschaft_Bezeichnung + + +class TCSpannung_Toleranz_Obere(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCSpannung_Toleranz_Obere"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TSpannung_Toleranz_Obere(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCSpannung_Toleranz_Obere) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCSpannung_Toleranz_Obere.subclass: + return TCSpannung_Toleranz_Obere.subclass(*args_, **kwargs_) + else: + return TCSpannung_Toleranz_Obere(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TSpannung_Toleranz_Obere(self, value): + result = True + # Validate type TSpannung_Toleranz_Obere, a restriction on xs:integer. + 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 + pass + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCSpannung_Toleranz_Obere, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCSpannung_Toleranz_Obere', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCSpannung_Toleranz_Obere') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCSpannung_Toleranz_Obere': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCSpannung_Toleranz_Obere') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCSpannung_Toleranz_Obere', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCSpannung_Toleranz_Obere'): + super(TCSpannung_Toleranz_Obere, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCSpannung_Toleranz_Obere') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCSpannung_Toleranz_Obere', fromsubclass_=False, pretty_print=True): + super(TCSpannung_Toleranz_Obere, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_integer(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCSpannung_Toleranz_Obere, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + ival_ = self.gds_parse_integer(sval_, node, 'Wert') + ival_ = self.gds_validate_integer(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + # validate type TSpannung_Toleranz_Obere + self.validate_TSpannung_Toleranz_Obere(self.Wert) + super(TCSpannung_Toleranz_Obere, self)._buildChildren(child_, node, nodeName_, True) +# end class TCSpannung_Toleranz_Obere + + +class TCDateiname11(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCDateiname11"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TDateiname(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCDateiname11) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCDateiname11.subclass: + return TCDateiname11.subclass(*args_, **kwargs_) + else: + return TCDateiname11(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TDateiname(self, value): + result = True + # Validate type TDateiname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TDateiname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TDateiname_patterns_, )) + result = False + return result + validate_TDateiname_patterns_ = [['^([^\\\\/?:\\*\\|"<>]*)$'], ['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCDateiname11, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCDateiname11', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCDateiname11') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCDateiname11': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCDateiname11') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCDateiname11', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCDateiname11'): + super(TCDateiname11, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCDateiname11') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCDateiname11', fromsubclass_=False, pretty_print=True): + super(TCDateiname11, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCDateiname11, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TDateiname + self.validate_TDateiname(self.Wert) + super(TCDateiname11, self)._buildChildren(child_, node, nodeName_, True) +# end class TCDateiname11 + + +class TCAnwendungssystem(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCAnwendungssystem"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TAnwendungssystem(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCAnwendungssystem) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCAnwendungssystem.subclass: + return TCAnwendungssystem.subclass(*args_, **kwargs_) + else: + return TCAnwendungssystem(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TAnwendungssystem(self, value): + result = True + # Validate type TAnwendungssystem, a restriction on nsBasisTypen:ENUMAnwendungssystem. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['ESG', 'GNT', 'L2', 'L2oS', 'LZB', 'ohne', 'PZB', 'sonstige', 'ZBS'] + 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 TAnwendungssystem' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCAnwendungssystem, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCAnwendungssystem', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCAnwendungssystem') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCAnwendungssystem': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCAnwendungssystem') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCAnwendungssystem', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCAnwendungssystem'): + super(TCAnwendungssystem, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCAnwendungssystem') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCAnwendungssystem', fromsubclass_=False, pretty_print=True): + super(TCAnwendungssystem, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCAnwendungssystem, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TAnwendungssystem + self.validate_TAnwendungssystem(self.Wert) + super(TCAnwendungssystem, self)._buildChildren(child_, node, nodeName_, True) +# end class TCAnwendungssystem + + +class TCEinstieg_Ohne_Rueckw_Sig(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCEinstieg_Ohne_Rueckw_Sig"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCEinstieg_Ohne_Rueckw_Sig) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCEinstieg_Ohne_Rueckw_Sig.subclass: + return TCEinstieg_Ohne_Rueckw_Sig.subclass(*args_, **kwargs_) + else: + return TCEinstieg_Ohne_Rueckw_Sig(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def has__content(self): + if ( + self.Wert is not None or + super(TCEinstieg_Ohne_Rueckw_Sig, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCEinstieg_Ohne_Rueckw_Sig', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCEinstieg_Ohne_Rueckw_Sig') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCEinstieg_Ohne_Rueckw_Sig': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCEinstieg_Ohne_Rueckw_Sig') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCEinstieg_Ohne_Rueckw_Sig', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCEinstieg_Ohne_Rueckw_Sig'): + super(TCEinstieg_Ohne_Rueckw_Sig, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCEinstieg_Ohne_Rueckw_Sig') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCEinstieg_Ohne_Rueckw_Sig', fromsubclass_=False, pretty_print=True): + super(TCEinstieg_Ohne_Rueckw_Sig, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_boolean(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCEinstieg_Ohne_Rueckw_Sig, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + sval_ = child_.text + ival_ = self.gds_parse_boolean(sval_, node, 'Wert') + ival_ = self.gds_validate_boolean(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + super(TCEinstieg_Ohne_Rueckw_Sig, self)._buildChildren(child_, node, nodeName_, True) +# end class TCEinstieg_Ohne_Rueckw_Sig + + +class CLEU_Schaltkasten_Energie(GeneratedsSuper): + """Anzahl_Voll_LEU_Kalkuliert -- Kalkulierte Anzahl der Voll-LEU im LEU-Schaltkasten, sofern planungsseitig noch keine LEU-Module angelegt worden sind oder die Angabe der LEU_Art fehlt (Grundlage f + ü + r die Energiebedarfsermittlung). Sofern das Attribut im PT 1 genutzt wird, ergibt sich die tats + ä + chliche Anzahl aus den im Rahmen des PT 2 angelegten Instanzen LEU_Modul, die dem LEU-Schaltkasten zugeordnet sind. + ID_Energie_LEU_Schaltkasten -- Verweis auf das Element, von dem die Energieversorgung der LEU erfolgt. + Max_Leistung -- Maximaler Leistungsbedarf des LEU-Schaltkastens (Summe aller LEU-Module). Der Leistungsbedarf soll durch das Planungswerkzeug + ü + ber LEU_Modul_Art und die Anzahl der zugeh + ö + rigen Datenpunkte bestimmt werden. Im besonderen Fall ist die Korrektur durch den Planer m + ö + glich. + Spannung_Art -- Nennspannung, mit der der LEU-Schaltkasten betrieben wird. + Ueberbrueckung_EV_Unterbrechung -- EV-Unterbrechungszeit, die im LEU-Schaltkasten + ü + berbr + ü + ckt werden muss. Sofern eine USV vorgesehen ist, ist keine + Ü + berbr + ü + ckung erforderlich. Hinweis: Erfolgt der LEU-Hochlauf innerhalb von 0,5 s, kann der Hersteller auf eine + Ü + berbr + ü + ckung verzichten. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anzahl_Voll_LEU_Kalkuliert=None, ID_Energie_LEU_Schaltkasten=None, Max_Leistung=None, Spannung_Art=None, Ueberbrueckung_EV_Unterbrechung=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anzahl_Voll_LEU_Kalkuliert = Anzahl_Voll_LEU_Kalkuliert + self.Anzahl_Voll_LEU_Kalkuliert_nsprefix_ = None + self.ID_Energie_LEU_Schaltkasten = ID_Energie_LEU_Schaltkasten + self.ID_Energie_LEU_Schaltkasten_nsprefix_ = None + self.Max_Leistung = Max_Leistung + self.Max_Leistung_nsprefix_ = None + self.Spannung_Art = Spannung_Art + self.Spannung_Art_nsprefix_ = None + self.Ueberbrueckung_EV_Unterbrechung = Ueberbrueckung_EV_Unterbrechung + self.Ueberbrueckung_EV_Unterbrechung_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CLEU_Schaltkasten_Energie) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CLEU_Schaltkasten_Energie.subclass: + return CLEU_Schaltkasten_Energie.subclass(*args_, **kwargs_) + else: + return CLEU_Schaltkasten_Energie(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anzahl_Voll_LEU_Kalkuliert(self): + return self.Anzahl_Voll_LEU_Kalkuliert + def set_Anzahl_Voll_LEU_Kalkuliert(self, Anzahl_Voll_LEU_Kalkuliert): + self.Anzahl_Voll_LEU_Kalkuliert = Anzahl_Voll_LEU_Kalkuliert + def get_ID_Energie_LEU_Schaltkasten(self): + return self.ID_Energie_LEU_Schaltkasten + def set_ID_Energie_LEU_Schaltkasten(self, ID_Energie_LEU_Schaltkasten): + self.ID_Energie_LEU_Schaltkasten = ID_Energie_LEU_Schaltkasten + def get_Max_Leistung(self): + return self.Max_Leistung + def set_Max_Leistung(self, Max_Leistung): + self.Max_Leistung = Max_Leistung + def get_Spannung_Art(self): + return self.Spannung_Art + def set_Spannung_Art(self, Spannung_Art): + self.Spannung_Art = Spannung_Art + def get_Ueberbrueckung_EV_Unterbrechung(self): + return self.Ueberbrueckung_EV_Unterbrechung + def set_Ueberbrueckung_EV_Unterbrechung(self, Ueberbrueckung_EV_Unterbrechung): + self.Ueberbrueckung_EV_Unterbrechung = Ueberbrueckung_EV_Unterbrechung + def has__content(self): + if ( + self.Anzahl_Voll_LEU_Kalkuliert is not None or + self.ID_Energie_LEU_Schaltkasten is not None or + self.Max_Leistung is not None or + self.Spannung_Art is not None or + self.Ueberbrueckung_EV_Unterbrechung is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CLEU_Schaltkasten_Energie', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CLEU_Schaltkasten_Energie') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CLEU_Schaltkasten_Energie': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CLEU_Schaltkasten_Energie') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CLEU_Schaltkasten_Energie', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='CLEU_Schaltkasten_Energie'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CLEU_Schaltkasten_Energie', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Anzahl_Voll_LEU_Kalkuliert is not None: + namespaceprefix_ = self.Anzahl_Voll_LEU_Kalkuliert_nsprefix_ + ':' if (UseCapturedNS_ and self.Anzahl_Voll_LEU_Kalkuliert_nsprefix_) else '' + self.Anzahl_Voll_LEU_Kalkuliert.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Anzahl_Voll_LEU_Kalkuliert', pretty_print=pretty_print) + if self.ID_Energie_LEU_Schaltkasten is not None: + namespaceprefix_ = self.ID_Energie_LEU_Schaltkasten_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Energie_LEU_Schaltkasten_nsprefix_) else '' + self.ID_Energie_LEU_Schaltkasten.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Energie_LEU_Schaltkasten', pretty_print=pretty_print) + if self.Max_Leistung is not None: + namespaceprefix_ = self.Max_Leistung_nsprefix_ + ':' if (UseCapturedNS_ and self.Max_Leistung_nsprefix_) else '' + self.Max_Leistung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Max_Leistung', pretty_print=pretty_print) + if self.Spannung_Art is not None: + namespaceprefix_ = self.Spannung_Art_nsprefix_ + ':' if (UseCapturedNS_ and self.Spannung_Art_nsprefix_) else '' + self.Spannung_Art.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Spannung_Art', pretty_print=pretty_print) + if self.Ueberbrueckung_EV_Unterbrechung is not None: + namespaceprefix_ = self.Ueberbrueckung_EV_Unterbrechung_nsprefix_ + ':' if (UseCapturedNS_ and self.Ueberbrueckung_EV_Unterbrechung_nsprefix_) else '' + self.Ueberbrueckung_EV_Unterbrechung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Ueberbrueckung_EV_Unterbrechung', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Anzahl_Voll_LEU_Kalkuliert': + obj_ = TCAnzahl_Voll_LEU_Kalkuliert.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Anzahl_Voll_LEU_Kalkuliert = obj_ + obj_.original_tagname_ = 'Anzahl_Voll_LEU_Kalkuliert' + elif nodeName_ == 'ID_Energie_LEU_Schaltkasten': + obj_ = TCID_EV_Modul.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Energie_LEU_Schaltkasten = obj_ + obj_.original_tagname_ = 'ID_Energie_LEU_Schaltkasten' + elif nodeName_ == 'Max_Leistung': + obj_ = TCMax_Leistung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Max_Leistung = obj_ + obj_.original_tagname_ = 'Max_Leistung' + elif nodeName_ == 'Spannung_Art': + obj_ = TCSpannung_Art.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Spannung_Art = obj_ + obj_.original_tagname_ = 'Spannung_Art' + elif nodeName_ == 'Ueberbrueckung_EV_Unterbrechung': + obj_ = TCUeberbrueckung_EV_Unterbrechung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Ueberbrueckung_EV_Unterbrechung = obj_ + obj_.original_tagname_ = 'Ueberbrueckung_EV_Unterbrechung' +# end class CLEU_Schaltkasten_Energie + + +class TCEingang_Gepuffert(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCEingang_Gepuffert"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCEingang_Gepuffert) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCEingang_Gepuffert.subclass: + return TCEingang_Gepuffert.subclass(*args_, **kwargs_) + else: + return TCEingang_Gepuffert(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def has__content(self): + if ( + self.Wert is not None or + super(TCEingang_Gepuffert, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCEingang_Gepuffert', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCEingang_Gepuffert') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCEingang_Gepuffert': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCEingang_Gepuffert') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCEingang_Gepuffert', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCEingang_Gepuffert'): + super(TCEingang_Gepuffert, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCEingang_Gepuffert') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCEingang_Gepuffert', fromsubclass_=False, pretty_print=True): + super(TCEingang_Gepuffert, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_boolean(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCEingang_Gepuffert, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + sval_ = child_.text + ival_ = self.gds_parse_boolean(sval_, node, 'Wert') + ival_ = self.gds_validate_boolean(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + super(TCEingang_Gepuffert, self)._buildChildren(child_, node, nodeName_, True) +# end class TCEingang_Gepuffert + + +class CBgrenze_Nach_L2_Bed_Einstieg(GeneratedsSuper): + """ID_W_Element -- Verweis auf das Weichen-Element der Entscheidungsweiche. + W_Lage -- Lage des Weichen-Elements. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, ID_W_Element=None, W_Lage=None, gds_collector_=None, **kwargs_): + self.gds_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_W_Element = ID_W_Element + self.ID_W_Element_nsprefix_ = None + self.W_Lage = W_Lage + self.W_Lage_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CBgrenze_Nach_L2_Bed_Einstieg) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CBgrenze_Nach_L2_Bed_Einstieg.subclass: + return CBgrenze_Nach_L2_Bed_Einstieg.subclass(*args_, **kwargs_) + else: + return CBgrenze_Nach_L2_Bed_Einstieg(*args_, **kwargs_) + factory = staticmethod(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_W_Element(self): + return self.ID_W_Element + def set_ID_W_Element(self, ID_W_Element): + self.ID_W_Element = ID_W_Element + def get_W_Lage(self): + return self.W_Lage + def set_W_Lage(self, W_Lage): + self.W_Lage = W_Lage + def has__content(self): + if ( + self.ID_W_Element is not None or + self.W_Lage is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CBgrenze_Nach_L2_Bed_Einstieg', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CBgrenze_Nach_L2_Bed_Einstieg') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CBgrenze_Nach_L2_Bed_Einstieg': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CBgrenze_Nach_L2_Bed_Einstieg') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CBgrenze_Nach_L2_Bed_Einstieg', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='CBgrenze_Nach_L2_Bed_Einstieg'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CBgrenze_Nach_L2_Bed_Einstieg', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.ID_W_Element is not None: + namespaceprefix_ = self.ID_W_Element_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_W_Element_nsprefix_) else '' + self.ID_W_Element.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_W_Element', pretty_print=pretty_print) + if self.W_Lage is not None: + namespaceprefix_ = self.W_Lage_nsprefix_ + ':' if (UseCapturedNS_ and self.W_Lage_nsprefix_) else '' + self.W_Lage.export(outfile, level, namespaceprefix_, namespacedef_='', name_='W_Lage', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_W_Element': + obj_ = TCID_W_Kr_Gsp_Element.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_W_Element = obj_ + obj_.original_tagname_ = 'ID_W_Element' + elif nodeName_ == 'W_Lage': + obj_ = TCW_Lage.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.W_Lage = obj_ + obj_.original_tagname_ = 'W_Lage' +# end class CBgrenze_Nach_L2_Bed_Einstieg + + +class TCSpannung_Toleranz_Untere(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCSpannung_Toleranz_Untere"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TSpannung_Toleranz_Untere(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCSpannung_Toleranz_Untere) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCSpannung_Toleranz_Untere.subclass: + return TCSpannung_Toleranz_Untere.subclass(*args_, **kwargs_) + else: + return TCSpannung_Toleranz_Untere(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TSpannung_Toleranz_Untere(self, value): + result = True + # Validate type TSpannung_Toleranz_Untere, a restriction on xs:integer. + 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 + pass + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCSpannung_Toleranz_Untere, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCSpannung_Toleranz_Untere', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCSpannung_Toleranz_Untere') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCSpannung_Toleranz_Untere': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCSpannung_Toleranz_Untere') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCSpannung_Toleranz_Untere', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCSpannung_Toleranz_Untere'): + super(TCSpannung_Toleranz_Untere, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCSpannung_Toleranz_Untere') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCSpannung_Toleranz_Untere', fromsubclass_=False, pretty_print=True): + super(TCSpannung_Toleranz_Untere, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_integer(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCSpannung_Toleranz_Untere, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + ival_ = self.gds_parse_integer(sval_, node, 'Wert') + ival_ = self.gds_validate_integer(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + # validate type TSpannung_Toleranz_Untere + self.validate_TSpannung_Toleranz_Untere(self.Wert) + super(TCSpannung_Toleranz_Untere, self)._buildChildren(child_, node, nodeName_, True) +# end class TCSpannung_Toleranz_Untere + + +class TCGruppen_ID(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCGruppen_ID"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TGruppen_ID(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCGruppen_ID) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCGruppen_ID.subclass: + return TCGruppen_ID.subclass(*args_, **kwargs_) + else: + return TCGruppen_ID(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TGruppen_ID(self, value): + result = True + # Validate type TGruppen_ID, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGruppen_ID_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGruppen_ID_patterns_, )) + result = False + return result + validate_TGruppen_ID_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCGruppen_ID, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCGruppen_ID', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCGruppen_ID') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCGruppen_ID': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCGruppen_ID') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCGruppen_ID', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCGruppen_ID'): + super(TCGruppen_ID, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCGruppen_ID') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCGruppen_ID', fromsubclass_=False, pretty_print=True): + super(TCGruppen_ID, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCGruppen_ID, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGruppen_ID + self.validate_TGruppen_ID(self.Wert) + super(TCGruppen_ID, self)._buildChildren(child_, node, nodeName_, True) +# end class TCGruppen_ID + + +class TCETCS_System_Version(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCETCS_System_Version"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TETCS_System_Version(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCETCS_System_Version) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCETCS_System_Version.subclass: + return TCETCS_System_Version.subclass(*args_, **kwargs_) + else: + return TCETCS_System_Version(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TETCS_System_Version(self, value): + result = True + # Validate type TETCS_System_Version, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TETCS_System_Version_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TETCS_System_Version_patterns_, )) + result = False + return result + validate_TETCS_System_Version_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCETCS_System_Version, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCETCS_System_Version', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCETCS_System_Version') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCETCS_System_Version': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCETCS_System_Version') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCETCS_System_Version', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCETCS_System_Version'): + super(TCETCS_System_Version, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCETCS_System_Version') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCETCS_System_Version', fromsubclass_=False, pretty_print=True): + super(TCETCS_System_Version, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCETCS_System_Version, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TETCS_System_Version + self.validate_TETCS_System_Version(self.Wert) + super(TCETCS_System_Version, self)._buildChildren(child_, node, nodeName_, True) +# end class TCETCS_System_Version + + +class TCEV_Modul_Typ(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCEV_Modul_Typ"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TEV_Modul_Typ(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCEV_Modul_Typ) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCEV_Modul_Typ.subclass: + return TCEV_Modul_Typ.subclass(*args_, **kwargs_) + else: + return TCEV_Modul_Typ(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TEV_Modul_Typ(self, value): + result = True + # Validate type TEV_Modul_Typ, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TEV_Modul_Typ_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TEV_Modul_Typ_patterns_, )) + result = False + return result + validate_TEV_Modul_Typ_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCEV_Modul_Typ, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCEV_Modul_Typ', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCEV_Modul_Typ') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCEV_Modul_Typ': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCEV_Modul_Typ') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCEV_Modul_Typ', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCEV_Modul_Typ'): + super(TCEV_Modul_Typ, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCEV_Modul_Typ') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCEV_Modul_Typ', fromsubclass_=False, pretty_print=True): + super(TCEV_Modul_Typ, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCEV_Modul_Typ, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TEV_Modul_Typ + self.validate_TEV_Modul_Typ(self.Wert) + super(TCEV_Modul_Typ, self)._buildChildren(child_, node, nodeName_, True) +# end class TCEV_Modul_Typ + + +class TCRBC_SRS_Version(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCRBC_SRS_Version"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TRBC_SRS_Version(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCRBC_SRS_Version) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCRBC_SRS_Version.subclass: + return TCRBC_SRS_Version.subclass(*args_, **kwargs_) + else: + return TCRBC_SRS_Version(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TRBC_SRS_Version(self, value): + result = True + # Validate type TRBC_SRS_Version, a restriction on nsBasisTypen:TZeichenkette. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TRBC_SRS_Version_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TRBC_SRS_Version_patterns_, )) + result = False + return result + validate_TRBC_SRS_Version_patterns_ = [['^(.{1})$'], ['^([a-zA-Z_0-9]{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCRBC_SRS_Version, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCRBC_SRS_Version', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCRBC_SRS_Version') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCRBC_SRS_Version': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCRBC_SRS_Version') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCRBC_SRS_Version', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCRBC_SRS_Version'): + super(TCRBC_SRS_Version, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCRBC_SRS_Version') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCRBC_SRS_Version', fromsubclass_=False, pretty_print=True): + super(TCRBC_SRS_Version, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCRBC_SRS_Version, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TRBC_SRS_Version + self.validate_TRBC_SRS_Version(self.Wert) + super(TCRBC_SRS_Version, self)._buildChildren(child_, node, nodeName_, True) +# end class TCRBC_SRS_Version + + +class CFT_ETCS_L2_Merkmale(GeneratedsSuper): + """FT_ETCS_L2_Typ -- Typ des ETCS-Fachtelegramms (Level 2), der dessen ( + Ü + berwachungs-)Funktion bestimmt. Als Typ des Fachtelegramms kann der Typ des zugeh + ö + rigen Datenpunkts angegeben werden, auf den sich das Fachtelegramm bezieht. Bei zusammengesetzten DP-Typen sind entsprechend mehrere Fachtelegramme anzulegen und jeweils ein Wert auszuw + ä + hlen. Dies ist bei der Werkzeugentwicklung zu ber + ü + cksichtigen. Die insgesamt zul + ä + ssigen Werte werden + ü + ber eine separate Liste gem + ä + ß + Regelwerk vorgegeben. + VBC_Kennung -- Kennung des Virtuel Balise Cover (VBC). Je nach Typ des Fachtelegramms gibt das Attribut die zu setzende/l + ö + schende Kennung oder die Kennung des zugeh + ö + rigen Datenpunkts an. + VBC_NID_C -- NID C, f + ü + r die das Virtual Balise Cover (VBC) gilt. + VBC_Setzen -- Angabe, ob Virtual Balise Cover (VBC) gesetzt (true) oder zur + ü + ckgenommen (false) werden soll. + VBC_Timer -- Anzahl von Tagen, an denen das Virtual Balise Cover (VBC) g + ü + ltig ist. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, FT_ETCS_L2_Typ=None, VBC_Kennung=None, VBC_NID_C=None, VBC_Setzen=None, VBC_Timer=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.FT_ETCS_L2_Typ = FT_ETCS_L2_Typ + self.FT_ETCS_L2_Typ_nsprefix_ = None + self.VBC_Kennung = VBC_Kennung + self.VBC_Kennung_nsprefix_ = None + self.VBC_NID_C = VBC_NID_C + self.VBC_NID_C_nsprefix_ = None + self.VBC_Setzen = VBC_Setzen + self.VBC_Setzen_nsprefix_ = None + self.VBC_Timer = VBC_Timer + self.VBC_Timer_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CFT_ETCS_L2_Merkmale) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CFT_ETCS_L2_Merkmale.subclass: + return CFT_ETCS_L2_Merkmale.subclass(*args_, **kwargs_) + else: + return CFT_ETCS_L2_Merkmale(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_FT_ETCS_L2_Typ(self): + return self.FT_ETCS_L2_Typ + def set_FT_ETCS_L2_Typ(self, FT_ETCS_L2_Typ): + self.FT_ETCS_L2_Typ = FT_ETCS_L2_Typ + def get_VBC_Kennung(self): + return self.VBC_Kennung + def set_VBC_Kennung(self, VBC_Kennung): + self.VBC_Kennung = VBC_Kennung + def get_VBC_NID_C(self): + return self.VBC_NID_C + def set_VBC_NID_C(self, VBC_NID_C): + self.VBC_NID_C = VBC_NID_C + def get_VBC_Setzen(self): + return self.VBC_Setzen + def set_VBC_Setzen(self, VBC_Setzen): + self.VBC_Setzen = VBC_Setzen + def get_VBC_Timer(self): + return self.VBC_Timer + def set_VBC_Timer(self, VBC_Timer): + self.VBC_Timer = VBC_Timer + def has__content(self): + if ( + self.FT_ETCS_L2_Typ is not None or + self.VBC_Kennung is not None or + self.VBC_NID_C is not None or + self.VBC_Setzen is not None or + self.VBC_Timer is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='CFT_ETCS_L2_Merkmale', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CFT_ETCS_L2_Merkmale') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CFT_ETCS_L2_Merkmale': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CFT_ETCS_L2_Merkmale') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CFT_ETCS_L2_Merkmale', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='CFT_ETCS_L2_Merkmale'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='CFT_ETCS_L2_Merkmale', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.FT_ETCS_L2_Typ is not None: + namespaceprefix_ = self.FT_ETCS_L2_Typ_nsprefix_ + ':' if (UseCapturedNS_ and self.FT_ETCS_L2_Typ_nsprefix_) else '' + self.FT_ETCS_L2_Typ.export(outfile, level, namespaceprefix_, namespacedef_='', name_='FT_ETCS_L2_Typ', pretty_print=pretty_print) + if self.VBC_Kennung is not None: + namespaceprefix_ = self.VBC_Kennung_nsprefix_ + ':' if (UseCapturedNS_ and self.VBC_Kennung_nsprefix_) else '' + self.VBC_Kennung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='VBC_Kennung', pretty_print=pretty_print) + if self.VBC_NID_C is not None: + namespaceprefix_ = self.VBC_NID_C_nsprefix_ + ':' if (UseCapturedNS_ and self.VBC_NID_C_nsprefix_) else '' + self.VBC_NID_C.export(outfile, level, namespaceprefix_, namespacedef_='', name_='VBC_NID_C', pretty_print=pretty_print) + if self.VBC_Setzen is not None: + namespaceprefix_ = self.VBC_Setzen_nsprefix_ + ':' if (UseCapturedNS_ and self.VBC_Setzen_nsprefix_) else '' + self.VBC_Setzen.export(outfile, level, namespaceprefix_, namespacedef_='', name_='VBC_Setzen', pretty_print=pretty_print) + if self.VBC_Timer is not None: + namespaceprefix_ = self.VBC_Timer_nsprefix_ + ':' if (UseCapturedNS_ and self.VBC_Timer_nsprefix_) else '' + self.VBC_Timer.export(outfile, level, namespaceprefix_, namespacedef_='', name_='VBC_Timer', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'FT_ETCS_L2_Typ': + obj_ = TCFT_ETCS_L2_Typ.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.FT_ETCS_L2_Typ = obj_ + obj_.original_tagname_ = 'FT_ETCS_L2_Typ' + elif nodeName_ == 'VBC_Kennung': + obj_ = TCVBC_Kennung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.VBC_Kennung = obj_ + obj_.original_tagname_ = 'VBC_Kennung' + elif nodeName_ == 'VBC_NID_C': + obj_ = TCVBC_NID_C.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.VBC_NID_C = obj_ + obj_.original_tagname_ = 'VBC_NID_C' + elif nodeName_ == 'VBC_Setzen': + obj_ = TCVBC_Setzen.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.VBC_Setzen = obj_ + obj_.original_tagname_ = 'VBC_Setzen' + elif nodeName_ == 'VBC_Timer': + obj_ = TCVBC_Timer.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.VBC_Timer = obj_ + obj_.original_tagname_ = 'VBC_Timer' +# end class CFT_ETCS_L2_Merkmale + + +class TCHinweis_Balisenbefestigung(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCHinweis_Balisenbefestigung"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_THinweis_Balisenbefestigung(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCHinweis_Balisenbefestigung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCHinweis_Balisenbefestigung.subclass: + return TCHinweis_Balisenbefestigung.subclass(*args_, **kwargs_) + else: + return TCHinweis_Balisenbefestigung(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_THinweis_Balisenbefestigung(self, value): + result = True + # Validate type THinweis_Balisenbefestigung, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_THinweis_Balisenbefestigung_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_THinweis_Balisenbefestigung_patterns_, )) + result = False + return result + validate_THinweis_Balisenbefestigung_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCHinweis_Balisenbefestigung, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCHinweis_Balisenbefestigung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCHinweis_Balisenbefestigung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCHinweis_Balisenbefestigung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCHinweis_Balisenbefestigung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCHinweis_Balisenbefestigung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCHinweis_Balisenbefestigung'): + super(TCHinweis_Balisenbefestigung, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCHinweis_Balisenbefestigung') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCHinweis_Balisenbefestigung', fromsubclass_=False, pretty_print=True): + super(TCHinweis_Balisenbefestigung, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCHinweis_Balisenbefestigung, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type THinweis_Balisenbefestigung + self.validate_THinweis_Balisenbefestigung(self.Wert) + super(TCHinweis_Balisenbefestigung, self)._buildChildren(child_, node, nodeName_, True) +# end class TCHinweis_Balisenbefestigung + + +class TCW_Anschluss(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCW_Anschluss"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMW_Anschluss(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCW_Anschluss) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCW_Anschluss.subclass: + return TCW_Anschluss.subclass(*args_, **kwargs_) + else: + return TCW_Anschluss(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMW_Anschluss(self, value): + result = True + # Validate type ENUMW_Anschluss, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['links', 'rechts', 'Spitze'] + 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 ENUMW_Anschluss' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCW_Anschluss, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCW_Anschluss', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCW_Anschluss') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCW_Anschluss': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCW_Anschluss') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCW_Anschluss', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCW_Anschluss'): + super(TCW_Anschluss, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCW_Anschluss') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCW_Anschluss', fromsubclass_=False, pretty_print=True): + super(TCW_Anschluss, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCW_Anschluss, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMW_Anschluss + self.validate_ENUMW_Anschluss(self.Wert) + super(TCW_Anschluss, self)._buildChildren(child_, node, nodeName_, True) +# end class TCW_Anschluss + + +class CZUB_Bereichsgrenze_Nach_Ohne(GeneratedsSuper): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Bgrenze_Nach_Ohne_Bed_Einstieg=None, gds_collector_=None, **kwargs_): + self.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 Bgrenze_Nach_Ohne_Bed_Einstieg is None: + self.Bgrenze_Nach_Ohne_Bed_Einstieg = [] + else: + self.Bgrenze_Nach_Ohne_Bed_Einstieg = Bgrenze_Nach_Ohne_Bed_Einstieg + self.Bgrenze_Nach_Ohne_Bed_Einstieg_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CZUB_Bereichsgrenze_Nach_Ohne) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CZUB_Bereichsgrenze_Nach_Ohne.subclass: + return CZUB_Bereichsgrenze_Nach_Ohne.subclass(*args_, **kwargs_) + else: + return CZUB_Bereichsgrenze_Nach_Ohne(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Bgrenze_Nach_Ohne_Bed_Einstieg(self): + return self.Bgrenze_Nach_Ohne_Bed_Einstieg + def set_Bgrenze_Nach_Ohne_Bed_Einstieg(self, Bgrenze_Nach_Ohne_Bed_Einstieg): + self.Bgrenze_Nach_Ohne_Bed_Einstieg = Bgrenze_Nach_Ohne_Bed_Einstieg + def add_Bgrenze_Nach_Ohne_Bed_Einstieg(self, value): + self.Bgrenze_Nach_Ohne_Bed_Einstieg.append(value) + def insert_Bgrenze_Nach_Ohne_Bed_Einstieg_at(self, index, value): + self.Bgrenze_Nach_Ohne_Bed_Einstieg.insert(index, value) + def replace_Bgrenze_Nach_Ohne_Bed_Einstieg_at(self, index, value): + self.Bgrenze_Nach_Ohne_Bed_Einstieg[index] = value + def has__content(self): + if ( + self.Bgrenze_Nach_Ohne_Bed_Einstieg + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='CZUB_Bereichsgrenze_Nach_Ohne', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CZUB_Bereichsgrenze_Nach_Ohne') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CZUB_Bereichsgrenze_Nach_Ohne': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CZUB_Bereichsgrenze_Nach_Ohne') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CZUB_Bereichsgrenze_Nach_Ohne', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='CZUB_Bereichsgrenze_Nach_Ohne'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='CZUB_Bereichsgrenze_Nach_Ohne', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for Bgrenze_Nach_Ohne_Bed_Einstieg_ in self.Bgrenze_Nach_Ohne_Bed_Einstieg: + namespaceprefix_ = self.Bgrenze_Nach_Ohne_Bed_Einstieg_nsprefix_ + ':' if (UseCapturedNS_ and self.Bgrenze_Nach_Ohne_Bed_Einstieg_nsprefix_) else '' + Bgrenze_Nach_Ohne_Bed_Einstieg_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Bgrenze_Nach_Ohne_Bed_Einstieg', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Bgrenze_Nach_Ohne_Bed_Einstieg': + obj_ = CBgrenze_Nach_Ohne_Bed_Einstieg.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Bgrenze_Nach_Ohne_Bed_Einstieg.append(obj_) + obj_.original_tagname_ = 'Bgrenze_Nach_Ohne_Bed_Einstieg' +# end class CZUB_Bereichsgrenze_Nach_Ohne + + +class TCDaten(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCDaten"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCDaten) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCDaten.subclass: + return TCDaten.subclass(*args_, **kwargs_) + else: + return TCDaten(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def has__content(self): + if ( + self.Wert is not None or + super(TCDaten, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCDaten', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCDaten') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCDaten': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCDaten') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCDaten', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCDaten'): + super(TCDaten, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCDaten') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCDaten', fromsubclass_=False, pretty_print=True): + super(TCDaten, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_base64(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCDaten, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + sval_ = child_.text + if sval_ is not None: + try: + bval_ = base64.b64decode(sval_) + except (TypeError, ValueError) as exp: + raise_parse_error(child_, 'requires base64 encoded string: %s' % exp) + bval_ = self.gds_validate_base64(bval_, node, 'Wert') + else: + bval_ = None + self.Wert = bval_ + self.Wert_nsprefix_ = child_.prefix + super(TCDaten, self)._buildChildren(child_, node, nodeName_, True) +# end class TCDaten + + +class CZUB_Bereichsgrenze_Nach_Sonstige(GeneratedsSuper): + """Bezeichnung_ZUB -- Bezeichnung des Class-B-Zugbeeinflussungssystems. + Laenge_Ausfuehrungsbereich -- L + ä + nge des Ausf + ü + hrungsbereichs (Distanz zwischen Transitions-Datenpunkt und dem max. Ende der Transition (ET)). + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Bezeichnung_ZUB=None, Laenge_Ausfuehrungsbereich=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Bezeichnung_ZUB = Bezeichnung_ZUB + self.Bezeichnung_ZUB_nsprefix_ = None + self.Laenge_Ausfuehrungsbereich = Laenge_Ausfuehrungsbereich + self.Laenge_Ausfuehrungsbereich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CZUB_Bereichsgrenze_Nach_Sonstige) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CZUB_Bereichsgrenze_Nach_Sonstige.subclass: + return CZUB_Bereichsgrenze_Nach_Sonstige.subclass(*args_, **kwargs_) + else: + return CZUB_Bereichsgrenze_Nach_Sonstige(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Bezeichnung_ZUB(self): + return self.Bezeichnung_ZUB + def set_Bezeichnung_ZUB(self, Bezeichnung_ZUB): + self.Bezeichnung_ZUB = Bezeichnung_ZUB + def get_Laenge_Ausfuehrungsbereich(self): + return self.Laenge_Ausfuehrungsbereich + def set_Laenge_Ausfuehrungsbereich(self, Laenge_Ausfuehrungsbereich): + self.Laenge_Ausfuehrungsbereich = Laenge_Ausfuehrungsbereich + def has__content(self): + if ( + self.Bezeichnung_ZUB is not None or + self.Laenge_Ausfuehrungsbereich is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='CZUB_Bereichsgrenze_Nach_Sonstige', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CZUB_Bereichsgrenze_Nach_Sonstige') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CZUB_Bereichsgrenze_Nach_Sonstige': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CZUB_Bereichsgrenze_Nach_Sonstige') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CZUB_Bereichsgrenze_Nach_Sonstige', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='CZUB_Bereichsgrenze_Nach_Sonstige'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='CZUB_Bereichsgrenze_Nach_Sonstige', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Bezeichnung_ZUB is not None: + namespaceprefix_ = self.Bezeichnung_ZUB_nsprefix_ + ':' if (UseCapturedNS_ and self.Bezeichnung_ZUB_nsprefix_) else '' + self.Bezeichnung_ZUB.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Bezeichnung_ZUB', pretty_print=pretty_print) + if self.Laenge_Ausfuehrungsbereich is not None: + namespaceprefix_ = self.Laenge_Ausfuehrungsbereich_nsprefix_ + ':' if (UseCapturedNS_ and self.Laenge_Ausfuehrungsbereich_nsprefix_) else '' + self.Laenge_Ausfuehrungsbereich.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Laenge_Ausfuehrungsbereich', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Bezeichnung_ZUB': + obj_ = TCBezeichnung_ZUB.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Bezeichnung_ZUB = obj_ + obj_.original_tagname_ = 'Bezeichnung_ZUB' + elif nodeName_ == 'Laenge_Ausfuehrungsbereich': + obj_ = TCLaenge_Ausfuehrungsbereich.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Laenge_Ausfuehrungsbereich = obj_ + obj_.original_tagname_ = 'Laenge_Ausfuehrungsbereich' +# end class CZUB_Bereichsgrenze_Nach_Sonstige + + +class TCZiel_Ist_Fahrwegende(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCZiel_Ist_Fahrwegende"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCZiel_Ist_Fahrwegende) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCZiel_Ist_Fahrwegende.subclass: + return TCZiel_Ist_Fahrwegende.subclass(*args_, **kwargs_) + else: + return TCZiel_Ist_Fahrwegende(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def has__content(self): + if ( + self.Wert is not None or + super(TCZiel_Ist_Fahrwegende, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCZiel_Ist_Fahrwegende', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCZiel_Ist_Fahrwegende') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCZiel_Ist_Fahrwegende': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCZiel_Ist_Fahrwegende') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCZiel_Ist_Fahrwegende', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCZiel_Ist_Fahrwegende'): + super(TCZiel_Ist_Fahrwegende, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCZiel_Ist_Fahrwegende') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCZiel_Ist_Fahrwegende', fromsubclass_=False, pretty_print=True): + super(TCZiel_Ist_Fahrwegende, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_boolean(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCZiel_Ist_Fahrwegende, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + sval_ = child_.text + ival_ = self.gds_parse_boolean(sval_, node, 'Wert') + ival_ = self.gds_validate_boolean(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + super(TCZiel_Ist_Fahrwegende, self)._buildChildren(child_, node, nodeName_, True) +# end class TCZiel_Ist_Fahrwegende + + +class TCZiel_DP_Ausrichtung(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCZiel_DP_Ausrichtung"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TAusrichtung(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCZiel_DP_Ausrichtung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCZiel_DP_Ausrichtung.subclass: + return TCZiel_DP_Ausrichtung.subclass(*args_, **kwargs_) + else: + return TCZiel_DP_Ausrichtung(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TAusrichtung(self, value): + result = True + # Validate type TAusrichtung, a restriction on nsBasisTypen:ENUMAusrichtung. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['gegen', 'in', 'keine'] + 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 TAusrichtung' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCZiel_DP_Ausrichtung, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCZiel_DP_Ausrichtung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCZiel_DP_Ausrichtung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCZiel_DP_Ausrichtung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCZiel_DP_Ausrichtung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCZiel_DP_Ausrichtung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCZiel_DP_Ausrichtung'): + super(TCZiel_DP_Ausrichtung, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCZiel_DP_Ausrichtung') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCZiel_DP_Ausrichtung', fromsubclass_=False, pretty_print=True): + super(TCZiel_DP_Ausrichtung, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCZiel_DP_Ausrichtung, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TAusrichtung + self.validate_TAusrichtung(self.Wert) + super(TCZiel_DP_Ausrichtung, self)._buildChildren(child_, node, nodeName_, True) +# end class TCZiel_DP_Ausrichtung + + +class TCFT_ETCS_L2_Typ(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCFT_ETCS_L2_Typ"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TFT_ETCS_L2_Typ(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCFT_ETCS_L2_Typ) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCFT_ETCS_L2_Typ.subclass: + return TCFT_ETCS_L2_Typ.subclass(*args_, **kwargs_) + else: + return TCFT_ETCS_L2_Typ(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TFT_ETCS_L2_Typ(self, value): + result = True + # Validate type TFT_ETCS_L2_Typ, a restriction on xs:integer. + 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_TFT_ETCS_L2_Typ_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TFT_ETCS_L2_Typ_patterns_, )) + result = False + return result + validate_TFT_ETCS_L2_Typ_patterns_ = [['^([1-9]|[1-9][0-9])$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCFT_ETCS_L2_Typ, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCFT_ETCS_L2_Typ', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCFT_ETCS_L2_Typ') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCFT_ETCS_L2_Typ': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCFT_ETCS_L2_Typ') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCFT_ETCS_L2_Typ', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCFT_ETCS_L2_Typ'): + super(TCFT_ETCS_L2_Typ, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCFT_ETCS_L2_Typ') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCFT_ETCS_L2_Typ', fromsubclass_=False, pretty_print=True): + super(TCFT_ETCS_L2_Typ, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_integer(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCFT_ETCS_L2_Typ, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + ival_ = self.gds_parse_integer(sval_, node, 'Wert') + ival_ = self.gds_validate_integer(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + # validate type TFT_ETCS_L2_Typ + self.validate_TFT_ETCS_L2_Typ(self.Wert) + super(TCFT_ETCS_L2_Typ, self)._buildChildren(child_, node, nodeName_, True) +# end class TCFT_ETCS_L2_Typ + + +class TCBezeichnung_ETCS_Kante(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCBezeichnung_ETCS_Kante"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TBezeichnung_ETCS_Kante(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCBezeichnung_ETCS_Kante) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCBezeichnung_ETCS_Kante.subclass: + return TCBezeichnung_ETCS_Kante.subclass(*args_, **kwargs_) + else: + return TCBezeichnung_ETCS_Kante(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TBezeichnung_ETCS_Kante(self, value): + result = True + # Validate type TBezeichnung_ETCS_Kante, a restriction on nsBasisTypen:TZeichenkette. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TBezeichnung_ETCS_Kante_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TBezeichnung_ETCS_Kante_patterns_, )) + result = False + return result + validate_TBezeichnung_ETCS_Kante_patterns_ = [['^(.{1,10})$'], ['^([a-zA-Z_0-9]{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCBezeichnung_ETCS_Kante, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCBezeichnung_ETCS_Kante', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCBezeichnung_ETCS_Kante') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCBezeichnung_ETCS_Kante': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBezeichnung_ETCS_Kante') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCBezeichnung_ETCS_Kante', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCBezeichnung_ETCS_Kante'): + super(TCBezeichnung_ETCS_Kante, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBezeichnung_ETCS_Kante') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCBezeichnung_ETCS_Kante', fromsubclass_=False, pretty_print=True): + super(TCBezeichnung_ETCS_Kante, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCBezeichnung_ETCS_Kante, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TBezeichnung_ETCS_Kante + self.validate_TBezeichnung_ETCS_Kante(self.Wert) + super(TCBezeichnung_ETCS_Kante, self)._buildChildren(child_, node, nodeName_, True) +# end class TCBezeichnung_ETCS_Kante + + +class CZBS_Signal_Signalabstand(GeneratedsSuper): + """Abstand_Reduziert -- Kennzeichnung, ob f + ü + r die Berechnung des Mindestsignalabstandes bei Zielgeschwindigkeit Null abweichend von der Regel (1,25) der Faktor 1,0 angewendet wird. + Massgebende_Neigung_Mind_Sig -- Ma + ß + gebende Neigung im Bereich des Mindestsignalabstands in Promille. + Massgebende_Neigung_Mind_Sig_150 -- Ma + ß + gebende Neigung im Bereich des Mindestsignalabstands zuz + ü + glich 150 m in Promille. + Solllaenge_Mind_Sig -- Soll-Abstand zum Zielsignal unter Ber + ü + cksichtigung der ma + ß + gebenden Neigung im Bereich des Mindestsignalabstands. + Solllaenge_Mind_Sig_150 -- Soll-Abstand zum Zielsignal unter Ber + ü + cksichtigung der ma + ß + gebenden Neigung im Bereich des Mindestsignalabstands zuz + ü + glich 150 m. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Abstand_Reduziert=None, Massgebende_Neigung_Mind_Sig=None, Massgebende_Neigung_Mind_Sig_150=None, Solllaenge_Mind_Sig=None, Solllaenge_Mind_Sig_150=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Abstand_Reduziert = Abstand_Reduziert + self.Abstand_Reduziert_nsprefix_ = None + self.Massgebende_Neigung_Mind_Sig = Massgebende_Neigung_Mind_Sig + self.Massgebende_Neigung_Mind_Sig_nsprefix_ = None + self.Massgebende_Neigung_Mind_Sig_150 = Massgebende_Neigung_Mind_Sig_150 + self.Massgebende_Neigung_Mind_Sig_150_nsprefix_ = None + self.Solllaenge_Mind_Sig = Solllaenge_Mind_Sig + self.Solllaenge_Mind_Sig_nsprefix_ = None + self.Solllaenge_Mind_Sig_150 = Solllaenge_Mind_Sig_150 + self.Solllaenge_Mind_Sig_150_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CZBS_Signal_Signalabstand) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CZBS_Signal_Signalabstand.subclass: + return CZBS_Signal_Signalabstand.subclass(*args_, **kwargs_) + else: + return CZBS_Signal_Signalabstand(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Abstand_Reduziert(self): + return self.Abstand_Reduziert + def set_Abstand_Reduziert(self, Abstand_Reduziert): + self.Abstand_Reduziert = Abstand_Reduziert + def get_Massgebende_Neigung_Mind_Sig(self): + return self.Massgebende_Neigung_Mind_Sig + def set_Massgebende_Neigung_Mind_Sig(self, Massgebende_Neigung_Mind_Sig): + self.Massgebende_Neigung_Mind_Sig = Massgebende_Neigung_Mind_Sig + def get_Massgebende_Neigung_Mind_Sig_150(self): + return self.Massgebende_Neigung_Mind_Sig_150 + def set_Massgebende_Neigung_Mind_Sig_150(self, Massgebende_Neigung_Mind_Sig_150): + self.Massgebende_Neigung_Mind_Sig_150 = Massgebende_Neigung_Mind_Sig_150 + def get_Solllaenge_Mind_Sig(self): + return self.Solllaenge_Mind_Sig + def set_Solllaenge_Mind_Sig(self, Solllaenge_Mind_Sig): + self.Solllaenge_Mind_Sig = Solllaenge_Mind_Sig + def get_Solllaenge_Mind_Sig_150(self): + return self.Solllaenge_Mind_Sig_150 + def set_Solllaenge_Mind_Sig_150(self, Solllaenge_Mind_Sig_150): + self.Solllaenge_Mind_Sig_150 = Solllaenge_Mind_Sig_150 + def has__content(self): + if ( + self.Abstand_Reduziert is not None or + self.Massgebende_Neigung_Mind_Sig is not None or + self.Massgebende_Neigung_Mind_Sig_150 is not None or + self.Solllaenge_Mind_Sig is not None or + self.Solllaenge_Mind_Sig_150 is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='CZBS_Signal_Signalabstand', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CZBS_Signal_Signalabstand') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CZBS_Signal_Signalabstand': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CZBS_Signal_Signalabstand') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CZBS_Signal_Signalabstand', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='CZBS_Signal_Signalabstand'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='CZBS_Signal_Signalabstand', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Abstand_Reduziert is not None: + namespaceprefix_ = self.Abstand_Reduziert_nsprefix_ + ':' if (UseCapturedNS_ and self.Abstand_Reduziert_nsprefix_) else '' + self.Abstand_Reduziert.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Abstand_Reduziert', pretty_print=pretty_print) + if self.Massgebende_Neigung_Mind_Sig is not None: + namespaceprefix_ = self.Massgebende_Neigung_Mind_Sig_nsprefix_ + ':' if (UseCapturedNS_ and self.Massgebende_Neigung_Mind_Sig_nsprefix_) else '' + self.Massgebende_Neigung_Mind_Sig.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Massgebende_Neigung_Mind_Sig', pretty_print=pretty_print) + if self.Massgebende_Neigung_Mind_Sig_150 is not None: + namespaceprefix_ = self.Massgebende_Neigung_Mind_Sig_150_nsprefix_ + ':' if (UseCapturedNS_ and self.Massgebende_Neigung_Mind_Sig_150_nsprefix_) else '' + self.Massgebende_Neigung_Mind_Sig_150.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Massgebende_Neigung_Mind_Sig_150', pretty_print=pretty_print) + if self.Solllaenge_Mind_Sig is not None: + namespaceprefix_ = self.Solllaenge_Mind_Sig_nsprefix_ + ':' if (UseCapturedNS_ and self.Solllaenge_Mind_Sig_nsprefix_) else '' + self.Solllaenge_Mind_Sig.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Solllaenge_Mind_Sig', pretty_print=pretty_print) + if self.Solllaenge_Mind_Sig_150 is not None: + namespaceprefix_ = self.Solllaenge_Mind_Sig_150_nsprefix_ + ':' if (UseCapturedNS_ and self.Solllaenge_Mind_Sig_150_nsprefix_) else '' + self.Solllaenge_Mind_Sig_150.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Solllaenge_Mind_Sig_150', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Abstand_Reduziert': + obj_ = TCAbstand_Reduziert.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Abstand_Reduziert = obj_ + obj_.original_tagname_ = 'Abstand_Reduziert' + elif nodeName_ == 'Massgebende_Neigung_Mind_Sig': + obj_ = TCMassgebende_Neigung_Mind_Sig.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Massgebende_Neigung_Mind_Sig = obj_ + obj_.original_tagname_ = 'Massgebende_Neigung_Mind_Sig' + elif nodeName_ == 'Massgebende_Neigung_Mind_Sig_150': + obj_ = TCMassgebende_Neigung_Mind_Sig_150.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Massgebende_Neigung_Mind_Sig_150 = obj_ + obj_.original_tagname_ = 'Massgebende_Neigung_Mind_Sig_150' + elif nodeName_ == 'Solllaenge_Mind_Sig': + obj_ = TCSolllaenge_Mind_Sig.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Solllaenge_Mind_Sig = obj_ + obj_.original_tagname_ = 'Solllaenge_Mind_Sig' + elif nodeName_ == 'Solllaenge_Mind_Sig_150': + obj_ = TCSolllaenge_Mind_Sig_150.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Solllaenge_Mind_Sig_150 = obj_ + obj_.original_tagname_ = 'Solllaenge_Mind_Sig_150' +# end class CZBS_Signal_Signalabstand + + +class TCMassgebende_Neigung_Mind_150(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCMassgebende_Neigung_Mind_150"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TMassgebende_Neigung_Mind_150(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCMassgebende_Neigung_Mind_150) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCMassgebende_Neigung_Mind_150.subclass: + return TCMassgebende_Neigung_Mind_150.subclass(*args_, **kwargs_) + else: + return TCMassgebende_Neigung_Mind_150(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TMassgebende_Neigung_Mind_150(self, value): + result = True + # Validate type TMassgebende_Neigung_Mind_150, 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 + pass + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCMassgebende_Neigung_Mind_150, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCMassgebende_Neigung_Mind_150', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCMassgebende_Neigung_Mind_150') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCMassgebende_Neigung_Mind_150': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCMassgebende_Neigung_Mind_150') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCMassgebende_Neigung_Mind_150', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCMassgebende_Neigung_Mind_150'): + super(TCMassgebende_Neigung_Mind_150, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCMassgebende_Neigung_Mind_150') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCMassgebende_Neigung_Mind_150', fromsubclass_=False, pretty_print=True): + super(TCMassgebende_Neigung_Mind_150, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_decimal(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCMassgebende_Neigung_Mind_150, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + fval_ = self.gds_parse_decimal(sval_, node, 'Wert') + fval_ = self.gds_validate_decimal(fval_, node, 'Wert') + self.Wert = fval_ + self.Wert_nsprefix_ = child_.prefix + # validate type TMassgebende_Neigung_Mind_150 + self.validate_TMassgebende_Neigung_Mind_150(self.Wert) + super(TCMassgebende_Neigung_Mind_150, self)._buildChildren(child_, node, nodeName_, True) +# end class TCMassgebende_Neigung_Mind_150 + + +class CETCS_Kante_Bezeichnung(GeneratedsSuper): + """Bezeichnung_ETCS_Kante -- Bezeichnung der ETCS-Kante. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Bezeichnung_ETCS_Kante=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Bezeichnung_ETCS_Kante = Bezeichnung_ETCS_Kante + self.Bezeichnung_ETCS_Kante_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CETCS_Kante_Bezeichnung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CETCS_Kante_Bezeichnung.subclass: + return CETCS_Kante_Bezeichnung.subclass(*args_, **kwargs_) + else: + return CETCS_Kante_Bezeichnung(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Bezeichnung_ETCS_Kante(self): + return self.Bezeichnung_ETCS_Kante + def set_Bezeichnung_ETCS_Kante(self, Bezeichnung_ETCS_Kante): + self.Bezeichnung_ETCS_Kante = Bezeichnung_ETCS_Kante + def has__content(self): + if ( + self.Bezeichnung_ETCS_Kante is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='CETCS_Kante_Bezeichnung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CETCS_Kante_Bezeichnung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CETCS_Kante_Bezeichnung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CETCS_Kante_Bezeichnung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CETCS_Kante_Bezeichnung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='CETCS_Kante_Bezeichnung'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='CETCS_Kante_Bezeichnung', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Bezeichnung_ETCS_Kante is not None: + namespaceprefix_ = self.Bezeichnung_ETCS_Kante_nsprefix_ + ':' if (UseCapturedNS_ and self.Bezeichnung_ETCS_Kante_nsprefix_) else '' + self.Bezeichnung_ETCS_Kante.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Bezeichnung_ETCS_Kante', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Bezeichnung_ETCS_Kante': + obj_ = TCBezeichnung_ETCS_Kante.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Bezeichnung_ETCS_Kante = obj_ + obj_.original_tagname_ = 'Bezeichnung_ETCS_Kante' +# end class CETCS_Kante_Bezeichnung + + +class TCLEU_Modul_Typ(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCLEU_Modul_Typ"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TLEU_Modul_Typ(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCLEU_Modul_Typ) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCLEU_Modul_Typ.subclass: + return TCLEU_Modul_Typ.subclass(*args_, **kwargs_) + else: + return TCLEU_Modul_Typ(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TLEU_Modul_Typ(self, value): + result = True + # Validate type TLEU_Modul_Typ, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TLEU_Modul_Typ_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TLEU_Modul_Typ_patterns_, )) + result = False + return result + validate_TLEU_Modul_Typ_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCLEU_Modul_Typ, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCLEU_Modul_Typ', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCLEU_Modul_Typ') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCLEU_Modul_Typ': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCLEU_Modul_Typ') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCLEU_Modul_Typ', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCLEU_Modul_Typ'): + super(TCLEU_Modul_Typ, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCLEU_Modul_Typ') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCLEU_Modul_Typ', fromsubclass_=False, pretty_print=True): + super(TCLEU_Modul_Typ, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCLEU_Modul_Typ, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TLEU_Modul_Typ + self.validate_TLEU_Modul_Typ(self.Wert) + super(TCLEU_Modul_Typ, self)._buildChildren(child_, node, nodeName_, True) +# end class TCLEU_Modul_Typ + + +class TCDWeg_Intervall_50_200(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCDWeg_Intervall_50_200"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TDWeg_Intervall_50_200(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCDWeg_Intervall_50_200) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCDWeg_Intervall_50_200.subclass: + return TCDWeg_Intervall_50_200.subclass(*args_, **kwargs_) + else: + return TCDWeg_Intervall_50_200(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TDWeg_Intervall_50_200(self, value): + result = True + # Validate type TDWeg_Intervall_50_200, a restriction on nsBasisTypen:TMeter. + 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 + pass + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCDWeg_Intervall_50_200, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCDWeg_Intervall_50_200', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCDWeg_Intervall_50_200') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCDWeg_Intervall_50_200': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCDWeg_Intervall_50_200') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCDWeg_Intervall_50_200', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCDWeg_Intervall_50_200'): + super(TCDWeg_Intervall_50_200, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCDWeg_Intervall_50_200') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCDWeg_Intervall_50_200', fromsubclass_=False, pretty_print=True): + super(TCDWeg_Intervall_50_200, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_decimal(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCDWeg_Intervall_50_200, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + fval_ = self.gds_parse_decimal(sval_, node, 'Wert') + fval_ = self.gds_validate_decimal(fval_, node, 'Wert') + self.Wert = fval_ + self.Wert_nsprefix_ = child_.prefix + # validate type TDWeg_Intervall_50_200 + self.validate_TDWeg_Intervall_50_200(self.Wert) + super(TCDWeg_Intervall_50_200, self)._buildChildren(child_, node, nodeName_, True) +# end class TCDWeg_Intervall_50_200 + + +class CBgrenze_Nach_Ohne_Bed_Einstieg(GeneratedsSuper): + """ID_W_Element -- Verweis auf das Weichen-Element der Entscheidungsweiche. + W_Lage -- Lage des Weichen-Elements. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, ID_W_Element=None, W_Lage=None, gds_collector_=None, **kwargs_): + self.gds_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_W_Element = ID_W_Element + self.ID_W_Element_nsprefix_ = None + self.W_Lage = W_Lage + self.W_Lage_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CBgrenze_Nach_Ohne_Bed_Einstieg) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CBgrenze_Nach_Ohne_Bed_Einstieg.subclass: + return CBgrenze_Nach_Ohne_Bed_Einstieg.subclass(*args_, **kwargs_) + else: + return CBgrenze_Nach_Ohne_Bed_Einstieg(*args_, **kwargs_) + factory = staticmethod(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_W_Element(self): + return self.ID_W_Element + def set_ID_W_Element(self, ID_W_Element): + self.ID_W_Element = ID_W_Element + def get_W_Lage(self): + return self.W_Lage + def set_W_Lage(self, W_Lage): + self.W_Lage = W_Lage + def has__content(self): + if ( + self.ID_W_Element is not None or + self.W_Lage is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CBgrenze_Nach_Ohne_Bed_Einstieg', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CBgrenze_Nach_Ohne_Bed_Einstieg') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CBgrenze_Nach_Ohne_Bed_Einstieg': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CBgrenze_Nach_Ohne_Bed_Einstieg') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CBgrenze_Nach_Ohne_Bed_Einstieg', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='CBgrenze_Nach_Ohne_Bed_Einstieg'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CBgrenze_Nach_Ohne_Bed_Einstieg', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.ID_W_Element is not None: + namespaceprefix_ = self.ID_W_Element_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_W_Element_nsprefix_) else '' + self.ID_W_Element.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_W_Element', pretty_print=pretty_print) + if self.W_Lage is not None: + namespaceprefix_ = self.W_Lage_nsprefix_ + ':' if (UseCapturedNS_ and self.W_Lage_nsprefix_) else '' + self.W_Lage.export(outfile, level, namespaceprefix_, namespacedef_='', name_='W_Lage', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_W_Element': + obj_ = TCID_W_Kr_Gsp_Element.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_W_Element = obj_ + obj_.original_tagname_ = 'ID_W_Element' + elif nodeName_ == 'W_Lage': + obj_ = TCW_Lage.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.W_Lage = obj_ + obj_.original_tagname_ = 'W_Lage' +# end class CBgrenze_Nach_Ohne_Bed_Einstieg + + +class CFT_Anschaltbedingung(CBasis_Objekt): + """CFT_Anschaltbedingung -- Beschreibung der Bedingungen, die zur Auswahl eines Fachtelegramms erf + ü + llt sein m + ü + ssen. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasis_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, Bedingung_Besondere=None, Bedingung_PZB=None, Bedingung_Signal=None, Bedingung_Sonstige=None, Bedingung_Weiche=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CFT_Anschaltbedingung"), self).__init__(Identitaet, Basis_Objekt_Allg, ID_Bearbeitungsvermerk, ID_Oertlichkeit_Ausgabe, Objektreferenzen, **kwargs_) + self.Bedingung_Besondere = Bedingung_Besondere + self.Bedingung_Besondere_nsprefix_ = None + self.Bedingung_PZB = Bedingung_PZB + self.Bedingung_PZB_nsprefix_ = None + self.Bedingung_Signal = Bedingung_Signal + self.Bedingung_Signal_nsprefix_ = None + self.Bedingung_Sonstige = Bedingung_Sonstige + self.Bedingung_Sonstige_nsprefix_ = None + self.Bedingung_Weiche = Bedingung_Weiche + self.Bedingung_Weiche_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CFT_Anschaltbedingung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CFT_Anschaltbedingung.subclass: + return CFT_Anschaltbedingung.subclass(*args_, **kwargs_) + else: + return CFT_Anschaltbedingung(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Bedingung_Besondere(self): + return self.Bedingung_Besondere + def set_Bedingung_Besondere(self, Bedingung_Besondere): + self.Bedingung_Besondere = Bedingung_Besondere + def get_Bedingung_PZB(self): + return self.Bedingung_PZB + def set_Bedingung_PZB(self, Bedingung_PZB): + self.Bedingung_PZB = Bedingung_PZB + def get_Bedingung_Signal(self): + return self.Bedingung_Signal + def set_Bedingung_Signal(self, Bedingung_Signal): + self.Bedingung_Signal = Bedingung_Signal + def get_Bedingung_Sonstige(self): + return self.Bedingung_Sonstige + def set_Bedingung_Sonstige(self, Bedingung_Sonstige): + self.Bedingung_Sonstige = Bedingung_Sonstige + def get_Bedingung_Weiche(self): + return self.Bedingung_Weiche + def set_Bedingung_Weiche(self, Bedingung_Weiche): + self.Bedingung_Weiche = Bedingung_Weiche + def has__content(self): + if ( + self.Bedingung_Besondere is not None or + self.Bedingung_PZB is not None or + self.Bedingung_Signal is not None or + self.Bedingung_Sonstige is not None or + self.Bedingung_Weiche is not None or + super(CFT_Anschaltbedingung, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='CFT_Anschaltbedingung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CFT_Anschaltbedingung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CFT_Anschaltbedingung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CFT_Anschaltbedingung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CFT_Anschaltbedingung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='CFT_Anschaltbedingung'): + super(CFT_Anschaltbedingung, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CFT_Anschaltbedingung') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='CFT_Anschaltbedingung', fromsubclass_=False, pretty_print=True): + super(CFT_Anschaltbedingung, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Bedingung_Besondere is not None: + namespaceprefix_ = self.Bedingung_Besondere_nsprefix_ + ':' if (UseCapturedNS_ and self.Bedingung_Besondere_nsprefix_) else '' + self.Bedingung_Besondere.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Bedingung_Besondere', pretty_print=pretty_print) + if self.Bedingung_PZB is not None: + namespaceprefix_ = self.Bedingung_PZB_nsprefix_ + ':' if (UseCapturedNS_ and self.Bedingung_PZB_nsprefix_) else '' + self.Bedingung_PZB.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Bedingung_PZB', pretty_print=pretty_print) + if self.Bedingung_Signal is not None: + namespaceprefix_ = self.Bedingung_Signal_nsprefix_ + ':' if (UseCapturedNS_ and self.Bedingung_Signal_nsprefix_) else '' + self.Bedingung_Signal.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Bedingung_Signal', pretty_print=pretty_print) + if self.Bedingung_Sonstige is not None: + namespaceprefix_ = self.Bedingung_Sonstige_nsprefix_ + ':' if (UseCapturedNS_ and self.Bedingung_Sonstige_nsprefix_) else '' + self.Bedingung_Sonstige.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Bedingung_Sonstige', pretty_print=pretty_print) + if self.Bedingung_Weiche is not None: + namespaceprefix_ = self.Bedingung_Weiche_nsprefix_ + ':' if (UseCapturedNS_ and self.Bedingung_Weiche_nsprefix_) else '' + self.Bedingung_Weiche.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Bedingung_Weiche', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CFT_Anschaltbedingung, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Bedingung_Besondere': + obj_ = CBedingung_Besondere.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Bedingung_Besondere = obj_ + obj_.original_tagname_ = 'Bedingung_Besondere' + elif nodeName_ == 'Bedingung_PZB': + obj_ = CBedingung_PZB.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Bedingung_PZB = obj_ + obj_.original_tagname_ = 'Bedingung_PZB' + elif nodeName_ == 'Bedingung_Signal': + obj_ = CBedingung_Signal.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Bedingung_Signal = obj_ + obj_.original_tagname_ = 'Bedingung_Signal' + elif nodeName_ == 'Bedingung_Sonstige': + obj_ = CBedingung_Sonstige.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Bedingung_Sonstige = obj_ + obj_.original_tagname_ = 'Bedingung_Sonstige' + elif nodeName_ == 'Bedingung_Weiche': + obj_ = CBedingung_Weiche.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Bedingung_Weiche = obj_ + obj_.original_tagname_ = 'Bedingung_Weiche' + super(CFT_Anschaltbedingung, self)._buildChildren(child_, node, nodeName_, True) +# end class CFT_Anschaltbedingung + + +class TCNeigung12(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCNeigung12"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TNeigung(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCNeigung12) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCNeigung12.subclass: + return TCNeigung12.subclass(*args_, **kwargs_) + else: + return TCNeigung12(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TNeigung(self, value): + result = True + # Validate type TNeigung, 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 not self.gds_validate_simple_patterns( + self.validate_TNeigung_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TNeigung_patterns_, )) + result = False + return result + validate_TNeigung_patterns_ = [['^(0\\.000|([1-9][0-9]{0,1}\\.[0-9]{3})|(0\\.[1-9][0-9]{2}|0\\.0[1-9][0-9]|0\\.0[0-9][1-9])|((0|[1-9][0-9]{0,1})\\.[0-9]{3})|100\\.000)$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCNeigung12, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCNeigung12', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCNeigung12') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCNeigung12': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCNeigung12') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCNeigung12', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCNeigung12'): + super(TCNeigung12, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCNeigung12') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCNeigung12', fromsubclass_=False, pretty_print=True): + super(TCNeigung12, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_decimal(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCNeigung12, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + fval_ = self.gds_parse_decimal(sval_, node, 'Wert') + fval_ = self.gds_validate_decimal(fval_, node, 'Wert') + self.Wert = fval_ + self.Wert_nsprefix_ = child_.prefix + # validate type TNeigung + self.validate_TNeigung(self.Wert) + super(TCNeigung12, self)._buildChildren(child_, node, nodeName_, True) +# end class TCNeigung12 + + +class TCETCS_Knoten_Art_Sonstige(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCETCS_Knoten_Art_Sonstige"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMETCS_Knoten_Art_Sonstige(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCETCS_Knoten_Art_Sonstige) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCETCS_Knoten_Art_Sonstige.subclass: + return TCETCS_Knoten_Art_Sonstige.subclass(*args_, **kwargs_) + else: + return TCETCS_Knoten_Art_Sonstige(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMETCS_Knoten_Art_Sonstige(self, value): + result = True + # Validate type ENUMETCS_Knoten_Art_Sonstige, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['Gleisabschluss', 'Grenze_Ausruestungsbereich', 'Km_Sprung', 'KrW', 'sonstige', 'Streckenende', 'Streckenwechsel'] + 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 ENUMETCS_Knoten_Art_Sonstige' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCETCS_Knoten_Art_Sonstige, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCETCS_Knoten_Art_Sonstige', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCETCS_Knoten_Art_Sonstige') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCETCS_Knoten_Art_Sonstige': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCETCS_Knoten_Art_Sonstige') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCETCS_Knoten_Art_Sonstige', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCETCS_Knoten_Art_Sonstige'): + super(TCETCS_Knoten_Art_Sonstige, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCETCS_Knoten_Art_Sonstige') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCETCS_Knoten_Art_Sonstige', fromsubclass_=False, pretty_print=True): + super(TCETCS_Knoten_Art_Sonstige, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCETCS_Knoten_Art_Sonstige, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMETCS_Knoten_Art_Sonstige + self.validate_ENUMETCS_Knoten_Art_Sonstige(self.Wert) + super(TCETCS_Knoten_Art_Sonstige, self)._buildChildren(child_, node, nodeName_, True) +# end class TCETCS_Knoten_Art_Sonstige + + +class CLEU_Anlage_Allg(GeneratedsSuper): + """Leistungsbedarf -- Maximaler Leistungsbedarf der LEU-Anlage. Der Leistungsbedarf soll (ggf. durch das Planungswerkzeug) + ü + ber LEU_Anlage_Art und die Anzahl der zugeh + ö + rigen Datenpunkte bestimmt werden. + LEU_Anlage_Art -- Art der in der LEU-Anlage enthaltenen LEU-Module (Voll-LEU, LEU-P). Die dazugeh + ö + rigen LEU-Module werden + ü + blicherweise erst im PT 2 festgelegt. Pflichtangabe bei ESG. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Leistungsbedarf=None, LEU_Anlage_Art=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Leistungsbedarf = Leistungsbedarf + self.Leistungsbedarf_nsprefix_ = None + self.LEU_Anlage_Art = LEU_Anlage_Art + self.LEU_Anlage_Art_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CLEU_Anlage_Allg) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CLEU_Anlage_Allg.subclass: + return CLEU_Anlage_Allg.subclass(*args_, **kwargs_) + else: + return CLEU_Anlage_Allg(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Leistungsbedarf(self): + return self.Leistungsbedarf + def set_Leistungsbedarf(self, Leistungsbedarf): + self.Leistungsbedarf = Leistungsbedarf + def get_LEU_Anlage_Art(self): + return self.LEU_Anlage_Art + def set_LEU_Anlage_Art(self, LEU_Anlage_Art): + self.LEU_Anlage_Art = LEU_Anlage_Art + def has__content(self): + if ( + self.Leistungsbedarf is not None or + self.LEU_Anlage_Art is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='CLEU_Anlage_Allg', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CLEU_Anlage_Allg') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CLEU_Anlage_Allg': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CLEU_Anlage_Allg') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CLEU_Anlage_Allg', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='CLEU_Anlage_Allg'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='CLEU_Anlage_Allg', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Leistungsbedarf is not None: + namespaceprefix_ = self.Leistungsbedarf_nsprefix_ + ':' if (UseCapturedNS_ and self.Leistungsbedarf_nsprefix_) else '' + self.Leistungsbedarf.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Leistungsbedarf', pretty_print=pretty_print) + if self.LEU_Anlage_Art is not None: + namespaceprefix_ = self.LEU_Anlage_Art_nsprefix_ + ':' if (UseCapturedNS_ and self.LEU_Anlage_Art_nsprefix_) else '' + self.LEU_Anlage_Art.export(outfile, level, namespaceprefix_, namespacedef_='', name_='LEU_Anlage_Art', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Leistungsbedarf': + obj_ = TCLeistungsbedarf.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Leistungsbedarf = obj_ + obj_.original_tagname_ = 'Leistungsbedarf' + elif nodeName_ == 'LEU_Anlage_Art': + obj_ = TCLEU_Anlage_Art.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.LEU_Anlage_Art = obj_ + obj_.original_tagname_ = 'LEU_Anlage_Art' +# end class CLEU_Anlage_Allg + + +class TCAnzeigetext(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCAnzeigetext"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TAnzeigetext(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCAnzeigetext) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCAnzeigetext.subclass: + return TCAnzeigetext.subclass(*args_, **kwargs_) + else: + return TCAnzeigetext(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TAnzeigetext(self, value): + result = True + # Validate type TAnzeigetext, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TAnzeigetext_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TAnzeigetext_patterns_, )) + result = False + return result + validate_TAnzeigetext_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCAnzeigetext, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCAnzeigetext', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCAnzeigetext') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCAnzeigetext': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCAnzeigetext') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCAnzeigetext', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCAnzeigetext'): + super(TCAnzeigetext, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCAnzeigetext') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCAnzeigetext', fromsubclass_=False, pretty_print=True): + super(TCAnzeigetext, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCAnzeigetext, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TAnzeigetext + self.validate_TAnzeigetext(self.Wert) + super(TCAnzeigetext, self)._buildChildren(child_, node, nodeName_, True) +# end class TCAnzeigetext + + +class CProg_Datei_Einzel(GeneratedsSuper): + """Anzeigetext -- Text zur Unterst + ü + tzung der Bedienerf + ü + hrung in der Programmiersoftware. + Einzeldatei_Art -- Art der einzelnen Programmierdatei (Ladedatei, Hilfsda + tei). + ID_Binaerdatei -- Verweis auf die Binaerdatei, die in die zu programmierende Komponente geladen wird bzw. die den Programmier- oder Pr + ü + fvorgang unterst + ü + tzt. + Konfigurationskennung -- Herstellerspezifische Konfigurationskennung der Ladedatei, die sich auf die standardisierte Planung/Projektierung bei ESG bezieht. + Pruefmerkmale_Binaerdatei -- Pr + ü + fmerkmale der Binaerdatei, die in das zu programmierende Ger + ä + t geladen wird bzw. die den Programmier- oder Pr + ü + fvorgang unterst + ü + tzt. + Pruefmerkmale_Prog_Komponente -- Pr + ü + fmerkmale f + ü + r die aus der programmierten Komponente zur + ü + ckgelesenen Daten. Bei Ladedateien m + ü + ssen immer Pr + ü + fmerkmale angegeben werden. Bei Hilfsdateien kann die Angabe entfallen. + Die Angaben zu Datum und Version der Auslieferung m + ü + ssen identisch sein mit den entsprechenden Angaben zur Programmierdatei. + Bei zweikanaligen Systemen kann eine Pr + ü + fung je Kanal erfolgen. In diesem Fall sind f + ü + r jeden Kanal eigene Pr + ü + fmerkmale notwendig. + Verwendung -- Herstellerspezifische Kodierung zur Beschreibung des Verwendungszwecks der Ladedatei (z. B. Kanalzuordnung) bzw. Hilfsdatei (z. B. Kanalzuordnung, Pr + ü + fdaten, Ortskodierung). Die Kodierung kann zur Steuerung der Programmier-Software verwendet werden. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Anzeigetext=None, Einzeldatei_Art=None, ID_Binaerdatei=None, Konfigurationskennung=None, Pruefmerkmale_Binaerdatei=None, Pruefmerkmale_Prog_Komponente=None, Verwendung=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Anzeigetext = Anzeigetext + self.Anzeigetext_nsprefix_ = None + self.Einzeldatei_Art = Einzeldatei_Art + self.Einzeldatei_Art_nsprefix_ = None + self.ID_Binaerdatei = ID_Binaerdatei + self.ID_Binaerdatei_nsprefix_ = None + self.Konfigurationskennung = Konfigurationskennung + self.Konfigurationskennung_nsprefix_ = None + self.Pruefmerkmale_Binaerdatei = Pruefmerkmale_Binaerdatei + self.Pruefmerkmale_Binaerdatei_nsprefix_ = None + if Pruefmerkmale_Prog_Komponente is None: + self.Pruefmerkmale_Prog_Komponente = [] + else: + self.Pruefmerkmale_Prog_Komponente = Pruefmerkmale_Prog_Komponente + self.Pruefmerkmale_Prog_Komponente_nsprefix_ = None + self.Verwendung = Verwendung + self.Verwendung_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CProg_Datei_Einzel) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CProg_Datei_Einzel.subclass: + return CProg_Datei_Einzel.subclass(*args_, **kwargs_) + else: + return CProg_Datei_Einzel(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anzeigetext(self): + return self.Anzeigetext + def set_Anzeigetext(self, Anzeigetext): + self.Anzeigetext = Anzeigetext + def get_Einzeldatei_Art(self): + return self.Einzeldatei_Art + def set_Einzeldatei_Art(self, Einzeldatei_Art): + self.Einzeldatei_Art = Einzeldatei_Art + def get_ID_Binaerdatei(self): + return self.ID_Binaerdatei + def set_ID_Binaerdatei(self, ID_Binaerdatei): + self.ID_Binaerdatei = ID_Binaerdatei + def get_Konfigurationskennung(self): + return self.Konfigurationskennung + def set_Konfigurationskennung(self, Konfigurationskennung): + self.Konfigurationskennung = Konfigurationskennung + def get_Pruefmerkmale_Binaerdatei(self): + return self.Pruefmerkmale_Binaerdatei + def set_Pruefmerkmale_Binaerdatei(self, Pruefmerkmale_Binaerdatei): + self.Pruefmerkmale_Binaerdatei = Pruefmerkmale_Binaerdatei + def get_Pruefmerkmale_Prog_Komponente(self): + return self.Pruefmerkmale_Prog_Komponente + def set_Pruefmerkmale_Prog_Komponente(self, Pruefmerkmale_Prog_Komponente): + self.Pruefmerkmale_Prog_Komponente = Pruefmerkmale_Prog_Komponente + def add_Pruefmerkmale_Prog_Komponente(self, value): + self.Pruefmerkmale_Prog_Komponente.append(value) + def insert_Pruefmerkmale_Prog_Komponente_at(self, index, value): + self.Pruefmerkmale_Prog_Komponente.insert(index, value) + def replace_Pruefmerkmale_Prog_Komponente_at(self, index, value): + self.Pruefmerkmale_Prog_Komponente[index] = value + def get_Verwendung(self): + return self.Verwendung + def set_Verwendung(self, Verwendung): + self.Verwendung = Verwendung + def has__content(self): + if ( + self.Anzeigetext is not None or + self.Einzeldatei_Art is not None or + self.ID_Binaerdatei is not None or + self.Konfigurationskennung is not None or + self.Pruefmerkmale_Binaerdatei is not None or + self.Pruefmerkmale_Prog_Komponente or + self.Verwendung is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='CProg_Datei_Einzel', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CProg_Datei_Einzel') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CProg_Datei_Einzel': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CProg_Datei_Einzel') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CProg_Datei_Einzel', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='CProg_Datei_Einzel'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='CProg_Datei_Einzel', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Anzeigetext is not None: + namespaceprefix_ = self.Anzeigetext_nsprefix_ + ':' if (UseCapturedNS_ and self.Anzeigetext_nsprefix_) else '' + self.Anzeigetext.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Anzeigetext', pretty_print=pretty_print) + if self.Einzeldatei_Art is not None: + namespaceprefix_ = self.Einzeldatei_Art_nsprefix_ + ':' if (UseCapturedNS_ and self.Einzeldatei_Art_nsprefix_) else '' + self.Einzeldatei_Art.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Einzeldatei_Art', pretty_print=pretty_print) + if self.ID_Binaerdatei is not None: + namespaceprefix_ = self.ID_Binaerdatei_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Binaerdatei_nsprefix_) else '' + self.ID_Binaerdatei.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Binaerdatei', pretty_print=pretty_print) + if self.Konfigurationskennung is not None: + namespaceprefix_ = self.Konfigurationskennung_nsprefix_ + ':' if (UseCapturedNS_ and self.Konfigurationskennung_nsprefix_) else '' + self.Konfigurationskennung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Konfigurationskennung', pretty_print=pretty_print) + if self.Pruefmerkmale_Binaerdatei is not None: + namespaceprefix_ = self.Pruefmerkmale_Binaerdatei_nsprefix_ + ':' if (UseCapturedNS_ and self.Pruefmerkmale_Binaerdatei_nsprefix_) else '' + self.Pruefmerkmale_Binaerdatei.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Pruefmerkmale_Binaerdatei', pretty_print=pretty_print) + for Pruefmerkmale_Prog_Komponente_ in self.Pruefmerkmale_Prog_Komponente: + namespaceprefix_ = self.Pruefmerkmale_Prog_Komponente_nsprefix_ + ':' if (UseCapturedNS_ and self.Pruefmerkmale_Prog_Komponente_nsprefix_) else '' + Pruefmerkmale_Prog_Komponente_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Pruefmerkmale_Prog_Komponente', pretty_print=pretty_print) + if self.Verwendung is not None: + namespaceprefix_ = self.Verwendung_nsprefix_ + ':' if (UseCapturedNS_ and self.Verwendung_nsprefix_) else '' + self.Verwendung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Verwendung', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Anzeigetext': + obj_ = TCAnzeigetext.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Anzeigetext = obj_ + obj_.original_tagname_ = 'Anzeigetext' + elif nodeName_ == 'Einzeldatei_Art': + obj_ = TCEinzeldatei_Art.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Einzeldatei_Art = obj_ + obj_.original_tagname_ = 'Einzeldatei_Art' + elif nodeName_ == 'ID_Binaerdatei': + obj_ = TCID_Binaerdaten_ohne_Proxy.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Binaerdatei = obj_ + obj_.original_tagname_ = 'ID_Binaerdatei' + elif nodeName_ == 'Konfigurationskennung': + obj_ = TCKonfigurationskennung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Konfigurationskennung = obj_ + obj_.original_tagname_ = 'Konfigurationskennung' + elif nodeName_ == 'Pruefmerkmale_Binaerdatei': + obj_ = CPruefmerkmale_Daten.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Pruefmerkmale_Binaerdatei = obj_ + obj_.original_tagname_ = 'Pruefmerkmale_Binaerdatei' + elif nodeName_ == 'Pruefmerkmale_Prog_Komponente': + obj_ = CPruefmerkmale_Daten.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Pruefmerkmale_Prog_Komponente.append(obj_) + obj_.original_tagname_ = 'Pruefmerkmale_Prog_Komponente' + elif nodeName_ == 'Verwendung': + obj_ = TCVerwendung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Verwendung = obj_ + obj_.original_tagname_ = 'Verwendung' +# end class CProg_Datei_Einzel + + +class TCRekursion_Nr(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCRekursion_Nr"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TRekursion_Nr(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCRekursion_Nr) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCRekursion_Nr.subclass: + return TCRekursion_Nr.subclass(*args_, **kwargs_) + else: + return TCRekursion_Nr(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TRekursion_Nr(self, value): + result = True + # Validate type TRekursion_Nr, a restriction on xs:integer. + 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 + pass + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCRekursion_Nr, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCRekursion_Nr', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCRekursion_Nr') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCRekursion_Nr': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCRekursion_Nr') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCRekursion_Nr', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCRekursion_Nr'): + super(TCRekursion_Nr, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCRekursion_Nr') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCRekursion_Nr', fromsubclass_=False, pretty_print=True): + super(TCRekursion_Nr, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_integer(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCRekursion_Nr, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + ival_ = self.gds_parse_integer(sval_, node, 'Wert') + ival_ = self.gds_validate_integer(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + # validate type TRekursion_Nr + self.validate_TRekursion_Nr(self.Wert) + super(TCRekursion_Nr, self)._buildChildren(child_, node, nodeName_, True) +# end class TCRekursion_Nr + + +class TCDP_ATO(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCDP_ATO"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMDP_ATO(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCDP_ATO) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCDP_ATO.subclass: + return TCDP_ATO.subclass(*args_, **kwargs_) + else: + return TCDP_ATO(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMDP_ATO(self, value): + result = True + # Validate type ENUMDP_ATO, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['Präzisionshalt', 'Präzisionshalt hochpräzise', 'sonstige'] + 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 ENUMDP_ATO' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCDP_ATO, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCDP_ATO', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCDP_ATO') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCDP_ATO': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCDP_ATO') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCDP_ATO', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCDP_ATO'): + super(TCDP_ATO, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCDP_ATO') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCDP_ATO', fromsubclass_=False, pretty_print=True): + super(TCDP_ATO, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCDP_ATO, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMDP_ATO + self.validate_ENUMDP_ATO(self.Wert) + super(TCDP_ATO, self)._buildChildren(child_, node, nodeName_, True) +# end class TCDP_ATO + + +class TCDWeg_Intervall_200(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCDWeg_Intervall_200"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TDWeg_Intervall_200(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCDWeg_Intervall_200) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCDWeg_Intervall_200.subclass: + return TCDWeg_Intervall_200.subclass(*args_, **kwargs_) + else: + return TCDWeg_Intervall_200(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TDWeg_Intervall_200(self, value): + result = True + # Validate type TDWeg_Intervall_200, a restriction on nsBasisTypen:TMeter. + 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 + pass + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCDWeg_Intervall_200, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCDWeg_Intervall_200', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCDWeg_Intervall_200') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCDWeg_Intervall_200': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCDWeg_Intervall_200') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCDWeg_Intervall_200', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCDWeg_Intervall_200'): + super(TCDWeg_Intervall_200, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCDWeg_Intervall_200') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCDWeg_Intervall_200', fromsubclass_=False, pretty_print=True): + super(TCDWeg_Intervall_200, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_decimal(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCDWeg_Intervall_200, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + fval_ = self.gds_parse_decimal(sval_, node, 'Wert') + fval_ = self.gds_validate_decimal(fval_, node, 'Wert') + self.Wert = fval_ + self.Wert_nsprefix_ = child_.prefix + # validate type TDWeg_Intervall_200 + self.validate_TDWeg_Intervall_200(self.Wert) + super(TCDWeg_Intervall_200, self)._buildChildren(child_, node, nodeName_, True) +# end class TCDWeg_Intervall_200 + + +class CZBS_Schutzstrecke(CBasis_Objekt): + """CZBS_Schutzstrecke -- Abbildung der ZBS-Schutzstrecke. Modellseitig werden f + ü + r die Abbildung einer Schutzstrecke die Objekte Fstr_DWeg und ZBS_Schutzstrecke ben + ö + tigt mit entsprechender Aufteilung der Planungsinformationen. + ID_Fstr_DWeg -- Verweis auf Fstr_DWeg zur Anreicherung der spezifischen Angaben von Schutzstrecken bei ZBS. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasis_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, ID_Fstr_DWeg=None, ZBS_Schutzstrecke_Allg=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CZBS_Schutzstrecke"), self).__init__(Identitaet, Basis_Objekt_Allg, ID_Bearbeitungsvermerk, ID_Oertlichkeit_Ausgabe, Objektreferenzen, **kwargs_) + self.ID_Fstr_DWeg = ID_Fstr_DWeg + self.ID_Fstr_DWeg_nsprefix_ = None + self.ZBS_Schutzstrecke_Allg = ZBS_Schutzstrecke_Allg + self.ZBS_Schutzstrecke_Allg_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CZBS_Schutzstrecke) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CZBS_Schutzstrecke.subclass: + return CZBS_Schutzstrecke.subclass(*args_, **kwargs_) + else: + return CZBS_Schutzstrecke(*args_, **kwargs_) + factory = staticmethod(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_Fstr_DWeg(self): + return self.ID_Fstr_DWeg + def set_ID_Fstr_DWeg(self, ID_Fstr_DWeg): + self.ID_Fstr_DWeg = ID_Fstr_DWeg + def get_ZBS_Schutzstrecke_Allg(self): + return self.ZBS_Schutzstrecke_Allg + def set_ZBS_Schutzstrecke_Allg(self, ZBS_Schutzstrecke_Allg): + self.ZBS_Schutzstrecke_Allg = ZBS_Schutzstrecke_Allg + def has__content(self): + if ( + self.ID_Fstr_DWeg is not None or + self.ZBS_Schutzstrecke_Allg is not None or + super(CZBS_Schutzstrecke, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CZBS_Schutzstrecke', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CZBS_Schutzstrecke') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CZBS_Schutzstrecke': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CZBS_Schutzstrecke') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CZBS_Schutzstrecke', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='CZBS_Schutzstrecke'): + super(CZBS_Schutzstrecke, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CZBS_Schutzstrecke') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CZBS_Schutzstrecke', fromsubclass_=False, pretty_print=True): + super(CZBS_Schutzstrecke, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.ID_Fstr_DWeg is not None: + namespaceprefix_ = self.ID_Fstr_DWeg_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Fstr_DWeg_nsprefix_) else '' + self.ID_Fstr_DWeg.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Fstr_DWeg', pretty_print=pretty_print) + if self.ZBS_Schutzstrecke_Allg is not None: + namespaceprefix_ = self.ZBS_Schutzstrecke_Allg_nsprefix_ + ':' if (UseCapturedNS_ and self.ZBS_Schutzstrecke_Allg_nsprefix_) else '' + self.ZBS_Schutzstrecke_Allg.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ZBS_Schutzstrecke_Allg', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CZBS_Schutzstrecke, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Fstr_DWeg': + obj_ = TCID_Fstr_DWeg_ohne_Proxy.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Fstr_DWeg = obj_ + obj_.original_tagname_ = 'ID_Fstr_DWeg' + elif nodeName_ == 'ZBS_Schutzstrecke_Allg': + obj_ = CZBS_Schutzstrecke_Allg.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ZBS_Schutzstrecke_Allg = obj_ + obj_.original_tagname_ = 'ZBS_Schutzstrecke_Allg' + super(CZBS_Schutzstrecke, self)._buildChildren(child_, node, nodeName_, True) +# end class CZBS_Schutzstrecke + + +class TCDelta_VLES(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCDelta_VLES"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TDelta_VLES(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCDelta_VLES) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCDelta_VLES.subclass: + return TCDelta_VLES.subclass(*args_, **kwargs_) + else: + return TCDelta_VLES(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TDelta_VLES(self, value): + result = True + # Validate type TDelta_VLES, a restriction on nsBasisTypen:TGeschwindigkeit. + 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_TDelta_VLES_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TDelta_VLES_patterns_, )) + result = False + return result + validate_TDelta_VLES_patterns_ = [['^(0|[1-9][0-9]{0,1}|[1-4][0-9]{2}|500)$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCDelta_VLES, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCDelta_VLES', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCDelta_VLES') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCDelta_VLES': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCDelta_VLES') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCDelta_VLES', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCDelta_VLES'): + super(TCDelta_VLES, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCDelta_VLES') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCDelta_VLES', fromsubclass_=False, pretty_print=True): + super(TCDelta_VLES, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_integer(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCDelta_VLES, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + ival_ = self.gds_parse_integer(sval_, node, 'Wert') + ival_ = self.gds_validate_integer(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + # validate type TDelta_VLES + self.validate_TDelta_VLES(self.Wert) + super(TCDelta_VLES, self)._buildChildren(child_, node, nodeName_, True) +# end class TCDelta_VLES + + +class TCVerwendung_Hilfe(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCVerwendung_Hilfe"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TVerwendung_Hilfe(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCVerwendung_Hilfe) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCVerwendung_Hilfe.subclass: + return TCVerwendung_Hilfe.subclass(*args_, **kwargs_) + else: + return TCVerwendung_Hilfe(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TVerwendung_Hilfe(self, value): + result = True + # Validate type TVerwendung_Hilfe, a restriction on nsBasisTypen:TZeichenkette. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TVerwendung_Hilfe_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TVerwendung_Hilfe_patterns_, )) + result = False + return result + validate_TVerwendung_Hilfe_patterns_ = [['^([a-zA-Z_0-9]{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCVerwendung_Hilfe, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCVerwendung_Hilfe', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCVerwendung_Hilfe') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCVerwendung_Hilfe': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCVerwendung_Hilfe') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCVerwendung_Hilfe', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCVerwendung_Hilfe'): + super(TCVerwendung_Hilfe, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCVerwendung_Hilfe') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCVerwendung_Hilfe', fromsubclass_=False, pretty_print=True): + super(TCVerwendung_Hilfe, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCVerwendung_Hilfe, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TVerwendung_Hilfe + self.validate_TVerwendung_Hilfe(self.Wert) + super(TCVerwendung_Hilfe, self)._buildChildren(child_, node, nodeName_, True) +# end class TCVerwendung_Hilfe + + +class CFachtelegramm(CBasis_Objekt): + """CFachtelegramm -- Informationen auf Planungsebene, die einem Datenpunkt in Abh + ä + ngkeit eines Signalbegriffs oder anderer Eingangsinformationen zugeordnet werden. + FT_Fahrweg_Teile -- Fahrwegteile, auf die sich das Fachtelegramm bezieht. Die Fahrwegteile sind nicht zwingend identisch mit existierenden Fahrstra + ß + en und k + ö + nnen + ü + ber den + Ü + berwachungsbereich hinausgehen. Die Angabe ist bei ZBS verpflichtend. Die Notwendigkeit f + ü + r weitere Anwendungssysteme ist (auch im Zusammenhang mit der Werkzeugentwicklung) noch einmal zu betrachten. + ID_Doku_Telegrammkodierung -- Verweis auf einen Anhang oder Bearbeitungsvermerk mit folgenden m + ö + glichen Inhalten: Umsetzung der Fachtelegramme auf die Lufttelegramme, Lastenheftangaben, Planungsrichtlinien, SRS-Version. + Wirkrichtung_In_Datenpunkt -- Richtung der betrieblichen Funktion in Bezug auf die physikalische oder durch Linking vorgegebene Ausrichtung des Datenpunkts. Der Wert \"in\" ist mit \"nominal\" gleichzusetzen, der Wert \"gegen\" mit \"reverse\". + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasis_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, FT_Fahrweg_Teile=None, ID_Doku_Telegrammkodierung=None, Wirkrichtung_In_Datenpunkt=None, FT_ESG_Merkmale=None, FT_ETCS_L2_Merkmale=None, FT_ETCS_Trans_Merkmale=None, FT_GNT_Merkmale=None, FT_ZBS_Merkmale=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CFachtelegramm"), self).__init__(Identitaet, Basis_Objekt_Allg, ID_Bearbeitungsvermerk, ID_Oertlichkeit_Ausgabe, Objektreferenzen, **kwargs_) + if FT_Fahrweg_Teile is None: + self.FT_Fahrweg_Teile = [] + else: + self.FT_Fahrweg_Teile = FT_Fahrweg_Teile + self.FT_Fahrweg_Teile_nsprefix_ = None + self.ID_Doku_Telegrammkodierung = ID_Doku_Telegrammkodierung + self.ID_Doku_Telegrammkodierung_nsprefix_ = None + self.Wirkrichtung_In_Datenpunkt = Wirkrichtung_In_Datenpunkt + self.Wirkrichtung_In_Datenpunkt_nsprefix_ = None + self.FT_ESG_Merkmale = FT_ESG_Merkmale + self.FT_ESG_Merkmale_nsprefix_ = None + self.FT_ETCS_L2_Merkmale = FT_ETCS_L2_Merkmale + self.FT_ETCS_L2_Merkmale_nsprefix_ = None + self.FT_ETCS_Trans_Merkmale = FT_ETCS_Trans_Merkmale + self.FT_ETCS_Trans_Merkmale_nsprefix_ = None + self.FT_GNT_Merkmale = FT_GNT_Merkmale + self.FT_GNT_Merkmale_nsprefix_ = None + self.FT_ZBS_Merkmale = FT_ZBS_Merkmale + self.FT_ZBS_Merkmale_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CFachtelegramm) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CFachtelegramm.subclass: + return CFachtelegramm.subclass(*args_, **kwargs_) + else: + return CFachtelegramm(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_FT_Fahrweg_Teile(self): + return self.FT_Fahrweg_Teile + def set_FT_Fahrweg_Teile(self, FT_Fahrweg_Teile): + self.FT_Fahrweg_Teile = FT_Fahrweg_Teile + def add_FT_Fahrweg_Teile(self, value): + self.FT_Fahrweg_Teile.append(value) + def insert_FT_Fahrweg_Teile_at(self, index, value): + self.FT_Fahrweg_Teile.insert(index, value) + def replace_FT_Fahrweg_Teile_at(self, index, value): + self.FT_Fahrweg_Teile[index] = value + def get_ID_Doku_Telegrammkodierung(self): + return self.ID_Doku_Telegrammkodierung + def set_ID_Doku_Telegrammkodierung(self, ID_Doku_Telegrammkodierung): + self.ID_Doku_Telegrammkodierung = ID_Doku_Telegrammkodierung + def get_Wirkrichtung_In_Datenpunkt(self): + return self.Wirkrichtung_In_Datenpunkt + def set_Wirkrichtung_In_Datenpunkt(self, Wirkrichtung_In_Datenpunkt): + self.Wirkrichtung_In_Datenpunkt = Wirkrichtung_In_Datenpunkt + def get_FT_ESG_Merkmale(self): + return self.FT_ESG_Merkmale + def set_FT_ESG_Merkmale(self, FT_ESG_Merkmale): + self.FT_ESG_Merkmale = FT_ESG_Merkmale + def get_FT_ETCS_L2_Merkmale(self): + return self.FT_ETCS_L2_Merkmale + def set_FT_ETCS_L2_Merkmale(self, FT_ETCS_L2_Merkmale): + self.FT_ETCS_L2_Merkmale = FT_ETCS_L2_Merkmale + def get_FT_ETCS_Trans_Merkmale(self): + return self.FT_ETCS_Trans_Merkmale + def set_FT_ETCS_Trans_Merkmale(self, FT_ETCS_Trans_Merkmale): + self.FT_ETCS_Trans_Merkmale = FT_ETCS_Trans_Merkmale + def get_FT_GNT_Merkmale(self): + return self.FT_GNT_Merkmale + def set_FT_GNT_Merkmale(self, FT_GNT_Merkmale): + self.FT_GNT_Merkmale = FT_GNT_Merkmale + def get_FT_ZBS_Merkmale(self): + return self.FT_ZBS_Merkmale + def set_FT_ZBS_Merkmale(self, FT_ZBS_Merkmale): + self.FT_ZBS_Merkmale = FT_ZBS_Merkmale + def has__content(self): + if ( + self.FT_Fahrweg_Teile or + self.ID_Doku_Telegrammkodierung is not None or + self.Wirkrichtung_In_Datenpunkt is not None or + self.FT_ESG_Merkmale is not None or + self.FT_ETCS_L2_Merkmale is not None or + self.FT_ETCS_Trans_Merkmale is not None or + self.FT_GNT_Merkmale is not None or + self.FT_ZBS_Merkmale is not None or + super(CFachtelegramm, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CFachtelegramm', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CFachtelegramm') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CFachtelegramm': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CFachtelegramm') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CFachtelegramm', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='CFachtelegramm'): + super(CFachtelegramm, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CFachtelegramm') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CFachtelegramm', fromsubclass_=False, pretty_print=True): + super(CFachtelegramm, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for FT_Fahrweg_Teile_ in self.FT_Fahrweg_Teile: + namespaceprefix_ = self.FT_Fahrweg_Teile_nsprefix_ + ':' if (UseCapturedNS_ and self.FT_Fahrweg_Teile_nsprefix_) else '' + FT_Fahrweg_Teile_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='FT_Fahrweg_Teile', pretty_print=pretty_print) + if self.ID_Doku_Telegrammkodierung is not None: + namespaceprefix_ = self.ID_Doku_Telegrammkodierung_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Doku_Telegrammkodierung_nsprefix_) else '' + self.ID_Doku_Telegrammkodierung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Doku_Telegrammkodierung', pretty_print=pretty_print) + if self.Wirkrichtung_In_Datenpunkt is not None: + namespaceprefix_ = self.Wirkrichtung_In_Datenpunkt_nsprefix_ + ':' if (UseCapturedNS_ and self.Wirkrichtung_In_Datenpunkt_nsprefix_) else '' + self.Wirkrichtung_In_Datenpunkt.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Wirkrichtung_In_Datenpunkt', pretty_print=pretty_print) + if self.FT_ESG_Merkmale is not None: + namespaceprefix_ = self.FT_ESG_Merkmale_nsprefix_ + ':' if (UseCapturedNS_ and self.FT_ESG_Merkmale_nsprefix_) else '' + self.FT_ESG_Merkmale.export(outfile, level, namespaceprefix_, namespacedef_='', name_='FT_ESG_Merkmale', pretty_print=pretty_print) + if self.FT_ETCS_L2_Merkmale is not None: + namespaceprefix_ = self.FT_ETCS_L2_Merkmale_nsprefix_ + ':' if (UseCapturedNS_ and self.FT_ETCS_L2_Merkmale_nsprefix_) else '' + self.FT_ETCS_L2_Merkmale.export(outfile, level, namespaceprefix_, namespacedef_='', name_='FT_ETCS_L2_Merkmale', pretty_print=pretty_print) + if self.FT_ETCS_Trans_Merkmale is not None: + namespaceprefix_ = self.FT_ETCS_Trans_Merkmale_nsprefix_ + ':' if (UseCapturedNS_ and self.FT_ETCS_Trans_Merkmale_nsprefix_) else '' + self.FT_ETCS_Trans_Merkmale.export(outfile, level, namespaceprefix_, namespacedef_='', name_='FT_ETCS_Trans_Merkmale', pretty_print=pretty_print) + if self.FT_GNT_Merkmale is not None: + namespaceprefix_ = self.FT_GNT_Merkmale_nsprefix_ + ':' if (UseCapturedNS_ and self.FT_GNT_Merkmale_nsprefix_) else '' + self.FT_GNT_Merkmale.export(outfile, level, namespaceprefix_, namespacedef_='', name_='FT_GNT_Merkmale', pretty_print=pretty_print) + if self.FT_ZBS_Merkmale is not None: + namespaceprefix_ = self.FT_ZBS_Merkmale_nsprefix_ + ':' if (UseCapturedNS_ and self.FT_ZBS_Merkmale_nsprefix_) else '' + self.FT_ZBS_Merkmale.export(outfile, level, namespaceprefix_, namespacedef_='', name_='FT_ZBS_Merkmale', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CFachtelegramm, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'FT_Fahrweg_Teile': + obj_ = CFT_Fahrweg_Teile.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.FT_Fahrweg_Teile.append(obj_) + obj_.original_tagname_ = 'FT_Fahrweg_Teile' + elif nodeName_ == 'ID_Doku_Telegrammkodierung': + obj_ = TCID_AnhangBearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Doku_Telegrammkodierung = obj_ + obj_.original_tagname_ = 'ID_Doku_Telegrammkodierung' + elif nodeName_ == 'Wirkrichtung_In_Datenpunkt': + obj_ = TCWirkrichtung_In_Datenpunkt.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Wirkrichtung_In_Datenpunkt = obj_ + obj_.original_tagname_ = 'Wirkrichtung_In_Datenpunkt' + elif nodeName_ == 'FT_ESG_Merkmale': + obj_ = CFT_ESG_Merkmale.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.FT_ESG_Merkmale = obj_ + obj_.original_tagname_ = 'FT_ESG_Merkmale' + elif nodeName_ == 'FT_ETCS_L2_Merkmale': + obj_ = CFT_ETCS_L2_Merkmale.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.FT_ETCS_L2_Merkmale = obj_ + obj_.original_tagname_ = 'FT_ETCS_L2_Merkmale' + elif nodeName_ == 'FT_ETCS_Trans_Merkmale': + obj_ = CFT_ETCS_Trans_Merkmale.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.FT_ETCS_Trans_Merkmale = obj_ + obj_.original_tagname_ = 'FT_ETCS_Trans_Merkmale' + elif nodeName_ == 'FT_GNT_Merkmale': + obj_ = CFT_GNT_Merkmale.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.FT_GNT_Merkmale = obj_ + obj_.original_tagname_ = 'FT_GNT_Merkmale' + elif nodeName_ == 'FT_ZBS_Merkmale': + obj_ = CFT_ZBS_Merkmale.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.FT_ZBS_Merkmale = obj_ + obj_.original_tagname_ = 'FT_ZBS_Merkmale' + super(CFachtelegramm, self)._buildChildren(child_, node, nodeName_, True) +# end class CFachtelegramm + + +class TCUeberwachung_Laenge(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCUeberwachung_Laenge"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TUeberwachung_Laenge(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCUeberwachung_Laenge) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCUeberwachung_Laenge.subclass: + return TCUeberwachung_Laenge.subclass(*args_, **kwargs_) + else: + return TCUeberwachung_Laenge(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TUeberwachung_Laenge(self, value): + result = True + # Validate type TUeberwachung_Laenge, a restriction on nsBasisTypen:TMeter. + 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 + pass + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCUeberwachung_Laenge, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCUeberwachung_Laenge', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCUeberwachung_Laenge') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCUeberwachung_Laenge': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCUeberwachung_Laenge') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCUeberwachung_Laenge', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCUeberwachung_Laenge'): + super(TCUeberwachung_Laenge, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCUeberwachung_Laenge') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCUeberwachung_Laenge', fromsubclass_=False, pretty_print=True): + super(TCUeberwachung_Laenge, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_decimal(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCUeberwachung_Laenge, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + fval_ = self.gds_parse_decimal(sval_, node, 'Wert') + fval_ = self.gds_validate_decimal(fval_, node, 'Wert') + self.Wert = fval_ + self.Wert_nsprefix_ = child_.prefix + # validate type TUeberwachung_Laenge + self.validate_TUeberwachung_Laenge(self.Wert) + super(TCUeberwachung_Laenge, self)._buildChildren(child_, node, nodeName_, True) +# end class TCUeberwachung_Laenge + + +class CLEU_Steuernde(GeneratedsSuper): + """ID_LEU_Anlage -- Verweis auf die steuernde LEU-Anlage. Anmerkung: Balisen eines Datenpunkts k + ö + nnen nicht mehreren LEU zugeordnet sein. Es ist nur m + ö + glich, eine zusammengefasste LEU mit zusammengefasster E/A-Logik aus mehreren LEU-Modulen zu bilden und die Balisen des DP verschiedenen LEU-Modulen zuzuordnen. + LEU_Ausgang_Nr -- Planerisch vergebene Nummer des genutzten LEU-Ausgangs f + ü + r die Ansteuerung der Balisen des Datenpunkts. + Bei Verwendung in Datenpunkt: Angabe des f + ü + r diesen DP genutzen LEU-Ausgangs im Sinne einer Referenz. Mehrere Ausg + ä + nge werden bei DP mit mehreren gesteue + rten Balisen ben + ö + tigt. Die auf diesem Wege f + ü + r eine LEU-Anlage definierten Port-Nummern m + ü + ssen f + ü + r die LEU-Anlage eindeutig sein. Das Attribut wird f + ü + r den PT 1 ESG nicht genutzt. + Bei Verwendung in LEU_Modul: Zuordnung des LEU-Ausgangs zu einem LEU-Modul. Weiterhin wird dem LEU-Ausgang vom Hersteller eine Portnummer zugeordnet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, ID_LEU_Anlage=None, LEU_Ausgang_Nr=None, gds_collector_=None, **kwargs_): + self.gds_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_LEU_Anlage = ID_LEU_Anlage + self.ID_LEU_Anlage_nsprefix_ = None + if LEU_Ausgang_Nr is None: + self.LEU_Ausgang_Nr = [] + else: + self.LEU_Ausgang_Nr = LEU_Ausgang_Nr + self.LEU_Ausgang_Nr_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CLEU_Steuernde) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CLEU_Steuernde.subclass: + return CLEU_Steuernde.subclass(*args_, **kwargs_) + else: + return CLEU_Steuernde(*args_, **kwargs_) + factory = staticmethod(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_LEU_Anlage(self): + return self.ID_LEU_Anlage + def set_ID_LEU_Anlage(self, ID_LEU_Anlage): + self.ID_LEU_Anlage = ID_LEU_Anlage + def get_LEU_Ausgang_Nr(self): + return self.LEU_Ausgang_Nr + def set_LEU_Ausgang_Nr(self, LEU_Ausgang_Nr): + self.LEU_Ausgang_Nr = LEU_Ausgang_Nr + def add_LEU_Ausgang_Nr(self, value): + self.LEU_Ausgang_Nr.append(value) + def insert_LEU_Ausgang_Nr_at(self, index, value): + self.LEU_Ausgang_Nr.insert(index, value) + def replace_LEU_Ausgang_Nr_at(self, index, value): + self.LEU_Ausgang_Nr[index] = value + def has__content(self): + if ( + self.ID_LEU_Anlage is not None or + self.LEU_Ausgang_Nr + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CLEU_Steuernde', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CLEU_Steuernde') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CLEU_Steuernde': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CLEU_Steuernde') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CLEU_Steuernde', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='CLEU_Steuernde'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CLEU_Steuernde', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.ID_LEU_Anlage is not None: + namespaceprefix_ = self.ID_LEU_Anlage_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_LEU_Anlage_nsprefix_) else '' + self.ID_LEU_Anlage.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_LEU_Anlage', pretty_print=pretty_print) + for LEU_Ausgang_Nr_ in self.LEU_Ausgang_Nr: + namespaceprefix_ = self.LEU_Ausgang_Nr_nsprefix_ + ':' if (UseCapturedNS_ and self.LEU_Ausgang_Nr_nsprefix_) else '' + LEU_Ausgang_Nr_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='LEU_Ausgang_Nr', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_LEU_Anlage': + obj_ = TCID_LEU_Anlage.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_LEU_Anlage = obj_ + obj_.original_tagname_ = 'ID_LEU_Anlage' + elif nodeName_ == 'LEU_Ausgang_Nr': + obj_ = TCLEU_Ausgang_Nr.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.LEU_Ausgang_Nr.append(obj_) + obj_.original_tagname_ = 'LEU_Ausgang_Nr' +# end class CLEU_Steuernde + + +class CEV_Modul_Eingang(GeneratedsSuper): + """Eingang_Gepuffert -- Angabe, ob der Abgriff gepuffert (Parallelabgriff an USV, Batterie etc.) oder ungepuffert (Nebenabgriff am Z + ä + hleranschluss) erfolgt. + Primaerquelle -- Die angegebene Energiequelle ist die prim + ä + re Energiequelle f + ü + r das Energieversorgungsmodul. + Energie_Eingang_Art -- Art der Energiequelle, von der der Abgriff erfolgt. + ID_Energie_Eingang -- Verweis auf die Energiequelle, von der der Abgriff erfolgt. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Eingang_Gepuffert=None, Primaerquelle=None, Energie_Eingang_Art=None, ID_Energie_Eingang=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Eingang_Gepuffert = Eingang_Gepuffert + self.Eingang_Gepuffert_nsprefix_ = None + self.Primaerquelle = Primaerquelle + self.Primaerquelle_nsprefix_ = None + self.Energie_Eingang_Art = Energie_Eingang_Art + self.Energie_Eingang_Art_nsprefix_ = None + self.ID_Energie_Eingang = ID_Energie_Eingang + self.ID_Energie_Eingang_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CEV_Modul_Eingang) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CEV_Modul_Eingang.subclass: + return CEV_Modul_Eingang.subclass(*args_, **kwargs_) + else: + return CEV_Modul_Eingang(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Eingang_Gepuffert(self): + return self.Eingang_Gepuffert + def set_Eingang_Gepuffert(self, Eingang_Gepuffert): + self.Eingang_Gepuffert = Eingang_Gepuffert + def get_Primaerquelle(self): + return self.Primaerquelle + def set_Primaerquelle(self, Primaerquelle): + self.Primaerquelle = Primaerquelle + def get_Energie_Eingang_Art(self): + return self.Energie_Eingang_Art + def set_Energie_Eingang_Art(self, Energie_Eingang_Art): + self.Energie_Eingang_Art = Energie_Eingang_Art + def get_ID_Energie_Eingang(self): + return self.ID_Energie_Eingang + def set_ID_Energie_Eingang(self, ID_Energie_Eingang): + self.ID_Energie_Eingang = ID_Energie_Eingang + def has__content(self): + if ( + self.Eingang_Gepuffert is not None or + self.Primaerquelle is not None or + self.Energie_Eingang_Art is not None or + self.ID_Energie_Eingang is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CEV_Modul_Eingang', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CEV_Modul_Eingang') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CEV_Modul_Eingang': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CEV_Modul_Eingang') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CEV_Modul_Eingang', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='CEV_Modul_Eingang'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CEV_Modul_Eingang', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Eingang_Gepuffert is not None: + namespaceprefix_ = self.Eingang_Gepuffert_nsprefix_ + ':' if (UseCapturedNS_ and self.Eingang_Gepuffert_nsprefix_) else '' + self.Eingang_Gepuffert.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Eingang_Gepuffert', pretty_print=pretty_print) + if self.Primaerquelle is not None: + namespaceprefix_ = self.Primaerquelle_nsprefix_ + ':' if (UseCapturedNS_ and self.Primaerquelle_nsprefix_) else '' + self.Primaerquelle.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Primaerquelle', pretty_print=pretty_print) + if self.Energie_Eingang_Art is not None: + namespaceprefix_ = self.Energie_Eingang_Art_nsprefix_ + ':' if (UseCapturedNS_ and self.Energie_Eingang_Art_nsprefix_) else '' + self.Energie_Eingang_Art.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Energie_Eingang_Art', pretty_print=pretty_print) + if self.ID_Energie_Eingang is not None: + namespaceprefix_ = self.ID_Energie_Eingang_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Energie_Eingang_nsprefix_) else '' + self.ID_Energie_Eingang.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Energie_Eingang', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Eingang_Gepuffert': + obj_ = TCEingang_Gepuffert.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Eingang_Gepuffert = obj_ + obj_.original_tagname_ = 'Eingang_Gepuffert' + elif nodeName_ == 'Primaerquelle': + obj_ = TCPrimaerquelle.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Primaerquelle = obj_ + obj_.original_tagname_ = 'Primaerquelle' + elif nodeName_ == 'Energie_Eingang_Art': + obj_ = TCEnergie_Eingang_Art.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Energie_Eingang_Art = obj_ + obj_.original_tagname_ = 'Energie_Eingang_Art' + elif nodeName_ == 'ID_Energie_Eingang': + obj_ = TCID_Energie_Eingang.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Energie_Eingang = obj_ + obj_.original_tagname_ = 'ID_Energie_Eingang' +# end class CEV_Modul_Eingang + + +class CLEU_Schaltkasten_Position(GeneratedsSuper): + """ID_Bezugspunkt_Positionierung -- Verweis auf einen Bezugspunkt, der f + ü + r die Positionierung des LEU-Schaltkastens ma + ß + gebend ist. + Position -- Position des LEU-Schaltkastens in Relation zur Wirkrichtung des betrieblichen Bezugspunkts (Signal). Die Ermittlung erfolgt + ü + ber die zugh + ö + rigen Datenpunkte. + Position_Sonstige -- Sonstige Position des LEU-Schaltkastens, sofern das Attribut \"Position\" nicht verwendet werden kann. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, ID_Bezugspunkt_Positionierung=None, Position=None, Position_Sonstige=None, gds_collector_=None, **kwargs_): + self.gds_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_Bezugspunkt_Positionierung = ID_Bezugspunkt_Positionierung + self.ID_Bezugspunkt_Positionierung_nsprefix_ = None + self.Position = Position + self.Position_nsprefix_ = None + self.Position_Sonstige = Position_Sonstige + self.Position_Sonstige_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CLEU_Schaltkasten_Position) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CLEU_Schaltkasten_Position.subclass: + return CLEU_Schaltkasten_Position.subclass(*args_, **kwargs_) + else: + return CLEU_Schaltkasten_Position(*args_, **kwargs_) + factory = staticmethod(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_Bezugspunkt_Positionierung(self): + return self.ID_Bezugspunkt_Positionierung + def set_ID_Bezugspunkt_Positionierung(self, ID_Bezugspunkt_Positionierung): + self.ID_Bezugspunkt_Positionierung = ID_Bezugspunkt_Positionierung + def get_Position(self): + return self.Position + def set_Position(self, Position): + self.Position = Position + def get_Position_Sonstige(self): + return self.Position_Sonstige + def set_Position_Sonstige(self, Position_Sonstige): + self.Position_Sonstige = Position_Sonstige + def has__content(self): + if ( + self.ID_Bezugspunkt_Positionierung is not None or + self.Position is not None or + self.Position_Sonstige is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CLEU_Schaltkasten_Position', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CLEU_Schaltkasten_Position') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CLEU_Schaltkasten_Position': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CLEU_Schaltkasten_Position') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CLEU_Schaltkasten_Position', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='CLEU_Schaltkasten_Position'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CLEU_Schaltkasten_Position', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.ID_Bezugspunkt_Positionierung is not None: + namespaceprefix_ = self.ID_Bezugspunkt_Positionierung_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bezugspunkt_Positionierung_nsprefix_) else '' + self.ID_Bezugspunkt_Positionierung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bezugspunkt_Positionierung', 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.Position_Sonstige is not None: + namespaceprefix_ = self.Position_Sonstige_nsprefix_ + ':' if (UseCapturedNS_ and self.Position_Sonstige_nsprefix_) else '' + self.Position_Sonstige.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Position_Sonstige', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Bezugspunkt_Positionierung': + obj_ = TCID_Bezugspunkt_Positionierung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bezugspunkt_Positionierung = obj_ + obj_.original_tagname_ = 'ID_Bezugspunkt_Positionierung' + elif nodeName_ == 'Position': + obj_ = TCPosition.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Position = obj_ + obj_.original_tagname_ = 'Position' + elif nodeName_ == 'Position_Sonstige': + obj_ = TCPosition_Sonstige.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Position_Sonstige = obj_ + obj_.original_tagname_ = 'Position_Sonstige' +# end class CLEU_Schaltkasten_Position + + +class TCWirkrichtung_In_Datenpunkt(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCWirkrichtung_In_Datenpunkt"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TWirkrichtung_In_Datenpunkt(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCWirkrichtung_In_Datenpunkt) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCWirkrichtung_In_Datenpunkt.subclass: + return TCWirkrichtung_In_Datenpunkt.subclass(*args_, **kwargs_) + else: + return TCWirkrichtung_In_Datenpunkt(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TWirkrichtung_In_Datenpunkt(self, value): + result = True + # Validate type TWirkrichtung_In_Datenpunkt, a restriction on nsBasisTypen:TWirkrichtung. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['beide', 'gegen', 'in'] + 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 TWirkrichtung_In_Datenpunkt' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCWirkrichtung_In_Datenpunkt, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCWirkrichtung_In_Datenpunkt', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCWirkrichtung_In_Datenpunkt') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCWirkrichtung_In_Datenpunkt': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCWirkrichtung_In_Datenpunkt') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCWirkrichtung_In_Datenpunkt', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCWirkrichtung_In_Datenpunkt'): + super(TCWirkrichtung_In_Datenpunkt, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCWirkrichtung_In_Datenpunkt') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCWirkrichtung_In_Datenpunkt', fromsubclass_=False, pretty_print=True): + super(TCWirkrichtung_In_Datenpunkt, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCWirkrichtung_In_Datenpunkt, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TWirkrichtung_In_Datenpunkt + self.validate_TWirkrichtung_In_Datenpunkt(self.Wert) + super(TCWirkrichtung_In_Datenpunkt, self)._buildChildren(child_, node, nodeName_, True) +# end class TCWirkrichtung_In_Datenpunkt + + +class TCSRS_Version(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCSRS_Version"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TSRS_Version(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCSRS_Version) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCSRS_Version.subclass: + return TCSRS_Version.subclass(*args_, **kwargs_) + else: + return TCSRS_Version(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TSRS_Version(self, value): + result = True + # Validate type TSRS_Version, a restriction on nsBasisTypen:TZeichenkette. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TSRS_Version_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TSRS_Version_patterns_, )) + result = False + return result + validate_TSRS_Version_patterns_ = [['^([a-zA-Z_0-9]{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCSRS_Version, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCSRS_Version', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCSRS_Version') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCSRS_Version': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCSRS_Version') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCSRS_Version', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCSRS_Version'): + super(TCSRS_Version, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCSRS_Version') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCSRS_Version', fromsubclass_=False, pretty_print=True): + super(TCSRS_Version, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCSRS_Version, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TSRS_Version + self.validate_TSRS_Version(self.Wert) + super(TCSRS_Version, self)._buildChildren(child_, node, nodeName_, True) +# end class TCSRS_Version + + +class TCHersteller13(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCHersteller13"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_THersteller(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCHersteller13) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCHersteller13.subclass: + return TCHersteller13.subclass(*args_, **kwargs_) + else: + return TCHersteller13(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_THersteller(self, value): + result = True + # Validate type THersteller, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_THersteller_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_THersteller_patterns_, )) + result = False + return result + validate_THersteller_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCHersteller13, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCHersteller13', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCHersteller13') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCHersteller13': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCHersteller13') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCHersteller13', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCHersteller13'): + super(TCHersteller13, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCHersteller13') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCHersteller13', fromsubclass_=False, pretty_print=True): + super(TCHersteller13, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCHersteller13, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type THersteller + self.validate_THersteller(self.Wert) + super(TCHersteller13, self)._buildChildren(child_, node, nodeName_, True) +# end class TCHersteller13 + + +class TCDelta_VGES(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCDelta_VGES"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TDelta_VGES(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCDelta_VGES) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCDelta_VGES.subclass: + return TCDelta_VGES.subclass(*args_, **kwargs_) + else: + return TCDelta_VGES(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TDelta_VGES(self, value): + result = True + # Validate type TDelta_VGES, a restriction on nsBasisTypen:TGeschwindigkeit. + 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_TDelta_VGES_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TDelta_VGES_patterns_, )) + result = False + return result + validate_TDelta_VGES_patterns_ = [['^(0|[1-9][0-9]{0,1}|[1-4][0-9]{2}|500)$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCDelta_VGES, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCDelta_VGES', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCDelta_VGES') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCDelta_VGES': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCDelta_VGES') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCDelta_VGES', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCDelta_VGES'): + super(TCDelta_VGES, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCDelta_VGES') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCDelta_VGES', fromsubclass_=False, pretty_print=True): + super(TCDelta_VGES, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_integer(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCDelta_VGES, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + ival_ = self.gds_parse_integer(sval_, node, 'Wert') + ival_ = self.gds_validate_integer(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + # validate type TDelta_VGES + self.validate_TDelta_VGES(self.Wert) + super(TCDelta_VGES, self)._buildChildren(child_, node, nodeName_, True) +# end class TCDelta_VGES + + +class TCVGR(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCVGR"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TVGR(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCVGR) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCVGR.subclass: + return TCVGR.subclass(*args_, **kwargs_) + else: + return TCVGR(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TVGR(self, value): + result = True + # Validate type TVGR, a restriction on nsBasisTypen:TGeschwindigkeit. + 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_TVGR_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TVGR_patterns_, )) + result = False + return result + validate_TVGR_patterns_ = [['^(0|[1-9][0-9]{0,1}|[1-4][0-9]{2}|500)$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCVGR, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCVGR', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCVGR') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCVGR': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCVGR') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCVGR', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCVGR'): + super(TCVGR, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCVGR') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCVGR', fromsubclass_=False, pretty_print=True): + super(TCVGR, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_integer(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCVGR, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + ival_ = self.gds_parse_integer(sval_, node, 'Wert') + ival_ = self.gds_validate_integer(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + # validate type TVGR + self.validate_TVGR(self.Wert) + super(TCVGR, self)._buildChildren(child_, node, nodeName_, True) +# end class TCVGR + + +class TCAbstand_Bes_Langer_Einfahrweg(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCAbstand_Bes_Langer_Einfahrweg"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TAbstand_Bes_Langer_Einfahrweg(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCAbstand_Bes_Langer_Einfahrweg) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCAbstand_Bes_Langer_Einfahrweg.subclass: + return TCAbstand_Bes_Langer_Einfahrweg.subclass(*args_, **kwargs_) + else: + return TCAbstand_Bes_Langer_Einfahrweg(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TAbstand_Bes_Langer_Einfahrweg(self, value): + result = True + # Validate type TAbstand_Bes_Langer_Einfahrweg, a restriction on nsBasisTypen:TMeter. + 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 + pass + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCAbstand_Bes_Langer_Einfahrweg, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCAbstand_Bes_Langer_Einfahrweg', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCAbstand_Bes_Langer_Einfahrweg') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCAbstand_Bes_Langer_Einfahrweg': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCAbstand_Bes_Langer_Einfahrweg') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCAbstand_Bes_Langer_Einfahrweg', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCAbstand_Bes_Langer_Einfahrweg'): + super(TCAbstand_Bes_Langer_Einfahrweg, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCAbstand_Bes_Langer_Einfahrweg') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCAbstand_Bes_Langer_Einfahrweg', fromsubclass_=False, pretty_print=True): + super(TCAbstand_Bes_Langer_Einfahrweg, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_decimal(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCAbstand_Bes_Langer_Einfahrweg, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + fval_ = self.gds_parse_decimal(sval_, node, 'Wert') + fval_ = self.gds_validate_decimal(fval_, node, 'Wert') + self.Wert = fval_ + self.Wert_nsprefix_ = child_.prefix + # validate type TAbstand_Bes_Langer_Einfahrweg + self.validate_TAbstand_Bes_Langer_Einfahrweg(self.Wert) + super(TCAbstand_Bes_Langer_Einfahrweg, self)._buildChildren(child_, node, nodeName_, True) +# end class TCAbstand_Bes_Langer_Einfahrweg + + +class CBgrenze_Nach_ESG_Bed_Ausstieg(GeneratedsSuper): + """ID_W_Element -- Verweis auf das Weichen-Element der Entscheidungsweiche. + W_Lage -- Lage des Weichen-Elements. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, ID_W_Element=None, W_Lage=None, gds_collector_=None, **kwargs_): + self.gds_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_W_Element = ID_W_Element + self.ID_W_Element_nsprefix_ = None + self.W_Lage = W_Lage + self.W_Lage_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CBgrenze_Nach_ESG_Bed_Ausstieg) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CBgrenze_Nach_ESG_Bed_Ausstieg.subclass: + return CBgrenze_Nach_ESG_Bed_Ausstieg.subclass(*args_, **kwargs_) + else: + return CBgrenze_Nach_ESG_Bed_Ausstieg(*args_, **kwargs_) + factory = staticmethod(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_W_Element(self): + return self.ID_W_Element + def set_ID_W_Element(self, ID_W_Element): + self.ID_W_Element = ID_W_Element + def get_W_Lage(self): + return self.W_Lage + def set_W_Lage(self, W_Lage): + self.W_Lage = W_Lage + def has__content(self): + if ( + self.ID_W_Element is not None or + self.W_Lage is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CBgrenze_Nach_ESG_Bed_Ausstieg', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CBgrenze_Nach_ESG_Bed_Ausstieg') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CBgrenze_Nach_ESG_Bed_Ausstieg': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CBgrenze_Nach_ESG_Bed_Ausstieg') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CBgrenze_Nach_ESG_Bed_Ausstieg', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='CBgrenze_Nach_ESG_Bed_Ausstieg'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CBgrenze_Nach_ESG_Bed_Ausstieg', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.ID_W_Element is not None: + namespaceprefix_ = self.ID_W_Element_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_W_Element_nsprefix_) else '' + self.ID_W_Element.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_W_Element', pretty_print=pretty_print) + if self.W_Lage is not None: + namespaceprefix_ = self.W_Lage_nsprefix_ + ':' if (UseCapturedNS_ and self.W_Lage_nsprefix_) else '' + self.W_Lage.export(outfile, level, namespaceprefix_, namespacedef_='', name_='W_Lage', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_W_Element': + obj_ = TCID_W_Kr_Gsp_Element.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_W_Element = obj_ + obj_.original_tagname_ = 'ID_W_Element' + elif nodeName_ == 'W_Lage': + obj_ = TCW_Lage.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.W_Lage = obj_ + obj_.original_tagname_ = 'W_Lage' +# end class CBgrenze_Nach_ESG_Bed_Ausstieg + + +class CLT_Binaerdaten(GeneratedsSuper): + """ID_Anhang_EA_Doku -- Verweis auf einen Anhang, der die Zuordnung zwischen Eingangsinformationen (z. B. Signalbegriffe) und zugeh + ö + rigem Lufttelegramm enth + ä + lt. + ID_Binaerdaten -- Verweis auf die Bin + ä + rdaten, die von der Balise gesendet werden. + Pruefmerkmale_Binaerdaten -- Pr + ü + fmerkmale der Bin + ä + rdaten (z. B. Pr + ü + fsumme, Version), die von der Balise gesendet werden. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, ID_Anhang_EA_Doku=None, ID_Binaerdaten=None, Pruefmerkmale_Binaerdaten=None, gds_collector_=None, **kwargs_): + self.gds_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_Anhang_EA_Doku = ID_Anhang_EA_Doku + self.ID_Anhang_EA_Doku_nsprefix_ = None + self.ID_Binaerdaten = ID_Binaerdaten + self.ID_Binaerdaten_nsprefix_ = None + self.Pruefmerkmale_Binaerdaten = Pruefmerkmale_Binaerdaten + self.Pruefmerkmale_Binaerdaten_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CLT_Binaerdaten) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CLT_Binaerdaten.subclass: + return CLT_Binaerdaten.subclass(*args_, **kwargs_) + else: + return CLT_Binaerdaten(*args_, **kwargs_) + factory = staticmethod(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_Anhang_EA_Doku(self): + return self.ID_Anhang_EA_Doku + def set_ID_Anhang_EA_Doku(self, ID_Anhang_EA_Doku): + self.ID_Anhang_EA_Doku = ID_Anhang_EA_Doku + def get_ID_Binaerdaten(self): + return self.ID_Binaerdaten + def set_ID_Binaerdaten(self, ID_Binaerdaten): + self.ID_Binaerdaten = ID_Binaerdaten + def get_Pruefmerkmale_Binaerdaten(self): + return self.Pruefmerkmale_Binaerdaten + def set_Pruefmerkmale_Binaerdaten(self, Pruefmerkmale_Binaerdaten): + self.Pruefmerkmale_Binaerdaten = Pruefmerkmale_Binaerdaten + def has__content(self): + if ( + self.ID_Anhang_EA_Doku is not None or + self.ID_Binaerdaten is not None or + self.Pruefmerkmale_Binaerdaten is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='CLT_Binaerdaten', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CLT_Binaerdaten') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CLT_Binaerdaten': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CLT_Binaerdaten') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CLT_Binaerdaten', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='CLT_Binaerdaten'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='CLT_Binaerdaten', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.ID_Anhang_EA_Doku is not None: + namespaceprefix_ = self.ID_Anhang_EA_Doku_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Anhang_EA_Doku_nsprefix_) else '' + self.ID_Anhang_EA_Doku.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Anhang_EA_Doku', pretty_print=pretty_print) + if self.ID_Binaerdaten is not None: + namespaceprefix_ = self.ID_Binaerdaten_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Binaerdaten_nsprefix_) else '' + self.ID_Binaerdaten.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Binaerdaten', pretty_print=pretty_print) + if self.Pruefmerkmale_Binaerdaten is not None: + namespaceprefix_ = self.Pruefmerkmale_Binaerdaten_nsprefix_ + ':' if (UseCapturedNS_ and self.Pruefmerkmale_Binaerdaten_nsprefix_) else '' + self.Pruefmerkmale_Binaerdaten.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Pruefmerkmale_Binaerdaten', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Anhang_EA_Doku': + obj_ = TCID_Anhang.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Anhang_EA_Doku = obj_ + obj_.original_tagname_ = 'ID_Anhang_EA_Doku' + elif nodeName_ == 'ID_Binaerdaten': + obj_ = TCID_Binaerdaten_ohne_Proxy.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Binaerdaten = obj_ + obj_.original_tagname_ = 'ID_Binaerdaten' + elif nodeName_ == 'Pruefmerkmale_Binaerdaten': + obj_ = CPruefmerkmale_Daten.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Pruefmerkmale_Binaerdaten = obj_ + obj_.original_tagname_ = 'Pruefmerkmale_Binaerdaten' +# end class CLT_Binaerdaten + + +class CFT_ZBS_Merkmale(GeneratedsSuper): + """FT_Hinweis_Funktion -- Hinweis zum Signalbegriff bzw. der Funktion des Fachtelegramms bei Festdatenpunkten (z. B. ZBS-Ende, Ortsreferenz). + FT_ZBS_Merkmale_La -- Attributgruppe f + ü + r Bereiche mit V-Einschr + ä + nkung innerhalb des + Ü + berwachungsabschnitts. + FT_ZBS_Typ -- Typ des ZBS-Fachtelegramms, der dessen ( + Ü + berwachungs-)Funktion bestimmt. + Laenge_1 -- L + ä + nge des + Ü + berwachungsabschnitts. + LM_G -- Angabe, ob der Leuchtmelder G (Hinweis f + ü + r den Tf, dass eine + Ü + berwachung auf eine niedrigere Geschwindigkeit am n + ä + chsten Signal noch aktiv ist) angeschaltet werden muss. + Massgebende_Neig_1 -- Ma + ß + gebende Neigung im + Ü + berwachungsabschnitt. + Massgebende_Neig_Schutzstrecke -- Ma + ß + gebende Neigung f + ü + r die Ermittlung der Schutzstreckenl + ä + nge. + Mastschild -- Gibt an, ob am zugeh + ö + rigen Signal ein Mastschild ws-sw-ws-sw-ws vorhanden ist. + Schutzstrecke_Erforderlich -- Hinter dem Zielsignal des + Ü + berwachungsabschnitts f + ü + r die gew + ä + hlte Freigabegeschwindigkeit geforderte Soll-L + ä + nge der Schutzstrecke. + Schutzstrecke_Vorhanden -- Hinter dem Zielsignal des + Ü + berwachungsabschnitts vorhandene Ist-L + ä + nge der Schutzstrecke. + Telegrammnummer -- Nummer des Fachtelegramms als Referenz f + ü + r das Linking. + Ueberwachung_Laenge -- L + ä + nge des + Ü + berwachungsabschnitts, auf den sich das Fachtelegramm bezieht. + V_Befehl_R -- Befehlsfahrgeschwindigkeit f + ü + r Rangierfahrt. + V_Befehl_Z -- Befehlsfahrgeschwindigkeit f + ü + r Zugfahrt. + V_Frei -- Freigabegeschwindigkeit (release speed). + V_Zul_Strecke -- Zul + ä + ssige Geschwindigkeit im Bereich des + Ü + berwachungsabschnitts. + VGR_1 -- Gr + ö + ß + te + Ü + berwachungsgeschwindigkeit im + Ü + berwachungsabschnitt. + VGR_2 -- Ü + berwachungsgeschwindigkeit am Ende des + Ü + berwachungsabschnitts. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, FT_Hinweis_Funktion=None, FT_ZBS_Merkmale_La=None, FT_ZBS_Typ=None, Laenge_1=None, LM_G=None, Massgebende_Neig_1=None, Massgebende_Neig_Schutzstrecke=None, Mastschild=None, Schutzstrecke_Erforderlich=None, Schutzstrecke_Vorhanden=None, Telegrammnummer=None, Ueberwachung_Laenge=None, V_Befehl_R=None, V_Befehl_Z=None, V_Frei=None, V_Zul_Strecke=None, VGR_1=None, VGR_2=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.FT_Hinweis_Funktion = FT_Hinweis_Funktion + self.FT_Hinweis_Funktion_nsprefix_ = None + if FT_ZBS_Merkmale_La is None: + self.FT_ZBS_Merkmale_La = [] + else: + self.FT_ZBS_Merkmale_La = FT_ZBS_Merkmale_La + self.FT_ZBS_Merkmale_La_nsprefix_ = None + self.FT_ZBS_Typ = FT_ZBS_Typ + self.FT_ZBS_Typ_nsprefix_ = None + self.Laenge_1 = Laenge_1 + self.Laenge_1_nsprefix_ = None + self.LM_G = LM_G + self.LM_G_nsprefix_ = None + self.Massgebende_Neig_1 = Massgebende_Neig_1 + self.Massgebende_Neig_1_nsprefix_ = None + self.Massgebende_Neig_Schutzstrecke = Massgebende_Neig_Schutzstrecke + self.Massgebende_Neig_Schutzstrecke_nsprefix_ = None + self.Mastschild = Mastschild + self.Mastschild_nsprefix_ = None + self.Schutzstrecke_Erforderlich = Schutzstrecke_Erforderlich + self.Schutzstrecke_Erforderlich_nsprefix_ = None + self.Schutzstrecke_Vorhanden = Schutzstrecke_Vorhanden + self.Schutzstrecke_Vorhanden_nsprefix_ = None + self.Telegrammnummer = Telegrammnummer + self.Telegrammnummer_nsprefix_ = None + self.Ueberwachung_Laenge = Ueberwachung_Laenge + self.Ueberwachung_Laenge_nsprefix_ = None + self.V_Befehl_R = V_Befehl_R + self.V_Befehl_R_nsprefix_ = None + self.V_Befehl_Z = V_Befehl_Z + self.V_Befehl_Z_nsprefix_ = None + self.V_Frei = V_Frei + self.V_Frei_nsprefix_ = None + self.V_Zul_Strecke = V_Zul_Strecke + self.V_Zul_Strecke_nsprefix_ = None + self.VGR_1 = VGR_1 + self.VGR_1_nsprefix_ = None + self.VGR_2 = VGR_2 + self.VGR_2_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CFT_ZBS_Merkmale) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CFT_ZBS_Merkmale.subclass: + return CFT_ZBS_Merkmale.subclass(*args_, **kwargs_) + else: + return CFT_ZBS_Merkmale(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_FT_Hinweis_Funktion(self): + return self.FT_Hinweis_Funktion + def set_FT_Hinweis_Funktion(self, FT_Hinweis_Funktion): + self.FT_Hinweis_Funktion = FT_Hinweis_Funktion + def get_FT_ZBS_Merkmale_La(self): + return self.FT_ZBS_Merkmale_La + def set_FT_ZBS_Merkmale_La(self, FT_ZBS_Merkmale_La): + self.FT_ZBS_Merkmale_La = FT_ZBS_Merkmale_La + def add_FT_ZBS_Merkmale_La(self, value): + self.FT_ZBS_Merkmale_La.append(value) + def insert_FT_ZBS_Merkmale_La_at(self, index, value): + self.FT_ZBS_Merkmale_La.insert(index, value) + def replace_FT_ZBS_Merkmale_La_at(self, index, value): + self.FT_ZBS_Merkmale_La[index] = value + def get_FT_ZBS_Typ(self): + return self.FT_ZBS_Typ + def set_FT_ZBS_Typ(self, FT_ZBS_Typ): + self.FT_ZBS_Typ = FT_ZBS_Typ + def get_Laenge_1(self): + return self.Laenge_1 + def set_Laenge_1(self, Laenge_1): + self.Laenge_1 = Laenge_1 + def get_LM_G(self): + return self.LM_G + def set_LM_G(self, LM_G): + self.LM_G = LM_G + def get_Massgebende_Neig_1(self): + return self.Massgebende_Neig_1 + def set_Massgebende_Neig_1(self, Massgebende_Neig_1): + self.Massgebende_Neig_1 = Massgebende_Neig_1 + def get_Massgebende_Neig_Schutzstrecke(self): + return self.Massgebende_Neig_Schutzstrecke + def set_Massgebende_Neig_Schutzstrecke(self, Massgebende_Neig_Schutzstrecke): + self.Massgebende_Neig_Schutzstrecke = Massgebende_Neig_Schutzstrecke + def get_Mastschild(self): + return self.Mastschild + def set_Mastschild(self, Mastschild): + self.Mastschild = Mastschild + def get_Schutzstrecke_Erforderlich(self): + return self.Schutzstrecke_Erforderlich + def set_Schutzstrecke_Erforderlich(self, Schutzstrecke_Erforderlich): + self.Schutzstrecke_Erforderlich = Schutzstrecke_Erforderlich + def get_Schutzstrecke_Vorhanden(self): + return self.Schutzstrecke_Vorhanden + def set_Schutzstrecke_Vorhanden(self, Schutzstrecke_Vorhanden): + self.Schutzstrecke_Vorhanden = Schutzstrecke_Vorhanden + def get_Telegrammnummer(self): + return self.Telegrammnummer + def set_Telegrammnummer(self, Telegrammnummer): + self.Telegrammnummer = Telegrammnummer + def get_Ueberwachung_Laenge(self): + return self.Ueberwachung_Laenge + def set_Ueberwachung_Laenge(self, Ueberwachung_Laenge): + self.Ueberwachung_Laenge = Ueberwachung_Laenge + def get_V_Befehl_R(self): + return self.V_Befehl_R + def set_V_Befehl_R(self, V_Befehl_R): + self.V_Befehl_R = V_Befehl_R + def get_V_Befehl_Z(self): + return self.V_Befehl_Z + def set_V_Befehl_Z(self, V_Befehl_Z): + self.V_Befehl_Z = V_Befehl_Z + def get_V_Frei(self): + return self.V_Frei + def set_V_Frei(self, V_Frei): + self.V_Frei = V_Frei + def get_V_Zul_Strecke(self): + return self.V_Zul_Strecke + def set_V_Zul_Strecke(self, V_Zul_Strecke): + self.V_Zul_Strecke = V_Zul_Strecke + def get_VGR_1(self): + return self.VGR_1 + def set_VGR_1(self, VGR_1): + self.VGR_1 = VGR_1 + def get_VGR_2(self): + return self.VGR_2 + def set_VGR_2(self, VGR_2): + self.VGR_2 = VGR_2 + def has__content(self): + if ( + self.FT_Hinweis_Funktion is not None or + self.FT_ZBS_Merkmale_La or + self.FT_ZBS_Typ is not None or + self.Laenge_1 is not None or + self.LM_G is not None or + self.Massgebende_Neig_1 is not None or + self.Massgebende_Neig_Schutzstrecke is not None or + self.Mastschild is not None or + self.Schutzstrecke_Erforderlich is not None or + self.Schutzstrecke_Vorhanden is not None or + self.Telegrammnummer is not None or + self.Ueberwachung_Laenge is not None or + self.V_Befehl_R is not None or + self.V_Befehl_Z is not None or + self.V_Frei is not None or + self.V_Zul_Strecke is not None or + self.VGR_1 is not None or + self.VGR_2 is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='CFT_ZBS_Merkmale', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CFT_ZBS_Merkmale') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CFT_ZBS_Merkmale': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CFT_ZBS_Merkmale') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CFT_ZBS_Merkmale', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='CFT_ZBS_Merkmale'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='CFT_ZBS_Merkmale', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.FT_Hinweis_Funktion is not None: + namespaceprefix_ = self.FT_Hinweis_Funktion_nsprefix_ + ':' if (UseCapturedNS_ and self.FT_Hinweis_Funktion_nsprefix_) else '' + self.FT_Hinweis_Funktion.export(outfile, level, namespaceprefix_, namespacedef_='', name_='FT_Hinweis_Funktion', pretty_print=pretty_print) + for FT_ZBS_Merkmale_La_ in self.FT_ZBS_Merkmale_La: + namespaceprefix_ = self.FT_ZBS_Merkmale_La_nsprefix_ + ':' if (UseCapturedNS_ and self.FT_ZBS_Merkmale_La_nsprefix_) else '' + FT_ZBS_Merkmale_La_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='FT_ZBS_Merkmale_La', pretty_print=pretty_print) + if self.FT_ZBS_Typ is not None: + namespaceprefix_ = self.FT_ZBS_Typ_nsprefix_ + ':' if (UseCapturedNS_ and self.FT_ZBS_Typ_nsprefix_) else '' + self.FT_ZBS_Typ.export(outfile, level, namespaceprefix_, namespacedef_='', name_='FT_ZBS_Typ', pretty_print=pretty_print) + if self.Laenge_1 is not None: + namespaceprefix_ = self.Laenge_1_nsprefix_ + ':' if (UseCapturedNS_ and self.Laenge_1_nsprefix_) else '' + self.Laenge_1.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Laenge_1', pretty_print=pretty_print) + if self.LM_G is not None: + namespaceprefix_ = self.LM_G_nsprefix_ + ':' if (UseCapturedNS_ and self.LM_G_nsprefix_) else '' + self.LM_G.export(outfile, level, namespaceprefix_, namespacedef_='', name_='LM_G', pretty_print=pretty_print) + if self.Massgebende_Neig_1 is not None: + namespaceprefix_ = self.Massgebende_Neig_1_nsprefix_ + ':' if (UseCapturedNS_ and self.Massgebende_Neig_1_nsprefix_) else '' + self.Massgebende_Neig_1.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Massgebende_Neig_1', pretty_print=pretty_print) + if self.Massgebende_Neig_Schutzstrecke is not None: + namespaceprefix_ = self.Massgebende_Neig_Schutzstrecke_nsprefix_ + ':' if (UseCapturedNS_ and self.Massgebende_Neig_Schutzstrecke_nsprefix_) else '' + self.Massgebende_Neig_Schutzstrecke.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Massgebende_Neig_Schutzstrecke', pretty_print=pretty_print) + if self.Mastschild is not None: + namespaceprefix_ = self.Mastschild_nsprefix_ + ':' if (UseCapturedNS_ and self.Mastschild_nsprefix_) else '' + self.Mastschild.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Mastschild', pretty_print=pretty_print) + if self.Schutzstrecke_Erforderlich is not None: + namespaceprefix_ = self.Schutzstrecke_Erforderlich_nsprefix_ + ':' if (UseCapturedNS_ and self.Schutzstrecke_Erforderlich_nsprefix_) else '' + self.Schutzstrecke_Erforderlich.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Schutzstrecke_Erforderlich', pretty_print=pretty_print) + if self.Schutzstrecke_Vorhanden is not None: + namespaceprefix_ = self.Schutzstrecke_Vorhanden_nsprefix_ + ':' if (UseCapturedNS_ and self.Schutzstrecke_Vorhanden_nsprefix_) else '' + self.Schutzstrecke_Vorhanden.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Schutzstrecke_Vorhanden', pretty_print=pretty_print) + if self.Telegrammnummer is not None: + namespaceprefix_ = self.Telegrammnummer_nsprefix_ + ':' if (UseCapturedNS_ and self.Telegrammnummer_nsprefix_) else '' + self.Telegrammnummer.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Telegrammnummer', pretty_print=pretty_print) + if self.Ueberwachung_Laenge is not None: + namespaceprefix_ = self.Ueberwachung_Laenge_nsprefix_ + ':' if (UseCapturedNS_ and self.Ueberwachung_Laenge_nsprefix_) else '' + self.Ueberwachung_Laenge.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Ueberwachung_Laenge', pretty_print=pretty_print) + if self.V_Befehl_R is not None: + namespaceprefix_ = self.V_Befehl_R_nsprefix_ + ':' if (UseCapturedNS_ and self.V_Befehl_R_nsprefix_) else '' + self.V_Befehl_R.export(outfile, level, namespaceprefix_, namespacedef_='', name_='V_Befehl_R', pretty_print=pretty_print) + if self.V_Befehl_Z is not None: + namespaceprefix_ = self.V_Befehl_Z_nsprefix_ + ':' if (UseCapturedNS_ and self.V_Befehl_Z_nsprefix_) else '' + self.V_Befehl_Z.export(outfile, level, namespaceprefix_, namespacedef_='', name_='V_Befehl_Z', pretty_print=pretty_print) + if self.V_Frei is not None: + namespaceprefix_ = self.V_Frei_nsprefix_ + ':' if (UseCapturedNS_ and self.V_Frei_nsprefix_) else '' + self.V_Frei.export(outfile, level, namespaceprefix_, namespacedef_='', name_='V_Frei', pretty_print=pretty_print) + if self.V_Zul_Strecke is not None: + namespaceprefix_ = self.V_Zul_Strecke_nsprefix_ + ':' if (UseCapturedNS_ and self.V_Zul_Strecke_nsprefix_) else '' + self.V_Zul_Strecke.export(outfile, level, namespaceprefix_, namespacedef_='', name_='V_Zul_Strecke', pretty_print=pretty_print) + if self.VGR_1 is not None: + namespaceprefix_ = self.VGR_1_nsprefix_ + ':' if (UseCapturedNS_ and self.VGR_1_nsprefix_) else '' + self.VGR_1.export(outfile, level, namespaceprefix_, namespacedef_='', name_='VGR_1', pretty_print=pretty_print) + if self.VGR_2 is not None: + namespaceprefix_ = self.VGR_2_nsprefix_ + ':' if (UseCapturedNS_ and self.VGR_2_nsprefix_) else '' + self.VGR_2.export(outfile, level, namespaceprefix_, namespacedef_='', name_='VGR_2', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'FT_Hinweis_Funktion': + obj_ = TCFT_Hinweis_Funktion.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.FT_Hinweis_Funktion = obj_ + obj_.original_tagname_ = 'FT_Hinweis_Funktion' + elif nodeName_ == 'FT_ZBS_Merkmale_La': + obj_ = CFT_ZBS_Merkmale_La.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.FT_ZBS_Merkmale_La.append(obj_) + obj_.original_tagname_ = 'FT_ZBS_Merkmale_La' + elif nodeName_ == 'FT_ZBS_Typ': + obj_ = TCFT_ZBS_Typ.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.FT_ZBS_Typ = obj_ + obj_.original_tagname_ = 'FT_ZBS_Typ' + elif nodeName_ == 'Laenge_1': + obj_ = TCLaenge_1.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Laenge_1 = obj_ + obj_.original_tagname_ = 'Laenge_1' + elif nodeName_ == 'LM_G': + obj_ = TCLM_G.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.LM_G = obj_ + obj_.original_tagname_ = 'LM_G' + elif nodeName_ == 'Massgebende_Neig_1': + obj_ = TCMassgebende_Neig_1.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Massgebende_Neig_1 = obj_ + obj_.original_tagname_ = 'Massgebende_Neig_1' + elif nodeName_ == 'Massgebende_Neig_Schutzstrecke': + obj_ = TCMassgebende_Neig_Schutzstrecke.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Massgebende_Neig_Schutzstrecke = obj_ + obj_.original_tagname_ = 'Massgebende_Neig_Schutzstrecke' + elif nodeName_ == 'Mastschild': + obj_ = TCMastschild.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Mastschild = obj_ + obj_.original_tagname_ = 'Mastschild' + elif nodeName_ == 'Schutzstrecke_Erforderlich': + obj_ = TCSchutzstrecke_Erforderlich.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Schutzstrecke_Erforderlich = obj_ + obj_.original_tagname_ = 'Schutzstrecke_Erforderlich' + elif nodeName_ == 'Schutzstrecke_Vorhanden': + obj_ = TCSchutzstrecke_Vorhanden.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Schutzstrecke_Vorhanden = obj_ + obj_.original_tagname_ = 'Schutzstrecke_Vorhanden' + elif nodeName_ == 'Telegrammnummer': + obj_ = TCTelegrammnummer.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Telegrammnummer = obj_ + obj_.original_tagname_ = 'Telegrammnummer' + elif nodeName_ == 'Ueberwachung_Laenge': + obj_ = TCUeberwachung_Laenge.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Ueberwachung_Laenge = obj_ + obj_.original_tagname_ = 'Ueberwachung_Laenge' + elif nodeName_ == 'V_Befehl_R': + obj_ = TCV_Befehl_R.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.V_Befehl_R = obj_ + obj_.original_tagname_ = 'V_Befehl_R' + elif nodeName_ == 'V_Befehl_Z': + obj_ = TCV_Befehl_Z.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.V_Befehl_Z = obj_ + obj_.original_tagname_ = 'V_Befehl_Z' + elif nodeName_ == 'V_Frei': + obj_ = TCV_Frei.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.V_Frei = obj_ + obj_.original_tagname_ = 'V_Frei' + elif nodeName_ == 'V_Zul_Strecke': + obj_ = TCV_Zul_Strecke.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.V_Zul_Strecke = obj_ + obj_.original_tagname_ = 'V_Zul_Strecke' + elif nodeName_ == 'VGR_1': + obj_ = TCVGR_1.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.VGR_1 = obj_ + obj_.original_tagname_ = 'VGR_1' + elif nodeName_ == 'VGR_2': + obj_ = TCVGR_2.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.VGR_2 = obj_ + obj_.original_tagname_ = 'VGR_2' +# end class CFT_ZBS_Merkmale + + +class CFT_ETCS_Trans_Paket_N(GeneratedsSuper): + """ETCS_Paketnummer -- Paketnummer gem + ä + ß + Dokument \"Telegramme f + ü + r Regelbremsweg xxxx m\". + ETCS_Par_Erlaeuterung -- Erl + ä + uterung des unter ETCS_Parametername definierten Parameters. + ETCS_Parametername -- Parametername gem + ä + ß + Dokument \"Telegramme f + ü + r Regelbremsweg xxxx m\". Wenn mehrere Parameter gleichen Namens im Paket auftauchen k + ö + nnen (z. B. in Aufz + ä + hlungen mit N_ITER), wird die Ordnungsnummer des individuellen Parameters in Klammern angegeben. Vgl. Subset 026-7. + ETCS_Parameterwert -- Wert des unter ETCS_Parametername definierten Parameters. + Rekursion_2_Nr -- Nummer der Rekursion in der zweiten Rekursionsebene bei rekursiv vorkommenden Paket-Parametern (N_ITER). + Rekursion_Nr -- Nummer der Rekursion bei rekursiv vorkommenden Paket-Parametern (N_ITER). + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, ETCS_Paketnummer=None, ETCS_Par_Erlaeuterung=None, ETCS_Parametername=None, ETCS_Parameterwert=None, Rekursion_2_Nr=None, Rekursion_Nr=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.ETCS_Paketnummer = ETCS_Paketnummer + self.ETCS_Paketnummer_nsprefix_ = None + self.ETCS_Par_Erlaeuterung = ETCS_Par_Erlaeuterung + self.ETCS_Par_Erlaeuterung_nsprefix_ = None + self.ETCS_Parametername = ETCS_Parametername + self.ETCS_Parametername_nsprefix_ = None + self.ETCS_Parameterwert = ETCS_Parameterwert + self.ETCS_Parameterwert_nsprefix_ = None + self.Rekursion_2_Nr = Rekursion_2_Nr + self.Rekursion_2_Nr_nsprefix_ = None + self.Rekursion_Nr = Rekursion_Nr + self.Rekursion_Nr_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CFT_ETCS_Trans_Paket_N) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CFT_ETCS_Trans_Paket_N.subclass: + return CFT_ETCS_Trans_Paket_N.subclass(*args_, **kwargs_) + else: + return CFT_ETCS_Trans_Paket_N(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_ETCS_Paketnummer(self): + return self.ETCS_Paketnummer + def set_ETCS_Paketnummer(self, ETCS_Paketnummer): + self.ETCS_Paketnummer = ETCS_Paketnummer + def get_ETCS_Par_Erlaeuterung(self): + return self.ETCS_Par_Erlaeuterung + def set_ETCS_Par_Erlaeuterung(self, ETCS_Par_Erlaeuterung): + self.ETCS_Par_Erlaeuterung = ETCS_Par_Erlaeuterung + def get_ETCS_Parametername(self): + return self.ETCS_Parametername + def set_ETCS_Parametername(self, ETCS_Parametername): + self.ETCS_Parametername = ETCS_Parametername + def get_ETCS_Parameterwert(self): + return self.ETCS_Parameterwert + def set_ETCS_Parameterwert(self, ETCS_Parameterwert): + self.ETCS_Parameterwert = ETCS_Parameterwert + def get_Rekursion_2_Nr(self): + return self.Rekursion_2_Nr + def set_Rekursion_2_Nr(self, Rekursion_2_Nr): + self.Rekursion_2_Nr = Rekursion_2_Nr + def get_Rekursion_Nr(self): + return self.Rekursion_Nr + def set_Rekursion_Nr(self, Rekursion_Nr): + self.Rekursion_Nr = Rekursion_Nr + def has__content(self): + if ( + self.ETCS_Paketnummer is not None or + self.ETCS_Par_Erlaeuterung is not None or + self.ETCS_Parametername is not None or + self.ETCS_Parameterwert is not None or + self.Rekursion_2_Nr is not None or + self.Rekursion_Nr is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='CFT_ETCS_Trans_Paket_N', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CFT_ETCS_Trans_Paket_N') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CFT_ETCS_Trans_Paket_N': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CFT_ETCS_Trans_Paket_N') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CFT_ETCS_Trans_Paket_N', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='CFT_ETCS_Trans_Paket_N'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='CFT_ETCS_Trans_Paket_N', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.ETCS_Paketnummer is not None: + namespaceprefix_ = self.ETCS_Paketnummer_nsprefix_ + ':' if (UseCapturedNS_ and self.ETCS_Paketnummer_nsprefix_) else '' + self.ETCS_Paketnummer.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ETCS_Paketnummer', pretty_print=pretty_print) + if self.ETCS_Par_Erlaeuterung is not None: + namespaceprefix_ = self.ETCS_Par_Erlaeuterung_nsprefix_ + ':' if (UseCapturedNS_ and self.ETCS_Par_Erlaeuterung_nsprefix_) else '' + self.ETCS_Par_Erlaeuterung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ETCS_Par_Erlaeuterung', pretty_print=pretty_print) + if self.ETCS_Parametername is not None: + namespaceprefix_ = self.ETCS_Parametername_nsprefix_ + ':' if (UseCapturedNS_ and self.ETCS_Parametername_nsprefix_) else '' + self.ETCS_Parametername.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ETCS_Parametername', pretty_print=pretty_print) + if self.ETCS_Parameterwert is not None: + namespaceprefix_ = self.ETCS_Parameterwert_nsprefix_ + ':' if (UseCapturedNS_ and self.ETCS_Parameterwert_nsprefix_) else '' + self.ETCS_Parameterwert.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ETCS_Parameterwert', pretty_print=pretty_print) + if self.Rekursion_2_Nr is not None: + namespaceprefix_ = self.Rekursion_2_Nr_nsprefix_ + ':' if (UseCapturedNS_ and self.Rekursion_2_Nr_nsprefix_) else '' + self.Rekursion_2_Nr.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Rekursion_2_Nr', pretty_print=pretty_print) + if self.Rekursion_Nr is not None: + namespaceprefix_ = self.Rekursion_Nr_nsprefix_ + ':' if (UseCapturedNS_ and self.Rekursion_Nr_nsprefix_) else '' + self.Rekursion_Nr.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Rekursion_Nr', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ETCS_Paketnummer': + obj_ = TCETCS_Paketnummer.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ETCS_Paketnummer = obj_ + obj_.original_tagname_ = 'ETCS_Paketnummer' + elif nodeName_ == 'ETCS_Par_Erlaeuterung': + obj_ = TCETCS_Par_Erlaeuterung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ETCS_Par_Erlaeuterung = obj_ + obj_.original_tagname_ = 'ETCS_Par_Erlaeuterung' + elif nodeName_ == 'ETCS_Parametername': + obj_ = TCETCS_Parametername.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ETCS_Parametername = obj_ + obj_.original_tagname_ = 'ETCS_Parametername' + elif nodeName_ == 'ETCS_Parameterwert': + obj_ = TCETCS_Parameterwert.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ETCS_Parameterwert = obj_ + obj_.original_tagname_ = 'ETCS_Parameterwert' + elif nodeName_ == 'Rekursion_2_Nr': + obj_ = TCRekursion_2_Nr.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Rekursion_2_Nr = obj_ + obj_.original_tagname_ = 'Rekursion_2_Nr' + elif nodeName_ == 'Rekursion_Nr': + obj_ = TCRekursion_Nr.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Rekursion_Nr = obj_ + obj_.original_tagname_ = 'Rekursion_Nr' +# end class CFT_ETCS_Trans_Paket_N + + +class CKnoten_Auf_TOP_Kante(GeneratedsSuper): + """ETCS_Knoten_Art_Sonstige -- Besondere Art des ETCS-Knotens bei Verortung auf einer TOP-Kante. F + ü + r die Knotenart \"Streckenende\" ist derzeit kein konkreter Anwendungsfall bekannt. Der Wert wird aber zur Erhaltung der Modellflexibilit + ä + t vorerst beibehalten. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, ETCS_Knoten_Art_Sonstige=None, Punkt_Objekt_TOP_Kante=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.ETCS_Knoten_Art_Sonstige = ETCS_Knoten_Art_Sonstige + self.ETCS_Knoten_Art_Sonstige_nsprefix_ = None + if Punkt_Objekt_TOP_Kante is None: + self.Punkt_Objekt_TOP_Kante = [] + else: + self.Punkt_Objekt_TOP_Kante = Punkt_Objekt_TOP_Kante + self.Punkt_Objekt_TOP_Kante_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CKnoten_Auf_TOP_Kante) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CKnoten_Auf_TOP_Kante.subclass: + return CKnoten_Auf_TOP_Kante.subclass(*args_, **kwargs_) + else: + return CKnoten_Auf_TOP_Kante(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_ETCS_Knoten_Art_Sonstige(self): + return self.ETCS_Knoten_Art_Sonstige + def set_ETCS_Knoten_Art_Sonstige(self, ETCS_Knoten_Art_Sonstige): + self.ETCS_Knoten_Art_Sonstige = ETCS_Knoten_Art_Sonstige + def get_Punkt_Objekt_TOP_Kante(self): + return self.Punkt_Objekt_TOP_Kante + def set_Punkt_Objekt_TOP_Kante(self, Punkt_Objekt_TOP_Kante): + self.Punkt_Objekt_TOP_Kante = Punkt_Objekt_TOP_Kante + def add_Punkt_Objekt_TOP_Kante(self, value): + self.Punkt_Objekt_TOP_Kante.append(value) + def insert_Punkt_Objekt_TOP_Kante_at(self, index, value): + self.Punkt_Objekt_TOP_Kante.insert(index, value) + def replace_Punkt_Objekt_TOP_Kante_at(self, index, value): + self.Punkt_Objekt_TOP_Kante[index] = value + def has__content(self): + if ( + self.ETCS_Knoten_Art_Sonstige is not None or + self.Punkt_Objekt_TOP_Kante + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0" xmlns:nsBasisobjekte="http://www.plan-pro.org/modell/Basisobjekte/1.10.0" ', name_='CKnoten_Auf_TOP_Kante', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CKnoten_Auf_TOP_Kante') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CKnoten_Auf_TOP_Kante': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CKnoten_Auf_TOP_Kante') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CKnoten_Auf_TOP_Kante', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='CKnoten_Auf_TOP_Kante'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0" xmlns:nsBasisobjekte="http://www.plan-pro.org/modell/Basisobjekte/1.10.0" ', name_='CKnoten_Auf_TOP_Kante', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.ETCS_Knoten_Art_Sonstige is not None: + namespaceprefix_ = self.ETCS_Knoten_Art_Sonstige_nsprefix_ + ':' if (UseCapturedNS_ and self.ETCS_Knoten_Art_Sonstige_nsprefix_) else '' + self.ETCS_Knoten_Art_Sonstige.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ETCS_Knoten_Art_Sonstige', pretty_print=pretty_print) + for Punkt_Objekt_TOP_Kante_ in self.Punkt_Objekt_TOP_Kante: + namespaceprefix_ = self.Punkt_Objekt_TOP_Kante_nsprefix_ + ':' if (UseCapturedNS_ and self.Punkt_Objekt_TOP_Kante_nsprefix_) else '' + Punkt_Objekt_TOP_Kante_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Punkt_Objekt_TOP_Kante', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ETCS_Knoten_Art_Sonstige': + obj_ = TCETCS_Knoten_Art_Sonstige.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ETCS_Knoten_Art_Sonstige = obj_ + obj_.original_tagname_ = 'ETCS_Knoten_Art_Sonstige' + elif nodeName_ == 'Punkt_Objekt_TOP_Kante': + obj_ = CPunkt_Objekt_TOP_Kante.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Punkt_Objekt_TOP_Kante.append(obj_) + obj_.original_tagname_ = 'Punkt_Objekt_TOP_Kante' +# end class CKnoten_Auf_TOP_Kante + + +class CFT_ESG_Merkmale(GeneratedsSuper): + """Abstand_Bes_Langer_Einfahrweg -- Abstand vom Datenpunkt bis zur ersten im abzweigenden Strang befahrenen Weiche. Die explizite Angabe erfolgt, sofern keine topologische Ermittlung m + ö + glich ist. DB-Regelwerk ESG-Datenpunkttabelle 1, Spalte 24. + DP_Typ_V_La -- Geschwindigkeitsbeschr + ä + nkung (st + ä + ndige oder vor + ü + bergehende Langsamfahrstelle bzw. Vorsignalisierung), die durch den Datenpunkt angek + ü + ndigt wird (Parameter -y). + ESG_Individuelle_Merkmale -- Attributgruppe zur Angabe von angepassten Parametern bei individueller Projektierung, z. B. Datenpunkttyp BM mit Parameter f + ü + r L + ä + nge der Metallmasse in Metern. + ESG_Spezifische_Merkmale -- Attributgruppe zur Angabe von frei definierten Parametern bei spezifischer Projektierung. + ID_Massgebendes_Zielsignal -- Signalbezeichnung des restriktivsten Falls \"L + ä + nge Vorsignal + ü + berwachung je Signalisierung\". + Individualisierung_Weitere -- Beschreibung der + weitergehenden Individualisierung, die nicht formal in den Parametern der Datenpunkttabelle 1 (Attributgruppe ESG_Individuelle_Merkmale) abgebildet werden kann. DB-Regelwerk Ril 819.1348, 4 (36) - Erl + ä + uterungen zur Bemerkungsspalte + Laenge_Gestufte_V_Signalisierung -- Abstand vom Datenpunkt bis zum alleinstehenden Zs 3. Die explizite Angabe erfolgt, sofern keine topologische Ermittlung m + ö + glich ist. DB-Regelwerk ESG-Datenpunkttabelle 1, Spalte 24. + NID_TSR -- Nummer der Langsamfahrstelle (La). Bei Geschwindigkeitssignalisierung mittels Zs 3 erfolgt der Eintrag \"0\". DB-Regelwerk ESG-Datenpunkttabelle 1, Spalte 21. + Projektierungsfall -- Projektierungsfall gem + ä + ß + Ril 819.1348, 7.2 + Telegrammnummer -- Nummer des Fachtelegramms als Referenz f + ü + r das Linking. + Ueberwachung_Laenge -- L + ä + nge des Vorsignal + ü + berwachungsabschnitts, auf den sich das Fachtelegramm bezieht. + V_Start -- Startgeschwindigkeit am Datenpunkt (bzw. Bezugspunkt) in km/h. DB-Regelwerk ESG-Datenpunkttabelle 1, Spalte 19. + V_Ziel -- Ü + berwachte Geschwindigkeit (Zielgeschwindigkeit) in km/h. DB-Regelwerk ESG-Datenpunkttabelle 1, Spalte 20. + Vorsignalabstand -- Abstand vom Datenpunkt der Vorsignal + ü + berwachung zum ma + ß + gebenden Zielsignal. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Abstand_Bes_Langer_Einfahrweg=None, DP_Typ_V_La=None, ESG_Individuelle_Merkmale=None, ESG_Spezifische_Merkmale=None, ID_Massgebendes_Zielsignal=None, Individualisierung_Weitere=None, Laenge_Gestufte_V_Signalisierung=None, NID_TSR=None, Projektierungsfall=None, Telegrammnummer=None, Ueberwachung_Laenge=None, V_Start=None, V_Ziel=None, Vorsignalabstand=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Abstand_Bes_Langer_Einfahrweg = Abstand_Bes_Langer_Einfahrweg + self.Abstand_Bes_Langer_Einfahrweg_nsprefix_ = None + self.DP_Typ_V_La = DP_Typ_V_La + self.DP_Typ_V_La_nsprefix_ = None + if ESG_Individuelle_Merkmale is None: + self.ESG_Individuelle_Merkmale = [] + else: + self.ESG_Individuelle_Merkmale = ESG_Individuelle_Merkmale + self.ESG_Individuelle_Merkmale_nsprefix_ = None + if ESG_Spezifische_Merkmale is None: + self.ESG_Spezifische_Merkmale = [] + else: + self.ESG_Spezifische_Merkmale = ESG_Spezifische_Merkmale + self.ESG_Spezifische_Merkmale_nsprefix_ = None + self.ID_Massgebendes_Zielsignal = ID_Massgebendes_Zielsignal + self.ID_Massgebendes_Zielsignal_nsprefix_ = None + self.Individualisierung_Weitere = Individualisierung_Weitere + self.Individualisierung_Weitere_nsprefix_ = None + self.Laenge_Gestufte_V_Signalisierung = Laenge_Gestufte_V_Signalisierung + self.Laenge_Gestufte_V_Signalisierung_nsprefix_ = None + self.NID_TSR = NID_TSR + self.NID_TSR_nsprefix_ = None + self.Projektierungsfall = Projektierungsfall + self.Projektierungsfall_nsprefix_ = None + self.Telegrammnummer = Telegrammnummer + self.Telegrammnummer_nsprefix_ = None + self.Ueberwachung_Laenge = Ueberwachung_Laenge + self.Ueberwachung_Laenge_nsprefix_ = None + self.V_Start = V_Start + self.V_Start_nsprefix_ = None + self.V_Ziel = V_Ziel + self.V_Ziel_nsprefix_ = None + self.Vorsignalabstand = Vorsignalabstand + self.Vorsignalabstand_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CFT_ESG_Merkmale) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CFT_ESG_Merkmale.subclass: + return CFT_ESG_Merkmale.subclass(*args_, **kwargs_) + else: + return CFT_ESG_Merkmale(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Abstand_Bes_Langer_Einfahrweg(self): + return self.Abstand_Bes_Langer_Einfahrweg + def set_Abstand_Bes_Langer_Einfahrweg(self, Abstand_Bes_Langer_Einfahrweg): + self.Abstand_Bes_Langer_Einfahrweg = Abstand_Bes_Langer_Einfahrweg + def get_DP_Typ_V_La(self): + return self.DP_Typ_V_La + def set_DP_Typ_V_La(self, DP_Typ_V_La): + self.DP_Typ_V_La = DP_Typ_V_La + def get_ESG_Individuelle_Merkmale(self): + return self.ESG_Individuelle_Merkmale + def set_ESG_Individuelle_Merkmale(self, ESG_Individuelle_Merkmale): + self.ESG_Individuelle_Merkmale = ESG_Individuelle_Merkmale + def add_ESG_Individuelle_Merkmale(self, value): + self.ESG_Individuelle_Merkmale.append(value) + def insert_ESG_Individuelle_Merkmale_at(self, index, value): + self.ESG_Individuelle_Merkmale.insert(index, value) + def replace_ESG_Individuelle_Merkmale_at(self, index, value): + self.ESG_Individuelle_Merkmale[index] = value + def get_ESG_Spezifische_Merkmale(self): + return self.ESG_Spezifische_Merkmale + def set_ESG_Spezifische_Merkmale(self, ESG_Spezifische_Merkmale): + self.ESG_Spezifische_Merkmale = ESG_Spezifische_Merkmale + def add_ESG_Spezifische_Merkmale(self, value): + self.ESG_Spezifische_Merkmale.append(value) + def insert_ESG_Spezifische_Merkmale_at(self, index, value): + self.ESG_Spezifische_Merkmale.insert(index, value) + def replace_ESG_Spezifische_Merkmale_at(self, index, value): + self.ESG_Spezifische_Merkmale[index] = value + def get_ID_Massgebendes_Zielsignal(self): + return self.ID_Massgebendes_Zielsignal + def set_ID_Massgebendes_Zielsignal(self, ID_Massgebendes_Zielsignal): + self.ID_Massgebendes_Zielsignal = ID_Massgebendes_Zielsignal + def get_Individualisierung_Weitere(self): + return self.Individualisierung_Weitere + def set_Individualisierung_Weitere(self, Individualisierung_Weitere): + self.Individualisierung_Weitere = Individualisierung_Weitere + def get_Laenge_Gestufte_V_Signalisierung(self): + return self.Laenge_Gestufte_V_Signalisierung + def set_Laenge_Gestufte_V_Signalisierung(self, Laenge_Gestufte_V_Signalisierung): + self.Laenge_Gestufte_V_Signalisierung = Laenge_Gestufte_V_Signalisierung + def get_NID_TSR(self): + return self.NID_TSR + def set_NID_TSR(self, NID_TSR): + self.NID_TSR = NID_TSR + def get_Projektierungsfall(self): + return self.Projektierungsfall + def set_Projektierungsfall(self, Projektierungsfall): + self.Projektierungsfall = Projektierungsfall + def get_Telegrammnummer(self): + return self.Telegrammnummer + def set_Telegrammnummer(self, Telegrammnummer): + self.Telegrammnummer = Telegrammnummer + def get_Ueberwachung_Laenge(self): + return self.Ueberwachung_Laenge + def set_Ueberwachung_Laenge(self, Ueberwachung_Laenge): + self.Ueberwachung_Laenge = Ueberwachung_Laenge + def get_V_Start(self): + return self.V_Start + def set_V_Start(self, V_Start): + self.V_Start = V_Start + def get_V_Ziel(self): + return self.V_Ziel + def set_V_Ziel(self, V_Ziel): + self.V_Ziel = V_Ziel + def get_Vorsignalabstand(self): + return self.Vorsignalabstand + def set_Vorsignalabstand(self, Vorsignalabstand): + self.Vorsignalabstand = Vorsignalabstand + def has__content(self): + if ( + self.Abstand_Bes_Langer_Einfahrweg is not None or + self.DP_Typ_V_La is not None or + self.ESG_Individuelle_Merkmale or + self.ESG_Spezifische_Merkmale or + self.ID_Massgebendes_Zielsignal is not None or + self.Individualisierung_Weitere is not None or + self.Laenge_Gestufte_V_Signalisierung is not None or + self.NID_TSR is not None or + self.Projektierungsfall is not None or + self.Telegrammnummer is not None or + self.Ueberwachung_Laenge is not None or + self.V_Start is not None or + self.V_Ziel is not None or + self.Vorsignalabstand is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CFT_ESG_Merkmale', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CFT_ESG_Merkmale') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CFT_ESG_Merkmale': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CFT_ESG_Merkmale') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CFT_ESG_Merkmale', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='CFT_ESG_Merkmale'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CFT_ESG_Merkmale', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Abstand_Bes_Langer_Einfahrweg is not None: + namespaceprefix_ = self.Abstand_Bes_Langer_Einfahrweg_nsprefix_ + ':' if (UseCapturedNS_ and self.Abstand_Bes_Langer_Einfahrweg_nsprefix_) else '' + self.Abstand_Bes_Langer_Einfahrweg.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Abstand_Bes_Langer_Einfahrweg', pretty_print=pretty_print) + if self.DP_Typ_V_La is not None: + namespaceprefix_ = self.DP_Typ_V_La_nsprefix_ + ':' if (UseCapturedNS_ and self.DP_Typ_V_La_nsprefix_) else '' + self.DP_Typ_V_La.export(outfile, level, namespaceprefix_, namespacedef_='', name_='DP_Typ_V_La', pretty_print=pretty_print) + for ESG_Individuelle_Merkmale_ in self.ESG_Individuelle_Merkmale: + namespaceprefix_ = self.ESG_Individuelle_Merkmale_nsprefix_ + ':' if (UseCapturedNS_ and self.ESG_Individuelle_Merkmale_nsprefix_) else '' + ESG_Individuelle_Merkmale_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ESG_Individuelle_Merkmale', pretty_print=pretty_print) + for ESG_Spezifische_Merkmale_ in self.ESG_Spezifische_Merkmale: + namespaceprefix_ = self.ESG_Spezifische_Merkmale_nsprefix_ + ':' if (UseCapturedNS_ and self.ESG_Spezifische_Merkmale_nsprefix_) else '' + ESG_Spezifische_Merkmale_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ESG_Spezifische_Merkmale', pretty_print=pretty_print) + if self.ID_Massgebendes_Zielsignal is not None: + namespaceprefix_ = self.ID_Massgebendes_Zielsignal_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Massgebendes_Zielsignal_nsprefix_) else '' + self.ID_Massgebendes_Zielsignal.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Massgebendes_Zielsignal', pretty_print=pretty_print) + if self.Individualisierung_Weitere is not None: + namespaceprefix_ = self.Individualisierung_Weitere_nsprefix_ + ':' if (UseCapturedNS_ and self.Individualisierung_Weitere_nsprefix_) else '' + self.Individualisierung_Weitere.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Individualisierung_Weitere', pretty_print=pretty_print) + if self.Laenge_Gestufte_V_Signalisierung is not None: + namespaceprefix_ = self.Laenge_Gestufte_V_Signalisierung_nsprefix_ + ':' if (UseCapturedNS_ and self.Laenge_Gestufte_V_Signalisierung_nsprefix_) else '' + self.Laenge_Gestufte_V_Signalisierung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Laenge_Gestufte_V_Signalisierung', pretty_print=pretty_print) + if self.NID_TSR is not None: + namespaceprefix_ = self.NID_TSR_nsprefix_ + ':' if (UseCapturedNS_ and self.NID_TSR_nsprefix_) else '' + self.NID_TSR.export(outfile, level, namespaceprefix_, namespacedef_='', name_='NID_TSR', pretty_print=pretty_print) + if self.Projektierungsfall is not None: + namespaceprefix_ = self.Projektierungsfall_nsprefix_ + ':' if (UseCapturedNS_ and self.Projektierungsfall_nsprefix_) else '' + self.Projektierungsfall.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Projektierungsfall', pretty_print=pretty_print) + if self.Telegrammnummer is not None: + namespaceprefix_ = self.Telegrammnummer_nsprefix_ + ':' if (UseCapturedNS_ and self.Telegrammnummer_nsprefix_) else '' + self.Telegrammnummer.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Telegrammnummer', pretty_print=pretty_print) + if self.Ueberwachung_Laenge is not None: + namespaceprefix_ = self.Ueberwachung_Laenge_nsprefix_ + ':' if (UseCapturedNS_ and self.Ueberwachung_Laenge_nsprefix_) else '' + self.Ueberwachung_Laenge.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Ueberwachung_Laenge', pretty_print=pretty_print) + if self.V_Start is not None: + namespaceprefix_ = self.V_Start_nsprefix_ + ':' if (UseCapturedNS_ and self.V_Start_nsprefix_) else '' + self.V_Start.export(outfile, level, namespaceprefix_, namespacedef_='', name_='V_Start', pretty_print=pretty_print) + if self.V_Ziel is not None: + namespaceprefix_ = self.V_Ziel_nsprefix_ + ':' if (UseCapturedNS_ and self.V_Ziel_nsprefix_) else '' + self.V_Ziel.export(outfile, level, namespaceprefix_, namespacedef_='', name_='V_Ziel', pretty_print=pretty_print) + if self.Vorsignalabstand is not None: + namespaceprefix_ = self.Vorsignalabstand_nsprefix_ + ':' if (UseCapturedNS_ and self.Vorsignalabstand_nsprefix_) else '' + self.Vorsignalabstand.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Vorsignalabstand', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Abstand_Bes_Langer_Einfahrweg': + obj_ = TCAbstand_Bes_Langer_Einfahrweg.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Abstand_Bes_Langer_Einfahrweg = obj_ + obj_.original_tagname_ = 'Abstand_Bes_Langer_Einfahrweg' + elif nodeName_ == 'DP_Typ_V_La': + obj_ = TCDP_Typ_V_La.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.DP_Typ_V_La = obj_ + obj_.original_tagname_ = 'DP_Typ_V_La' + elif nodeName_ == 'ESG_Individuelle_Merkmale': + obj_ = CESG_Individuelle_Merkmale.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ESG_Individuelle_Merkmale.append(obj_) + obj_.original_tagname_ = 'ESG_Individuelle_Merkmale' + elif nodeName_ == 'ESG_Spezifische_Merkmale': + obj_ = CESG_Spezifische_Merkmale.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ESG_Spezifische_Merkmale.append(obj_) + obj_.original_tagname_ = 'ESG_Spezifische_Merkmale' + elif nodeName_ == 'ID_Massgebendes_Zielsignal': + obj_ = TCID_Signal_ohne_Proxy.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Massgebendes_Zielsignal = obj_ + obj_.original_tagname_ = 'ID_Massgebendes_Zielsignal' + elif nodeName_ == 'Individualisierung_Weitere': + obj_ = TCIndividualisierung_Weitere.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Individualisierung_Weitere = obj_ + obj_.original_tagname_ = 'Individualisierung_Weitere' + elif nodeName_ == 'Laenge_Gestufte_V_Signalisierung': + obj_ = TCLaenge_Gestufte_V_Signalisierung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Laenge_Gestufte_V_Signalisierung = obj_ + obj_.original_tagname_ = 'Laenge_Gestufte_V_Signalisierung' + elif nodeName_ == 'NID_TSR': + obj_ = TCNID_TSR.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.NID_TSR = obj_ + obj_.original_tagname_ = 'NID_TSR' + elif nodeName_ == 'Projektierungsfall': + obj_ = TCProjektierungsfall.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Projektierungsfall = obj_ + obj_.original_tagname_ = 'Projektierungsfall' + elif nodeName_ == 'Telegrammnummer': + obj_ = TCTelegrammnummer.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Telegrammnummer = obj_ + obj_.original_tagname_ = 'Telegrammnummer' + elif nodeName_ == 'Ueberwachung_Laenge': + obj_ = TCUeberwachung_Laenge.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Ueberwachung_Laenge = obj_ + obj_.original_tagname_ = 'Ueberwachung_Laenge' + elif nodeName_ == 'V_Start': + obj_ = TCV_Start.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.V_Start = obj_ + obj_.original_tagname_ = 'V_Start' + elif nodeName_ == 'V_Ziel': + obj_ = TCV_Ziel.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.V_Ziel = obj_ + obj_.original_tagname_ = 'V_Ziel' + elif nodeName_ == 'Vorsignalabstand': + obj_ = TCVorsignalabstand.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Vorsignalabstand = obj_ + obj_.original_tagname_ = 'Vorsignalabstand' +# end class CFT_ESG_Merkmale + + +class TCAnzahl_Voll_LEU_Kalkuliert(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCAnzahl_Voll_LEU_Kalkuliert"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TAnzahl_Voll_LEU_Kalkuliert(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCAnzahl_Voll_LEU_Kalkuliert) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCAnzahl_Voll_LEU_Kalkuliert.subclass: + return TCAnzahl_Voll_LEU_Kalkuliert.subclass(*args_, **kwargs_) + else: + return TCAnzahl_Voll_LEU_Kalkuliert(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TAnzahl_Voll_LEU_Kalkuliert(self, value): + result = True + # Validate type TAnzahl_Voll_LEU_Kalkuliert, a restriction on xs:integer. + 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 + pass + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCAnzahl_Voll_LEU_Kalkuliert, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCAnzahl_Voll_LEU_Kalkuliert', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCAnzahl_Voll_LEU_Kalkuliert') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCAnzahl_Voll_LEU_Kalkuliert': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCAnzahl_Voll_LEU_Kalkuliert') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCAnzahl_Voll_LEU_Kalkuliert', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCAnzahl_Voll_LEU_Kalkuliert'): + super(TCAnzahl_Voll_LEU_Kalkuliert, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCAnzahl_Voll_LEU_Kalkuliert') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCAnzahl_Voll_LEU_Kalkuliert', fromsubclass_=False, pretty_print=True): + super(TCAnzahl_Voll_LEU_Kalkuliert, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_integer(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCAnzahl_Voll_LEU_Kalkuliert, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + ival_ = self.gds_parse_integer(sval_, node, 'Wert') + ival_ = self.gds_validate_integer(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + # validate type TAnzahl_Voll_LEU_Kalkuliert + self.validate_TAnzahl_Voll_LEU_Kalkuliert(self.Wert) + super(TCAnzahl_Voll_LEU_Kalkuliert, self)._buildChildren(child_, node, nodeName_, True) +# end class TCAnzahl_Voll_LEU_Kalkuliert + + +class TCMassgebende_Neigung_Mind_Sig_150(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCMassgebende_Neigung_Mind_Sig_150"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TMassgebende_Neigung_Mind_Sig_150(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCMassgebende_Neigung_Mind_Sig_150) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCMassgebende_Neigung_Mind_Sig_150.subclass: + return TCMassgebende_Neigung_Mind_Sig_150.subclass(*args_, **kwargs_) + else: + return TCMassgebende_Neigung_Mind_Sig_150(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TMassgebende_Neigung_Mind_Sig_150(self, value): + result = True + # Validate type TMassgebende_Neigung_Mind_Sig_150, 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 + pass + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCMassgebende_Neigung_Mind_Sig_150, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCMassgebende_Neigung_Mind_Sig_150', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCMassgebende_Neigung_Mind_Sig_150') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCMassgebende_Neigung_Mind_Sig_150': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCMassgebende_Neigung_Mind_Sig_150') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCMassgebende_Neigung_Mind_Sig_150', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCMassgebende_Neigung_Mind_Sig_150'): + super(TCMassgebende_Neigung_Mind_Sig_150, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCMassgebende_Neigung_Mind_Sig_150') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCMassgebende_Neigung_Mind_Sig_150', fromsubclass_=False, pretty_print=True): + super(TCMassgebende_Neigung_Mind_Sig_150, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_decimal(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCMassgebende_Neigung_Mind_Sig_150, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + fval_ = self.gds_parse_decimal(sval_, node, 'Wert') + fval_ = self.gds_validate_decimal(fval_, node, 'Wert') + self.Wert = fval_ + self.Wert_nsprefix_ = child_.prefix + # validate type TMassgebende_Neigung_Mind_Sig_150 + self.validate_TMassgebende_Neigung_Mind_Sig_150(self.Wert) + super(TCMassgebende_Neigung_Mind_Sig_150, self)._buildChildren(child_, node, nodeName_, True) +# end class TCMassgebende_Neigung_Mind_Sig_150 + + +class TCTBV_Tunnelsignal(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCTBV_Tunnelsignal"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCTBV_Tunnelsignal) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCTBV_Tunnelsignal.subclass: + return TCTBV_Tunnelsignal.subclass(*args_, **kwargs_) + else: + return TCTBV_Tunnelsignal(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def has__content(self): + if ( + self.Wert is not None or + super(TCTBV_Tunnelsignal, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCTBV_Tunnelsignal', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCTBV_Tunnelsignal') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCTBV_Tunnelsignal': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCTBV_Tunnelsignal') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCTBV_Tunnelsignal', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCTBV_Tunnelsignal'): + super(TCTBV_Tunnelsignal, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCTBV_Tunnelsignal') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCTBV_Tunnelsignal', fromsubclass_=False, pretty_print=True): + super(TCTBV_Tunnelsignal, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_boolean(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCTBV_Tunnelsignal, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + sval_ = child_.text + ival_ = self.gds_parse_boolean(sval_, node, 'Wert') + ival_ = self.gds_validate_boolean(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + super(TCTBV_Tunnelsignal, self)._buildChildren(child_, node, nodeName_, True) +# end class TCTBV_Tunnelsignal + + +class TCL_ACKLEVELTR(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCL_ACKLEVELTR"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TL_ACKLEVELTR(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCL_ACKLEVELTR) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCL_ACKLEVELTR.subclass: + return TCL_ACKLEVELTR.subclass(*args_, **kwargs_) + else: + return TCL_ACKLEVELTR(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TL_ACKLEVELTR(self, value): + result = True + # Validate type TL_ACKLEVELTR, a restriction on nsBasisTypen:TMeter. + 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 + pass + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCL_ACKLEVELTR, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCL_ACKLEVELTR', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCL_ACKLEVELTR') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCL_ACKLEVELTR': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCL_ACKLEVELTR') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCL_ACKLEVELTR', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCL_ACKLEVELTR'): + super(TCL_ACKLEVELTR, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCL_ACKLEVELTR') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCL_ACKLEVELTR', fromsubclass_=False, pretty_print=True): + super(TCL_ACKLEVELTR, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_decimal(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCL_ACKLEVELTR, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + fval_ = self.gds_parse_decimal(sval_, node, 'Wert') + fval_ = self.gds_validate_decimal(fval_, node, 'Wert') + self.Wert = fval_ + self.Wert_nsprefix_ = child_.prefix + # validate type TL_ACKLEVELTR + self.validate_TL_ACKLEVELTR(self.Wert) + super(TCL_ACKLEVELTR, self)._buildChildren(child_, node, nodeName_, True) +# end class TCL_ACKLEVELTR + + +class TCPrimaerquelle(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCPrimaerquelle"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCPrimaerquelle) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCPrimaerquelle.subclass: + return TCPrimaerquelle.subclass(*args_, **kwargs_) + else: + return TCPrimaerquelle(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def has__content(self): + if ( + self.Wert is not None or + super(TCPrimaerquelle, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCPrimaerquelle', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCPrimaerquelle') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCPrimaerquelle': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCPrimaerquelle') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCPrimaerquelle', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCPrimaerquelle'): + super(TCPrimaerquelle, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCPrimaerquelle') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCPrimaerquelle', fromsubclass_=False, pretty_print=True): + super(TCPrimaerquelle, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_boolean(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCPrimaerquelle, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + sval_ = child_.text + ival_ = self.gds_parse_boolean(sval_, node, 'Wert') + ival_ = self.gds_validate_boolean(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + super(TCPrimaerquelle, self)._buildChildren(child_, node, nodeName_, True) +# end class TCPrimaerquelle + + +class TCLaenge_Soll_Mind_150(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCLaenge_Soll_Mind_150"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TLaenge_Soll_Mind_150(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCLaenge_Soll_Mind_150) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCLaenge_Soll_Mind_150.subclass: + return TCLaenge_Soll_Mind_150.subclass(*args_, **kwargs_) + else: + return TCLaenge_Soll_Mind_150(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TLaenge_Soll_Mind_150(self, value): + result = True + # Validate type TLaenge_Soll_Mind_150, a restriction on nsBasisTypen:TMeter. + 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 + pass + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCLaenge_Soll_Mind_150, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCLaenge_Soll_Mind_150', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCLaenge_Soll_Mind_150') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCLaenge_Soll_Mind_150': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCLaenge_Soll_Mind_150') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCLaenge_Soll_Mind_150', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCLaenge_Soll_Mind_150'): + super(TCLaenge_Soll_Mind_150, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCLaenge_Soll_Mind_150') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCLaenge_Soll_Mind_150', fromsubclass_=False, pretty_print=True): + super(TCLaenge_Soll_Mind_150, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_decimal(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCLaenge_Soll_Mind_150, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + fval_ = self.gds_parse_decimal(sval_, node, 'Wert') + fval_ = self.gds_validate_decimal(fval_, node, 'Wert') + self.Wert = fval_ + self.Wert_nsprefix_ = child_.prefix + # validate type TLaenge_Soll_Mind_150 + self.validate_TLaenge_Soll_Mind_150(self.Wert) + super(TCLaenge_Soll_Mind_150, self)._buildChildren(child_, node, nodeName_, True) +# end class TCLaenge_Soll_Mind_150 + + +class TCMastschild(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCMastschild"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCMastschild) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCMastschild.subclass: + return TCMastschild.subclass(*args_, **kwargs_) + else: + return TCMastschild(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def has__content(self): + if ( + self.Wert is not None or + super(TCMastschild, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCMastschild', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCMastschild') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCMastschild': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCMastschild') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCMastschild', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCMastschild'): + super(TCMastschild, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCMastschild') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCMastschild', fromsubclass_=False, pretty_print=True): + super(TCMastschild, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_boolean(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCMastschild, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + sval_ = child_.text + ival_ = self.gds_parse_boolean(sval_, node, 'Wert') + ival_ = self.gds_validate_boolean(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + super(TCMastschild, self)._buildChildren(child_, node, nodeName_, True) +# end class TCMastschild + + +class TCVBC_NID_C(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCVBC_NID_C"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TVBC_NID_C(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCVBC_NID_C) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCVBC_NID_C.subclass: + return TCVBC_NID_C.subclass(*args_, **kwargs_) + else: + return TCVBC_NID_C(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TVBC_NID_C(self, value): + result = True + # Validate type TVBC_NID_C, a restriction on xs:integer. + 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 + pass + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCVBC_NID_C, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCVBC_NID_C', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCVBC_NID_C') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCVBC_NID_C': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCVBC_NID_C') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCVBC_NID_C', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCVBC_NID_C'): + super(TCVBC_NID_C, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCVBC_NID_C') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCVBC_NID_C', fromsubclass_=False, pretty_print=True): + super(TCVBC_NID_C, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_integer(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCVBC_NID_C, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + ival_ = self.gds_parse_integer(sval_, node, 'Wert') + ival_ = self.gds_validate_integer(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + # validate type TVBC_NID_C + self.validate_TVBC_NID_C(self.Wert) + super(TCVBC_NID_C, self)._buildChildren(child_, node, nodeName_, True) +# end class TCVBC_NID_C + + +class TCSchutzstrecke_Erforderlich(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCSchutzstrecke_Erforderlich"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TSchutzstrecke_Erforderlich(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCSchutzstrecke_Erforderlich) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCSchutzstrecke_Erforderlich.subclass: + return TCSchutzstrecke_Erforderlich.subclass(*args_, **kwargs_) + else: + return TCSchutzstrecke_Erforderlich(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TSchutzstrecke_Erforderlich(self, value): + result = True + # Validate type TSchutzstrecke_Erforderlich, a restriction on nsBasisTypen:TMeter. + 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 + pass + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCSchutzstrecke_Erforderlich, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCSchutzstrecke_Erforderlich', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCSchutzstrecke_Erforderlich') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCSchutzstrecke_Erforderlich': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCSchutzstrecke_Erforderlich') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCSchutzstrecke_Erforderlich', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCSchutzstrecke_Erforderlich'): + super(TCSchutzstrecke_Erforderlich, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCSchutzstrecke_Erforderlich') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCSchutzstrecke_Erforderlich', fromsubclass_=False, pretty_print=True): + super(TCSchutzstrecke_Erforderlich, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_decimal(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCSchutzstrecke_Erforderlich, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + fval_ = self.gds_parse_decimal(sval_, node, 'Wert') + fval_ = self.gds_validate_decimal(fval_, node, 'Wert') + self.Wert = fval_ + self.Wert_nsprefix_ = child_.prefix + # validate type TSchutzstrecke_Erforderlich + self.validate_TSchutzstrecke_Erforderlich(self.Wert) + super(TCSchutzstrecke_Erforderlich, self)._buildChildren(child_, node, nodeName_, True) +# end class TCSchutzstrecke_Erforderlich + + +class TCLeistungsbedarf(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCLeistungsbedarf"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TLeistungsbedarf(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCLeistungsbedarf) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCLeistungsbedarf.subclass: + return TCLeistungsbedarf.subclass(*args_, **kwargs_) + else: + return TCLeistungsbedarf(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TLeistungsbedarf(self, value): + result = True + # Validate type TLeistungsbedarf, a restriction on xs:integer. + 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 + pass + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCLeistungsbedarf, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCLeistungsbedarf', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCLeistungsbedarf') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCLeistungsbedarf': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCLeistungsbedarf') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCLeistungsbedarf', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCLeistungsbedarf'): + super(TCLeistungsbedarf, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCLeistungsbedarf') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCLeistungsbedarf', fromsubclass_=False, pretty_print=True): + super(TCLeistungsbedarf, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_integer(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCLeistungsbedarf, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + ival_ = self.gds_parse_integer(sval_, node, 'Wert') + ival_ = self.gds_validate_integer(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + # validate type TLeistungsbedarf + self.validate_TLeistungsbedarf(self.Wert) + super(TCLeistungsbedarf, self)._buildChildren(child_, node, nodeName_, True) +# end class TCLeistungsbedarf + + +class TCZBS_La_Bereich_Geschwindigkeit(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCZBS_La_Bereich_Geschwindigkeit"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TZBS_La_Bereich_Geschwindigkeit(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCZBS_La_Bereich_Geschwindigkeit) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCZBS_La_Bereich_Geschwindigkeit.subclass: + return TCZBS_La_Bereich_Geschwindigkeit.subclass(*args_, **kwargs_) + else: + return TCZBS_La_Bereich_Geschwindigkeit(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TZBS_La_Bereich_Geschwindigkeit(self, value): + result = True + # Validate type TZBS_La_Bereich_Geschwindigkeit, a restriction on nsBasisTypen:TGeschwindigkeit. + 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_TZBS_La_Bereich_Geschwindigkeit_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TZBS_La_Bereich_Geschwindigkeit_patterns_, )) + result = False + return result + validate_TZBS_La_Bereich_Geschwindigkeit_patterns_ = [['^(0|[1-9][0-9]{0,1}|[1-4][0-9]{2}|500)$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCZBS_La_Bereich_Geschwindigkeit, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCZBS_La_Bereich_Geschwindigkeit', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCZBS_La_Bereich_Geschwindigkeit') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCZBS_La_Bereich_Geschwindigkeit': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCZBS_La_Bereich_Geschwindigkeit') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCZBS_La_Bereich_Geschwindigkeit', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCZBS_La_Bereich_Geschwindigkeit'): + super(TCZBS_La_Bereich_Geschwindigkeit, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCZBS_La_Bereich_Geschwindigkeit') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCZBS_La_Bereich_Geschwindigkeit', fromsubclass_=False, pretty_print=True): + super(TCZBS_La_Bereich_Geschwindigkeit, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_integer(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCZBS_La_Bereich_Geschwindigkeit, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + ival_ = self.gds_parse_integer(sval_, node, 'Wert') + ival_ = self.gds_validate_integer(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + # validate type TZBS_La_Bereich_Geschwindigkeit + self.validate_TZBS_La_Bereich_Geschwindigkeit(self.Wert) + super(TCZBS_La_Bereich_Geschwindigkeit, self)._buildChildren(child_, node, nodeName_, True) +# end class TCZBS_La_Bereich_Geschwindigkeit + + +class TCAusstieg_ETCS_Sperre(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCAusstieg_ETCS_Sperre"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMAusstieg_ETCS_Sperre(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCAusstieg_ETCS_Sperre) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCAusstieg_ETCS_Sperre.subclass: + return TCAusstieg_ETCS_Sperre.subclass(*args_, **kwargs_) + else: + return TCAusstieg_ETCS_Sperre(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMAusstieg_ETCS_Sperre(self, value): + result = True + # Validate type ENUMAusstieg_ETCS_Sperre, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['ja', 'nein', 'regulaer'] + 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 ENUMAusstieg_ETCS_Sperre' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCAusstieg_ETCS_Sperre, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCAusstieg_ETCS_Sperre', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCAusstieg_ETCS_Sperre') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCAusstieg_ETCS_Sperre': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCAusstieg_ETCS_Sperre') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCAusstieg_ETCS_Sperre', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCAusstieg_ETCS_Sperre'): + super(TCAusstieg_ETCS_Sperre, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCAusstieg_ETCS_Sperre') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCAusstieg_ETCS_Sperre', fromsubclass_=False, pretty_print=True): + super(TCAusstieg_ETCS_Sperre, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCAusstieg_ETCS_Sperre, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMAusstieg_ETCS_Sperre + self.validate_ENUMAusstieg_ETCS_Sperre(self.Wert) + super(TCAusstieg_ETCS_Sperre, self)._buildChildren(child_, node, nodeName_, True) +# end class TCAusstieg_ETCS_Sperre + + +class TCUmfahrstrasse(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCUmfahrstrasse"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCUmfahrstrasse) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCUmfahrstrasse.subclass: + return TCUmfahrstrasse.subclass(*args_, **kwargs_) + else: + return TCUmfahrstrasse(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def has__content(self): + if ( + self.Wert is not None or + super(TCUmfahrstrasse, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCUmfahrstrasse', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCUmfahrstrasse') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCUmfahrstrasse': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCUmfahrstrasse') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCUmfahrstrasse', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCUmfahrstrasse'): + super(TCUmfahrstrasse, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCUmfahrstrasse') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCUmfahrstrasse', fromsubclass_=False, pretty_print=True): + super(TCUmfahrstrasse, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_boolean(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCUmfahrstrasse, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + sval_ = child_.text + ival_ = self.gds_parse_boolean(sval_, node, 'Wert') + ival_ = self.gds_validate_boolean(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + super(TCUmfahrstrasse, self)._buildChildren(child_, node, nodeName_, True) +# end class TCUmfahrstrasse + + +class CZUB_Bereichsgrenze_Nach_L2(GeneratedsSuper): + """Abstand_Grenze_Bereich_C -- Abstand der Grenze des Bereichs (C) von der ZUB-Bereichsgrenze entgegengesetzt zu deren Wirkrichtung. Das Attribut bildet die maximale Zug + ä + nge ab (dmax_Zugl + ä + nge). Hinweis: Der beim Ausstieg ben + ö + tigte Bremswegabstand wird + ü + ber das Bereichsobjekt \"Strecke_Bremsweg\" ermittelt. + Baseline_System_Version -- Baseline der System-Version, z. B. B3R2. + Bgrenze_Nach_L2_Bed_Einstieg -- Angaben zur Entscheidungsweiche bei bedingtem Einstieg (entspricht einem bedingten Ausstieg aus dem vorherigen System). + Einstieg_Ohne_Rueckw_Sig -- Angabe, ob der Einstieg ohne r + ü + ckw + ä + rtiges Signal erfolgt (true). Der Einstieg erfolgt dabei vor dem ersten der ETCS-Zentrale bekanntem Signal. + ID_RBC_Nach_Grenze -- Bei L2: Verweis auf das nach der Bereichsgrenze zust + ä + ndige RBC. + ID_Signal_Zufahrtsicherung_L2oS -- Verweis auf die Signale, die die Zufahrt f + ü + r nicht-ETCS-gef + ü + hrte Z + ü + ge verhindern. Die Angabe ist nur bei L2oS sinnvoll. + Prioritaet -- Bei mehreren Anwendungssystemen in Sonderf + ä + llen (z. B. ausl + ä + ndische Anwendungssysteme): Priorit + ä + t f + ü + r die Nutzung. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Abstand_Grenze_Bereich_C=None, Baseline_System_Version=None, Bgrenze_Nach_L2_Bed_Einstieg=None, Einstieg_Ohne_Rueckw_Sig=None, ID_RBC_Nach_Grenze=None, ID_Signal_Zufahrtsicherung_L2oS=None, Prioritaet=None, ZUB_Bereichsgrenze_Nach_L2_Von_ESG=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Abstand_Grenze_Bereich_C = Abstand_Grenze_Bereich_C + self.Abstand_Grenze_Bereich_C_nsprefix_ = None + self.Baseline_System_Version = Baseline_System_Version + self.Baseline_System_Version_nsprefix_ = None + if Bgrenze_Nach_L2_Bed_Einstieg is None: + self.Bgrenze_Nach_L2_Bed_Einstieg = [] + else: + self.Bgrenze_Nach_L2_Bed_Einstieg = Bgrenze_Nach_L2_Bed_Einstieg + self.Bgrenze_Nach_L2_Bed_Einstieg_nsprefix_ = None + self.Einstieg_Ohne_Rueckw_Sig = Einstieg_Ohne_Rueckw_Sig + self.Einstieg_Ohne_Rueckw_Sig_nsprefix_ = None + self.ID_RBC_Nach_Grenze = ID_RBC_Nach_Grenze + self.ID_RBC_Nach_Grenze_nsprefix_ = None + if ID_Signal_Zufahrtsicherung_L2oS is None: + self.ID_Signal_Zufahrtsicherung_L2oS = [] + else: + self.ID_Signal_Zufahrtsicherung_L2oS = ID_Signal_Zufahrtsicherung_L2oS + self.ID_Signal_Zufahrtsicherung_L2oS_nsprefix_ = None + self.Prioritaet = Prioritaet + self.Prioritaet_nsprefix_ = None + if ZUB_Bereichsgrenze_Nach_L2_Von_ESG is None: + self.ZUB_Bereichsgrenze_Nach_L2_Von_ESG = [] + else: + self.ZUB_Bereichsgrenze_Nach_L2_Von_ESG = ZUB_Bereichsgrenze_Nach_L2_Von_ESG + self.ZUB_Bereichsgrenze_Nach_L2_Von_ESG_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CZUB_Bereichsgrenze_Nach_L2) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CZUB_Bereichsgrenze_Nach_L2.subclass: + return CZUB_Bereichsgrenze_Nach_L2.subclass(*args_, **kwargs_) + else: + return CZUB_Bereichsgrenze_Nach_L2(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Abstand_Grenze_Bereich_C(self): + return self.Abstand_Grenze_Bereich_C + def set_Abstand_Grenze_Bereich_C(self, Abstand_Grenze_Bereich_C): + self.Abstand_Grenze_Bereich_C = Abstand_Grenze_Bereich_C + def get_Baseline_System_Version(self): + return self.Baseline_System_Version + def set_Baseline_System_Version(self, Baseline_System_Version): + self.Baseline_System_Version = Baseline_System_Version + def get_Bgrenze_Nach_L2_Bed_Einstieg(self): + return self.Bgrenze_Nach_L2_Bed_Einstieg + def set_Bgrenze_Nach_L2_Bed_Einstieg(self, Bgrenze_Nach_L2_Bed_Einstieg): + self.Bgrenze_Nach_L2_Bed_Einstieg = Bgrenze_Nach_L2_Bed_Einstieg + def add_Bgrenze_Nach_L2_Bed_Einstieg(self, value): + self.Bgrenze_Nach_L2_Bed_Einstieg.append(value) + def insert_Bgrenze_Nach_L2_Bed_Einstieg_at(self, index, value): + self.Bgrenze_Nach_L2_Bed_Einstieg.insert(index, value) + def replace_Bgrenze_Nach_L2_Bed_Einstieg_at(self, index, value): + self.Bgrenze_Nach_L2_Bed_Einstieg[index] = value + def get_Einstieg_Ohne_Rueckw_Sig(self): + return self.Einstieg_Ohne_Rueckw_Sig + def set_Einstieg_Ohne_Rueckw_Sig(self, Einstieg_Ohne_Rueckw_Sig): + self.Einstieg_Ohne_Rueckw_Sig = Einstieg_Ohne_Rueckw_Sig + def get_ID_RBC_Nach_Grenze(self): + return self.ID_RBC_Nach_Grenze + def set_ID_RBC_Nach_Grenze(self, ID_RBC_Nach_Grenze): + self.ID_RBC_Nach_Grenze = ID_RBC_Nach_Grenze + def get_ID_Signal_Zufahrtsicherung_L2oS(self): + return self.ID_Signal_Zufahrtsicherung_L2oS + def set_ID_Signal_Zufahrtsicherung_L2oS(self, ID_Signal_Zufahrtsicherung_L2oS): + self.ID_Signal_Zufahrtsicherung_L2oS = ID_Signal_Zufahrtsicherung_L2oS + def add_ID_Signal_Zufahrtsicherung_L2oS(self, value): + self.ID_Signal_Zufahrtsicherung_L2oS.append(value) + def insert_ID_Signal_Zufahrtsicherung_L2oS_at(self, index, value): + self.ID_Signal_Zufahrtsicherung_L2oS.insert(index, value) + def replace_ID_Signal_Zufahrtsicherung_L2oS_at(self, index, value): + self.ID_Signal_Zufahrtsicherung_L2oS[index] = value + def get_Prioritaet(self): + return self.Prioritaet + def set_Prioritaet(self, Prioritaet): + self.Prioritaet = Prioritaet + def get_ZUB_Bereichsgrenze_Nach_L2_Von_ESG(self): + return self.ZUB_Bereichsgrenze_Nach_L2_Von_ESG + def set_ZUB_Bereichsgrenze_Nach_L2_Von_ESG(self, ZUB_Bereichsgrenze_Nach_L2_Von_ESG): + self.ZUB_Bereichsgrenze_Nach_L2_Von_ESG = ZUB_Bereichsgrenze_Nach_L2_Von_ESG + def add_ZUB_Bereichsgrenze_Nach_L2_Von_ESG(self, value): + self.ZUB_Bereichsgrenze_Nach_L2_Von_ESG.append(value) + def insert_ZUB_Bereichsgrenze_Nach_L2_Von_ESG_at(self, index, value): + self.ZUB_Bereichsgrenze_Nach_L2_Von_ESG.insert(index, value) + def replace_ZUB_Bereichsgrenze_Nach_L2_Von_ESG_at(self, index, value): + self.ZUB_Bereichsgrenze_Nach_L2_Von_ESG[index] = value + def has__content(self): + if ( + self.Abstand_Grenze_Bereich_C is not None or + self.Baseline_System_Version is not None or + self.Bgrenze_Nach_L2_Bed_Einstieg or + self.Einstieg_Ohne_Rueckw_Sig is not None or + self.ID_RBC_Nach_Grenze is not None or + self.ID_Signal_Zufahrtsicherung_L2oS or + self.Prioritaet is not None or + self.ZUB_Bereichsgrenze_Nach_L2_Von_ESG + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CZUB_Bereichsgrenze_Nach_L2', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CZUB_Bereichsgrenze_Nach_L2') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CZUB_Bereichsgrenze_Nach_L2': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CZUB_Bereichsgrenze_Nach_L2') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CZUB_Bereichsgrenze_Nach_L2', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='CZUB_Bereichsgrenze_Nach_L2'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CZUB_Bereichsgrenze_Nach_L2', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Abstand_Grenze_Bereich_C is not None: + namespaceprefix_ = self.Abstand_Grenze_Bereich_C_nsprefix_ + ':' if (UseCapturedNS_ and self.Abstand_Grenze_Bereich_C_nsprefix_) else '' + self.Abstand_Grenze_Bereich_C.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Abstand_Grenze_Bereich_C', pretty_print=pretty_print) + if self.Baseline_System_Version is not None: + namespaceprefix_ = self.Baseline_System_Version_nsprefix_ + ':' if (UseCapturedNS_ and self.Baseline_System_Version_nsprefix_) else '' + self.Baseline_System_Version.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Baseline_System_Version', pretty_print=pretty_print) + for Bgrenze_Nach_L2_Bed_Einstieg_ in self.Bgrenze_Nach_L2_Bed_Einstieg: + namespaceprefix_ = self.Bgrenze_Nach_L2_Bed_Einstieg_nsprefix_ + ':' if (UseCapturedNS_ and self.Bgrenze_Nach_L2_Bed_Einstieg_nsprefix_) else '' + Bgrenze_Nach_L2_Bed_Einstieg_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Bgrenze_Nach_L2_Bed_Einstieg', pretty_print=pretty_print) + if self.Einstieg_Ohne_Rueckw_Sig is not None: + namespaceprefix_ = self.Einstieg_Ohne_Rueckw_Sig_nsprefix_ + ':' if (UseCapturedNS_ and self.Einstieg_Ohne_Rueckw_Sig_nsprefix_) else '' + self.Einstieg_Ohne_Rueckw_Sig.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Einstieg_Ohne_Rueckw_Sig', pretty_print=pretty_print) + if self.ID_RBC_Nach_Grenze is not None: + namespaceprefix_ = self.ID_RBC_Nach_Grenze_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_RBC_Nach_Grenze_nsprefix_) else '' + self.ID_RBC_Nach_Grenze.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_RBC_Nach_Grenze', pretty_print=pretty_print) + for ID_Signal_Zufahrtsicherung_L2oS_ in self.ID_Signal_Zufahrtsicherung_L2oS: + namespaceprefix_ = self.ID_Signal_Zufahrtsicherung_L2oS_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Signal_Zufahrtsicherung_L2oS_nsprefix_) else '' + ID_Signal_Zufahrtsicherung_L2oS_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Signal_Zufahrtsicherung_L2oS', pretty_print=pretty_print) + if self.Prioritaet is not None: + namespaceprefix_ = self.Prioritaet_nsprefix_ + ':' if (UseCapturedNS_ and self.Prioritaet_nsprefix_) else '' + self.Prioritaet.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Prioritaet', pretty_print=pretty_print) + for ZUB_Bereichsgrenze_Nach_L2_Von_ESG_ in self.ZUB_Bereichsgrenze_Nach_L2_Von_ESG: + namespaceprefix_ = self.ZUB_Bereichsgrenze_Nach_L2_Von_ESG_nsprefix_ + ':' if (UseCapturedNS_ and self.ZUB_Bereichsgrenze_Nach_L2_Von_ESG_nsprefix_) else '' + ZUB_Bereichsgrenze_Nach_L2_Von_ESG_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ZUB_Bereichsgrenze_Nach_L2_Von_ESG', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Abstand_Grenze_Bereich_C': + obj_ = TCAbstand_Grenze_Bereich_C.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Abstand_Grenze_Bereich_C = obj_ + obj_.original_tagname_ = 'Abstand_Grenze_Bereich_C' + elif nodeName_ == 'Baseline_System_Version': + obj_ = TCBaseline_System_Version.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Baseline_System_Version = obj_ + obj_.original_tagname_ = 'Baseline_System_Version' + elif nodeName_ == 'Bgrenze_Nach_L2_Bed_Einstieg': + obj_ = CBgrenze_Nach_L2_Bed_Einstieg.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Bgrenze_Nach_L2_Bed_Einstieg.append(obj_) + obj_.original_tagname_ = 'Bgrenze_Nach_L2_Bed_Einstieg' + elif nodeName_ == 'Einstieg_Ohne_Rueckw_Sig': + obj_ = TCEinstieg_Ohne_Rueckw_Sig.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Einstieg_Ohne_Rueckw_Sig = obj_ + obj_.original_tagname_ = 'Einstieg_Ohne_Rueckw_Sig' + elif nodeName_ == 'ID_RBC_Nach_Grenze': + obj_ = TCID_RBC.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_RBC_Nach_Grenze = obj_ + obj_.original_tagname_ = 'ID_RBC_Nach_Grenze' + elif nodeName_ == 'ID_Signal_Zufahrtsicherung_L2oS': + obj_ = TCID_Signal.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Signal_Zufahrtsicherung_L2oS.append(obj_) + obj_.original_tagname_ = 'ID_Signal_Zufahrtsicherung_L2oS' + elif nodeName_ == 'Prioritaet': + obj_ = TCPrioritaet.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Prioritaet = obj_ + obj_.original_tagname_ = 'Prioritaet' + elif nodeName_ == 'ZUB_Bereichsgrenze_Nach_L2_Von_ESG': + obj_ = CZUB_Bereichsgrenze_Nach_L2_Von_ESG.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ZUB_Bereichsgrenze_Nach_L2_Von_ESG.append(obj_) + obj_.original_tagname_ = 'ZUB_Bereichsgrenze_Nach_L2_Von_ESG' +# end class CZUB_Bereichsgrenze_Nach_L2 + + +class TCTBV_Meldepunkt(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCTBV_Meldepunkt"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCTBV_Meldepunkt) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCTBV_Meldepunkt.subclass: + return TCTBV_Meldepunkt.subclass(*args_, **kwargs_) + else: + return TCTBV_Meldepunkt(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def has__content(self): + if ( + self.Wert is not None or + super(TCTBV_Meldepunkt, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCTBV_Meldepunkt', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCTBV_Meldepunkt') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCTBV_Meldepunkt': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCTBV_Meldepunkt') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCTBV_Meldepunkt', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCTBV_Meldepunkt'): + super(TCTBV_Meldepunkt, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCTBV_Meldepunkt') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCTBV_Meldepunkt', fromsubclass_=False, pretty_print=True): + super(TCTBV_Meldepunkt, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_boolean(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCTBV_Meldepunkt, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + sval_ = child_.text + ival_ = self.gds_parse_boolean(sval_, node, 'Wert') + ival_ = self.gds_validate_boolean(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + super(TCTBV_Meldepunkt, self)._buildChildren(child_, node, nodeName_, True) +# end class TCTBV_Meldepunkt + + +class TCEV_Modul_Art(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCEV_Modul_Art"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMEV_Modul_Art(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCEV_Modul_Art) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCEV_Modul_Art.subclass: + return TCEV_Modul_Art.subclass(*args_, **kwargs_) + else: + return TCEV_Modul_Art(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMEV_Modul_Art(self, value): + result = True + # Validate type ENUMEV_Modul_Art, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['autonom', 'autonom klein', 'netzgebunden', 'PoP-V', 'sonstige'] + 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 ENUMEV_Modul_Art' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCEV_Modul_Art, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCEV_Modul_Art', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCEV_Modul_Art') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCEV_Modul_Art': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCEV_Modul_Art') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCEV_Modul_Art', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCEV_Modul_Art'): + super(TCEV_Modul_Art, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCEV_Modul_Art') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCEV_Modul_Art', fromsubclass_=False, pretty_print=True): + super(TCEV_Modul_Art, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCEV_Modul_Art, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMEV_Modul_Art + self.validate_ENUMEV_Modul_Art(self.Wert) + super(TCEV_Modul_Art, self)._buildChildren(child_, node, nodeName_, True) +# end class TCEV_Modul_Art + + +class CETCS_Richtungsanzeige(CBasis_Objekt): + """CETCS_Richtungsanzeige -- Abbildung der Vorgaben zur Richtungsanzeige bei ETCS L2. DB-Regelwerk Ril 819.1344, 4.3.3 (74) + ID_Fstr_Fahrweg -- Verweis auf den Fahrweg, f + ü + r den die Richtungsanzeige erfolgen soll. + ID_Oertlichkeit_In_Richtung -- Verweis auf die n + ä + chste Zugmeldestelle, die bei Nutzung des angegebenen Fahrwegs zu erreichen ist. DB-Regelwerk Ril 819.1344, 4.3.3 (74) + Textmeldung -- Textmeldung, die dem Tf angezeigt wird. Der Inhalt muss in der BAST enthalten sein oder vom Auftraggeber bereitgestellt werden. DB-Regelwerk Ril 819.1344, 4.3.3 (74) + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasis_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, ID_Fstr_Fahrweg=None, ID_Oertlichkeit_In_Richtung=None, Textmeldung=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CETCS_Richtungsanzeige"), self).__init__(Identitaet, Basis_Objekt_Allg, ID_Bearbeitungsvermerk, ID_Oertlichkeit_Ausgabe, Objektreferenzen, **kwargs_) + self.ID_Fstr_Fahrweg = ID_Fstr_Fahrweg + self.ID_Fstr_Fahrweg_nsprefix_ = None + self.ID_Oertlichkeit_In_Richtung = ID_Oertlichkeit_In_Richtung + self.ID_Oertlichkeit_In_Richtung_nsprefix_ = None + self.Textmeldung = Textmeldung + self.Textmeldung_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CETCS_Richtungsanzeige) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CETCS_Richtungsanzeige.subclass: + return CETCS_Richtungsanzeige.subclass(*args_, **kwargs_) + else: + return CETCS_Richtungsanzeige(*args_, **kwargs_) + factory = staticmethod(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_Fstr_Fahrweg(self): + return self.ID_Fstr_Fahrweg + def set_ID_Fstr_Fahrweg(self, ID_Fstr_Fahrweg): + self.ID_Fstr_Fahrweg = ID_Fstr_Fahrweg + def get_ID_Oertlichkeit_In_Richtung(self): + return self.ID_Oertlichkeit_In_Richtung + def set_ID_Oertlichkeit_In_Richtung(self, ID_Oertlichkeit_In_Richtung): + self.ID_Oertlichkeit_In_Richtung = ID_Oertlichkeit_In_Richtung + def get_Textmeldung(self): + return self.Textmeldung + def set_Textmeldung(self, Textmeldung): + self.Textmeldung = Textmeldung + def has__content(self): + if ( + self.ID_Fstr_Fahrweg is not None or + self.ID_Oertlichkeit_In_Richtung is not None or + self.Textmeldung is not None or + super(CETCS_Richtungsanzeige, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CETCS_Richtungsanzeige', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CETCS_Richtungsanzeige') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CETCS_Richtungsanzeige': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CETCS_Richtungsanzeige') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CETCS_Richtungsanzeige', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='CETCS_Richtungsanzeige'): + super(CETCS_Richtungsanzeige, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CETCS_Richtungsanzeige') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CETCS_Richtungsanzeige', fromsubclass_=False, pretty_print=True): + super(CETCS_Richtungsanzeige, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.ID_Fstr_Fahrweg is not None: + namespaceprefix_ = self.ID_Fstr_Fahrweg_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Fstr_Fahrweg_nsprefix_) else '' + self.ID_Fstr_Fahrweg.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Fstr_Fahrweg', pretty_print=pretty_print) + if self.ID_Oertlichkeit_In_Richtung is not None: + namespaceprefix_ = self.ID_Oertlichkeit_In_Richtung_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Oertlichkeit_In_Richtung_nsprefix_) else '' + self.ID_Oertlichkeit_In_Richtung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Oertlichkeit_In_Richtung', pretty_print=pretty_print) + if self.Textmeldung is not None: + namespaceprefix_ = self.Textmeldung_nsprefix_ + ':' if (UseCapturedNS_ and self.Textmeldung_nsprefix_) else '' + self.Textmeldung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Textmeldung', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CETCS_Richtungsanzeige, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Fstr_Fahrweg': + obj_ = TCID_Fstr_Fahrweg_ohne_Proxy.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Fstr_Fahrweg = obj_ + obj_.original_tagname_ = 'ID_Fstr_Fahrweg' + elif nodeName_ == 'ID_Oertlichkeit_In_Richtung': + obj_ = TCID_Oertlichkeit_Proxy.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Oertlichkeit_In_Richtung = obj_ + obj_.original_tagname_ = 'ID_Oertlichkeit_In_Richtung' + elif nodeName_ == 'Textmeldung': + obj_ = TCTextmeldung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Textmeldung = obj_ + obj_.original_tagname_ = 'Textmeldung' + super(CETCS_Richtungsanzeige, self)._buildChildren(child_, node, nodeName_, True) +# end class CETCS_Richtungsanzeige + + +class CLT_Binaerdatei_Hilfe(GeneratedsSuper): + """ID_Binaerdatei_Hilfe -- Verweis auf eine Hilfsdatei zur Unterst + ü + tzung bei der Balisenpr + ü + fung. + Pruefmerkmale_Binaerdatei_Hilfe -- Pr + ü + fmerkmale der Hilfsdatei (z. B. Pr + ü + fsumme, Version) zur Unterst + ü + tzung bei der Balisenpr + ü + fung. + Verwendung_Hilfe -- Hersteller + ü + bergreifend eindeutige Beschreibung des Verwendungszwecks der Hilfsdatei (z. B. Kodierungsart, Steuerung des Pr + ü + f-Algorithmus). + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, ID_Binaerdatei_Hilfe=None, Pruefmerkmale_Binaerdatei_Hilfe=None, Verwendung_Hilfe=None, gds_collector_=None, **kwargs_): + self.gds_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_Binaerdatei_Hilfe = ID_Binaerdatei_Hilfe + self.ID_Binaerdatei_Hilfe_nsprefix_ = None + self.Pruefmerkmale_Binaerdatei_Hilfe = Pruefmerkmale_Binaerdatei_Hilfe + self.Pruefmerkmale_Binaerdatei_Hilfe_nsprefix_ = None + self.Verwendung_Hilfe = Verwendung_Hilfe + self.Verwendung_Hilfe_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CLT_Binaerdatei_Hilfe) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CLT_Binaerdatei_Hilfe.subclass: + return CLT_Binaerdatei_Hilfe.subclass(*args_, **kwargs_) + else: + return CLT_Binaerdatei_Hilfe(*args_, **kwargs_) + factory = staticmethod(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_Binaerdatei_Hilfe(self): + return self.ID_Binaerdatei_Hilfe + def set_ID_Binaerdatei_Hilfe(self, ID_Binaerdatei_Hilfe): + self.ID_Binaerdatei_Hilfe = ID_Binaerdatei_Hilfe + def get_Pruefmerkmale_Binaerdatei_Hilfe(self): + return self.Pruefmerkmale_Binaerdatei_Hilfe + def set_Pruefmerkmale_Binaerdatei_Hilfe(self, Pruefmerkmale_Binaerdatei_Hilfe): + self.Pruefmerkmale_Binaerdatei_Hilfe = Pruefmerkmale_Binaerdatei_Hilfe + def get_Verwendung_Hilfe(self): + return self.Verwendung_Hilfe + def set_Verwendung_Hilfe(self, Verwendung_Hilfe): + self.Verwendung_Hilfe = Verwendung_Hilfe + def has__content(self): + if ( + self.ID_Binaerdatei_Hilfe is not None or + self.Pruefmerkmale_Binaerdatei_Hilfe is not None or + self.Verwendung_Hilfe is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='CLT_Binaerdatei_Hilfe', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CLT_Binaerdatei_Hilfe') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CLT_Binaerdatei_Hilfe': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CLT_Binaerdatei_Hilfe') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CLT_Binaerdatei_Hilfe', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='CLT_Binaerdatei_Hilfe'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='CLT_Binaerdatei_Hilfe', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.ID_Binaerdatei_Hilfe is not None: + namespaceprefix_ = self.ID_Binaerdatei_Hilfe_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Binaerdatei_Hilfe_nsprefix_) else '' + self.ID_Binaerdatei_Hilfe.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Binaerdatei_Hilfe', pretty_print=pretty_print) + if self.Pruefmerkmale_Binaerdatei_Hilfe is not None: + namespaceprefix_ = self.Pruefmerkmale_Binaerdatei_Hilfe_nsprefix_ + ':' if (UseCapturedNS_ and self.Pruefmerkmale_Binaerdatei_Hilfe_nsprefix_) else '' + self.Pruefmerkmale_Binaerdatei_Hilfe.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Pruefmerkmale_Binaerdatei_Hilfe', pretty_print=pretty_print) + if self.Verwendung_Hilfe is not None: + namespaceprefix_ = self.Verwendung_Hilfe_nsprefix_ + ':' if (UseCapturedNS_ and self.Verwendung_Hilfe_nsprefix_) else '' + self.Verwendung_Hilfe.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Verwendung_Hilfe', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Binaerdatei_Hilfe': + obj_ = TCID_Binaerdaten_ohne_Proxy.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Binaerdatei_Hilfe = obj_ + obj_.original_tagname_ = 'ID_Binaerdatei_Hilfe' + elif nodeName_ == 'Pruefmerkmale_Binaerdatei_Hilfe': + obj_ = CPruefmerkmale_Daten.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Pruefmerkmale_Binaerdatei_Hilfe = obj_ + obj_.original_tagname_ = 'Pruefmerkmale_Binaerdatei_Hilfe' + elif nodeName_ == 'Verwendung_Hilfe': + obj_ = TCVerwendung_Hilfe.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Verwendung_Hilfe = obj_ + obj_.original_tagname_ = 'Verwendung_Hilfe' +# end class CLT_Binaerdatei_Hilfe + + +class TCStandortangabe_Balisenschild(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCStandortangabe_Balisenschild"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMStandortangabe_Balisenschild(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCStandortangabe_Balisenschild) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCStandortangabe_Balisenschild.subclass: + return TCStandortangabe_Balisenschild.subclass(*args_, **kwargs_) + else: + return TCStandortangabe_Balisenschild(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMStandortangabe_Balisenschild(self, value): + result = True + # Validate type ENUMStandortangabe_Balisenschild, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['Signal', 'Signal Gleis', 'Streckenkilometer Gleis', 'Strecke sonstiger Standort'] + 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 ENUMStandortangabe_Balisenschild' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCStandortangabe_Balisenschild, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCStandortangabe_Balisenschild', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCStandortangabe_Balisenschild') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCStandortangabe_Balisenschild': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCStandortangabe_Balisenschild') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCStandortangabe_Balisenschild', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCStandortangabe_Balisenschild'): + super(TCStandortangabe_Balisenschild, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCStandortangabe_Balisenschild') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCStandortangabe_Balisenschild', fromsubclass_=False, pretty_print=True): + super(TCStandortangabe_Balisenschild, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCStandortangabe_Balisenschild, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMStandortangabe_Balisenschild + self.validate_ENUMStandortangabe_Balisenschild(self.Wert) + super(TCStandortangabe_Balisenschild, self)._buildChildren(child_, node, nodeName_, True) +# end class TCStandortangabe_Balisenschild + + +class TCD_LEVELTR(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCD_LEVELTR"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TD_LEVELTR(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCD_LEVELTR) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCD_LEVELTR.subclass: + return TCD_LEVELTR.subclass(*args_, **kwargs_) + else: + return TCD_LEVELTR(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TD_LEVELTR(self, value): + result = True + # Validate type TD_LEVELTR, a restriction on nsBasisTypen:TMeter. + 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 + pass + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCD_LEVELTR, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCD_LEVELTR', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCD_LEVELTR') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCD_LEVELTR': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCD_LEVELTR') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCD_LEVELTR', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCD_LEVELTR'): + super(TCD_LEVELTR, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCD_LEVELTR') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCD_LEVELTR', fromsubclass_=False, pretty_print=True): + super(TCD_LEVELTR, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_decimal(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCD_LEVELTR, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + fval_ = self.gds_parse_decimal(sval_, node, 'Wert') + fval_ = self.gds_validate_decimal(fval_, node, 'Wert') + self.Wert = fval_ + self.Wert_nsprefix_ = child_.prefix + # validate type TD_LEVELTR + self.validate_TD_LEVELTR(self.Wert) + super(TCD_LEVELTR, self)._buildChildren(child_, node, nodeName_, True) +# end class TCD_LEVELTR + + +class TCEnergie_Eingang_Art(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCEnergie_Eingang_Art"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMEnergie_Eingang_Art(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCEnergie_Eingang_Art) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCEnergie_Eingang_Art.subclass: + return TCEnergie_Eingang_Art.subclass(*args_, **kwargs_) + else: + return TCEnergie_Eingang_Art(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMEnergie_Eingang_Art(self, value): + result = True + # Validate type ENUMEnergie_Eingang_Art, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['Brennstoffzelle', 'Fahrleitung', 'Landesnetz', 'Solar', 'sonstige'] + 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 ENUMEnergie_Eingang_Art' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCEnergie_Eingang_Art, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCEnergie_Eingang_Art', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCEnergie_Eingang_Art') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCEnergie_Eingang_Art': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCEnergie_Eingang_Art') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCEnergie_Eingang_Art', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCEnergie_Eingang_Art'): + super(TCEnergie_Eingang_Art, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCEnergie_Eingang_Art') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCEnergie_Eingang_Art', fromsubclass_=False, pretty_print=True): + super(TCEnergie_Eingang_Art, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCEnergie_Eingang_Art, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMEnergie_Eingang_Art + self.validate_ENUMEnergie_Eingang_Art(self.Wert) + super(TCEnergie_Eingang_Art, self)._buildChildren(child_, node, nodeName_, True) +# end class TCEnergie_Eingang_Art + + +class CLEU_Modul_Ausgang(GeneratedsSuper): + """ID_Balise -- Verweis auf die + ü + ber den angegebenen Ausgang angesteuerte Balise. + LEU_Ausgang_Nr -- Planerisch vergebene Nummer des genutzten LEU-Ausgangs f + ü + r die Ansteuerung der Balisen des Datenpunkts. + Bei Verwendung in Datenpunkt: Angabe des f + ü + r diesen DP genutzen LEU-Ausgangs im Sinne einer Referenz. Mehrere Ausg + ä + nge werden bei DP mit mehreren gesteuerten Balisen ben + ö + tigt. + Bei Verwendung in LEU_Modul: Zuordnung des LEU-Ausgangs zu einem LEU-Modul. Weiterhin wird dem LEU-Ausgang vom Hersteller eine Portnummer zugeordnet. + Port_Nr_Ausg_Physisch -- Durch den Hersteller vergebene Nummer des Ports, + ü + ber den Informationen an die Balise ausgegeben werden. Die Angabe kann von LEU_Ausgang_Nr abweichen. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, ID_Balise=None, LEU_Ausgang_Nr=None, Port_Nr_Ausg_Physisch=None, gds_collector_=None, **kwargs_): + self.gds_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_Balise = ID_Balise + self.ID_Balise_nsprefix_ = None + self.LEU_Ausgang_Nr = LEU_Ausgang_Nr + self.LEU_Ausgang_Nr_nsprefix_ = None + self.Port_Nr_Ausg_Physisch = Port_Nr_Ausg_Physisch + self.Port_Nr_Ausg_Physisch_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CLEU_Modul_Ausgang) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CLEU_Modul_Ausgang.subclass: + return CLEU_Modul_Ausgang.subclass(*args_, **kwargs_) + else: + return CLEU_Modul_Ausgang(*args_, **kwargs_) + factory = staticmethod(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_Balise(self): + return self.ID_Balise + def set_ID_Balise(self, ID_Balise): + self.ID_Balise = ID_Balise + def get_LEU_Ausgang_Nr(self): + return self.LEU_Ausgang_Nr + def set_LEU_Ausgang_Nr(self, LEU_Ausgang_Nr): + self.LEU_Ausgang_Nr = LEU_Ausgang_Nr + def get_Port_Nr_Ausg_Physisch(self): + return self.Port_Nr_Ausg_Physisch + def set_Port_Nr_Ausg_Physisch(self, Port_Nr_Ausg_Physisch): + self.Port_Nr_Ausg_Physisch = Port_Nr_Ausg_Physisch + def has__content(self): + if ( + self.ID_Balise is not None or + self.LEU_Ausgang_Nr is not None or + self.Port_Nr_Ausg_Physisch is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CLEU_Modul_Ausgang', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CLEU_Modul_Ausgang') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CLEU_Modul_Ausgang': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CLEU_Modul_Ausgang') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CLEU_Modul_Ausgang', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='CLEU_Modul_Ausgang'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CLEU_Modul_Ausgang', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.ID_Balise is not None: + namespaceprefix_ = self.ID_Balise_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Balise_nsprefix_) else '' + self.ID_Balise.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Balise', pretty_print=pretty_print) + if self.LEU_Ausgang_Nr is not None: + namespaceprefix_ = self.LEU_Ausgang_Nr_nsprefix_ + ':' if (UseCapturedNS_ and self.LEU_Ausgang_Nr_nsprefix_) else '' + self.LEU_Ausgang_Nr.export(outfile, level, namespaceprefix_, namespacedef_='', name_='LEU_Ausgang_Nr', pretty_print=pretty_print) + if self.Port_Nr_Ausg_Physisch is not None: + namespaceprefix_ = self.Port_Nr_Ausg_Physisch_nsprefix_ + ':' if (UseCapturedNS_ and self.Port_Nr_Ausg_Physisch_nsprefix_) else '' + self.Port_Nr_Ausg_Physisch.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Port_Nr_Ausg_Physisch', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Balise': + obj_ = TCID_Balise.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Balise = obj_ + obj_.original_tagname_ = 'ID_Balise' + elif nodeName_ == 'LEU_Ausgang_Nr': + obj_ = TCLEU_Ausgang_Nr.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.LEU_Ausgang_Nr = obj_ + obj_.original_tagname_ = 'LEU_Ausgang_Nr' + elif nodeName_ == 'Port_Nr_Ausg_Physisch': + obj_ = TCPort_Nr_Ausg_Physisch.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Port_Nr_Ausg_Physisch = obj_ + obj_.original_tagname_ = 'Port_Nr_Ausg_Physisch' +# end class CLEU_Modul_Ausgang + + +class TCZLA(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCZLA"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TZLA(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCZLA) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCZLA.subclass: + return TCZLA.subclass(*args_, **kwargs_) + else: + return TCZLA(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TZLA(self, value): + result = True + # Validate type TZLA, a restriction on nsBasisTypen:TMeter. + 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 + pass + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCZLA, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCZLA', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCZLA') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCZLA': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCZLA') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCZLA', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCZLA'): + super(TCZLA, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCZLA') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCZLA', fromsubclass_=False, pretty_print=True): + super(TCZLA, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_decimal(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCZLA, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + fval_ = self.gds_parse_decimal(sval_, node, 'Wert') + fval_ = self.gds_validate_decimal(fval_, node, 'Wert') + self.Wert = fval_ + self.Wert_nsprefix_ = child_.prefix + # validate type TZLA + self.validate_TZLA(self.Wert) + super(TCZLA, self)._buildChildren(child_, node, nodeName_, True) +# end class TCZLA + + +class CZBS_Signal(CBasis_Objekt): + """CZBS_Signal -- Zusatzangaben f + ü + r Signale im Zusammenhang mit ZBS. + ID_Signal -- Verweis auf das zugeh + ö + rige Signal. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasis_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, ID_Signal=None, ZBS_Signal_Signalabstand=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CZBS_Signal"), self).__init__(Identitaet, Basis_Objekt_Allg, ID_Bearbeitungsvermerk, ID_Oertlichkeit_Ausgabe, Objektreferenzen, **kwargs_) + self.ID_Signal = ID_Signal + self.ID_Signal_nsprefix_ = None + self.ZBS_Signal_Signalabstand = ZBS_Signal_Signalabstand + self.ZBS_Signal_Signalabstand_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CZBS_Signal) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CZBS_Signal.subclass: + return CZBS_Signal.subclass(*args_, **kwargs_) + else: + return CZBS_Signal(*args_, **kwargs_) + factory = staticmethod(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_Signal(self): + return self.ID_Signal + def set_ID_Signal(self, ID_Signal): + self.ID_Signal = ID_Signal + def get_ZBS_Signal_Signalabstand(self): + return self.ZBS_Signal_Signalabstand + def set_ZBS_Signal_Signalabstand(self, ZBS_Signal_Signalabstand): + self.ZBS_Signal_Signalabstand = ZBS_Signal_Signalabstand + def has__content(self): + if ( + self.ID_Signal is not None or + self.ZBS_Signal_Signalabstand is not None or + super(CZBS_Signal, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CZBS_Signal', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CZBS_Signal') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CZBS_Signal': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CZBS_Signal') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CZBS_Signal', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='CZBS_Signal'): + super(CZBS_Signal, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CZBS_Signal') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CZBS_Signal', fromsubclass_=False, pretty_print=True): + super(CZBS_Signal, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.ID_Signal is not None: + namespaceprefix_ = self.ID_Signal_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Signal_nsprefix_) else '' + self.ID_Signal.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Signal', pretty_print=pretty_print) + if self.ZBS_Signal_Signalabstand is not None: + namespaceprefix_ = self.ZBS_Signal_Signalabstand_nsprefix_ + ':' if (UseCapturedNS_ and self.ZBS_Signal_Signalabstand_nsprefix_) else '' + self.ZBS_Signal_Signalabstand.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ZBS_Signal_Signalabstand', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CZBS_Signal, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Signal': + obj_ = TCID_Signal_ohne_Proxy.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Signal = obj_ + obj_.original_tagname_ = 'ID_Signal' + elif nodeName_ == 'ZBS_Signal_Signalabstand': + obj_ = CZBS_Signal_Signalabstand.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ZBS_Signal_Signalabstand = obj_ + obj_.original_tagname_ = 'ZBS_Signal_Signalabstand' + super(CZBS_Signal, self)._buildChildren(child_, node, nodeName_, True) +# end class CZBS_Signal + + +class TCKm_BTS_3(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCKm_BTS_3"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TKm_BTS_3(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCKm_BTS_3) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCKm_BTS_3.subclass: + return TCKm_BTS_3.subclass(*args_, **kwargs_) + else: + return TCKm_BTS_3(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TKm_BTS_3(self, value): + result = True + # Validate type TKm_BTS_3, a restriction on nsBasisTypen:TKilometrierung. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TKm_BTS_3_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TKm_BTS_3_patterns_, )) + result = False + return result + validate_TKm_BTS_3_patterns_ = [['^(-?(([1-9][0-9]{0,2})|0),([0-9]{3}|([0-9][\\+\\-][1-9][0-9]{0,4})))$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCKm_BTS_3, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCKm_BTS_3', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCKm_BTS_3') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCKm_BTS_3': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCKm_BTS_3') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCKm_BTS_3', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCKm_BTS_3'): + super(TCKm_BTS_3, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCKm_BTS_3') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCKm_BTS_3', fromsubclass_=False, pretty_print=True): + super(TCKm_BTS_3, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCKm_BTS_3, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TKm_BTS_3 + self.validate_TKm_BTS_3(self.Wert) + super(TCKm_BTS_3, self)._buildChildren(child_, node, nodeName_, True) +# end class TCKm_BTS_3 + + +class TCDelta_VZES(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCDelta_VZES"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TDelta_VZES(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCDelta_VZES) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCDelta_VZES.subclass: + return TCDelta_VZES.subclass(*args_, **kwargs_) + else: + return TCDelta_VZES(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TDelta_VZES(self, value): + result = True + # Validate type TDelta_VZES, a restriction on nsBasisTypen:TGeschwindigkeit. + 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_TDelta_VZES_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TDelta_VZES_patterns_, )) + result = False + return result + validate_TDelta_VZES_patterns_ = [['^(0|[1-9][0-9]{0,1}|[1-4][0-9]{2}|500)$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCDelta_VZES, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCDelta_VZES', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCDelta_VZES') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCDelta_VZES': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCDelta_VZES') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCDelta_VZES', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCDelta_VZES'): + super(TCDelta_VZES, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCDelta_VZES') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCDelta_VZES', fromsubclass_=False, pretty_print=True): + super(TCDelta_VZES, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_integer(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCDelta_VZES, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + ival_ = self.gds_parse_integer(sval_, node, 'Wert') + ival_ = self.gds_validate_integer(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + # validate type TDelta_VZES + self.validate_TDelta_VZES(self.Wert) + super(TCDelta_VZES, self)._buildChildren(child_, node, nodeName_, True) +# end class TCDelta_VZES + + +class CLEU_Anlage(CBasis_Objekt): + """CLEU_Anlage -- Elektronische Einheit zur Ansteuerung der Eurobalisen mit Balisentelegrammen in Abh + ä + ngigkeit von Eingangsinformationen (Signalbegriffe, Weichenlagen etc.). Die LEU-Anlage besteht ggf. aus mehreren Schaltk + ä + sten, die mehrere LEU-Module enthalten k + ö + nnen. + ID_LEU_Bezugspunkt -- Verweis auf das Bezugselement der LEU-Anlage, aus dem in der Regel auch die Bezeichnung generiert wird. + Ü + ber diesen Verweis erfolgt auch die Ermittlung des Bezugselements f + ü + r von dieser LEU-Anlage gesteuerte Datenpunkte. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasis_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, Bezeichnung=None, ID_LEU_Bezugspunkt=None, LEU_Anlage_Allg=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CLEU_Anlage"), self).__init__(Identitaet, Basis_Objekt_Allg, ID_Bearbeitungsvermerk, ID_Oertlichkeit_Ausgabe, Objektreferenzen, **kwargs_) + self.Bezeichnung = Bezeichnung + self.Bezeichnung_nsprefix_ = None + self.ID_LEU_Bezugspunkt = ID_LEU_Bezugspunkt + self.ID_LEU_Bezugspunkt_nsprefix_ = None + self.LEU_Anlage_Allg = LEU_Anlage_Allg + self.LEU_Anlage_Allg_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CLEU_Anlage) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CLEU_Anlage.subclass: + return CLEU_Anlage.subclass(*args_, **kwargs_) + else: + return CLEU_Anlage(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Bezeichnung(self): + return self.Bezeichnung + def set_Bezeichnung(self, Bezeichnung): + self.Bezeichnung = Bezeichnung + def get_ID_LEU_Bezugspunkt(self): + return self.ID_LEU_Bezugspunkt + def set_ID_LEU_Bezugspunkt(self, ID_LEU_Bezugspunkt): + self.ID_LEU_Bezugspunkt = ID_LEU_Bezugspunkt + def get_LEU_Anlage_Allg(self): + return self.LEU_Anlage_Allg + def set_LEU_Anlage_Allg(self, LEU_Anlage_Allg): + self.LEU_Anlage_Allg = LEU_Anlage_Allg + def has__content(self): + if ( + self.Bezeichnung is not None or + self.ID_LEU_Bezugspunkt is not None or + self.LEU_Anlage_Allg is not None or + super(CLEU_Anlage, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CLEU_Anlage', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CLEU_Anlage') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CLEU_Anlage': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CLEU_Anlage') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CLEU_Anlage', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='CLEU_Anlage'): + super(CLEU_Anlage, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CLEU_Anlage') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CLEU_Anlage', fromsubclass_=False, pretty_print=True): + super(CLEU_Anlage, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Bezeichnung is not None: + namespaceprefix_ = self.Bezeichnung_nsprefix_ + ':' if (UseCapturedNS_ and self.Bezeichnung_nsprefix_) else '' + self.Bezeichnung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Bezeichnung', pretty_print=pretty_print) + if self.ID_LEU_Bezugspunkt is not None: + namespaceprefix_ = self.ID_LEU_Bezugspunkt_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_LEU_Bezugspunkt_nsprefix_) else '' + self.ID_LEU_Bezugspunkt.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_LEU_Bezugspunkt', pretty_print=pretty_print) + if self.LEU_Anlage_Allg is not None: + namespaceprefix_ = self.LEU_Anlage_Allg_nsprefix_ + ':' if (UseCapturedNS_ and self.LEU_Anlage_Allg_nsprefix_) else '' + self.LEU_Anlage_Allg.export(outfile, level, namespaceprefix_, namespacedef_='', name_='LEU_Anlage_Allg', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CLEU_Anlage, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Bezeichnung': + obj_ = CLEU_Anlage_Bezeichnung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Bezeichnung = obj_ + obj_.original_tagname_ = 'Bezeichnung' + elif nodeName_ == 'ID_LEU_Bezugspunkt': + obj_ = TCID_LEU_Bezug_Funktional.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_LEU_Bezugspunkt = obj_ + obj_.original_tagname_ = 'ID_LEU_Bezugspunkt' + elif nodeName_ == 'LEU_Anlage_Allg': + obj_ = CLEU_Anlage_Allg.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.LEU_Anlage_Allg = obj_ + obj_.original_tagname_ = 'LEU_Anlage_Allg' + super(CLEU_Anlage, self)._buildChildren(child_, node, nodeName_, True) +# end class CLEU_Anlage + + +class CDP_Typ_GESG(GeneratedsSuper): + """DP_Typ_ESG -- Durch das Anwendungssystem ESG definierter Datenpunkttyp. + DP_Verlinkt -- Angabe, ob der Datenpunkt verlinkt ist (true). In jedem von diesem DP gesendeten Telegramm wird in diesem Fall Q_Link = 1 gesetzt. + DB-Regelwerk ESG-Datenpunkttabelle, Spalte \"Linking\", Eintrag \"L\" + Lfd_Nr_Am_Bezugspunkt -- Laufende Nummer, wenn zu einem betrieblichen Bezugspunkt mehrere Datenpunkte des gleichen Typs geh + ö + ren. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, DP_Typ_ESG=None, DP_Verlinkt=None, Lfd_Nr_Am_Bezugspunkt=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.DP_Typ_ESG = DP_Typ_ESG + self.DP_Typ_ESG_nsprefix_ = None + self.DP_Verlinkt = DP_Verlinkt + self.DP_Verlinkt_nsprefix_ = None + self.Lfd_Nr_Am_Bezugspunkt = Lfd_Nr_Am_Bezugspunkt + self.Lfd_Nr_Am_Bezugspunkt_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CDP_Typ_GESG) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CDP_Typ_GESG.subclass: + return CDP_Typ_GESG.subclass(*args_, **kwargs_) + else: + return CDP_Typ_GESG(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_DP_Typ_ESG(self): + return self.DP_Typ_ESG + def set_DP_Typ_ESG(self, DP_Typ_ESG): + self.DP_Typ_ESG = DP_Typ_ESG + def get_DP_Verlinkt(self): + return self.DP_Verlinkt + def set_DP_Verlinkt(self, DP_Verlinkt): + self.DP_Verlinkt = DP_Verlinkt + def get_Lfd_Nr_Am_Bezugspunkt(self): + return self.Lfd_Nr_Am_Bezugspunkt + def set_Lfd_Nr_Am_Bezugspunkt(self, Lfd_Nr_Am_Bezugspunkt): + self.Lfd_Nr_Am_Bezugspunkt = Lfd_Nr_Am_Bezugspunkt + def has__content(self): + if ( + self.DP_Typ_ESG is not None or + self.DP_Verlinkt is not None or + self.Lfd_Nr_Am_Bezugspunkt is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='CDP_Typ_GESG', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CDP_Typ_GESG') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CDP_Typ_GESG': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CDP_Typ_GESG') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CDP_Typ_GESG', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='CDP_Typ_GESG'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='CDP_Typ_GESG', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.DP_Typ_ESG is not None: + namespaceprefix_ = self.DP_Typ_ESG_nsprefix_ + ':' if (UseCapturedNS_ and self.DP_Typ_ESG_nsprefix_) else '' + self.DP_Typ_ESG.export(outfile, level, namespaceprefix_, namespacedef_='', name_='DP_Typ_ESG', pretty_print=pretty_print) + if self.DP_Verlinkt is not None: + namespaceprefix_ = self.DP_Verlinkt_nsprefix_ + ':' if (UseCapturedNS_ and self.DP_Verlinkt_nsprefix_) else '' + self.DP_Verlinkt.export(outfile, level, namespaceprefix_, namespacedef_='', name_='DP_Verlinkt', pretty_print=pretty_print) + if self.Lfd_Nr_Am_Bezugspunkt is not None: + namespaceprefix_ = self.Lfd_Nr_Am_Bezugspunkt_nsprefix_ + ':' if (UseCapturedNS_ and self.Lfd_Nr_Am_Bezugspunkt_nsprefix_) else '' + self.Lfd_Nr_Am_Bezugspunkt.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Lfd_Nr_Am_Bezugspunkt', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'DP_Typ_ESG': + obj_ = TCDP_Typ_ESG.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.DP_Typ_ESG = obj_ + obj_.original_tagname_ = 'DP_Typ_ESG' + elif nodeName_ == 'DP_Verlinkt': + obj_ = TCDP_Verlinkt.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.DP_Verlinkt = obj_ + obj_.original_tagname_ = 'DP_Verlinkt' + elif nodeName_ == 'Lfd_Nr_Am_Bezugspunkt': + obj_ = TCLfd_Nr_Am_Bezugspunkt.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Lfd_Nr_Am_Bezugspunkt = obj_ + obj_.original_tagname_ = 'Lfd_Nr_Am_Bezugspunkt' +# end class CDP_Typ_GESG + + +class TCESG_Ind_Parameterwert(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCESG_Ind_Parameterwert"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TESG_Ind_Parameterwert(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCESG_Ind_Parameterwert) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCESG_Ind_Parameterwert.subclass: + return TCESG_Ind_Parameterwert.subclass(*args_, **kwargs_) + else: + return TCESG_Ind_Parameterwert(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TESG_Ind_Parameterwert(self, value): + result = True + # Validate type TESG_Ind_Parameterwert, a restriction on xs:integer. + 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 + pass + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCESG_Ind_Parameterwert, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCESG_Ind_Parameterwert', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCESG_Ind_Parameterwert') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCESG_Ind_Parameterwert': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCESG_Ind_Parameterwert') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCESG_Ind_Parameterwert', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCESG_Ind_Parameterwert'): + super(TCESG_Ind_Parameterwert, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCESG_Ind_Parameterwert') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCESG_Ind_Parameterwert', fromsubclass_=False, pretty_print=True): + super(TCESG_Ind_Parameterwert, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_integer(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCESG_Ind_Parameterwert, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + ival_ = self.gds_parse_integer(sval_, node, 'Wert') + ival_ = self.gds_validate_integer(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + # validate type TESG_Ind_Parameterwert + self.validate_TESG_Ind_Parameterwert(self.Wert) + super(TCESG_Ind_Parameterwert, self)._buildChildren(child_, node, nodeName_, True) +# end class TCESG_Ind_Parameterwert + + +class TCZBS_La_Bereich_Neigung(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCZBS_La_Bereich_Neigung"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TZBS_La_Bereich_Neigung(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCZBS_La_Bereich_Neigung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCZBS_La_Bereich_Neigung.subclass: + return TCZBS_La_Bereich_Neigung.subclass(*args_, **kwargs_) + else: + return TCZBS_La_Bereich_Neigung(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TZBS_La_Bereich_Neigung(self, value): + result = True + # Validate type TZBS_La_Bereich_Neigung, 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 not self.gds_validate_simple_patterns( + self.validate_TZBS_La_Bereich_Neigung_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TZBS_La_Bereich_Neigung_patterns_, )) + result = False + return result + validate_TZBS_La_Bereich_Neigung_patterns_ = [['^(-([1-9]|[1-7][0-9]|80)\\.[0-9]{2}|-0\\.[1-9][0-9]|-0\\.0[1-9]|[0-9]\\.[0-9]{2}|[1-7][0-9]\\.[0-9]{2}|80\\.00)$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCZBS_La_Bereich_Neigung, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCZBS_La_Bereich_Neigung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCZBS_La_Bereich_Neigung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCZBS_La_Bereich_Neigung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCZBS_La_Bereich_Neigung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCZBS_La_Bereich_Neigung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCZBS_La_Bereich_Neigung'): + super(TCZBS_La_Bereich_Neigung, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCZBS_La_Bereich_Neigung') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCZBS_La_Bereich_Neigung', fromsubclass_=False, pretty_print=True): + super(TCZBS_La_Bereich_Neigung, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_decimal(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCZBS_La_Bereich_Neigung, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + fval_ = self.gds_parse_decimal(sval_, node, 'Wert') + fval_ = self.gds_validate_decimal(fval_, node, 'Wert') + self.Wert = fval_ + self.Wert_nsprefix_ = child_.prefix + # validate type TZBS_La_Bereich_Neigung + self.validate_TZBS_La_Bereich_Neigung(self.Wert) + super(TCZBS_La_Bereich_Neigung, self)._buildChildren(child_, node, nodeName_, True) +# end class TCZBS_La_Bereich_Neigung + + +class CFT_Fahrweg_Teil_Allg(GeneratedsSuper): + """FW_Teil_Nummer -- Nummerierung des Fahrwegteils, wenn mehrere Fahrwegteile mit gleichem Start-Element existieren. Das Datum wird f + ü + r die Reihenfolge des Erscheinens in der Tabelle verwendet. + Umfahrstrasse -- Der beschriebene Fahrwegteil liegt in einer Umfahrstra + ß + e. + Ziel_Ist_Fahrwegende -- Angabe, ob das verlinkte Zielelement des Fahrwegteils gleichzeitig auch Ende des Fahrwegs ist. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, FW_Teil_Nummer=None, Umfahrstrasse=None, Ziel_Ist_Fahrwegende=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.FW_Teil_Nummer = FW_Teil_Nummer + self.FW_Teil_Nummer_nsprefix_ = None + self.Umfahrstrasse = Umfahrstrasse + self.Umfahrstrasse_nsprefix_ = None + self.Ziel_Ist_Fahrwegende = Ziel_Ist_Fahrwegende + self.Ziel_Ist_Fahrwegende_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CFT_Fahrweg_Teil_Allg) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CFT_Fahrweg_Teil_Allg.subclass: + return CFT_Fahrweg_Teil_Allg.subclass(*args_, **kwargs_) + else: + return CFT_Fahrweg_Teil_Allg(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_FW_Teil_Nummer(self): + return self.FW_Teil_Nummer + def set_FW_Teil_Nummer(self, FW_Teil_Nummer): + self.FW_Teil_Nummer = FW_Teil_Nummer + def get_Umfahrstrasse(self): + return self.Umfahrstrasse + def set_Umfahrstrasse(self, Umfahrstrasse): + self.Umfahrstrasse = Umfahrstrasse + def get_Ziel_Ist_Fahrwegende(self): + return self.Ziel_Ist_Fahrwegende + def set_Ziel_Ist_Fahrwegende(self, Ziel_Ist_Fahrwegende): + self.Ziel_Ist_Fahrwegende = Ziel_Ist_Fahrwegende + def has__content(self): + if ( + self.FW_Teil_Nummer is not None or + self.Umfahrstrasse is not None or + self.Ziel_Ist_Fahrwegende is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='CFT_Fahrweg_Teil_Allg', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CFT_Fahrweg_Teil_Allg') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CFT_Fahrweg_Teil_Allg': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CFT_Fahrweg_Teil_Allg') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CFT_Fahrweg_Teil_Allg', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='CFT_Fahrweg_Teil_Allg'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='CFT_Fahrweg_Teil_Allg', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.FW_Teil_Nummer is not None: + namespaceprefix_ = self.FW_Teil_Nummer_nsprefix_ + ':' if (UseCapturedNS_ and self.FW_Teil_Nummer_nsprefix_) else '' + self.FW_Teil_Nummer.export(outfile, level, namespaceprefix_, namespacedef_='', name_='FW_Teil_Nummer', pretty_print=pretty_print) + if self.Umfahrstrasse is not None: + namespaceprefix_ = self.Umfahrstrasse_nsprefix_ + ':' if (UseCapturedNS_ and self.Umfahrstrasse_nsprefix_) else '' + self.Umfahrstrasse.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Umfahrstrasse', pretty_print=pretty_print) + if self.Ziel_Ist_Fahrwegende is not None: + namespaceprefix_ = self.Ziel_Ist_Fahrwegende_nsprefix_ + ':' if (UseCapturedNS_ and self.Ziel_Ist_Fahrwegende_nsprefix_) else '' + self.Ziel_Ist_Fahrwegende.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Ziel_Ist_Fahrwegende', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'FW_Teil_Nummer': + obj_ = TCFW_Teil_Nummer.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.FW_Teil_Nummer = obj_ + obj_.original_tagname_ = 'FW_Teil_Nummer' + elif nodeName_ == 'Umfahrstrasse': + obj_ = TCUmfahrstrasse.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Umfahrstrasse = obj_ + obj_.original_tagname_ = 'Umfahrstrasse' + elif nodeName_ == 'Ziel_Ist_Fahrwegende': + obj_ = TCZiel_Ist_Fahrwegende.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Ziel_Ist_Fahrwegende = obj_ + obj_.original_tagname_ = 'Ziel_Ist_Fahrwegende' +# end class CFT_Fahrweg_Teil_Allg + + +class TCETCS_Par_Erlaeuterung(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCETCS_Par_Erlaeuterung"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TETCS_Par_Erlaeuterung(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCETCS_Par_Erlaeuterung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCETCS_Par_Erlaeuterung.subclass: + return TCETCS_Par_Erlaeuterung.subclass(*args_, **kwargs_) + else: + return TCETCS_Par_Erlaeuterung(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TETCS_Par_Erlaeuterung(self, value): + result = True + # Validate type TETCS_Par_Erlaeuterung, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TETCS_Par_Erlaeuterung_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TETCS_Par_Erlaeuterung_patterns_, )) + result = False + return result + validate_TETCS_Par_Erlaeuterung_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCETCS_Par_Erlaeuterung, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCETCS_Par_Erlaeuterung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCETCS_Par_Erlaeuterung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCETCS_Par_Erlaeuterung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCETCS_Par_Erlaeuterung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCETCS_Par_Erlaeuterung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCETCS_Par_Erlaeuterung'): + super(TCETCS_Par_Erlaeuterung, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCETCS_Par_Erlaeuterung') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCETCS_Par_Erlaeuterung', fromsubclass_=False, pretty_print=True): + super(TCETCS_Par_Erlaeuterung, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCETCS_Par_Erlaeuterung, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TETCS_Par_Erlaeuterung + self.validate_TETCS_Par_Erlaeuterung(self.Wert) + super(TCETCS_Par_Erlaeuterung, self)._buildChildren(child_, node, nodeName_, True) +# end class TCETCS_Par_Erlaeuterung + + +class TCAnwendung_ESG(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCAnwendung_ESG"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCAnwendung_ESG) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCAnwendung_ESG.subclass: + return TCAnwendung_ESG.subclass(*args_, **kwargs_) + else: + return TCAnwendung_ESG(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def has__content(self): + if ( + self.Wert is not None or + super(TCAnwendung_ESG, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCAnwendung_ESG', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCAnwendung_ESG') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCAnwendung_ESG': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCAnwendung_ESG') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCAnwendung_ESG', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCAnwendung_ESG'): + super(TCAnwendung_ESG, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCAnwendung_ESG') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCAnwendung_ESG', fromsubclass_=False, pretty_print=True): + super(TCAnwendung_ESG, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_boolean(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCAnwendung_ESG, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + sval_ = child_.text + ival_ = self.gds_parse_boolean(sval_, node, 'Wert') + ival_ = self.gds_validate_boolean(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + super(TCAnwendung_ESG, self)._buildChildren(child_, node, nodeName_, True) +# end class TCAnwendung_ESG + + +class CEV_Modul_Virtuell(GeneratedsSuper): + """ID_Quellelement -- Verweis auf das bestehende Element (z. B. Aussenelementansteuerung, BUE_Anlage, EV_Modul, ESTW_Zentraleinheit, PZB_Element), von dem der eigentliche Energie-Abgriff erfolgt. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, ID_Quellelement=None, gds_collector_=None, **kwargs_): + self.gds_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_Quellelement = ID_Quellelement + self.ID_Quellelement_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CEV_Modul_Virtuell) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CEV_Modul_Virtuell.subclass: + return CEV_Modul_Virtuell.subclass(*args_, **kwargs_) + else: + return CEV_Modul_Virtuell(*args_, **kwargs_) + factory = staticmethod(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_Quellelement(self): + return self.ID_Quellelement + def set_ID_Quellelement(self, ID_Quellelement): + self.ID_Quellelement = ID_Quellelement + def has__content(self): + if ( + self.ID_Quellelement is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CEV_Modul_Virtuell', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CEV_Modul_Virtuell') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CEV_Modul_Virtuell': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CEV_Modul_Virtuell') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CEV_Modul_Virtuell', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='CEV_Modul_Virtuell'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CEV_Modul_Virtuell', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.ID_Quellelement is not None: + namespaceprefix_ = self.ID_Quellelement_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Quellelement_nsprefix_) else '' + self.ID_Quellelement.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Quellelement', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Quellelement': + obj_ = TCID_Quellelement.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Quellelement = obj_ + obj_.original_tagname_ = 'ID_Quellelement' +# end class CEV_Modul_Virtuell + + +class CESG_Individuelle_Merkmale(GeneratedsSuper): + """ESG_Ind_Erlaeuterung -- Erl + ä + uterung des unter ESG_Ind_Parameterwert modifizierten Parameters. + ESG_Ind_Parameter -- Bezeichnung des f + ü + r die LfdNr_in_Telegr_Spec vorgesehenen variablen Parameters, z. B. L_TRACKCOND f + ü + r lfd. Nr. 70. + ESG_Ind_Parameterwert -- Wert des unter ESG_Ind_Parameter definierten Parameters. + ID_Anhang_UiG -- Verweis auf die UiG zur individuellen Programmierung. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, ESG_Ind_Erlaeuterung=None, ESG_Ind_Parameter=None, ESG_Ind_Parameterwert=None, ID_Anhang_UiG=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.ESG_Ind_Erlaeuterung = ESG_Ind_Erlaeuterung + self.ESG_Ind_Erlaeuterung_nsprefix_ = None + self.ESG_Ind_Parameter = ESG_Ind_Parameter + self.ESG_Ind_Parameter_nsprefix_ = None + self.ESG_Ind_Parameterwert = ESG_Ind_Parameterwert + self.ESG_Ind_Parameterwert_nsprefix_ = None + self.ID_Anhang_UiG = ID_Anhang_UiG + self.ID_Anhang_UiG_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CESG_Individuelle_Merkmale) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CESG_Individuelle_Merkmale.subclass: + return CESG_Individuelle_Merkmale.subclass(*args_, **kwargs_) + else: + return CESG_Individuelle_Merkmale(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_ESG_Ind_Erlaeuterung(self): + return self.ESG_Ind_Erlaeuterung + def set_ESG_Ind_Erlaeuterung(self, ESG_Ind_Erlaeuterung): + self.ESG_Ind_Erlaeuterung = ESG_Ind_Erlaeuterung + def get_ESG_Ind_Parameter(self): + return self.ESG_Ind_Parameter + def set_ESG_Ind_Parameter(self, ESG_Ind_Parameter): + self.ESG_Ind_Parameter = ESG_Ind_Parameter + def get_ESG_Ind_Parameterwert(self): + return self.ESG_Ind_Parameterwert + def set_ESG_Ind_Parameterwert(self, ESG_Ind_Parameterwert): + self.ESG_Ind_Parameterwert = ESG_Ind_Parameterwert + def get_ID_Anhang_UiG(self): + return self.ID_Anhang_UiG + def set_ID_Anhang_UiG(self, ID_Anhang_UiG): + self.ID_Anhang_UiG = ID_Anhang_UiG + def has__content(self): + if ( + self.ESG_Ind_Erlaeuterung is not None or + self.ESG_Ind_Parameter is not None or + self.ESG_Ind_Parameterwert is not None or + self.ID_Anhang_UiG is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CESG_Individuelle_Merkmale', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CESG_Individuelle_Merkmale') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CESG_Individuelle_Merkmale': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CESG_Individuelle_Merkmale') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CESG_Individuelle_Merkmale', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='CESG_Individuelle_Merkmale'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CESG_Individuelle_Merkmale', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.ESG_Ind_Erlaeuterung is not None: + namespaceprefix_ = self.ESG_Ind_Erlaeuterung_nsprefix_ + ':' if (UseCapturedNS_ and self.ESG_Ind_Erlaeuterung_nsprefix_) else '' + self.ESG_Ind_Erlaeuterung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ESG_Ind_Erlaeuterung', pretty_print=pretty_print) + if self.ESG_Ind_Parameter is not None: + namespaceprefix_ = self.ESG_Ind_Parameter_nsprefix_ + ':' if (UseCapturedNS_ and self.ESG_Ind_Parameter_nsprefix_) else '' + self.ESG_Ind_Parameter.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ESG_Ind_Parameter', pretty_print=pretty_print) + if self.ESG_Ind_Parameterwert is not None: + namespaceprefix_ = self.ESG_Ind_Parameterwert_nsprefix_ + ':' if (UseCapturedNS_ and self.ESG_Ind_Parameterwert_nsprefix_) else '' + self.ESG_Ind_Parameterwert.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ESG_Ind_Parameterwert', pretty_print=pretty_print) + if self.ID_Anhang_UiG is not None: + namespaceprefix_ = self.ID_Anhang_UiG_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Anhang_UiG_nsprefix_) else '' + self.ID_Anhang_UiG.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Anhang_UiG', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ESG_Ind_Erlaeuterung': + obj_ = TCESG_Ind_Erlaeuterung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ESG_Ind_Erlaeuterung = obj_ + obj_.original_tagname_ = 'ESG_Ind_Erlaeuterung' + elif nodeName_ == 'ESG_Ind_Parameter': + obj_ = TCESG_Ind_Parameter.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ESG_Ind_Parameter = obj_ + obj_.original_tagname_ = 'ESG_Ind_Parameter' + elif nodeName_ == 'ESG_Ind_Parameterwert': + obj_ = TCESG_Ind_Parameterwert.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ESG_Ind_Parameterwert = obj_ + obj_.original_tagname_ = 'ESG_Ind_Parameterwert' + elif nodeName_ == 'ID_Anhang_UiG': + obj_ = TCID_Anhang_ohne_Proxy.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Anhang_UiG = obj_ + obj_.original_tagname_ = 'ID_Anhang_UiG' +# end class CESG_Individuelle_Merkmale + + +class TCVorsignalabstand(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCVorsignalabstand"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TVorsignalabstand(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCVorsignalabstand) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCVorsignalabstand.subclass: + return TCVorsignalabstand.subclass(*args_, **kwargs_) + else: + return TCVorsignalabstand(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TVorsignalabstand(self, value): + result = True + # Validate type TVorsignalabstand, a restriction on nsBasisTypen:TMeter. + 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 + pass + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCVorsignalabstand, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCVorsignalabstand', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCVorsignalabstand') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCVorsignalabstand': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCVorsignalabstand') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCVorsignalabstand', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCVorsignalabstand'): + super(TCVorsignalabstand, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCVorsignalabstand') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCVorsignalabstand', fromsubclass_=False, pretty_print=True): + super(TCVorsignalabstand, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_decimal(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCVorsignalabstand, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + fval_ = self.gds_parse_decimal(sval_, node, 'Wert') + fval_ = self.gds_validate_decimal(fval_, node, 'Wert') + self.Wert = fval_ + self.Wert_nsprefix_ = child_.prefix + # validate type TVorsignalabstand + self.validate_TVorsignalabstand(self.Wert) + super(TCVorsignalabstand, self)._buildChildren(child_, node, nodeName_, True) +# end class TCVorsignalabstand + + +class CLuft_Telegramm(CBasis_Objekt): + """CLuft_Telegramm -- Zuordnung des Telegramms (Binaerdatei) zur Balise, von der das Telegramm an das Fahrzeug + ü + bertragen wird. Das Telegramm kann dabei in der Balise gespeichert sein oder von der LEU an die Balise gesendet werden. + ID_Balise_Uebertragung -- Verweis auf die Balise, von der das Lufttelegramm gesendet wird. Die Unterscheidung der verschiedenen Lufttelegramme an einer Balise erfolgt + ü + ber ID_Fachtelegramm bzw. dessen Anschaltbedingung. + ID_Fachtelegramm -- Verweis auf das Fachtelegramm, das vom Lufttelegramm umgesetzt wird. Ein Fachtelegramm kann dabei durch mehrere Lufttelegramme umgesetzt werden. + Telegramm_Index -- Index f + ü + r die Signalbegriffsanschaltung, z. B. bei SIMIS D: ACC-Zeiger (R + ü + cklaufdatum) + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasis_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, ID_Balise_Uebertragung=None, ID_Fachtelegramm=None, LT_Binaerdatei_Hilfe=None, LT_Binaerdaten=None, Telegramm_Index=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CLuft_Telegramm"), self).__init__(Identitaet, Basis_Objekt_Allg, ID_Bearbeitungsvermerk, ID_Oertlichkeit_Ausgabe, Objektreferenzen, **kwargs_) + self.ID_Balise_Uebertragung = ID_Balise_Uebertragung + self.ID_Balise_Uebertragung_nsprefix_ = None + self.ID_Fachtelegramm = ID_Fachtelegramm + self.ID_Fachtelegramm_nsprefix_ = None + self.LT_Binaerdatei_Hilfe = LT_Binaerdatei_Hilfe + self.LT_Binaerdatei_Hilfe_nsprefix_ = None + self.LT_Binaerdaten = LT_Binaerdaten + self.LT_Binaerdaten_nsprefix_ = None + self.Telegramm_Index = Telegramm_Index + self.Telegramm_Index_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CLuft_Telegramm) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CLuft_Telegramm.subclass: + return CLuft_Telegramm.subclass(*args_, **kwargs_) + else: + return CLuft_Telegramm(*args_, **kwargs_) + factory = staticmethod(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_Balise_Uebertragung(self): + return self.ID_Balise_Uebertragung + def set_ID_Balise_Uebertragung(self, ID_Balise_Uebertragung): + self.ID_Balise_Uebertragung = ID_Balise_Uebertragung + def get_ID_Fachtelegramm(self): + return self.ID_Fachtelegramm + def set_ID_Fachtelegramm(self, ID_Fachtelegramm): + self.ID_Fachtelegramm = ID_Fachtelegramm + def get_LT_Binaerdatei_Hilfe(self): + return self.LT_Binaerdatei_Hilfe + def set_LT_Binaerdatei_Hilfe(self, LT_Binaerdatei_Hilfe): + self.LT_Binaerdatei_Hilfe = LT_Binaerdatei_Hilfe + def get_LT_Binaerdaten(self): + return self.LT_Binaerdaten + def set_LT_Binaerdaten(self, LT_Binaerdaten): + self.LT_Binaerdaten = LT_Binaerdaten + def get_Telegramm_Index(self): + return self.Telegramm_Index + def set_Telegramm_Index(self, Telegramm_Index): + self.Telegramm_Index = Telegramm_Index + def has__content(self): + if ( + self.ID_Balise_Uebertragung is not None or + self.ID_Fachtelegramm is not None or + self.LT_Binaerdatei_Hilfe is not None or + self.LT_Binaerdaten is not None or + self.Telegramm_Index is not None or + super(CLuft_Telegramm, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CLuft_Telegramm', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CLuft_Telegramm') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CLuft_Telegramm': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CLuft_Telegramm') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CLuft_Telegramm', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='CLuft_Telegramm'): + super(CLuft_Telegramm, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CLuft_Telegramm') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CLuft_Telegramm', fromsubclass_=False, pretty_print=True): + super(CLuft_Telegramm, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.ID_Balise_Uebertragung is not None: + namespaceprefix_ = self.ID_Balise_Uebertragung_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Balise_Uebertragung_nsprefix_) else '' + self.ID_Balise_Uebertragung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Balise_Uebertragung', pretty_print=pretty_print) + if self.ID_Fachtelegramm is not None: + namespaceprefix_ = self.ID_Fachtelegramm_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Fachtelegramm_nsprefix_) else '' + self.ID_Fachtelegramm.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Fachtelegramm', pretty_print=pretty_print) + if self.LT_Binaerdatei_Hilfe is not None: + namespaceprefix_ = self.LT_Binaerdatei_Hilfe_nsprefix_ + ':' if (UseCapturedNS_ and self.LT_Binaerdatei_Hilfe_nsprefix_) else '' + self.LT_Binaerdatei_Hilfe.export(outfile, level, namespaceprefix_, namespacedef_='', name_='LT_Binaerdatei_Hilfe', pretty_print=pretty_print) + if self.LT_Binaerdaten is not None: + namespaceprefix_ = self.LT_Binaerdaten_nsprefix_ + ':' if (UseCapturedNS_ and self.LT_Binaerdaten_nsprefix_) else '' + self.LT_Binaerdaten.export(outfile, level, namespaceprefix_, namespacedef_='', name_='LT_Binaerdaten', pretty_print=pretty_print) + if self.Telegramm_Index is not None: + namespaceprefix_ = self.Telegramm_Index_nsprefix_ + ':' if (UseCapturedNS_ and self.Telegramm_Index_nsprefix_) else '' + self.Telegramm_Index.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Telegramm_Index', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CLuft_Telegramm, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Balise_Uebertragung': + obj_ = TCID_Balise_ohne_Proxy.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Balise_Uebertragung = obj_ + obj_.original_tagname_ = 'ID_Balise_Uebertragung' + elif nodeName_ == 'ID_Fachtelegramm': + obj_ = TCID_Fachtelegramm.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Fachtelegramm = obj_ + obj_.original_tagname_ = 'ID_Fachtelegramm' + elif nodeName_ == 'LT_Binaerdatei_Hilfe': + obj_ = CLT_Binaerdatei_Hilfe.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.LT_Binaerdatei_Hilfe = obj_ + obj_.original_tagname_ = 'LT_Binaerdatei_Hilfe' + elif nodeName_ == 'LT_Binaerdaten': + obj_ = CLT_Binaerdaten.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.LT_Binaerdaten = obj_ + obj_.original_tagname_ = 'LT_Binaerdaten' + elif nodeName_ == 'Telegramm_Index': + obj_ = TCTelegramm_Index.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Telegramm_Index = obj_ + obj_.original_tagname_ = 'Telegramm_Index' + super(CLuft_Telegramm, self)._buildChildren(child_, node, nodeName_, True) +# end class CLuft_Telegramm + + +class CMetallteil(GeneratedsSuper): + """Metallteil_Kategorie -- Kategorie des Metallteils, sofern ein Metallwarnungs-Datenpunkt erforderlich ist. Gem + ä + ß + Ril 819.1344 ist hierf + ü + r der Wert 0 zu verwenden. Andere Eintr + ä + ge sind nicht zul + ä + ssig. + Metallteil_Laenge -- L + ä + nge des Metallteils, sofern eine topologiebasierte Berechnung nicht m + ö + glich ist (Anwendungsf + ä + lle ohne Verwendung der Topologie). + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Metallteil_Kategorie=None, Metallteil_Laenge=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Metallteil_Kategorie = Metallteil_Kategorie + self.Metallteil_Kategorie_nsprefix_ = None + self.Metallteil_Laenge = Metallteil_Laenge + self.Metallteil_Laenge_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CMetallteil) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CMetallteil.subclass: + return CMetallteil.subclass(*args_, **kwargs_) + else: + return CMetallteil(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Metallteil_Kategorie(self): + return self.Metallteil_Kategorie + def set_Metallteil_Kategorie(self, Metallteil_Kategorie): + self.Metallteil_Kategorie = Metallteil_Kategorie + def get_Metallteil_Laenge(self): + return self.Metallteil_Laenge + def set_Metallteil_Laenge(self, Metallteil_Laenge): + self.Metallteil_Laenge = Metallteil_Laenge + def has__content(self): + if ( + self.Metallteil_Kategorie is not None or + self.Metallteil_Laenge is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='CMetallteil', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CMetallteil') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CMetallteil': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CMetallteil') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CMetallteil', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='CMetallteil'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='CMetallteil', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Metallteil_Kategorie is not None: + namespaceprefix_ = self.Metallteil_Kategorie_nsprefix_ + ':' if (UseCapturedNS_ and self.Metallteil_Kategorie_nsprefix_) else '' + self.Metallteil_Kategorie.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Metallteil_Kategorie', pretty_print=pretty_print) + if self.Metallteil_Laenge is not None: + namespaceprefix_ = self.Metallteil_Laenge_nsprefix_ + ':' if (UseCapturedNS_ and self.Metallteil_Laenge_nsprefix_) else '' + self.Metallteil_Laenge.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Metallteil_Laenge', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Metallteil_Kategorie': + obj_ = TCMetallteil_Kategorie.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Metallteil_Kategorie = obj_ + obj_.original_tagname_ = 'Metallteil_Kategorie' + elif nodeName_ == 'Metallteil_Laenge': + obj_ = TCMetallteil_Laenge.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Metallteil_Laenge = obj_ + obj_.original_tagname_ = 'Metallteil_Laenge' +# end class CMetallteil + + +class CBgrenze_RBC_Wechsel_BTS_Kette(GeneratedsSuper): + """Bez_Strecke_BTS_1 -- Bezeichnung der Strecke, an der die erste BTS, die an die Bereichsgrenze (RBC-Wechsel) angrenzt, positioniert ist. + Bez_Strecke_BTS_2 -- Bezeichnung der Strecke, an der die zweite BTS, die an die Bereichsgrenze (RBC-Wechsel) angrenzt, positioniert ist. + Bez_Strecke_BTS_3 -- Bezeichnung der Strecke, an der die dritte BTS, die an die Bereichsgrenze (RBC-Wechsel) angrenzt, positioniert ist. + Km_BTS_1 -- Streckenkilometer der ersten BTS, die an die Bereichsgrenze (RBC-Wechsel) angrenzt. + Km_BTS_2 -- Streckenkilometer der zweiten BTS, die an die Bereichsgrenze (RBC-Wechsel) angrenzt. + Km_BTS_3 -- Streckenkilometer der dritten BTS, die an die Bereichsgrenze (RBC-Wechsel) angrenzt. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Bez_Strecke_BTS_1=None, Bez_Strecke_BTS_2=None, Bez_Strecke_BTS_3=None, Km_BTS_1=None, Km_BTS_2=None, Km_BTS_3=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Bez_Strecke_BTS_1 = Bez_Strecke_BTS_1 + self.Bez_Strecke_BTS_1_nsprefix_ = None + self.Bez_Strecke_BTS_2 = Bez_Strecke_BTS_2 + self.Bez_Strecke_BTS_2_nsprefix_ = None + self.Bez_Strecke_BTS_3 = Bez_Strecke_BTS_3 + self.Bez_Strecke_BTS_3_nsprefix_ = None + self.Km_BTS_1 = Km_BTS_1 + self.Km_BTS_1_nsprefix_ = None + self.Km_BTS_2 = Km_BTS_2 + self.Km_BTS_2_nsprefix_ = None + self.Km_BTS_3 = Km_BTS_3 + self.Km_BTS_3_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CBgrenze_RBC_Wechsel_BTS_Kette) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CBgrenze_RBC_Wechsel_BTS_Kette.subclass: + return CBgrenze_RBC_Wechsel_BTS_Kette.subclass(*args_, **kwargs_) + else: + return CBgrenze_RBC_Wechsel_BTS_Kette(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Bez_Strecke_BTS_1(self): + return self.Bez_Strecke_BTS_1 + def set_Bez_Strecke_BTS_1(self, Bez_Strecke_BTS_1): + self.Bez_Strecke_BTS_1 = Bez_Strecke_BTS_1 + def get_Bez_Strecke_BTS_2(self): + return self.Bez_Strecke_BTS_2 + def set_Bez_Strecke_BTS_2(self, Bez_Strecke_BTS_2): + self.Bez_Strecke_BTS_2 = Bez_Strecke_BTS_2 + def get_Bez_Strecke_BTS_3(self): + return self.Bez_Strecke_BTS_3 + def set_Bez_Strecke_BTS_3(self, Bez_Strecke_BTS_3): + self.Bez_Strecke_BTS_3 = Bez_Strecke_BTS_3 + def get_Km_BTS_1(self): + return self.Km_BTS_1 + def set_Km_BTS_1(self, Km_BTS_1): + self.Km_BTS_1 = Km_BTS_1 + def get_Km_BTS_2(self): + return self.Km_BTS_2 + def set_Km_BTS_2(self, Km_BTS_2): + self.Km_BTS_2 = Km_BTS_2 + def get_Km_BTS_3(self): + return self.Km_BTS_3 + def set_Km_BTS_3(self, Km_BTS_3): + self.Km_BTS_3 = Km_BTS_3 + def has__content(self): + if ( + self.Bez_Strecke_BTS_1 is not None or + self.Bez_Strecke_BTS_2 is not None or + self.Bez_Strecke_BTS_3 is not None or + self.Km_BTS_1 is not None or + self.Km_BTS_2 is not None or + self.Km_BTS_3 is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='CBgrenze_RBC_Wechsel_BTS_Kette', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CBgrenze_RBC_Wechsel_BTS_Kette') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CBgrenze_RBC_Wechsel_BTS_Kette': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CBgrenze_RBC_Wechsel_BTS_Kette') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CBgrenze_RBC_Wechsel_BTS_Kette', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='CBgrenze_RBC_Wechsel_BTS_Kette'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='CBgrenze_RBC_Wechsel_BTS_Kette', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Bez_Strecke_BTS_1 is not None: + namespaceprefix_ = self.Bez_Strecke_BTS_1_nsprefix_ + ':' if (UseCapturedNS_ and self.Bez_Strecke_BTS_1_nsprefix_) else '' + self.Bez_Strecke_BTS_1.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Bez_Strecke_BTS_1', pretty_print=pretty_print) + if self.Bez_Strecke_BTS_2 is not None: + namespaceprefix_ = self.Bez_Strecke_BTS_2_nsprefix_ + ':' if (UseCapturedNS_ and self.Bez_Strecke_BTS_2_nsprefix_) else '' + self.Bez_Strecke_BTS_2.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Bez_Strecke_BTS_2', pretty_print=pretty_print) + if self.Bez_Strecke_BTS_3 is not None: + namespaceprefix_ = self.Bez_Strecke_BTS_3_nsprefix_ + ':' if (UseCapturedNS_ and self.Bez_Strecke_BTS_3_nsprefix_) else '' + self.Bez_Strecke_BTS_3.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Bez_Strecke_BTS_3', pretty_print=pretty_print) + if self.Km_BTS_1 is not None: + namespaceprefix_ = self.Km_BTS_1_nsprefix_ + ':' if (UseCapturedNS_ and self.Km_BTS_1_nsprefix_) else '' + self.Km_BTS_1.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Km_BTS_1', pretty_print=pretty_print) + if self.Km_BTS_2 is not None: + namespaceprefix_ = self.Km_BTS_2_nsprefix_ + ':' if (UseCapturedNS_ and self.Km_BTS_2_nsprefix_) else '' + self.Km_BTS_2.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Km_BTS_2', pretty_print=pretty_print) + if self.Km_BTS_3 is not None: + namespaceprefix_ = self.Km_BTS_3_nsprefix_ + ':' if (UseCapturedNS_ and self.Km_BTS_3_nsprefix_) else '' + self.Km_BTS_3.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Km_BTS_3', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Bez_Strecke_BTS_1': + obj_ = TCBez_Strecke_BTS_1.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Bez_Strecke_BTS_1 = obj_ + obj_.original_tagname_ = 'Bez_Strecke_BTS_1' + elif nodeName_ == 'Bez_Strecke_BTS_2': + obj_ = TCBez_Strecke_BTS_2.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Bez_Strecke_BTS_2 = obj_ + obj_.original_tagname_ = 'Bez_Strecke_BTS_2' + elif nodeName_ == 'Bez_Strecke_BTS_3': + obj_ = TCBez_Strecke_BTS_3.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Bez_Strecke_BTS_3 = obj_ + obj_.original_tagname_ = 'Bez_Strecke_BTS_3' + elif nodeName_ == 'Km_BTS_1': + obj_ = TCKm_BTS_1.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Km_BTS_1 = obj_ + obj_.original_tagname_ = 'Km_BTS_1' + elif nodeName_ == 'Km_BTS_2': + obj_ = TCKm_BTS_2.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Km_BTS_2 = obj_ + obj_.original_tagname_ = 'Km_BTS_2' + elif nodeName_ == 'Km_BTS_3': + obj_ = TCKm_BTS_3.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Km_BTS_3 = obj_ + obj_.original_tagname_ = 'Km_BTS_3' +# end class CBgrenze_RBC_Wechsel_BTS_Kette + + +class TCLfd_Nr_Am_Bezugspunkt(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCLfd_Nr_Am_Bezugspunkt"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TLfd_Nr_Am_Bezugspunkt(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCLfd_Nr_Am_Bezugspunkt) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCLfd_Nr_Am_Bezugspunkt.subclass: + return TCLfd_Nr_Am_Bezugspunkt.subclass(*args_, **kwargs_) + else: + return TCLfd_Nr_Am_Bezugspunkt(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TLfd_Nr_Am_Bezugspunkt(self, value): + result = True + # Validate type TLfd_Nr_Am_Bezugspunkt, a restriction on xs:integer. + 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 + pass + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCLfd_Nr_Am_Bezugspunkt, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCLfd_Nr_Am_Bezugspunkt', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCLfd_Nr_Am_Bezugspunkt') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCLfd_Nr_Am_Bezugspunkt': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCLfd_Nr_Am_Bezugspunkt') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCLfd_Nr_Am_Bezugspunkt', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCLfd_Nr_Am_Bezugspunkt'): + super(TCLfd_Nr_Am_Bezugspunkt, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCLfd_Nr_Am_Bezugspunkt') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCLfd_Nr_Am_Bezugspunkt', fromsubclass_=False, pretty_print=True): + super(TCLfd_Nr_Am_Bezugspunkt, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_integer(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCLfd_Nr_Am_Bezugspunkt, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + ival_ = self.gds_parse_integer(sval_, node, 'Wert') + ival_ = self.gds_validate_integer(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + # validate type TLfd_Nr_Am_Bezugspunkt + self.validate_TLfd_Nr_Am_Bezugspunkt(self.Wert) + super(TCLfd_Nr_Am_Bezugspunkt, self)._buildChildren(child_, node, nodeName_, True) +# end class TCLfd_Nr_Am_Bezugspunkt + + +class TCDatenpunkt_Beschreibung(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCDatenpunkt_Beschreibung"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TDatenpunkt_Beschreibung(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCDatenpunkt_Beschreibung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCDatenpunkt_Beschreibung.subclass: + return TCDatenpunkt_Beschreibung.subclass(*args_, **kwargs_) + else: + return TCDatenpunkt_Beschreibung(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TDatenpunkt_Beschreibung(self, value): + result = True + # Validate type TDatenpunkt_Beschreibung, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TDatenpunkt_Beschreibung_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TDatenpunkt_Beschreibung_patterns_, )) + result = False + return result + validate_TDatenpunkt_Beschreibung_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCDatenpunkt_Beschreibung, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCDatenpunkt_Beschreibung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCDatenpunkt_Beschreibung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCDatenpunkt_Beschreibung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCDatenpunkt_Beschreibung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCDatenpunkt_Beschreibung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='TCDatenpunkt_Beschreibung'): + super(TCDatenpunkt_Beschreibung, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCDatenpunkt_Beschreibung') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='TCDatenpunkt_Beschreibung', fromsubclass_=False, pretty_print=True): + super(TCDatenpunkt_Beschreibung, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCDatenpunkt_Beschreibung, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TDatenpunkt_Beschreibung + self.validate_TDatenpunkt_Beschreibung(self.Wert) + super(TCDatenpunkt_Beschreibung, self)._buildChildren(child_, node, nodeName_, True) +# end class TCDatenpunkt_Beschreibung + + +class TCBahnsteig_Zugang_Art(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCBahnsteig_Zugang_Art"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMBahnsteig_Zugang_Art(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCBahnsteig_Zugang_Art) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCBahnsteig_Zugang_Art.subclass: + return TCBahnsteig_Zugang_Art.subclass(*args_, **kwargs_) + else: + return TCBahnsteig_Zugang_Art(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMBahnsteig_Zugang_Art(self, value): + result = True + # Validate type ENUMBahnsteig_Zugang_Art, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['Aufzug', 'Empfangsgebäude', 'Rampe', 'sonstige', 'Treppe', 'tResi', 'Weg'] + 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 ENUMBahnsteig_Zugang_Art' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCBahnsteig_Zugang_Art, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBahnsteig:', namespacedef_='xmlns:nsBahnsteig="http://www.plan-pro.org/modell/Bahnsteig/1.10.0"', name_='TCBahnsteig_Zugang_Art', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCBahnsteig_Zugang_Art') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCBahnsteig_Zugang_Art': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBahnsteig_Zugang_Art') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCBahnsteig_Zugang_Art', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBahnsteig:', name_='TCBahnsteig_Zugang_Art'): + super(TCBahnsteig_Zugang_Art, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBahnsteig_Zugang_Art') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBahnsteig:', namespacedef_='xmlns:nsBahnsteig="http://www.plan-pro.org/modell/Bahnsteig/1.10.0"', name_='TCBahnsteig_Zugang_Art', fromsubclass_=False, pretty_print=True): + super(TCBahnsteig_Zugang_Art, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCBahnsteig_Zugang_Art, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMBahnsteig_Zugang_Art + self.validate_ENUMBahnsteig_Zugang_Art(self.Wert) + super(TCBahnsteig_Zugang_Art, self)._buildChildren(child_, node, nodeName_, True) +# end class TCBahnsteig_Zugang_Art + + +class CBahnsteig_Zugang_Allg(GeneratedsSuper): + """Bahnsteig_Zugang_Art -- Art des Zugangs zum Bahnsteig. Das Attribut dient nur dazu, im INA-Erhebungsbogen die Zug + ä + nge zum Bahnsteig grob zu unterscheiden. DB-Regelwerk Eintrag im INA-Erhebungsbogen + Hauptzugang -- Angabe, ob der Bahnsteig Zugang ein Hauptzugang ist (true) oder noicht (false). Die Angabe ist f + ü + r die INA-Berechnung relevant. Je Bahnsteig Anlage darf nur ein Hauptzugang bestimmt werden. DB-Regelwerk Eintrag im INA-Erhebungsbogen + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Bahnsteig_Zugang_Art=None, Hauptzugang=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Bahnsteig_Zugang_Art = Bahnsteig_Zugang_Art + self.Bahnsteig_Zugang_Art_nsprefix_ = None + self.Hauptzugang = Hauptzugang + self.Hauptzugang_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CBahnsteig_Zugang_Allg) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CBahnsteig_Zugang_Allg.subclass: + return CBahnsteig_Zugang_Allg.subclass(*args_, **kwargs_) + else: + return CBahnsteig_Zugang_Allg(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Bahnsteig_Zugang_Art(self): + return self.Bahnsteig_Zugang_Art + def set_Bahnsteig_Zugang_Art(self, Bahnsteig_Zugang_Art): + self.Bahnsteig_Zugang_Art = Bahnsteig_Zugang_Art + def get_Hauptzugang(self): + return self.Hauptzugang + def set_Hauptzugang(self, Hauptzugang): + self.Hauptzugang = Hauptzugang + def has__content(self): + if ( + self.Bahnsteig_Zugang_Art is not None or + self.Hauptzugang is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBahnsteig:', namespacedef_='xmlns:nsBahnsteig="http://www.plan-pro.org/modell/Bahnsteig/1.10.0"', name_='CBahnsteig_Zugang_Allg', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CBahnsteig_Zugang_Allg') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CBahnsteig_Zugang_Allg': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CBahnsteig_Zugang_Allg') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CBahnsteig_Zugang_Allg', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBahnsteig:', name_='CBahnsteig_Zugang_Allg'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsBahnsteig:', namespacedef_='xmlns:nsBahnsteig="http://www.plan-pro.org/modell/Bahnsteig/1.10.0"', name_='CBahnsteig_Zugang_Allg', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Bahnsteig_Zugang_Art is not None: + namespaceprefix_ = self.Bahnsteig_Zugang_Art_nsprefix_ + ':' if (UseCapturedNS_ and self.Bahnsteig_Zugang_Art_nsprefix_) else '' + self.Bahnsteig_Zugang_Art.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Bahnsteig_Zugang_Art', pretty_print=pretty_print) + if self.Hauptzugang is not None: + namespaceprefix_ = self.Hauptzugang_nsprefix_ + ':' if (UseCapturedNS_ and self.Hauptzugang_nsprefix_) else '' + self.Hauptzugang.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Hauptzugang', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Bahnsteig_Zugang_Art': + obj_ = TCBahnsteig_Zugang_Art.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Bahnsteig_Zugang_Art = obj_ + obj_.original_tagname_ = 'Bahnsteig_Zugang_Art' + elif nodeName_ == 'Hauptzugang': + obj_ = TCHauptzugang.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Hauptzugang = obj_ + obj_.original_tagname_ = 'Hauptzugang' +# end class CBahnsteig_Zugang_Allg + + +class TCSystemhoehe(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCSystemhoehe"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMSystemhoehe(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCSystemhoehe) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCSystemhoehe.subclass: + return TCSystemhoehe.subclass(*args_, **kwargs_) + else: + return TCSystemhoehe(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMSystemhoehe(self, value): + result = True + # Validate type ENUMSystemhoehe, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['38_cm', '55_cm', '76_cm', '96_cm', 'sonstige'] + 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 ENUMSystemhoehe' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCSystemhoehe, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBahnsteig:', namespacedef_='xmlns:nsBahnsteig="http://www.plan-pro.org/modell/Bahnsteig/1.10.0"', name_='TCSystemhoehe', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCSystemhoehe') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCSystemhoehe': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCSystemhoehe') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCSystemhoehe', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBahnsteig:', name_='TCSystemhoehe'): + super(TCSystemhoehe, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCSystemhoehe') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBahnsteig:', namespacedef_='xmlns:nsBahnsteig="http://www.plan-pro.org/modell/Bahnsteig/1.10.0"', name_='TCSystemhoehe', fromsubclass_=False, pretty_print=True): + super(TCSystemhoehe, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCSystemhoehe, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMSystemhoehe + self.validate_ENUMSystemhoehe(self.Wert) + super(TCSystemhoehe, self)._buildChildren(child_, node, nodeName_, True) +# end class TCSystemhoehe + + +class TCHauptzugang(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCHauptzugang"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_THauptzugang(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCHauptzugang) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCHauptzugang.subclass: + return TCHauptzugang.subclass(*args_, **kwargs_) + else: + return TCHauptzugang(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_THauptzugang(self, value): + result = True + # Validate type THauptzugang, a restriction on xs:boolean. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + pass + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCHauptzugang, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBahnsteig:', namespacedef_='xmlns:nsBahnsteig="http://www.plan-pro.org/modell/Bahnsteig/1.10.0"', name_='TCHauptzugang', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCHauptzugang') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCHauptzugang': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCHauptzugang') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCHauptzugang', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBahnsteig:', name_='TCHauptzugang'): + super(TCHauptzugang, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCHauptzugang') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBahnsteig:', namespacedef_='xmlns:nsBahnsteig="http://www.plan-pro.org/modell/Bahnsteig/1.10.0"', name_='TCHauptzugang', fromsubclass_=False, pretty_print=True): + super(TCHauptzugang, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_boolean(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCHauptzugang, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + sval_ = child_.text + ival_ = self.gds_parse_boolean(sval_, node, 'Wert') + ival_ = self.gds_validate_boolean(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + # validate type THauptzugang + self.validate_THauptzugang(self.Wert) + super(TCHauptzugang, self)._buildChildren(child_, node, nodeName_, True) +# end class TCHauptzugang + + +class TCBezeichnung_Bahnsteig_Anlage(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCBezeichnung_Bahnsteig_Anlage"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TBezeichnung_Bahnsteig_Anlage(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCBezeichnung_Bahnsteig_Anlage) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCBezeichnung_Bahnsteig_Anlage.subclass: + return TCBezeichnung_Bahnsteig_Anlage.subclass(*args_, **kwargs_) + else: + return TCBezeichnung_Bahnsteig_Anlage(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TBezeichnung_Bahnsteig_Anlage(self, value): + result = True + # Validate type TBezeichnung_Bahnsteig_Anlage, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TBezeichnung_Bahnsteig_Anlage_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TBezeichnung_Bahnsteig_Anlage_patterns_, )) + result = False + return result + validate_TBezeichnung_Bahnsteig_Anlage_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCBezeichnung_Bahnsteig_Anlage, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBahnsteig:', namespacedef_='xmlns:nsBahnsteig="http://www.plan-pro.org/modell/Bahnsteig/1.10.0"', name_='TCBezeichnung_Bahnsteig_Anlage', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCBezeichnung_Bahnsteig_Anlage') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCBezeichnung_Bahnsteig_Anlage': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBezeichnung_Bahnsteig_Anlage') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCBezeichnung_Bahnsteig_Anlage', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBahnsteig:', name_='TCBezeichnung_Bahnsteig_Anlage'): + super(TCBezeichnung_Bahnsteig_Anlage, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBezeichnung_Bahnsteig_Anlage') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBahnsteig:', namespacedef_='xmlns:nsBahnsteig="http://www.plan-pro.org/modell/Bahnsteig/1.10.0"', name_='TCBezeichnung_Bahnsteig_Anlage', fromsubclass_=False, pretty_print=True): + super(TCBezeichnung_Bahnsteig_Anlage, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCBezeichnung_Bahnsteig_Anlage, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TBezeichnung_Bahnsteig_Anlage + self.validate_TBezeichnung_Bahnsteig_Anlage(self.Wert) + super(TCBezeichnung_Bahnsteig_Anlage, self)._buildChildren(child_, node, nodeName_, True) +# end class TCBezeichnung_Bahnsteig_Anlage + + +class TCLage_Zum_Gleis(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCLage_Zum_Gleis"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TLage_Zum_Gleis(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCLage_Zum_Gleis) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCLage_Zum_Gleis.subclass: + return TCLage_Zum_Gleis.subclass(*args_, **kwargs_) + else: + return TCLage_Zum_Gleis(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TLage_Zum_Gleis(self, value): + result = True + # Validate type TLage_Zum_Gleis, a restriction on nsBasisTypen:TLinksRechts. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['links', 'rechts'] + 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 TLage_Zum_Gleis' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCLage_Zum_Gleis, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBahnsteig:', namespacedef_='xmlns:nsBahnsteig="http://www.plan-pro.org/modell/Bahnsteig/1.10.0"', name_='TCLage_Zum_Gleis', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCLage_Zum_Gleis') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCLage_Zum_Gleis': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCLage_Zum_Gleis') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCLage_Zum_Gleis', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBahnsteig:', name_='TCLage_Zum_Gleis'): + super(TCLage_Zum_Gleis, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCLage_Zum_Gleis') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBahnsteig:', namespacedef_='xmlns:nsBahnsteig="http://www.plan-pro.org/modell/Bahnsteig/1.10.0"', name_='TCLage_Zum_Gleis', fromsubclass_=False, pretty_print=True): + super(TCLage_Zum_Gleis, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCLage_Zum_Gleis, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TLage_Zum_Gleis + self.validate_TLage_Zum_Gleis(self.Wert) + super(TCLage_Zum_Gleis, self)._buildChildren(child_, node, nodeName_, True) +# end class TCLage_Zum_Gleis + + +class TCBezeichnung_Bahnsteig_Kante(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCBezeichnung_Bahnsteig_Kante"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TBezeichnung_Bahnsteig_Kante(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCBezeichnung_Bahnsteig_Kante) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCBezeichnung_Bahnsteig_Kante.subclass: + return TCBezeichnung_Bahnsteig_Kante.subclass(*args_, **kwargs_) + else: + return TCBezeichnung_Bahnsteig_Kante(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TBezeichnung_Bahnsteig_Kante(self, value): + result = True + # Validate type TBezeichnung_Bahnsteig_Kante, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TBezeichnung_Bahnsteig_Kante_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TBezeichnung_Bahnsteig_Kante_patterns_, )) + result = False + return result + validate_TBezeichnung_Bahnsteig_Kante_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCBezeichnung_Bahnsteig_Kante, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBahnsteig:', namespacedef_='xmlns:nsBahnsteig="http://www.plan-pro.org/modell/Bahnsteig/1.10.0"', name_='TCBezeichnung_Bahnsteig_Kante', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCBezeichnung_Bahnsteig_Kante') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCBezeichnung_Bahnsteig_Kante': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBezeichnung_Bahnsteig_Kante') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCBezeichnung_Bahnsteig_Kante', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBahnsteig:', name_='TCBezeichnung_Bahnsteig_Kante'): + super(TCBezeichnung_Bahnsteig_Kante, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBezeichnung_Bahnsteig_Kante') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBahnsteig:', namespacedef_='xmlns:nsBahnsteig="http://www.plan-pro.org/modell/Bahnsteig/1.10.0"', name_='TCBezeichnung_Bahnsteig_Kante', fromsubclass_=False, pretty_print=True): + super(TCBezeichnung_Bahnsteig_Kante, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCBezeichnung_Bahnsteig_Kante, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TBezeichnung_Bahnsteig_Kante + self.validate_TBezeichnung_Bahnsteig_Kante(self.Wert) + super(TCBezeichnung_Bahnsteig_Kante, self)._buildChildren(child_, node, nodeName_, True) +# end class TCBezeichnung_Bahnsteig_Kante + + +class CBahnsteig_Anlage_Bezeichnung(GeneratedsSuper): + """Bezeichnung_Bahnsteig_Anlage -- Bezeichnung der Bahnsteig_Anlage. Die Bezeichnung des Bahnsteigs muss nicht vergeben werden. Meist setzt sie sich aus dem Namen der beteiligten Bahnsteigkanten (z. B. \"Bahnsteig 3/4\") zusammen, gelegentlich kann sie aber auch einen eigenen Namen bekommen (z. B. \"Bahnsteig A\" mit den Gleisen 102 und 103). Die folgende Grafik zeigt beispielhaft die Bezeichnung eines Mitelbahnsteigs mit anschlie + ß + endem Zungenbahnsteig (zwei Bahnsteig-Anlagen mit jeweils zwei Bahnsteig-Kanten). + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Bezeichnung_Bahnsteig_Anlage=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Bezeichnung_Bahnsteig_Anlage = Bezeichnung_Bahnsteig_Anlage + self.Bezeichnung_Bahnsteig_Anlage_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CBahnsteig_Anlage_Bezeichnung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CBahnsteig_Anlage_Bezeichnung.subclass: + return CBahnsteig_Anlage_Bezeichnung.subclass(*args_, **kwargs_) + else: + return CBahnsteig_Anlage_Bezeichnung(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Bezeichnung_Bahnsteig_Anlage(self): + return self.Bezeichnung_Bahnsteig_Anlage + def set_Bezeichnung_Bahnsteig_Anlage(self, Bezeichnung_Bahnsteig_Anlage): + self.Bezeichnung_Bahnsteig_Anlage = Bezeichnung_Bahnsteig_Anlage + def has__content(self): + if ( + self.Bezeichnung_Bahnsteig_Anlage is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBahnsteig:', namespacedef_='xmlns:nsBahnsteig="http://www.plan-pro.org/modell/Bahnsteig/1.10.0"', name_='CBahnsteig_Anlage_Bezeichnung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CBahnsteig_Anlage_Bezeichnung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CBahnsteig_Anlage_Bezeichnung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CBahnsteig_Anlage_Bezeichnung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CBahnsteig_Anlage_Bezeichnung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBahnsteig:', name_='CBahnsteig_Anlage_Bezeichnung'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsBahnsteig:', namespacedef_='xmlns:nsBahnsteig="http://www.plan-pro.org/modell/Bahnsteig/1.10.0"', name_='CBahnsteig_Anlage_Bezeichnung', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Bezeichnung_Bahnsteig_Anlage is not None: + namespaceprefix_ = self.Bezeichnung_Bahnsteig_Anlage_nsprefix_ + ':' if (UseCapturedNS_ and self.Bezeichnung_Bahnsteig_Anlage_nsprefix_) else '' + self.Bezeichnung_Bahnsteig_Anlage.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Bezeichnung_Bahnsteig_Anlage', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Bezeichnung_Bahnsteig_Anlage': + obj_ = TCBezeichnung_Bahnsteig_Anlage.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Bezeichnung_Bahnsteig_Anlage = obj_ + obj_.original_tagname_ = 'Bezeichnung_Bahnsteig_Anlage' +# end class CBahnsteig_Anlage_Bezeichnung + + +class CBahnsteig_Kante_Allg(GeneratedsSuper): + """Lage_Zum_Gleis -- Lage der Bahnsteig Kante zur Gleisachse bezogen auf die Richtung des Bereich Objekt. Siehe auch Modellierung Richtung. DB-Regelwerk Darstellung im sicherungstechnischen Lageplan + Systemhoehe -- H + ö + he der Bahnsteigoberkante am Gleis, gemessen ab Schienenoberkante. Bahnsteige werden in folgenden Systemh + ö + hen (in cm) errichtet: 38 cm: niedrigste zul + ä + ssige H + ö + he; 55 cm: Zwischenh + ö + he; 76 cm: Regelh + ö + he; 96 cm: gr + ö + ß + te zul + ä + ssige H + ö + he (nur f + ü + r ausschlie + ß + lich daf + ü + r vorgesehene S-Bahnfahrzeuge); Sonderhoehe: Abweichende H + ö + hen sind m + ö + glich, vor allem + ä + ltere Bahnsteigkanten k + ö + nnen auch andere H + ö + hen aufweisen. Bei Bahnsteigkanten mit mehreren H + ö + hen wird die H + ö + he angegeben, an der der Schwerpunkt des Reisendenzustiegs liegt. DB-Regelwerk Bestandteil der betrieblichen Aufgabenstellung, ggf. Erw + ä + hnung im Erl + ä + uterungsbericht + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Lage_Zum_Gleis=None, Systemhoehe=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Lage_Zum_Gleis = Lage_Zum_Gleis + self.Lage_Zum_Gleis_nsprefix_ = None + self.Systemhoehe = Systemhoehe + self.Systemhoehe_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CBahnsteig_Kante_Allg) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CBahnsteig_Kante_Allg.subclass: + return CBahnsteig_Kante_Allg.subclass(*args_, **kwargs_) + else: + return CBahnsteig_Kante_Allg(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Lage_Zum_Gleis(self): + return self.Lage_Zum_Gleis + def set_Lage_Zum_Gleis(self, Lage_Zum_Gleis): + self.Lage_Zum_Gleis = Lage_Zum_Gleis + def get_Systemhoehe(self): + return self.Systemhoehe + def set_Systemhoehe(self, Systemhoehe): + self.Systemhoehe = Systemhoehe + def has__content(self): + if ( + self.Lage_Zum_Gleis is not None or + self.Systemhoehe is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBahnsteig:', namespacedef_='xmlns:nsBahnsteig="http://www.plan-pro.org/modell/Bahnsteig/1.10.0"', name_='CBahnsteig_Kante_Allg', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CBahnsteig_Kante_Allg') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CBahnsteig_Kante_Allg': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CBahnsteig_Kante_Allg') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CBahnsteig_Kante_Allg', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBahnsteig:', name_='CBahnsteig_Kante_Allg'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsBahnsteig:', namespacedef_='xmlns:nsBahnsteig="http://www.plan-pro.org/modell/Bahnsteig/1.10.0"', name_='CBahnsteig_Kante_Allg', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Lage_Zum_Gleis is not None: + namespaceprefix_ = self.Lage_Zum_Gleis_nsprefix_ + ':' if (UseCapturedNS_ and self.Lage_Zum_Gleis_nsprefix_) else '' + self.Lage_Zum_Gleis.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Lage_Zum_Gleis', pretty_print=pretty_print) + if self.Systemhoehe is not None: + namespaceprefix_ = self.Systemhoehe_nsprefix_ + ':' if (UseCapturedNS_ and self.Systemhoehe_nsprefix_) else '' + self.Systemhoehe.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Systemhoehe', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Lage_Zum_Gleis': + obj_ = TCLage_Zum_Gleis.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Lage_Zum_Gleis = obj_ + obj_.original_tagname_ = 'Lage_Zum_Gleis' + elif nodeName_ == 'Systemhoehe': + obj_ = TCSystemhoehe.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Systemhoehe = obj_ + obj_.original_tagname_ = 'Systemhoehe' +# end class CBahnsteig_Kante_Allg + + +class CBahnsteig_Kante_Bezeichnung(GeneratedsSuper): + """Bezeichnung_Bahnsteig_Kante -- Bezeichnung der Bahnsteig Kante. Die Bezeichnung der Bahnsteigkante ist f + ü + r die LST-Planung relevant und muss vergeben werden. In verkehrlichen Unterlagen wird der Name unter \"Gleis\" bekanntgegeben, worauf im Datenmodell verzichtet wird, da hier \"Gleis\" im betrieblichen Sinne verwendet wird. Bezeichnungsbeispiel siehe Bezeichnung Bahnsteig Anlage. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Bezeichnung_Bahnsteig_Kante=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Bezeichnung_Bahnsteig_Kante = Bezeichnung_Bahnsteig_Kante + self.Bezeichnung_Bahnsteig_Kante_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CBahnsteig_Kante_Bezeichnung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CBahnsteig_Kante_Bezeichnung.subclass: + return CBahnsteig_Kante_Bezeichnung.subclass(*args_, **kwargs_) + else: + return CBahnsteig_Kante_Bezeichnung(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Bezeichnung_Bahnsteig_Kante(self): + return self.Bezeichnung_Bahnsteig_Kante + def set_Bezeichnung_Bahnsteig_Kante(self, Bezeichnung_Bahnsteig_Kante): + self.Bezeichnung_Bahnsteig_Kante = Bezeichnung_Bahnsteig_Kante + def has__content(self): + if ( + self.Bezeichnung_Bahnsteig_Kante is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBahnsteig:', namespacedef_='xmlns:nsBahnsteig="http://www.plan-pro.org/modell/Bahnsteig/1.10.0"', name_='CBahnsteig_Kante_Bezeichnung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CBahnsteig_Kante_Bezeichnung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CBahnsteig_Kante_Bezeichnung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CBahnsteig_Kante_Bezeichnung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CBahnsteig_Kante_Bezeichnung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBahnsteig:', name_='CBahnsteig_Kante_Bezeichnung'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsBahnsteig:', namespacedef_='xmlns:nsBahnsteig="http://www.plan-pro.org/modell/Bahnsteig/1.10.0"', name_='CBahnsteig_Kante_Bezeichnung', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Bezeichnung_Bahnsteig_Kante is not None: + namespaceprefix_ = self.Bezeichnung_Bahnsteig_Kante_nsprefix_ + ':' if (UseCapturedNS_ and self.Bezeichnung_Bahnsteig_Kante_nsprefix_) else '' + self.Bezeichnung_Bahnsteig_Kante.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Bezeichnung_Bahnsteig_Kante', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Bezeichnung_Bahnsteig_Kante': + obj_ = TCBezeichnung_Bahnsteig_Kante.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Bezeichnung_Bahnsteig_Kante = obj_ + obj_.original_tagname_ = 'Bezeichnung_Bahnsteig_Kante' +# end class CBahnsteig_Kante_Bezeichnung + + +class CBahnsteig_Anlage(CBasis_Objekt): + """CBahnsteig_Anlage -- Parallel zum Gleis gelegenes Element des Tiefbaus mit befestigter Oberfl + ä + che zum Zwecke des Zugangs der Reisenden von bzw. zu den Z + ü + gen. Ein Bahnsteig kann eine oder mehrere Bahnsteigkanten besitzen. Mehr als zwei Bahnsteigkanten k + ö + nnen dazugeh + ö + ren, wenn z. B. an einen Mittelbahnsteig noch ein Zungenbahnsteig anschlie + ß + t. DB-Regelwerk Ril 813.0201 + Bezeichnung -- Attributgruppe zur Bezeichnung von Stell- und sonstigen Elementen. Sofern ausreichend, wird an dieser Stelle + ü + ber Vererbung die Basisattributgruppe Bezeichnung Element eingebunden. Ist die Abbildung mit den Attributen der Basisattributgruppe nicht m + ö + glich (z. B. wegen spezieller Patternvorgabe) oder nicht sinnvoll (z. B. weil eine Unterscheidung nach Bezeichnung_Lageplan_..., Bezeichnung_Tabelle und Bezeichnung_Aussenanlage (Pflichtattribute!) nicht notwendig ist), werden in der Attributgruppe Bezeichnung entsprechende objektspezifische Bezeichnungsattribute modelliert. Diese sind nach dem Schema Bezeichnung_[Objektname] zu benennen. Zudem ist es m + ö + glich, gleichzeitig die Basisattributgruppe Bezeichnung Element und objektspezifische Attribute einzubinden. Siehe auch Bildung der Bezeichnungen. DB-Regelwerk Sicherungstechnischer Lage- und + Ü + bersichtsplan, B + Ü + -Lageplan Planungstabellen + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasis_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, Bezeichnung=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CBahnsteig_Anlage"), self).__init__(Identitaet, Basis_Objekt_Allg, ID_Bearbeitungsvermerk, ID_Oertlichkeit_Ausgabe, Objektreferenzen, **kwargs_) + self.Bezeichnung = Bezeichnung + self.Bezeichnung_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CBahnsteig_Anlage) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CBahnsteig_Anlage.subclass: + return CBahnsteig_Anlage.subclass(*args_, **kwargs_) + else: + return CBahnsteig_Anlage(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Bezeichnung(self): + return self.Bezeichnung + def set_Bezeichnung(self, Bezeichnung): + self.Bezeichnung = Bezeichnung + def has__content(self): + if ( + self.Bezeichnung is not None or + super(CBahnsteig_Anlage, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBahnsteig:', namespacedef_='xmlns:nsBahnsteig="http://www.plan-pro.org/modell/Bahnsteig/1.10.0"', name_='CBahnsteig_Anlage', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CBahnsteig_Anlage') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CBahnsteig_Anlage': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CBahnsteig_Anlage') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CBahnsteig_Anlage', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBahnsteig:', name_='CBahnsteig_Anlage'): + super(CBahnsteig_Anlage, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CBahnsteig_Anlage') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBahnsteig:', namespacedef_='xmlns:nsBahnsteig="http://www.plan-pro.org/modell/Bahnsteig/1.10.0"', name_='CBahnsteig_Anlage', fromsubclass_=False, pretty_print=True): + super(CBahnsteig_Anlage, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Bezeichnung is not None: + namespaceprefix_ = self.Bezeichnung_nsprefix_ + ':' if (UseCapturedNS_ and self.Bezeichnung_nsprefix_) else '' + self.Bezeichnung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Bezeichnung', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CBahnsteig_Anlage, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Bezeichnung': + obj_ = CBahnsteig_Anlage_Bezeichnung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Bezeichnung = obj_ + obj_.original_tagname_ = 'Bezeichnung' + super(CBahnsteig_Anlage, self)._buildChildren(child_, node, nodeName_, True) +# end class CBahnsteig_Anlage + + +class TCZusatzinformation_Stellwerk(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCZusatzinformation_Stellwerk"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TZusatzinformation_Stellwerk(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCZusatzinformation_Stellwerk) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCZusatzinformation_Stellwerk.subclass: + return TCZusatzinformation_Stellwerk.subclass(*args_, **kwargs_) + else: + return TCZusatzinformation_Stellwerk(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TZusatzinformation_Stellwerk(self, value): + result = True + # Validate type TZusatzinformation_Stellwerk, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TZusatzinformation_Stellwerk_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TZusatzinformation_Stellwerk_patterns_, )) + result = False + return result + validate_TZusatzinformation_Stellwerk_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCZusatzinformation_Stellwerk, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsAnsteuerung_Element:', namespacedef_='xmlns:nsAnsteuerung_Element="http://www.plan-pro.org/modell/Ansteuerung_Element/1.10.0"', name_='TCZusatzinformation_Stellwerk', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCZusatzinformation_Stellwerk') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCZusatzinformation_Stellwerk': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCZusatzinformation_Stellwerk') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCZusatzinformation_Stellwerk', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsAnsteuerung_Element:', name_='TCZusatzinformation_Stellwerk'): + super(TCZusatzinformation_Stellwerk, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCZusatzinformation_Stellwerk') + def _exportChildren(self, outfile, level, namespaceprefix_='nsAnsteuerung_Element:', namespacedef_='xmlns:nsAnsteuerung_Element="http://www.plan-pro.org/modell/Ansteuerung_Element/1.10.0"', name_='TCZusatzinformation_Stellwerk', fromsubclass_=False, pretty_print=True): + super(TCZusatzinformation_Stellwerk, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCZusatzinformation_Stellwerk, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TZusatzinformation_Stellwerk + self.validate_TZusatzinformation_Stellwerk(self.Wert) + super(TCZusatzinformation_Stellwerk, self)._buildChildren(child_, node, nodeName_, True) +# end class TCZusatzinformation_Stellwerk + + +class TCGFK_Kategorie(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCGFK_Kategorie"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMGFK_Kategorie(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCGFK_Kategorie) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCGFK_Kategorie.subclass: + return TCGFK_Kategorie.subclass(*args_, **kwargs_) + else: + return TCGFK_Kategorie(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMGFK_Kategorie(self, value): + result = True + # Validate type ENUMGFK_Kategorie, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['gross', 'klein', 'mittel'] + 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 ENUMGFK_Kategorie' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCGFK_Kategorie, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsAnsteuerung_Element:', namespacedef_='xmlns:nsAnsteuerung_Element="http://www.plan-pro.org/modell/Ansteuerung_Element/1.10.0"', name_='TCGFK_Kategorie', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCGFK_Kategorie') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCGFK_Kategorie': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCGFK_Kategorie') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCGFK_Kategorie', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsAnsteuerung_Element:', name_='TCGFK_Kategorie'): + super(TCGFK_Kategorie, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCGFK_Kategorie') + def _exportChildren(self, outfile, level, namespaceprefix_='nsAnsteuerung_Element:', namespacedef_='xmlns:nsAnsteuerung_Element="http://www.plan-pro.org/modell/Ansteuerung_Element/1.10.0"', name_='TCGFK_Kategorie', fromsubclass_=False, pretty_print=True): + super(TCGFK_Kategorie, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCGFK_Kategorie, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMGFK_Kategorie + self.validate_ENUMGFK_Kategorie(self.Wert) + super(TCGFK_Kategorie, self)._buildChildren(child_, node, nodeName_, True) +# end class TCGFK_Kategorie + + +class TCBandbreite(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCBandbreite"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMBandbreite(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCBandbreite) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCBandbreite.subclass: + return TCBandbreite.subclass(*args_, **kwargs_) + else: + return TCBandbreite(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMBandbreite(self, value): + result = True + # Validate type ENUMBandbreite, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['100Mbit_s', '10Mbit_s', '2Mbit_s', '64kbit_s', 'sonstige'] + 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 ENUMBandbreite' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCBandbreite, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsAnsteuerung_Element:', namespacedef_='xmlns:nsAnsteuerung_Element="http://www.plan-pro.org/modell/Ansteuerung_Element/1.10.0"', name_='TCBandbreite', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCBandbreite') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCBandbreite': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBandbreite') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCBandbreite', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsAnsteuerung_Element:', name_='TCBandbreite'): + super(TCBandbreite, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBandbreite') + def _exportChildren(self, outfile, level, namespaceprefix_='nsAnsteuerung_Element:', namespacedef_='xmlns:nsAnsteuerung_Element="http://www.plan-pro.org/modell/Ansteuerung_Element/1.10.0"', name_='TCBandbreite', fromsubclass_=False, pretty_print=True): + super(TCBandbreite, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCBandbreite, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMBandbreite + self.validate_ENUMBandbreite(self.Wert) + super(TCBandbreite, self)._buildChildren(child_, node, nodeName_, True) +# end class TCBandbreite + + +class CUebertragungsweg_Technik(GeneratedsSuper): + """Bandbreite -- Beschreibt die n + ö + tige Bandbreite des + Ü + bertragungsweges. Beispiel: 2Mbit_s bei UZ-BZ-Verbindung. + Medium_Art -- Beschreibt den + Ü + bergabepunkt des + Ü + bertragungsweges in dessen physikalischer Auspr + ä + gung. Beispiel: ADO8-Dose bei ZBS-Verbindung, RJ45-Port bei UZ-BZ-Verbindung. + Netz_Art -- Beschreibt die Art des + Ü + bertragungsnetzes, ggf. auch die Anforderungen. Beispiel: geschlossenes Netz oder offenes Netz bei der ZBS-Verbindung. + Technik_Art -- Technische Auspr + ä + gung der physikalischen Schnittstelle. Beispiel: G.703, Ethernet oder LWL_Faser. + Technik_Beschreibung -- Beschreibung der technischen Realisierung des + Ü + bertragungsweges in Textform. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Bandbreite=None, Medium_Art=None, Netz_Art=None, Technik_Art=None, Technik_Beschreibung=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Bandbreite = Bandbreite + self.Bandbreite_nsprefix_ = None + self.Medium_Art = Medium_Art + self.Medium_Art_nsprefix_ = None + self.Netz_Art = Netz_Art + self.Netz_Art_nsprefix_ = None + self.Technik_Art = Technik_Art + self.Technik_Art_nsprefix_ = None + self.Technik_Beschreibung = Technik_Beschreibung + self.Technik_Beschreibung_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CUebertragungsweg_Technik) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CUebertragungsweg_Technik.subclass: + return CUebertragungsweg_Technik.subclass(*args_, **kwargs_) + else: + return CUebertragungsweg_Technik(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Bandbreite(self): + return self.Bandbreite + def set_Bandbreite(self, Bandbreite): + self.Bandbreite = Bandbreite + def get_Medium_Art(self): + return self.Medium_Art + def set_Medium_Art(self, Medium_Art): + self.Medium_Art = Medium_Art + def get_Netz_Art(self): + return self.Netz_Art + def set_Netz_Art(self, Netz_Art): + self.Netz_Art = Netz_Art + def get_Technik_Art(self): + return self.Technik_Art + def set_Technik_Art(self, Technik_Art): + self.Technik_Art = Technik_Art + def get_Technik_Beschreibung(self): + return self.Technik_Beschreibung + def set_Technik_Beschreibung(self, Technik_Beschreibung): + self.Technik_Beschreibung = Technik_Beschreibung + def has__content(self): + if ( + self.Bandbreite is not None or + self.Medium_Art is not None or + self.Netz_Art is not None or + self.Technik_Art is not None or + self.Technik_Beschreibung is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsAnsteuerung_Element:', namespacedef_='xmlns:nsAnsteuerung_Element="http://www.plan-pro.org/modell/Ansteuerung_Element/1.10.0"', name_='CUebertragungsweg_Technik', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CUebertragungsweg_Technik') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CUebertragungsweg_Technik': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CUebertragungsweg_Technik') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CUebertragungsweg_Technik', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsAnsteuerung_Element:', name_='CUebertragungsweg_Technik'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsAnsteuerung_Element:', namespacedef_='xmlns:nsAnsteuerung_Element="http://www.plan-pro.org/modell/Ansteuerung_Element/1.10.0"', name_='CUebertragungsweg_Technik', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Bandbreite is not None: + namespaceprefix_ = self.Bandbreite_nsprefix_ + ':' if (UseCapturedNS_ and self.Bandbreite_nsprefix_) else '' + self.Bandbreite.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Bandbreite', pretty_print=pretty_print) + if self.Medium_Art is not None: + namespaceprefix_ = self.Medium_Art_nsprefix_ + ':' if (UseCapturedNS_ and self.Medium_Art_nsprefix_) else '' + self.Medium_Art.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Medium_Art', pretty_print=pretty_print) + if self.Netz_Art is not None: + namespaceprefix_ = self.Netz_Art_nsprefix_ + ':' if (UseCapturedNS_ and self.Netz_Art_nsprefix_) else '' + self.Netz_Art.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Netz_Art', pretty_print=pretty_print) + if self.Technik_Art is not None: + namespaceprefix_ = self.Technik_Art_nsprefix_ + ':' if (UseCapturedNS_ and self.Technik_Art_nsprefix_) else '' + self.Technik_Art.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Technik_Art', pretty_print=pretty_print) + if self.Technik_Beschreibung is not None: + namespaceprefix_ = self.Technik_Beschreibung_nsprefix_ + ':' if (UseCapturedNS_ and self.Technik_Beschreibung_nsprefix_) else '' + self.Technik_Beschreibung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Technik_Beschreibung', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Bandbreite': + obj_ = TCBandbreite.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Bandbreite = obj_ + obj_.original_tagname_ = 'Bandbreite' + elif nodeName_ == 'Medium_Art': + obj_ = TCMedium_Art.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Medium_Art = obj_ + obj_.original_tagname_ = 'Medium_Art' + elif nodeName_ == 'Netz_Art': + obj_ = TCNetz_Art.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Netz_Art = obj_ + obj_.original_tagname_ = 'Netz_Art' + elif nodeName_ == 'Technik_Art': + obj_ = TCTechnik_Art.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Technik_Art = obj_ + obj_.original_tagname_ = 'Technik_Art' + elif nodeName_ == 'Technik_Beschreibung': + obj_ = TCTechnik_Beschreibung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Technik_Beschreibung = obj_ + obj_.original_tagname_ = 'Technik_Beschreibung' +# end class CUebertragungsweg_Technik + + +class TCMedium_Art(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCMedium_Art"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMMedium_Art(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCMedium_Art) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCMedium_Art.subclass: + return TCMedium_Art.subclass(*args_, **kwargs_) + else: + return TCMedium_Art(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMMedium_Art(self, value): + result = True + # Validate type ENUMMedium_Art, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['Kupfer_ADO8', 'Kupfer_KAG', 'Kupfer_LSA_Plus', 'Kupfer_RJ45', 'LWL_DIN', 'LWL_E2000', 'LWL_SC_LC', 'sonstige'] + 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 ENUMMedium_Art' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCMedium_Art, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsAnsteuerung_Element:', namespacedef_='xmlns:nsAnsteuerung_Element="http://www.plan-pro.org/modell/Ansteuerung_Element/1.10.0"', name_='TCMedium_Art', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCMedium_Art') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCMedium_Art': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCMedium_Art') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCMedium_Art', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsAnsteuerung_Element:', name_='TCMedium_Art'): + super(TCMedium_Art, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCMedium_Art') + def _exportChildren(self, outfile, level, namespaceprefix_='nsAnsteuerung_Element:', namespacedef_='xmlns:nsAnsteuerung_Element="http://www.plan-pro.org/modell/Ansteuerung_Element/1.10.0"', name_='TCMedium_Art', fromsubclass_=False, pretty_print=True): + super(TCMedium_Art, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCMedium_Art, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMMedium_Art + self.validate_ENUMMedium_Art(self.Wert) + super(TCMedium_Art, self)._buildChildren(child_, node, nodeName_, True) +# end class TCMedium_Art + + +class CESTW_Zentraleinheit(CBasis_Objekt): + """CESTW_Zentraleinheit -- Zentrale Komponente eines ESTW. Die ESTW-Zentraleinheit (ZE) steuert alle untergeordneten Aussenelementansteuerungen, stellt die Verbindung zu den Bedienbezirken (Notbedienplatz, Steuerbezirk/Zentralbedienung) und zu Nachbar-ESTW-Zentraleinheiten, zur Zuglenkung und zur Zugnummernmeldeanlage her. Die ZE kann ein ESTW-Z oder eine ESTW-UZ sein. Die geografische Grenze einer ZE liegt immer an einem Haupt- oder Sperrsignal (Signal_Real_Aktiv) oder einem Bedienpunkt (Signal_Fiktiv), in der Regel an einem Einfahrsignal. Die von einer Unterzentrale ben + ö + tigten Adressformeln nach Richtlinie 819.0705 werden + ü + ber die Verkn + ü + pfung zu Bedien Bezirk bereitgestellt. DB-Regelwerk Darstellung des ESTW-Geb + ä + udes im sicherungstechnischen Lageplan nach Ril 819.9002, Beschreibung im Erl + ä + uterungsbericht + Bezeichnung -- Attributgruppe zur Bezeichnung von Stell- und sonstigen Elementen. Sofern ausreichend, wird an dieser Stelle + ü + ber Vererbung die Basisattributgruppe Bezeichnung Element eingebunden. Ist die Abbildung mit den Attributen der Basisattributgruppe nicht m + ö + glich (z. B. wegen spezieller Patternvorgabe) oder nicht sinnvoll (z. B. weil eine Unterscheidung nach Bezeichnung_Lageplan_..., Bezeichnung_Tabelle und Bezeichnung_Aussenanlage (Pflichtattribute!) nicht notwendig ist), werden in der Attributgruppe Bezeichnung entsprechende objektspezifische Bezeichnungsattribute modelliert. Diese sind nach dem Schema Bezeichnung_[Objektname] zu benennen. Zudem ist es m + ö + glich, gleichzeitig die Basisattributgruppe Bezeichnung Element und objektspezifische Attribute einzubinden. Siehe auch Bildung der Bezeichnungen. DB-Regelwerk Sicherungstechnischer Lage- und + Ü + bersichtsplan, B + Ü + -Lageplan Planungstabellen + ID_Oertlichkeit_Namensgebend -- Ö + rtlichkeit, die f + ü + r die ESTW-Zentraleinheit namensgebend ist. + ID_Unterbringung -- Verweis auf den physischen Ort der Unterbringung von Aussenelementansteuerung, Bedien Einrichtung Oertlich, Bedien Platz, ESTW Zentraleinheit, PZB Element, Schlosskombination, Schluesselsperre und ZN. F + ü + r das PZB Element wird der Verweis nur f + ü + r eine G + Ü + gef + ü + llt - mit der Bedeutung: G + Ü + -Schaltkasten. F + ü + r die ZN ist der Verweis optional, da im Planungswerkzeug ZN/ZL keine Bef + ü + llung aller der f + ü + r die Unterbringung notwendigen Attribute m + ö + glich ist. DB-Regelwerk Darstellung des Geb + ä + udes, der Bediens + ä + ule bzw. des Schaltkastens im sicherungstechnischen Lageplan nach Ril 819.9002 oder Beschreibung im Erl + ä + uterungsbericht. + ID_Bedien_Bezirk_Virtuell -- Virtuelle bzw. vorbereitende Zuordnung der ESTW Zentraleinheit zu einem Bedien Bezirk. Der Verweis wird gef + ü + llt, sofern ein Stellwerk (noch) nicht in ESTW-Technik realisiert ist bzw. die Zuordnung zum Regionalnetz oder Fern- und Ballungsnetz noch offen ist. Die Zuordnung erfolgt, um jegliche sp + ä + tere Realisierungsform zu erm + ö + glichen und auch die Kennzahlenvergabe sicher zu gestalten. Die Bef + ü + llung ist alternativ zu ID Bedien Bezirk Zentral. DB-Regelwerk Diverse Listen und Erl + ä + uterungsbericht des BZ-PT 1 + ID_Bedien_Bezirk_Zentral -- Verweis auf einen Bedien Bezirk, sofern eine zentrale Bedienung in einer Bedien Zentrale, Regio-BZ oder einem sonstigen Technikstandort stattfindet. Die Bef + ü + llung ist alternativ zum Verweis ID Bedien Bezirk Virtuell. DB-Regelwerk Diverse Listen und Erl + ä + uterungsbericht des BZ-PT 1 + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasis_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, Bezeichnung=None, ESTW_ZE_Energieversorgung=None, ESTW_Zentraleinheit_Allg=None, ID_Oertlichkeit_Namensgebend=None, ID_Unterbringung=None, ID_Bedien_Bezirk_Virtuell=None, ID_Bedien_Bezirk_Zentral=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CESTW_Zentraleinheit"), self).__init__(Identitaet, Basis_Objekt_Allg, ID_Bearbeitungsvermerk, ID_Oertlichkeit_Ausgabe, Objektreferenzen, **kwargs_) + self.Bezeichnung = Bezeichnung + self.Bezeichnung_nsprefix_ = None + self.ESTW_ZE_Energieversorgung = ESTW_ZE_Energieversorgung + self.ESTW_ZE_Energieversorgung_nsprefix_ = None + self.ESTW_Zentraleinheit_Allg = ESTW_Zentraleinheit_Allg + self.ESTW_Zentraleinheit_Allg_nsprefix_ = None + self.ID_Oertlichkeit_Namensgebend = ID_Oertlichkeit_Namensgebend + self.ID_Oertlichkeit_Namensgebend_nsprefix_ = None + self.ID_Unterbringung = ID_Unterbringung + self.ID_Unterbringung_nsprefix_ = None + self.ID_Bedien_Bezirk_Virtuell = ID_Bedien_Bezirk_Virtuell + self.ID_Bedien_Bezirk_Virtuell_nsprefix_ = None + self.ID_Bedien_Bezirk_Zentral = ID_Bedien_Bezirk_Zentral + self.ID_Bedien_Bezirk_Zentral_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CESTW_Zentraleinheit) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CESTW_Zentraleinheit.subclass: + return CESTW_Zentraleinheit.subclass(*args_, **kwargs_) + else: + return CESTW_Zentraleinheit(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Bezeichnung(self): + return self.Bezeichnung + def set_Bezeichnung(self, Bezeichnung): + self.Bezeichnung = Bezeichnung + def get_ESTW_ZE_Energieversorgung(self): + return self.ESTW_ZE_Energieversorgung + def set_ESTW_ZE_Energieversorgung(self, ESTW_ZE_Energieversorgung): + self.ESTW_ZE_Energieversorgung = ESTW_ZE_Energieversorgung + def get_ESTW_Zentraleinheit_Allg(self): + return self.ESTW_Zentraleinheit_Allg + def set_ESTW_Zentraleinheit_Allg(self, ESTW_Zentraleinheit_Allg): + self.ESTW_Zentraleinheit_Allg = ESTW_Zentraleinheit_Allg + def get_ID_Oertlichkeit_Namensgebend(self): + return self.ID_Oertlichkeit_Namensgebend + def set_ID_Oertlichkeit_Namensgebend(self, ID_Oertlichkeit_Namensgebend): + self.ID_Oertlichkeit_Namensgebend = ID_Oertlichkeit_Namensgebend + def get_ID_Unterbringung(self): + return self.ID_Unterbringung + def set_ID_Unterbringung(self, ID_Unterbringung): + self.ID_Unterbringung = ID_Unterbringung + def get_ID_Bedien_Bezirk_Virtuell(self): + return self.ID_Bedien_Bezirk_Virtuell + def set_ID_Bedien_Bezirk_Virtuell(self, ID_Bedien_Bezirk_Virtuell): + self.ID_Bedien_Bezirk_Virtuell = ID_Bedien_Bezirk_Virtuell + def get_ID_Bedien_Bezirk_Zentral(self): + return self.ID_Bedien_Bezirk_Zentral + def set_ID_Bedien_Bezirk_Zentral(self, ID_Bedien_Bezirk_Zentral): + self.ID_Bedien_Bezirk_Zentral = ID_Bedien_Bezirk_Zentral + def has__content(self): + if ( + self.Bezeichnung is not None or + self.ESTW_ZE_Energieversorgung is not None or + self.ESTW_Zentraleinheit_Allg is not None or + self.ID_Oertlichkeit_Namensgebend is not None or + self.ID_Unterbringung is not None or + self.ID_Bedien_Bezirk_Virtuell is not None or + self.ID_Bedien_Bezirk_Zentral is not None or + super(CESTW_Zentraleinheit, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsAnsteuerung_Element:', namespacedef_='xmlns:nsAnsteuerung_Element="http://www.plan-pro.org/modell/Ansteuerung_Element/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CESTW_Zentraleinheit', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CESTW_Zentraleinheit') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CESTW_Zentraleinheit': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CESTW_Zentraleinheit') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CESTW_Zentraleinheit', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsAnsteuerung_Element:', name_='CESTW_Zentraleinheit'): + super(CESTW_Zentraleinheit, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CESTW_Zentraleinheit') + def _exportChildren(self, outfile, level, namespaceprefix_='nsAnsteuerung_Element:', namespacedef_='xmlns:nsAnsteuerung_Element="http://www.plan-pro.org/modell/Ansteuerung_Element/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CESTW_Zentraleinheit', fromsubclass_=False, pretty_print=True): + super(CESTW_Zentraleinheit, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Bezeichnung is not None: + namespaceprefix_ = self.Bezeichnung_nsprefix_ + ':' if (UseCapturedNS_ and self.Bezeichnung_nsprefix_) else '' + self.Bezeichnung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Bezeichnung', pretty_print=pretty_print) + if self.ESTW_ZE_Energieversorgung is not None: + namespaceprefix_ = self.ESTW_ZE_Energieversorgung_nsprefix_ + ':' if (UseCapturedNS_ and self.ESTW_ZE_Energieversorgung_nsprefix_) else '' + self.ESTW_ZE_Energieversorgung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ESTW_ZE_Energieversorgung', pretty_print=pretty_print) + if self.ESTW_Zentraleinheit_Allg is not None: + namespaceprefix_ = self.ESTW_Zentraleinheit_Allg_nsprefix_ + ':' if (UseCapturedNS_ and self.ESTW_Zentraleinheit_Allg_nsprefix_) else '' + self.ESTW_Zentraleinheit_Allg.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ESTW_Zentraleinheit_Allg', pretty_print=pretty_print) + if self.ID_Oertlichkeit_Namensgebend is not None: + namespaceprefix_ = self.ID_Oertlichkeit_Namensgebend_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Oertlichkeit_Namensgebend_nsprefix_) else '' + self.ID_Oertlichkeit_Namensgebend.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Oertlichkeit_Namensgebend', pretty_print=pretty_print) + if self.ID_Unterbringung is not None: + namespaceprefix_ = self.ID_Unterbringung_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Unterbringung_nsprefix_) else '' + self.ID_Unterbringung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Unterbringung', pretty_print=pretty_print) + if self.ID_Bedien_Bezirk_Virtuell is not None: + namespaceprefix_ = self.ID_Bedien_Bezirk_Virtuell_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bedien_Bezirk_Virtuell_nsprefix_) else '' + self.ID_Bedien_Bezirk_Virtuell.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bedien_Bezirk_Virtuell', pretty_print=pretty_print) + if self.ID_Bedien_Bezirk_Zentral is not None: + namespaceprefix_ = self.ID_Bedien_Bezirk_Zentral_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bedien_Bezirk_Zentral_nsprefix_) else '' + self.ID_Bedien_Bezirk_Zentral.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bedien_Bezirk_Zentral', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CESTW_Zentraleinheit, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Bezeichnung': + obj_ = CESTW_Zentraleinheit_Bezeichnung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Bezeichnung = obj_ + obj_.original_tagname_ = 'Bezeichnung' + elif nodeName_ == 'ESTW_ZE_Energieversorgung': + obj_ = CESTW_ZE_Energieversorgung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ESTW_ZE_Energieversorgung = obj_ + obj_.original_tagname_ = 'ESTW_ZE_Energieversorgung' + elif nodeName_ == 'ESTW_Zentraleinheit_Allg': + obj_ = CESTW_Zentraleinheit_Allg.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ESTW_Zentraleinheit_Allg = obj_ + obj_.original_tagname_ = 'ESTW_Zentraleinheit_Allg' + elif nodeName_ == 'ID_Oertlichkeit_Namensgebend': + obj_ = TCID_Oertlichkeit_Proxy.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Oertlichkeit_Namensgebend = obj_ + obj_.original_tagname_ = 'ID_Oertlichkeit_Namensgebend' + elif nodeName_ == 'ID_Unterbringung': + obj_ = TCID_Unterbringung_Technik.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Unterbringung = obj_ + obj_.original_tagname_ = 'ID_Unterbringung' + elif nodeName_ == 'ID_Bedien_Bezirk_Virtuell': + obj_ = TCID_Bedien_Bezirk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bedien_Bezirk_Virtuell = obj_ + obj_.original_tagname_ = 'ID_Bedien_Bezirk_Virtuell' + elif nodeName_ == 'ID_Bedien_Bezirk_Zentral': + obj_ = TCID_Bedien_Bezirk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bedien_Bezirk_Zentral = obj_ + obj_.original_tagname_ = 'ID_Bedien_Bezirk_Zentral' + super(CESTW_Zentraleinheit, self)._buildChildren(child_, node, nodeName_, True) +# end class CESTW_Zentraleinheit + + +class TCBezeichnung_TSO(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCBezeichnung_TSO"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TBezeichnung_TSO(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCBezeichnung_TSO) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCBezeichnung_TSO.subclass: + return TCBezeichnung_TSO.subclass(*args_, **kwargs_) + else: + return TCBezeichnung_TSO(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TBezeichnung_TSO(self, value): + result = True + # Validate type TBezeichnung_TSO, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TBezeichnung_TSO_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TBezeichnung_TSO_patterns_, )) + result = False + return result + validate_TBezeichnung_TSO_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCBezeichnung_TSO, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsAnsteuerung_Element:', namespacedef_='xmlns:nsAnsteuerung_Element="http://www.plan-pro.org/modell/Ansteuerung_Element/1.10.0"', name_='TCBezeichnung_TSO', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCBezeichnung_TSO') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCBezeichnung_TSO': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBezeichnung_TSO') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCBezeichnung_TSO', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsAnsteuerung_Element:', name_='TCBezeichnung_TSO'): + super(TCBezeichnung_TSO, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBezeichnung_TSO') + def _exportChildren(self, outfile, level, namespaceprefix_='nsAnsteuerung_Element:', namespacedef_='xmlns:nsAnsteuerung_Element="http://www.plan-pro.org/modell/Ansteuerung_Element/1.10.0"', name_='TCBezeichnung_TSO', fromsubclass_=False, pretty_print=True): + super(TCBezeichnung_TSO, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCBezeichnung_TSO, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TBezeichnung_TSO + self.validate_TBezeichnung_TSO(self.Wert) + super(TCBezeichnung_TSO, self)._buildChildren(child_, node, nodeName_, True) +# end class TCBezeichnung_TSO + + +class TCIP_Adressblock_Blau16(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCIP_Adressblock_Blau16"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TIP_Adressblock_Blau(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCIP_Adressblock_Blau16) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCIP_Adressblock_Blau16.subclass: + return TCIP_Adressblock_Blau16.subclass(*args_, **kwargs_) + else: + return TCIP_Adressblock_Blau16(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TIP_Adressblock_Blau(self, value): + result = True + # Validate type TIP_Adressblock_Blau, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TIP_Adressblock_Blau_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TIP_Adressblock_Blau_patterns_, )) + result = False + return result + validate_TIP_Adressblock_Blau_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCIP_Adressblock_Blau16, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsAnsteuerung_Element:', namespacedef_='xmlns:nsAnsteuerung_Element="http://www.plan-pro.org/modell/Ansteuerung_Element/1.10.0"', name_='TCIP_Adressblock_Blau16', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCIP_Adressblock_Blau16') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCIP_Adressblock_Blau16': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCIP_Adressblock_Blau16') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCIP_Adressblock_Blau16', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsAnsteuerung_Element:', name_='TCIP_Adressblock_Blau16'): + super(TCIP_Adressblock_Blau16, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCIP_Adressblock_Blau16') + def _exportChildren(self, outfile, level, namespaceprefix_='nsAnsteuerung_Element:', namespacedef_='xmlns:nsAnsteuerung_Element="http://www.plan-pro.org/modell/Ansteuerung_Element/1.10.0"', name_='TCIP_Adressblock_Blau16', fromsubclass_=False, pretty_print=True): + super(TCIP_Adressblock_Blau16, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCIP_Adressblock_Blau16, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TIP_Adressblock_Blau + self.validate_TIP_Adressblock_Blau(self.Wert) + super(TCIP_Adressblock_Blau16, self)._buildChildren(child_, node, nodeName_, True) +# end class TCIP_Adressblock_Blau16 + + +class CTechnik_Standort_Bezeichnung(GeneratedsSuper): + """CTechnik_Standort_Bezeichnung -- Bezeichnung des Technikstandorts + Bezeichnung_TSO -- Bezeichnung des Technik-Standorts. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Bezeichnung_TSO=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Bezeichnung_TSO = Bezeichnung_TSO + self.Bezeichnung_TSO_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CTechnik_Standort_Bezeichnung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CTechnik_Standort_Bezeichnung.subclass: + return CTechnik_Standort_Bezeichnung.subclass(*args_, **kwargs_) + else: + return CTechnik_Standort_Bezeichnung(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Bezeichnung_TSO(self): + return self.Bezeichnung_TSO + def set_Bezeichnung_TSO(self, Bezeichnung_TSO): + self.Bezeichnung_TSO = Bezeichnung_TSO + def has__content(self): + if ( + self.Bezeichnung_TSO is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsAnsteuerung_Element:', namespacedef_='xmlns:nsAnsteuerung_Element="http://www.plan-pro.org/modell/Ansteuerung_Element/1.10.0"', name_='CTechnik_Standort_Bezeichnung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CTechnik_Standort_Bezeichnung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CTechnik_Standort_Bezeichnung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CTechnik_Standort_Bezeichnung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CTechnik_Standort_Bezeichnung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsAnsteuerung_Element:', name_='CTechnik_Standort_Bezeichnung'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsAnsteuerung_Element:', namespacedef_='xmlns:nsAnsteuerung_Element="http://www.plan-pro.org/modell/Ansteuerung_Element/1.10.0"', name_='CTechnik_Standort_Bezeichnung', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Bezeichnung_TSO is not None: + namespaceprefix_ = self.Bezeichnung_TSO_nsprefix_ + ':' if (UseCapturedNS_ and self.Bezeichnung_TSO_nsprefix_) else '' + self.Bezeichnung_TSO.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Bezeichnung_TSO', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Bezeichnung_TSO': + obj_ = TCBezeichnung_TSO.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Bezeichnung_TSO = obj_ + obj_.original_tagname_ = 'Bezeichnung_TSO' +# end class CTechnik_Standort_Bezeichnung + + +class CTechnik_Standort(CBasis_Objekt): + """CTechnik_Standort -- Bei DSTW: B + ü + ndelung der technischen Anlagen f + ü + r ESTW_Zentraleinheit, Telekommunikation, Prozessdaten- und Diagnoseschnittstellen sowie die zugeh + ö + rige technische Geb + ä + udeausr + ü + stung. Je Netzbezirk ist ein Technikstandort vorgesehen. + ID_Bedien_Standort -- Verweis auf den Bedien-Standort, von dem aus der Technik-Standort bedient wird. Der Verweis dient der Abbildung der vorgesehenen n zu m-Zuordnung zwischen TSO und BSO. Die Angabe erfolgt im Rahmen der Planung des Untergewerks Bedienung Fdl. + ID_Unterbringung -- Verweis auf die Unterbringung (Geb + ä + ude), in der der Technik-Standort untergebracht ist. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasis_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, Bezeichnung=None, ID_Bedien_Standort=None, ID_Unterbringung=None, TSO_IP_Adressblock=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CTechnik_Standort"), self).__init__(Identitaet, Basis_Objekt_Allg, ID_Bearbeitungsvermerk, ID_Oertlichkeit_Ausgabe, Objektreferenzen, **kwargs_) + self.Bezeichnung = Bezeichnung + self.Bezeichnung_nsprefix_ = None + if ID_Bedien_Standort is None: + self.ID_Bedien_Standort = [] + else: + self.ID_Bedien_Standort = ID_Bedien_Standort + self.ID_Bedien_Standort_nsprefix_ = None + self.ID_Unterbringung = ID_Unterbringung + self.ID_Unterbringung_nsprefix_ = None + self.TSO_IP_Adressblock = TSO_IP_Adressblock + self.TSO_IP_Adressblock_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CTechnik_Standort) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CTechnik_Standort.subclass: + return CTechnik_Standort.subclass(*args_, **kwargs_) + else: + return CTechnik_Standort(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Bezeichnung(self): + return self.Bezeichnung + def set_Bezeichnung(self, Bezeichnung): + self.Bezeichnung = Bezeichnung + def get_ID_Bedien_Standort(self): + return self.ID_Bedien_Standort + def set_ID_Bedien_Standort(self, ID_Bedien_Standort): + self.ID_Bedien_Standort = ID_Bedien_Standort + def add_ID_Bedien_Standort(self, value): + self.ID_Bedien_Standort.append(value) + def insert_ID_Bedien_Standort_at(self, index, value): + self.ID_Bedien_Standort.insert(index, value) + def replace_ID_Bedien_Standort_at(self, index, value): + self.ID_Bedien_Standort[index] = value + def get_ID_Unterbringung(self): + return self.ID_Unterbringung + def set_ID_Unterbringung(self, ID_Unterbringung): + self.ID_Unterbringung = ID_Unterbringung + def get_TSO_IP_Adressblock(self): + return self.TSO_IP_Adressblock + def set_TSO_IP_Adressblock(self, TSO_IP_Adressblock): + self.TSO_IP_Adressblock = TSO_IP_Adressblock + def has__content(self): + if ( + self.Bezeichnung is not None or + self.ID_Bedien_Standort or + self.ID_Unterbringung is not None or + self.TSO_IP_Adressblock is not None or + super(CTechnik_Standort, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsAnsteuerung_Element:', namespacedef_='xmlns:nsAnsteuerung_Element="http://www.plan-pro.org/modell/Ansteuerung_Element/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CTechnik_Standort', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CTechnik_Standort') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CTechnik_Standort': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CTechnik_Standort') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CTechnik_Standort', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsAnsteuerung_Element:', name_='CTechnik_Standort'): + super(CTechnik_Standort, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CTechnik_Standort') + def _exportChildren(self, outfile, level, namespaceprefix_='nsAnsteuerung_Element:', namespacedef_='xmlns:nsAnsteuerung_Element="http://www.plan-pro.org/modell/Ansteuerung_Element/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CTechnik_Standort', fromsubclass_=False, pretty_print=True): + super(CTechnik_Standort, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Bezeichnung is not None: + namespaceprefix_ = self.Bezeichnung_nsprefix_ + ':' if (UseCapturedNS_ and self.Bezeichnung_nsprefix_) else '' + self.Bezeichnung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Bezeichnung', pretty_print=pretty_print) + for ID_Bedien_Standort_ in self.ID_Bedien_Standort: + namespaceprefix_ = self.ID_Bedien_Standort_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bedien_Standort_nsprefix_) else '' + ID_Bedien_Standort_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bedien_Standort', pretty_print=pretty_print) + if self.ID_Unterbringung is not None: + namespaceprefix_ = self.ID_Unterbringung_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Unterbringung_nsprefix_) else '' + self.ID_Unterbringung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Unterbringung', pretty_print=pretty_print) + if self.TSO_IP_Adressblock is not None: + namespaceprefix_ = self.TSO_IP_Adressblock_nsprefix_ + ':' if (UseCapturedNS_ and self.TSO_IP_Adressblock_nsprefix_) else '' + self.TSO_IP_Adressblock.export(outfile, level, namespaceprefix_, namespacedef_='', name_='TSO_IP_Adressblock', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CTechnik_Standort, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Bezeichnung': + obj_ = CTechnik_Standort_Bezeichnung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Bezeichnung = obj_ + obj_.original_tagname_ = 'Bezeichnung' + elif nodeName_ == 'ID_Bedien_Standort': + obj_ = TCID_Bedien_Standort.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bedien_Standort.append(obj_) + obj_.original_tagname_ = 'ID_Bedien_Standort' + elif nodeName_ == 'ID_Unterbringung': + obj_ = TCID_Unterbringung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Unterbringung = obj_ + obj_.original_tagname_ = 'ID_Unterbringung' + elif nodeName_ == 'TSO_IP_Adressblock': + obj_ = CTSO_IP_Adressblock.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.TSO_IP_Adressblock = obj_ + obj_.original_tagname_ = 'TSO_IP_Adressblock' + super(CTechnik_Standort, self)._buildChildren(child_, node, nodeName_, True) +# end class CTechnik_Standort + + +class CESTW_ZE_Energieversorgung(GeneratedsSuper): + """Energieversorgung_Art -- Grunds + ä + tzliche Art der Energieversorgung. Wird f + ü + r die Energieversorgung eine ESTW_Zentraleinheit, eine andere Aussenelementansteuerung oder ein B + Ü + verwendet, so kann dies in fr + ü + hen Planungsphasen unspezifisch mit diesem Attribut angegeben werden. In sp + ä + teren Planungsphasen wird dann alternativ die spezifische Quelle der Energie mit ID Energie Primaer angegeben. Bei Auswahl von \"sonstige\" ist ein Bearbeitungsvermerk notwendig. DB-Regelwerk Beschreibung im Erl + ä + uterungsbericht + Energieversorgung_Art_Ersatz -- Grunds + ä + tzliche Art der Ersatz-Energieversorgung. Wird f + ü + r die Ersatz-Energieversorgung eine ESTW_Zentraleinheit, eine andere Aussenelementansteuerung oder ein B + Ü + verwendet, so kann dies in fr + ü + hen Planungsphasen unspezifisch mit diesem Attribut angegeben werden. In sp + ä + teren Planungsphasen wird dann alternativ die spezifische Quelle der Energie mit ID Energie Sekundaer angegeben. Bei Auswahl von \"sonstige\" ist ein Bearbeitungsvermerk notwendig. DB-Regelwerk Beschreibung im Erl + ä + uterungsbericht + Energieversorgung_Art_Ersatz_2 -- Angabe der zweiten Ersatz-Energieversorgung (bei DSTW: 1. Ersatz Fahrleitung, 2. Ersatz NEA). + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Energieversorgung_Art=None, ID_Energie_Primaer=None, Energieversorgung_Art_Ersatz=None, Energieversorgung_Art_Ersatz_2=None, ID_Energie_Sekundaer=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Energieversorgung_Art = Energieversorgung_Art + self.Energieversorgung_Art_nsprefix_ = None + self.ID_Energie_Primaer = ID_Energie_Primaer + self.ID_Energie_Primaer_nsprefix_ = None + self.Energieversorgung_Art_Ersatz = Energieversorgung_Art_Ersatz + self.Energieversorgung_Art_Ersatz_nsprefix_ = None + self.Energieversorgung_Art_Ersatz_2 = Energieversorgung_Art_Ersatz_2 + self.Energieversorgung_Art_Ersatz_2_nsprefix_ = None + self.ID_Energie_Sekundaer = ID_Energie_Sekundaer + self.ID_Energie_Sekundaer_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CESTW_ZE_Energieversorgung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CESTW_ZE_Energieversorgung.subclass: + return CESTW_ZE_Energieversorgung.subclass(*args_, **kwargs_) + else: + return CESTW_ZE_Energieversorgung(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Energieversorgung_Art(self): + return self.Energieversorgung_Art + def set_Energieversorgung_Art(self, Energieversorgung_Art): + self.Energieversorgung_Art = Energieversorgung_Art + def get_ID_Energie_Primaer(self): + return self.ID_Energie_Primaer + def set_ID_Energie_Primaer(self, ID_Energie_Primaer): + self.ID_Energie_Primaer = ID_Energie_Primaer + def get_Energieversorgung_Art_Ersatz(self): + return self.Energieversorgung_Art_Ersatz + def set_Energieversorgung_Art_Ersatz(self, Energieversorgung_Art_Ersatz): + self.Energieversorgung_Art_Ersatz = Energieversorgung_Art_Ersatz + def get_Energieversorgung_Art_Ersatz_2(self): + return self.Energieversorgung_Art_Ersatz_2 + def set_Energieversorgung_Art_Ersatz_2(self, Energieversorgung_Art_Ersatz_2): + self.Energieversorgung_Art_Ersatz_2 = Energieversorgung_Art_Ersatz_2 + def get_ID_Energie_Sekundaer(self): + return self.ID_Energie_Sekundaer + def set_ID_Energie_Sekundaer(self, ID_Energie_Sekundaer): + self.ID_Energie_Sekundaer = ID_Energie_Sekundaer + def has__content(self): + if ( + self.Energieversorgung_Art is not None or + self.ID_Energie_Primaer is not None or + self.Energieversorgung_Art_Ersatz is not None or + self.Energieversorgung_Art_Ersatz_2 is not None or + self.ID_Energie_Sekundaer is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsAnsteuerung_Element:', namespacedef_='xmlns:nsAnsteuerung_Element="http://www.plan-pro.org/modell/Ansteuerung_Element/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CESTW_ZE_Energieversorgung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CESTW_ZE_Energieversorgung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CESTW_ZE_Energieversorgung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CESTW_ZE_Energieversorgung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CESTW_ZE_Energieversorgung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsAnsteuerung_Element:', name_='CESTW_ZE_Energieversorgung'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsAnsteuerung_Element:', namespacedef_='xmlns:nsAnsteuerung_Element="http://www.plan-pro.org/modell/Ansteuerung_Element/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CESTW_ZE_Energieversorgung', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Energieversorgung_Art is not None: + namespaceprefix_ = self.Energieversorgung_Art_nsprefix_ + ':' if (UseCapturedNS_ and self.Energieversorgung_Art_nsprefix_) else '' + self.Energieversorgung_Art.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Energieversorgung_Art', pretty_print=pretty_print) + if self.ID_Energie_Primaer is not None: + namespaceprefix_ = self.ID_Energie_Primaer_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Energie_Primaer_nsprefix_) else '' + self.ID_Energie_Primaer.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Energie_Primaer', pretty_print=pretty_print) + if self.Energieversorgung_Art_Ersatz is not None: + namespaceprefix_ = self.Energieversorgung_Art_Ersatz_nsprefix_ + ':' if (UseCapturedNS_ and self.Energieversorgung_Art_Ersatz_nsprefix_) else '' + self.Energieversorgung_Art_Ersatz.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Energieversorgung_Art_Ersatz', pretty_print=pretty_print) + if self.Energieversorgung_Art_Ersatz_2 is not None: + namespaceprefix_ = self.Energieversorgung_Art_Ersatz_2_nsprefix_ + ':' if (UseCapturedNS_ and self.Energieversorgung_Art_Ersatz_2_nsprefix_) else '' + self.Energieversorgung_Art_Ersatz_2.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Energieversorgung_Art_Ersatz_2', pretty_print=pretty_print) + if self.ID_Energie_Sekundaer is not None: + namespaceprefix_ = self.ID_Energie_Sekundaer_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Energie_Sekundaer_nsprefix_) else '' + self.ID_Energie_Sekundaer.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Energie_Sekundaer', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Energieversorgung_Art': + obj_ = TCEnergieversorgung_Art.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Energieversorgung_Art = obj_ + obj_.original_tagname_ = 'Energieversorgung_Art' + elif nodeName_ == 'ID_Energie_Primaer': + obj_ = TCID_Energie.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Energie_Primaer = obj_ + obj_.original_tagname_ = 'ID_Energie_Primaer' + elif nodeName_ == 'Energieversorgung_Art_Ersatz': + obj_ = TCEnergieversorgung_Art_Ersatz.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Energieversorgung_Art_Ersatz = obj_ + obj_.original_tagname_ = 'Energieversorgung_Art_Ersatz' + elif nodeName_ == 'Energieversorgung_Art_Ersatz_2': + obj_ = TCEnergieversorgung_Art_Ersatz.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Energieversorgung_Art_Ersatz_2 = obj_ + obj_.original_tagname_ = 'Energieversorgung_Art_Ersatz_2' + elif nodeName_ == 'ID_Energie_Sekundaer': + obj_ = TCID_Energie.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Energie_Sekundaer = obj_ + obj_.original_tagname_ = 'ID_Energie_Sekundaer' +# end class CESTW_ZE_Energieversorgung + + +class CAEA_Allg(GeneratedsSuper): + """Aussenelementansteuerung_Art -- Art der Aussenelementansteuerung (herstellerneutral). ESTW_A: F + ü + r konventionelle ESTW-Strukturen ist die AEA in der Regel das ESTW-A (mit Ausnahme des Schaltkastens am Signal in bestimmten F + ä + llen als Objektcontroller, siehe Aussenelementansteuerung). Objektcontroller: In neuerer ESTW-Technik wird zunehmend der Objektcontroller (auch kaskadiert) verwendet. Gleisfreimelde_Innenanlage: Einheit, die die logische Aufbereitung der Informationen der Freimeldeanlage + ü + bernimmt (z. B. Achsz + ä + hlrechner) und nicht direkt einem ESTW-A zugeordnet ist. Relaisstellwerk: Die AEA besteht aus einem ( + ü + ber die ESTW-ZE ferngesteuerten) Relaisstellwerk. virtuelle_Aussenelementansteuerung: Die virtuelle Aussenelementansteuerung wird verwendet, wenn die Struktur der Aussenelementansteuerungen (zwischen ESTW Zentraleinheit und Stellelement w + ä + hrend der PT 1-Planung noch nicht klar ist. Eine virtuelle Aussenelementansteuerung soll den Bereich einer ma + ß + gebenden + Ö + rtlichkeit (z. B. ein Bf) umfassen. Im nicht firmenneutralen Teil der Planung (u. a. Kabelplanung) muss dann die virtuelle AEA durch die tats + ä + chliche Struktur der AEA ersetzt werden. sonstige: Alle mit den + ü + brigen ENUM nicht beschreibbare Arten. Ein Bearbeitungsvermerk muss angegeben werden. Siehe auch Bauart. DB-Regelwerk Beschreibung im Erl + ä + uterungsbericht + Bauart -- Herstellerbezogene Bauart der Steuerung. Das Attribut beschreibt im Gegensatz zu Aussenelementansteuerung Art bzw. Hersteller die herstellerbezogene Bauart der Steuerung. Es ist ein R + ü + cklaufdatum der AP PT 2 und dient der Bestandsdatenverwaltung. Beispiel: Aussenelementansteuerung_Art == ESTW_A, Bauart == \"J + ü + del E8001\". DB-Regelwerk Beschreibung im Erl + ä + uterungsbericht + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Aussenelementansteuerung_Art=None, Bauart=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Aussenelementansteuerung_Art = Aussenelementansteuerung_Art + self.Aussenelementansteuerung_Art_nsprefix_ = None + self.Bauart = Bauart + self.Bauart_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CAEA_Allg) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CAEA_Allg.subclass: + return CAEA_Allg.subclass(*args_, **kwargs_) + else: + return CAEA_Allg(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Aussenelementansteuerung_Art(self): + return self.Aussenelementansteuerung_Art + def set_Aussenelementansteuerung_Art(self, Aussenelementansteuerung_Art): + self.Aussenelementansteuerung_Art = Aussenelementansteuerung_Art + def get_Bauart(self): + return self.Bauart + def set_Bauart(self, Bauart): + self.Bauart = Bauart + def has__content(self): + if ( + self.Aussenelementansteuerung_Art is not None or + self.Bauart is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsAnsteuerung_Element:', namespacedef_='xmlns:nsAnsteuerung_Element="http://www.plan-pro.org/modell/Ansteuerung_Element/1.10.0"', name_='CAEA_Allg', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CAEA_Allg') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CAEA_Allg': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CAEA_Allg') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CAEA_Allg', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsAnsteuerung_Element:', name_='CAEA_Allg'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsAnsteuerung_Element:', namespacedef_='xmlns:nsAnsteuerung_Element="http://www.plan-pro.org/modell/Ansteuerung_Element/1.10.0"', name_='CAEA_Allg', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Aussenelementansteuerung_Art is not None: + namespaceprefix_ = self.Aussenelementansteuerung_Art_nsprefix_ + ':' if (UseCapturedNS_ and self.Aussenelementansteuerung_Art_nsprefix_) else '' + self.Aussenelementansteuerung_Art.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Aussenelementansteuerung_Art', pretty_print=pretty_print) + if self.Bauart is not None: + namespaceprefix_ = self.Bauart_nsprefix_ + ':' if (UseCapturedNS_ and self.Bauart_nsprefix_) else '' + self.Bauart.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Bauart', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Aussenelementansteuerung_Art': + obj_ = TCAussenelementansteuerung_Art.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Aussenelementansteuerung_Art = obj_ + obj_.original_tagname_ = 'Aussenelementansteuerung_Art' + elif nodeName_ == 'Bauart': + obj_ = TCBauart.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Bauart = obj_ + obj_.original_tagname_ = 'Bauart' +# end class CAEA_Allg + + +class CUnterbringung(CBasis_Objekt): + """CUnterbringung -- Ort der Anordnung von nicht an das Gleis gebundenen Komponenten. Die Verortung der U. erfolgt entweder analog zum Punkt Objekt, mit einem GEO Punkt, einem Polygonzug oder durch einen beschreibenden Text. Eine U. beschreibt in der Regel die Umhausung der Komponente. Ist sie nicht eingehaust, wird als Unterbringung Art \"keine\" angegeben. In diesen F + ä + llen hat die Komponente dennoch eine Unterbringung Befestigung. Das ist z. B. der Fall, wenn eine wetterfeste Komponente (z. B. Schl + ü + sselschalter) ohne Einhausung direkt an einem Pfosten befestigt ist. In einer U. k + ö + nnen mehrere LST-Objekte untergebracht sein. Eine U. ist z. B. ein Betonschalthaus oder ein Schaltkasten. DB-Regelwerk Darstellung des Geb + ä + udes im sicherungstechnischen Lageplan nach Ril 819.9002 oder Beschreibung im Erl + ä + uterungsbericht + Punkt_Objekt_Strecke -- Attributgruppe zur Zuordnung eines Objektes zu einer Strecke. Zur vererbungsspezifischen Bef + ü + llung der Attributgruppe siehe Modellierung Basisobjekte. + ID_GEO_Punkt -- Verweis auf einen GEO Punkt, der eine Verortung + ü + ber x- und y-Koordinate erm + ö + glicht. Eine Mehrfachangabe ist bei Verortung in unterschiedlichen Koordinatensystemen notwendig. DB-Regelwerk ESTW: Darstellung im sicherungstechnischen Lageplan. + Punkt_Objekt_TOP_Kante -- Attributgruppe zur Verortung eines Objektes an der Topologie. Die vererbungsspezifische Bef + ü + llung der zugeh + ö + rigen Attribute wird auf der Seite Modellierung Basisobjekte beschrieben. Durch die m + ö + gliche Mehrfacheinbindung der Attributgruppe ist es m + ö + glich, ein Objekt (z. B. Grenzzeichen) mehreren topologischen Kanten zuzuordnen. DB-Regelwerk Darstellung im sicherungstechnischen Lageplan + Standort_Beschreibung -- Textuelle Beschreibung des Standorts der Unterbringung. Das Attribut wird genutzt, wenn eine punktf + ö + rmige Verortung nicht m + ö + glich ist, z. B. aufgrund der gro + ß + en Entfernung des Standorts und der somit bedingten Lage au + ß + erhalb des Planungs- oder Betrachtungsbereichs. + Unterbringung_Polygonzug -- Grundriss der Unterbringung, beschrieben mittels Polygonzug unter Nutzung des GML-Standards. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasis_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, Punkt_Objekt_Strecke=None, Unterbringung_Allg=None, ID_GEO_Punkt=None, Punkt_Objekt_TOP_Kante=None, Standort_Beschreibung=None, Unterbringung_Polygonzug=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CUnterbringung"), self).__init__(Identitaet, Basis_Objekt_Allg, ID_Bearbeitungsvermerk, ID_Oertlichkeit_Ausgabe, Objektreferenzen, **kwargs_) + if Punkt_Objekt_Strecke is None: + self.Punkt_Objekt_Strecke = [] + else: + self.Punkt_Objekt_Strecke = Punkt_Objekt_Strecke + self.Punkt_Objekt_Strecke_nsprefix_ = None + self.Unterbringung_Allg = Unterbringung_Allg + self.Unterbringung_Allg_nsprefix_ = None + if ID_GEO_Punkt is None: + self.ID_GEO_Punkt = [] + else: + self.ID_GEO_Punkt = ID_GEO_Punkt + self.ID_GEO_Punkt_nsprefix_ = None + self.Punkt_Objekt_TOP_Kante = Punkt_Objekt_TOP_Kante + self.Punkt_Objekt_TOP_Kante_nsprefix_ = None + self.Standort_Beschreibung = Standort_Beschreibung + self.Standort_Beschreibung_nsprefix_ = None + self.Unterbringung_Polygonzug = Unterbringung_Polygonzug + self.Unterbringung_Polygonzug_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CUnterbringung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CUnterbringung.subclass: + return CUnterbringung.subclass(*args_, **kwargs_) + else: + return CUnterbringung(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Punkt_Objekt_Strecke(self): + return self.Punkt_Objekt_Strecke + def set_Punkt_Objekt_Strecke(self, Punkt_Objekt_Strecke): + self.Punkt_Objekt_Strecke = Punkt_Objekt_Strecke + def add_Punkt_Objekt_Strecke(self, value): + self.Punkt_Objekt_Strecke.append(value) + def insert_Punkt_Objekt_Strecke_at(self, index, value): + self.Punkt_Objekt_Strecke.insert(index, value) + def replace_Punkt_Objekt_Strecke_at(self, index, value): + self.Punkt_Objekt_Strecke[index] = value + def get_Unterbringung_Allg(self): + return self.Unterbringung_Allg + def set_Unterbringung_Allg(self, Unterbringung_Allg): + self.Unterbringung_Allg = Unterbringung_Allg + def get_ID_GEO_Punkt(self): + return self.ID_GEO_Punkt + def set_ID_GEO_Punkt(self, ID_GEO_Punkt): + self.ID_GEO_Punkt = ID_GEO_Punkt + def add_ID_GEO_Punkt(self, value): + self.ID_GEO_Punkt.append(value) + def insert_ID_GEO_Punkt_at(self, index, value): + self.ID_GEO_Punkt.insert(index, value) + def replace_ID_GEO_Punkt_at(self, index, value): + self.ID_GEO_Punkt[index] = value + def get_Punkt_Objekt_TOP_Kante(self): + return self.Punkt_Objekt_TOP_Kante + def set_Punkt_Objekt_TOP_Kante(self, Punkt_Objekt_TOP_Kante): + self.Punkt_Objekt_TOP_Kante = Punkt_Objekt_TOP_Kante + def get_Standort_Beschreibung(self): + return self.Standort_Beschreibung + def set_Standort_Beschreibung(self, Standort_Beschreibung): + self.Standort_Beschreibung = Standort_Beschreibung + def get_Unterbringung_Polygonzug(self): + return self.Unterbringung_Polygonzug + def set_Unterbringung_Polygonzug(self, Unterbringung_Polygonzug): + self.Unterbringung_Polygonzug = Unterbringung_Polygonzug + def has__content(self): + if ( + self.Punkt_Objekt_Strecke or + self.Unterbringung_Allg is not None or + self.ID_GEO_Punkt or + self.Punkt_Objekt_TOP_Kante is not None or + self.Standort_Beschreibung is not None or + self.Unterbringung_Polygonzug is not None or + super(CUnterbringung, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsAnsteuerung_Element:', namespacedef_='xmlns:nsAnsteuerung_Element="http://www.plan-pro.org/modell/Ansteuerung_Element/1.10.0" xmlns:nsBasisobjekte="http://www.plan-pro.org/modell/Basisobjekte/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CUnterbringung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CUnterbringung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CUnterbringung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CUnterbringung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CUnterbringung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsAnsteuerung_Element:', name_='CUnterbringung'): + super(CUnterbringung, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CUnterbringung') + def _exportChildren(self, outfile, level, namespaceprefix_='nsAnsteuerung_Element:', namespacedef_='xmlns:nsAnsteuerung_Element="http://www.plan-pro.org/modell/Ansteuerung_Element/1.10.0" xmlns:nsBasisobjekte="http://www.plan-pro.org/modell/Basisobjekte/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CUnterbringung', fromsubclass_=False, pretty_print=True): + super(CUnterbringung, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for Punkt_Objekt_Strecke_ in self.Punkt_Objekt_Strecke: + namespaceprefix_ = self.Punkt_Objekt_Strecke_nsprefix_ + ':' if (UseCapturedNS_ and self.Punkt_Objekt_Strecke_nsprefix_) else '' + Punkt_Objekt_Strecke_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Punkt_Objekt_Strecke', pretty_print=pretty_print) + if self.Unterbringung_Allg is not None: + namespaceprefix_ = self.Unterbringung_Allg_nsprefix_ + ':' if (UseCapturedNS_ and self.Unterbringung_Allg_nsprefix_) else '' + self.Unterbringung_Allg.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Unterbringung_Allg', pretty_print=pretty_print) + for ID_GEO_Punkt_ in self.ID_GEO_Punkt: + namespaceprefix_ = self.ID_GEO_Punkt_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_GEO_Punkt_nsprefix_) else '' + ID_GEO_Punkt_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_GEO_Punkt', pretty_print=pretty_print) + if self.Punkt_Objekt_TOP_Kante is not None: + namespaceprefix_ = self.Punkt_Objekt_TOP_Kante_nsprefix_ + ':' if (UseCapturedNS_ and self.Punkt_Objekt_TOP_Kante_nsprefix_) else '' + self.Punkt_Objekt_TOP_Kante.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Punkt_Objekt_TOP_Kante', pretty_print=pretty_print) + if self.Standort_Beschreibung is not None: + namespaceprefix_ = self.Standort_Beschreibung_nsprefix_ + ':' if (UseCapturedNS_ and self.Standort_Beschreibung_nsprefix_) else '' + self.Standort_Beschreibung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Standort_Beschreibung', pretty_print=pretty_print) + if self.Unterbringung_Polygonzug is not None: + namespaceprefix_ = self.Unterbringung_Polygonzug_nsprefix_ + ':' if (UseCapturedNS_ and self.Unterbringung_Polygonzug_nsprefix_) else '' + self.Unterbringung_Polygonzug.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Unterbringung_Polygonzug', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CUnterbringung, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Punkt_Objekt_Strecke': + obj_ = CPunkt_Objekt_Strecke.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Punkt_Objekt_Strecke.append(obj_) + obj_.original_tagname_ = 'Punkt_Objekt_Strecke' + elif nodeName_ == 'Unterbringung_Allg': + obj_ = CUnterbringung_Allg.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Unterbringung_Allg = obj_ + obj_.original_tagname_ = 'Unterbringung_Allg' + elif nodeName_ == 'ID_GEO_Punkt': + obj_ = TCID_GEO_Punkt.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_GEO_Punkt.append(obj_) + obj_.original_tagname_ = 'ID_GEO_Punkt' + elif nodeName_ == 'Punkt_Objekt_TOP_Kante': + obj_ = CPunkt_Objekt_TOP_Kante.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Punkt_Objekt_TOP_Kante = obj_ + obj_.original_tagname_ = 'Punkt_Objekt_TOP_Kante' + elif nodeName_ == 'Standort_Beschreibung': + obj_ = TCStandort_Beschreibung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Standort_Beschreibung = obj_ + obj_.original_tagname_ = 'Standort_Beschreibung' + elif nodeName_ == 'Unterbringung_Polygonzug': + obj_ = TCUnterbringung_Polygonzug.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Unterbringung_Polygonzug = obj_ + obj_.original_tagname_ = 'Unterbringung_Polygonzug' + super(CUnterbringung, self)._buildChildren(child_, node, nodeName_, True) +# end class CUnterbringung + + +class TCTechnik_Beschreibung(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCTechnik_Beschreibung"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TTechnik_Beschreibung(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCTechnik_Beschreibung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCTechnik_Beschreibung.subclass: + return TCTechnik_Beschreibung.subclass(*args_, **kwargs_) + else: + return TCTechnik_Beschreibung(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TTechnik_Beschreibung(self, value): + result = True + # Validate type TTechnik_Beschreibung, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TTechnik_Beschreibung_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TTechnik_Beschreibung_patterns_, )) + result = False + return result + validate_TTechnik_Beschreibung_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCTechnik_Beschreibung, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsAnsteuerung_Element:', namespacedef_='xmlns:nsAnsteuerung_Element="http://www.plan-pro.org/modell/Ansteuerung_Element/1.10.0"', name_='TCTechnik_Beschreibung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCTechnik_Beschreibung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCTechnik_Beschreibung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCTechnik_Beschreibung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCTechnik_Beschreibung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsAnsteuerung_Element:', name_='TCTechnik_Beschreibung'): + super(TCTechnik_Beschreibung, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCTechnik_Beschreibung') + def _exportChildren(self, outfile, level, namespaceprefix_='nsAnsteuerung_Element:', namespacedef_='xmlns:nsAnsteuerung_Element="http://www.plan-pro.org/modell/Ansteuerung_Element/1.10.0"', name_='TCTechnik_Beschreibung', fromsubclass_=False, pretty_print=True): + super(TCTechnik_Beschreibung, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCTechnik_Beschreibung, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TTechnik_Beschreibung + self.validate_TTechnik_Beschreibung(self.Wert) + super(TCTechnik_Beschreibung, self)._buildChildren(child_, node, nodeName_, True) +# end class TCTechnik_Beschreibung + + +class TCStandort_Beschreibung(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCStandort_Beschreibung"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TStandort_Beschreibung(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCStandort_Beschreibung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCStandort_Beschreibung.subclass: + return TCStandort_Beschreibung.subclass(*args_, **kwargs_) + else: + return TCStandort_Beschreibung(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TStandort_Beschreibung(self, value): + result = True + # Validate type TStandort_Beschreibung, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TStandort_Beschreibung_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TStandort_Beschreibung_patterns_, )) + result = False + return result + validate_TStandort_Beschreibung_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCStandort_Beschreibung, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsAnsteuerung_Element:', namespacedef_='xmlns:nsAnsteuerung_Element="http://www.plan-pro.org/modell/Ansteuerung_Element/1.10.0"', name_='TCStandort_Beschreibung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCStandort_Beschreibung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCStandort_Beschreibung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCStandort_Beschreibung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCStandort_Beschreibung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsAnsteuerung_Element:', name_='TCStandort_Beschreibung'): + super(TCStandort_Beschreibung, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCStandort_Beschreibung') + def _exportChildren(self, outfile, level, namespaceprefix_='nsAnsteuerung_Element:', namespacedef_='xmlns:nsAnsteuerung_Element="http://www.plan-pro.org/modell/Ansteuerung_Element/1.10.0"', name_='TCStandort_Beschreibung', fromsubclass_=False, pretty_print=True): + super(TCStandort_Beschreibung, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCStandort_Beschreibung, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TStandort_Beschreibung + self.validate_TStandort_Beschreibung(self.Wert) + super(TCStandort_Beschreibung, self)._buildChildren(child_, node, nodeName_, True) +# end class TCStandort_Beschreibung + + +class TCBezeichnung_ESTW_ZE(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCBezeichnung_ESTW_ZE"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TBezeichnung_ESTW_ZE(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCBezeichnung_ESTW_ZE) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCBezeichnung_ESTW_ZE.subclass: + return TCBezeichnung_ESTW_ZE.subclass(*args_, **kwargs_) + else: + return TCBezeichnung_ESTW_ZE(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TBezeichnung_ESTW_ZE(self, value): + result = True + # Validate type TBezeichnung_ESTW_ZE, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TBezeichnung_ESTW_ZE_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TBezeichnung_ESTW_ZE_patterns_, )) + result = False + return result + validate_TBezeichnung_ESTW_ZE_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCBezeichnung_ESTW_ZE, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsAnsteuerung_Element:', namespacedef_='xmlns:nsAnsteuerung_Element="http://www.plan-pro.org/modell/Ansteuerung_Element/1.10.0"', name_='TCBezeichnung_ESTW_ZE', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCBezeichnung_ESTW_ZE') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCBezeichnung_ESTW_ZE': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBezeichnung_ESTW_ZE') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCBezeichnung_ESTW_ZE', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsAnsteuerung_Element:', name_='TCBezeichnung_ESTW_ZE'): + super(TCBezeichnung_ESTW_ZE, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBezeichnung_ESTW_ZE') + def _exportChildren(self, outfile, level, namespaceprefix_='nsAnsteuerung_Element:', namespacedef_='xmlns:nsAnsteuerung_Element="http://www.plan-pro.org/modell/Ansteuerung_Element/1.10.0"', name_='TCBezeichnung_ESTW_ZE', fromsubclass_=False, pretty_print=True): + super(TCBezeichnung_ESTW_ZE, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCBezeichnung_ESTW_ZE, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TBezeichnung_ESTW_ZE + self.validate_TBezeichnung_ESTW_ZE(self.Wert) + super(TCBezeichnung_ESTW_ZE, self)._buildChildren(child_, node, nodeName_, True) +# end class TCBezeichnung_ESTW_ZE + + +class TCAussenelementansteuerung_Art(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCAussenelementansteuerung_Art"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMAussenelementansteuerung_Art(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCAussenelementansteuerung_Art) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCAussenelementansteuerung_Art.subclass: + return TCAussenelementansteuerung_Art.subclass(*args_, **kwargs_) + else: + return TCAussenelementansteuerung_Art(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMAussenelementansteuerung_Art(self, value): + result = True + # Validate type ENUMAussenelementansteuerung_Art, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['BUE_Anschaltung', 'ESTW_A', 'FeAk', 'FeAS', 'GFK', 'Gleisfreimelde_Innenanlage', 'Objektcontroller', 'sonstige', 'virtuelle_Aussenelementansteuerung'] + 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 ENUMAussenelementansteuerung_Art' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCAussenelementansteuerung_Art, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsAnsteuerung_Element:', namespacedef_='xmlns:nsAnsteuerung_Element="http://www.plan-pro.org/modell/Ansteuerung_Element/1.10.0"', name_='TCAussenelementansteuerung_Art', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCAussenelementansteuerung_Art') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCAussenelementansteuerung_Art': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCAussenelementansteuerung_Art') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCAussenelementansteuerung_Art', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsAnsteuerung_Element:', name_='TCAussenelementansteuerung_Art'): + super(TCAussenelementansteuerung_Art, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCAussenelementansteuerung_Art') + def _exportChildren(self, outfile, level, namespaceprefix_='nsAnsteuerung_Element:', namespacedef_='xmlns:nsAnsteuerung_Element="http://www.plan-pro.org/modell/Ansteuerung_Element/1.10.0"', name_='TCAussenelementansteuerung_Art', fromsubclass_=False, pretty_print=True): + super(TCAussenelementansteuerung_Art, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCAussenelementansteuerung_Art, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMAussenelementansteuerung_Art + self.validate_ENUMAussenelementansteuerung_Art(self.Wert) + super(TCAussenelementansteuerung_Art, self)._buildChildren(child_, node, nodeName_, True) +# end class TCAussenelementansteuerung_Art + + +class TCTSO_Teilsystem_Art(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCTSO_Teilsystem_Art"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMTSO_Teilsystem_Art(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCTSO_Teilsystem_Art) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCTSO_Teilsystem_Art.subclass: + return TCTSO_Teilsystem_Art.subclass(*args_, **kwargs_) + else: + return TCTSO_Teilsystem_Art(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMTSO_Teilsystem_Art(self, value): + result = True + # Validate type ENUMTSO_Teilsystem_Art, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['Doku ZMA ZL', 'MDM', 'RBC', 'Transfernetz mit SI LST', 'ZE'] + 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 ENUMTSO_Teilsystem_Art' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCTSO_Teilsystem_Art, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsAnsteuerung_Element:', namespacedef_='xmlns:nsAnsteuerung_Element="http://www.plan-pro.org/modell/Ansteuerung_Element/1.10.0"', name_='TCTSO_Teilsystem_Art', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCTSO_Teilsystem_Art') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCTSO_Teilsystem_Art': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCTSO_Teilsystem_Art') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCTSO_Teilsystem_Art', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsAnsteuerung_Element:', name_='TCTSO_Teilsystem_Art'): + super(TCTSO_Teilsystem_Art, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCTSO_Teilsystem_Art') + def _exportChildren(self, outfile, level, namespaceprefix_='nsAnsteuerung_Element:', namespacedef_='xmlns:nsAnsteuerung_Element="http://www.plan-pro.org/modell/Ansteuerung_Element/1.10.0"', name_='TCTSO_Teilsystem_Art', fromsubclass_=False, pretty_print=True): + super(TCTSO_Teilsystem_Art, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCTSO_Teilsystem_Art, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMTSO_Teilsystem_Art + self.validate_ENUMTSO_Teilsystem_Art(self.Wert) + super(TCTSO_Teilsystem_Art, self)._buildChildren(child_, node, nodeName_, True) +# end class TCTSO_Teilsystem_Art + + +class CAussenelementansteuerung(CBasis_Objekt): + """CAussenelementansteuerung -- Technisches Objekt, von dem aus die Ansteuerung der ESTW-Elemente der Au + ß + enanlage erfolgt. Au + ß + enelementansteuerungen (AEA) k + ö + nnen hierarchich angeordnet sein. + Ü + ber dem h + ö + chsten Element der Hierarchie steht immer die ESTW Zentraleinheit. Von allen AEA k + ö + nnen ein oder mehrere Elemente der Au + ß + enanlage angesteuert sowie deren Zust + ä + nde eingelesen werden. In der Verkettung zeigt die Verweisrichtung immer auf das in der Hierarchie h + ö + here Element. Die + Ü + bertragung von Daten und Energie wird durch getrennte Verweise modelliert. In der konventionellen ESTW-Technik entspricht die AEA dem ESTW-A. Eine Kaskadierung von AEA ist erst in neuerer ESTW-Technik + ü + blich. Geh + ö + rt ein Schaltkasten zu einem Signal, muss dieser nicht als AEA geplant werden, in dem Fall wird der Schaltkasten als Bestandteil des Signals betrachtet. Kann ein Schaltkasten mehrere Signale steuern, ist er als AEA zu betrachten. Je nach Detaillierungsgrad der Planung kann die prim + ä + re und sekund + ä + re Energieversorgung nur in der grunds + ä + tzlichen Art oder sogar der tats + ä + chliche Lieferant + ü + ber einen Verweis auf diesen angegeben werden. Als AEA werden nur Bestandteile des ESTW modelliert. Schnittstellen zu anderen Untergewerken (z. B. PZB, B + Ü + , ETCS) werden + ü + ber das Stellelement dargestellt. DB-Regelwerk Darstellung und Beschriftung des ESTW-Geb + ä + udes im sicherungstechnischen Lageplan nach Ril 819.9002 + Bezeichnung -- Attributgruppe zur Bezeichnung von Stell- und sonstigen Elementen. Sofern ausreichend, wird an dieser Stelle + ü + ber Vererbung die Basisattributgruppe Bezeichnung Element eingebunden. Ist die Abbildung mit den Attributen der Basisattributgruppe nicht m + ö + glich (z. B. wegen spezieller Patternvorgabe) oder nicht sinnvoll (z. B. weil eine Unterscheidung nach Bezeichnung_Lageplan_..., Bezeichnung_Tabelle und Bezeichnung_Aussenanlage (Pflichtattribute!) nicht notwendig ist), werden in der Attributgruppe Bezeichnung entsprechende objektspezifische Bezeichnungsattribute modelliert. Diese sind nach dem Schema Bezeichnung_[Objektname] zu benennen. Zudem ist es m + ö + glich, gleichzeitig die Basisattributgruppe Bezeichnung Element und objektspezifische Attribute einzubinden. Siehe auch Bildung der Bezeichnungen. DB-Regelwerk Sicherungstechnischer Lage- und + Ü + bersichtsplan, B + Ü + -Lageplan Planungstabellen + ID_Information_Primaer -- Ü + bergeordnetes, prim + ä + res Objekt der Informationsversorgung. Bei DSTW ist der Zugriff durch 4 (Reserve: 5) verschiedene TSO m + ö + glich, z. B. bei Einbindung eines B + Ü + in Fahrstra + ß + en mehrerer ESTW-Zentraleinheiten. DB-Regelwerk Beschreibung im Erl + ä + uterungsbericht + ID_Information_Sekundaer -- Ü + bergeordnetes, sekund + ä + res Objekt der Informationsversorgung (wenn vorhanden). Bei DSTW ist der Zugriff durch 4 (Reserve: 5) verschiedene TSO m + ö + glich, z. B. bei Einbindung eines B + Ü + in Fahrstra + ß + en mehrerer ESTW-Zentraleinheiten. DB-Regelwerk Beschreibung im Erl + ä + uterungsbericht + ID_Oertlichkeit_Gesteuert -- Ö + rtlichkeiten, die von der Au + ß + enelementansteuerung gesteuert werden. Das Attribut muss nur f + ü + r AEA (Top) gef + ü + llt werden. + ID_Oertlichkeit_Namensgebend -- Ö + rtlichkeit, die f + ü + r die Au + ß + enelementansteuerung namensgebend ist. Das Attribut ist nur f + ü + r + ü + bergeordnete Aussenelementansteuerungen (AEA (Top)) relevant, z. B. ESTW-A. + ID_Unterbringung -- Verweis auf den physischen Ort der Unterbringung von Aussenelementansteuerung, Bedien Einrichtung Oertlich, Bedien Platz, ESTW Zentraleinheit, PZB Element, Schlosskombination, Schluesselsperre und ZN. F + ü + r das PZB Element wird der Verweis nur f + ü + r eine G + Ü + gef + ü + llt - mit der Bedeutung: G + Ü + -Schaltkasten. F + ü + r die ZN ist der Verweis optional, da im Planungswerkzeug ZN/ZL keine Bef + ü + llung aller der f + ü + r die Unterbringung notwendigen Attribute m + ö + glich ist. DB-Regelwerk Darstellung des Geb + ä + udes, der Bediens + ä + ule bzw. des Schaltkastens im sicherungstechnischen Lageplan nach Ril 819.9002 oder Beschreibung im Erl + ä + uterungsbericht. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasis_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, AEA_Allg=None, AEA_Energieversorgung=None, AEA_GFK_IP_Adressblock=None, Bezeichnung=None, ID_Information_Primaer=None, ID_Information_Sekundaer=None, ID_Oertlichkeit_Gesteuert=None, ID_Oertlichkeit_Namensgebend=None, ID_Unterbringung=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CAussenelementansteuerung"), self).__init__(Identitaet, Basis_Objekt_Allg, ID_Bearbeitungsvermerk, ID_Oertlichkeit_Ausgabe, Objektreferenzen, **kwargs_) + self.AEA_Allg = AEA_Allg + self.AEA_Allg_nsprefix_ = None + self.AEA_Energieversorgung = AEA_Energieversorgung + self.AEA_Energieversorgung_nsprefix_ = None + self.AEA_GFK_IP_Adressblock = AEA_GFK_IP_Adressblock + self.AEA_GFK_IP_Adressblock_nsprefix_ = None + self.Bezeichnung = Bezeichnung + self.Bezeichnung_nsprefix_ = None + if ID_Information_Primaer is None: + self.ID_Information_Primaer = [] + else: + self.ID_Information_Primaer = ID_Information_Primaer + self.ID_Information_Primaer_nsprefix_ = None + if ID_Information_Sekundaer is None: + self.ID_Information_Sekundaer = [] + else: + self.ID_Information_Sekundaer = ID_Information_Sekundaer + self.ID_Information_Sekundaer_nsprefix_ = None + if ID_Oertlichkeit_Gesteuert is None: + self.ID_Oertlichkeit_Gesteuert = [] + else: + self.ID_Oertlichkeit_Gesteuert = ID_Oertlichkeit_Gesteuert + self.ID_Oertlichkeit_Gesteuert_nsprefix_ = None + self.ID_Oertlichkeit_Namensgebend = ID_Oertlichkeit_Namensgebend + self.ID_Oertlichkeit_Namensgebend_nsprefix_ = None + self.ID_Unterbringung = ID_Unterbringung + self.ID_Unterbringung_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CAussenelementansteuerung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CAussenelementansteuerung.subclass: + return CAussenelementansteuerung.subclass(*args_, **kwargs_) + else: + return CAussenelementansteuerung(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_AEA_Allg(self): + return self.AEA_Allg + def set_AEA_Allg(self, AEA_Allg): + self.AEA_Allg = AEA_Allg + def get_AEA_Energieversorgung(self): + return self.AEA_Energieversorgung + def set_AEA_Energieversorgung(self, AEA_Energieversorgung): + self.AEA_Energieversorgung = AEA_Energieversorgung + def get_AEA_GFK_IP_Adressblock(self): + return self.AEA_GFK_IP_Adressblock + def set_AEA_GFK_IP_Adressblock(self, AEA_GFK_IP_Adressblock): + self.AEA_GFK_IP_Adressblock = AEA_GFK_IP_Adressblock + def get_Bezeichnung(self): + return self.Bezeichnung + def set_Bezeichnung(self, Bezeichnung): + self.Bezeichnung = Bezeichnung + def get_ID_Information_Primaer(self): + return self.ID_Information_Primaer + def set_ID_Information_Primaer(self, ID_Information_Primaer): + self.ID_Information_Primaer = ID_Information_Primaer + def add_ID_Information_Primaer(self, value): + self.ID_Information_Primaer.append(value) + def insert_ID_Information_Primaer_at(self, index, value): + self.ID_Information_Primaer.insert(index, value) + def replace_ID_Information_Primaer_at(self, index, value): + self.ID_Information_Primaer[index] = value + def get_ID_Information_Sekundaer(self): + return self.ID_Information_Sekundaer + def set_ID_Information_Sekundaer(self, ID_Information_Sekundaer): + self.ID_Information_Sekundaer = ID_Information_Sekundaer + def add_ID_Information_Sekundaer(self, value): + self.ID_Information_Sekundaer.append(value) + def insert_ID_Information_Sekundaer_at(self, index, value): + self.ID_Information_Sekundaer.insert(index, value) + def replace_ID_Information_Sekundaer_at(self, index, value): + self.ID_Information_Sekundaer[index] = value + def get_ID_Oertlichkeit_Gesteuert(self): + return self.ID_Oertlichkeit_Gesteuert + def set_ID_Oertlichkeit_Gesteuert(self, ID_Oertlichkeit_Gesteuert): + self.ID_Oertlichkeit_Gesteuert = ID_Oertlichkeit_Gesteuert + def add_ID_Oertlichkeit_Gesteuert(self, value): + self.ID_Oertlichkeit_Gesteuert.append(value) + def insert_ID_Oertlichkeit_Gesteuert_at(self, index, value): + self.ID_Oertlichkeit_Gesteuert.insert(index, value) + def replace_ID_Oertlichkeit_Gesteuert_at(self, index, value): + self.ID_Oertlichkeit_Gesteuert[index] = value + def get_ID_Oertlichkeit_Namensgebend(self): + return self.ID_Oertlichkeit_Namensgebend + def set_ID_Oertlichkeit_Namensgebend(self, ID_Oertlichkeit_Namensgebend): + self.ID_Oertlichkeit_Namensgebend = ID_Oertlichkeit_Namensgebend + def get_ID_Unterbringung(self): + return self.ID_Unterbringung + def set_ID_Unterbringung(self, ID_Unterbringung): + self.ID_Unterbringung = ID_Unterbringung + def has__content(self): + if ( + self.AEA_Allg is not None or + self.AEA_Energieversorgung is not None or + self.AEA_GFK_IP_Adressblock is not None or + self.Bezeichnung is not None or + self.ID_Information_Primaer or + self.ID_Information_Sekundaer or + self.ID_Oertlichkeit_Gesteuert or + self.ID_Oertlichkeit_Namensgebend is not None or + self.ID_Unterbringung is not None or + super(CAussenelementansteuerung, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsAnsteuerung_Element:', namespacedef_='xmlns:nsAnsteuerung_Element="http://www.plan-pro.org/modell/Ansteuerung_Element/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CAussenelementansteuerung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CAussenelementansteuerung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CAussenelementansteuerung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CAussenelementansteuerung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CAussenelementansteuerung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsAnsteuerung_Element:', name_='CAussenelementansteuerung'): + super(CAussenelementansteuerung, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CAussenelementansteuerung') + def _exportChildren(self, outfile, level, namespaceprefix_='nsAnsteuerung_Element:', namespacedef_='xmlns:nsAnsteuerung_Element="http://www.plan-pro.org/modell/Ansteuerung_Element/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CAussenelementansteuerung', fromsubclass_=False, pretty_print=True): + super(CAussenelementansteuerung, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.AEA_Allg is not None: + namespaceprefix_ = self.AEA_Allg_nsprefix_ + ':' if (UseCapturedNS_ and self.AEA_Allg_nsprefix_) else '' + self.AEA_Allg.export(outfile, level, namespaceprefix_, namespacedef_='', name_='AEA_Allg', pretty_print=pretty_print) + if self.AEA_Energieversorgung is not None: + namespaceprefix_ = self.AEA_Energieversorgung_nsprefix_ + ':' if (UseCapturedNS_ and self.AEA_Energieversorgung_nsprefix_) else '' + self.AEA_Energieversorgung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='AEA_Energieversorgung', pretty_print=pretty_print) + if self.AEA_GFK_IP_Adressblock is not None: + namespaceprefix_ = self.AEA_GFK_IP_Adressblock_nsprefix_ + ':' if (UseCapturedNS_ and self.AEA_GFK_IP_Adressblock_nsprefix_) else '' + self.AEA_GFK_IP_Adressblock.export(outfile, level, namespaceprefix_, namespacedef_='', name_='AEA_GFK_IP_Adressblock', pretty_print=pretty_print) + if self.Bezeichnung is not None: + namespaceprefix_ = self.Bezeichnung_nsprefix_ + ':' if (UseCapturedNS_ and self.Bezeichnung_nsprefix_) else '' + self.Bezeichnung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Bezeichnung', pretty_print=pretty_print) + for ID_Information_Primaer_ in self.ID_Information_Primaer: + namespaceprefix_ = self.ID_Information_Primaer_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Information_Primaer_nsprefix_) else '' + ID_Information_Primaer_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Information_Primaer', pretty_print=pretty_print) + for ID_Information_Sekundaer_ in self.ID_Information_Sekundaer: + namespaceprefix_ = self.ID_Information_Sekundaer_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Information_Sekundaer_nsprefix_) else '' + ID_Information_Sekundaer_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Information_Sekundaer', pretty_print=pretty_print) + for ID_Oertlichkeit_Gesteuert_ in self.ID_Oertlichkeit_Gesteuert: + namespaceprefix_ = self.ID_Oertlichkeit_Gesteuert_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Oertlichkeit_Gesteuert_nsprefix_) else '' + ID_Oertlichkeit_Gesteuert_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Oertlichkeit_Gesteuert', pretty_print=pretty_print) + if self.ID_Oertlichkeit_Namensgebend is not None: + namespaceprefix_ = self.ID_Oertlichkeit_Namensgebend_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Oertlichkeit_Namensgebend_nsprefix_) else '' + self.ID_Oertlichkeit_Namensgebend.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Oertlichkeit_Namensgebend', pretty_print=pretty_print) + if self.ID_Unterbringung is not None: + namespaceprefix_ = self.ID_Unterbringung_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Unterbringung_nsprefix_) else '' + self.ID_Unterbringung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Unterbringung', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CAussenelementansteuerung, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'AEA_Allg': + obj_ = CAEA_Allg.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.AEA_Allg = obj_ + obj_.original_tagname_ = 'AEA_Allg' + elif nodeName_ == 'AEA_Energieversorgung': + obj_ = CAEA_Energieversorgung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.AEA_Energieversorgung = obj_ + obj_.original_tagname_ = 'AEA_Energieversorgung' + elif nodeName_ == 'AEA_GFK_IP_Adressblock': + obj_ = CAEA_GFK_IP_Adressblock.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.AEA_GFK_IP_Adressblock = obj_ + obj_.original_tagname_ = 'AEA_GFK_IP_Adressblock' + elif nodeName_ == 'Bezeichnung': + obj_ = CAussenelementansteuerung_Bezeichnung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Bezeichnung = obj_ + obj_.original_tagname_ = 'Bezeichnung' + elif nodeName_ == 'ID_Information_Primaer': + obj_ = TCID_Information_Primaer.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Information_Primaer.append(obj_) + obj_.original_tagname_ = 'ID_Information_Primaer' + elif nodeName_ == 'ID_Information_Sekundaer': + obj_ = TCID_Aussenelementansteuerung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Information_Sekundaer.append(obj_) + obj_.original_tagname_ = 'ID_Information_Sekundaer' + elif nodeName_ == 'ID_Oertlichkeit_Gesteuert': + obj_ = TCID_Oertlichkeit.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Oertlichkeit_Gesteuert.append(obj_) + obj_.original_tagname_ = 'ID_Oertlichkeit_Gesteuert' + elif nodeName_ == 'ID_Oertlichkeit_Namensgebend': + obj_ = TCID_Oertlichkeit_Proxy.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Oertlichkeit_Namensgebend = obj_ + obj_.original_tagname_ = 'ID_Oertlichkeit_Namensgebend' + elif nodeName_ == 'ID_Unterbringung': + obj_ = TCID_Unterbringung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Unterbringung = obj_ + obj_.original_tagname_ = 'ID_Unterbringung' + super(CAussenelementansteuerung, self)._buildChildren(child_, node, nodeName_, True) +# end class CAussenelementansteuerung + + +class CUnterbringung_Allg(GeneratedsSuper): + """Hersteller -- Unternehmen, das die Funktionsf + ä + higkeit der Anlage verantwortlich hergestellt hat oder Hersteller des jeweiligen Elements. Diese Eigenschaft ist kein Datum einer Planung, sondern dient im R + ü + cklauf der Planung dazu den Hersteller im Bestand zu erfassen. Es ist die zum Zeitpunkt der Inbetriebnahme g + ü + ltige Firmierung zu verwenden. DB-Regelwerk Beschreibung im Erl + ä + uterungsbericht + Tueranschlag -- Seite des T + ü + ranschlags. Die Angabe wird insbesondere bei Unterbringungen f + ü + r FeAK/FeAS ben + ö + tigt. + Unterbringung_Art -- Art der Unterbringung. Die Arten werden nach eingehaust und nicht eingehaust unterschieden, was z. B. f + ü + r das Symbol der Schl + ü + sselsperre von Bedeutung ist: Eingehaust (Symbol auf dem Lageplan): Schalthaus, Gebaeude. Nicht eingehaust (kein Symbol auf dem Lageplan): Antrieb Schaltkasten/-schrank, Tafel, sonstige, keine. Schaltkasten/-schrank: Zur Vereinfachung und zur Reduktion von Interpretationsspielr + ä + umen wird zwischen Schaltschrank und Schaltkasten nicht unterschieden. Antrieb: Die Elemente sind in einem Schranken- oder Weichenantrieb untergebracht. Tafel: Quaderf + ö + rmiger, flacher K + ö + rper (z. B. Brett oder Blech), der lediglich zur mechanischen Aufnahme der eigenst + ä + ndigen Elemente (z. B. Schloss) dient. Sie ist von der Bedientafel als Bauart einer Bedien Einrichtung Oertlich zu unterscheiden. sonstige: Es ist ein Bearbeitungsvermerk anzugeben. keine: Es gibt keine Unterbringung, z. B. wenn eine Komponente direkt an der Befestigung \"Pfosten\" angebracht ist. DB-Regelwerk Beschreibung im Erl + ä + uterungsbericht + Unterbringung_Befestigung -- Art der Befestigung der Unterbringung. Bei Auswahl von \"sonstige\" ist ein Bearbeitungsvermerk anzugeben. DB-Regelwerk Beschreibung im Erl + ä + uterungsbericht + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Hersteller=None, Tueranschlag=None, Unterbringung_Art=None, Unterbringung_Befestigung=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Hersteller = Hersteller + self.Hersteller_nsprefix_ = None + self.Tueranschlag = Tueranschlag + self.Tueranschlag_nsprefix_ = None + self.Unterbringung_Art = Unterbringung_Art + self.Unterbringung_Art_nsprefix_ = None + self.Unterbringung_Befestigung = Unterbringung_Befestigung + self.Unterbringung_Befestigung_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CUnterbringung_Allg) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CUnterbringung_Allg.subclass: + return CUnterbringung_Allg.subclass(*args_, **kwargs_) + else: + return CUnterbringung_Allg(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Hersteller(self): + return self.Hersteller + def set_Hersteller(self, Hersteller): + self.Hersteller = Hersteller + def get_Tueranschlag(self): + return self.Tueranschlag + def set_Tueranschlag(self, Tueranschlag): + self.Tueranschlag = Tueranschlag + def get_Unterbringung_Art(self): + return self.Unterbringung_Art + def set_Unterbringung_Art(self, Unterbringung_Art): + self.Unterbringung_Art = Unterbringung_Art + def get_Unterbringung_Befestigung(self): + return self.Unterbringung_Befestigung + def set_Unterbringung_Befestigung(self, Unterbringung_Befestigung): + self.Unterbringung_Befestigung = Unterbringung_Befestigung + def has__content(self): + if ( + self.Hersteller is not None or + self.Tueranschlag is not None or + self.Unterbringung_Art is not None or + self.Unterbringung_Befestigung is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsAnsteuerung_Element:', namespacedef_='xmlns:nsAnsteuerung_Element="http://www.plan-pro.org/modell/Ansteuerung_Element/1.10.0"', name_='CUnterbringung_Allg', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CUnterbringung_Allg') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CUnterbringung_Allg': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CUnterbringung_Allg') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CUnterbringung_Allg', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsAnsteuerung_Element:', name_='CUnterbringung_Allg'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsAnsteuerung_Element:', namespacedef_='xmlns:nsAnsteuerung_Element="http://www.plan-pro.org/modell/Ansteuerung_Element/1.10.0"', name_='CUnterbringung_Allg', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Hersteller is not None: + namespaceprefix_ = self.Hersteller_nsprefix_ + ':' if (UseCapturedNS_ and self.Hersteller_nsprefix_) else '' + self.Hersteller.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Hersteller', pretty_print=pretty_print) + if self.Tueranschlag is not None: + namespaceprefix_ = self.Tueranschlag_nsprefix_ + ':' if (UseCapturedNS_ and self.Tueranschlag_nsprefix_) else '' + self.Tueranschlag.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Tueranschlag', pretty_print=pretty_print) + if self.Unterbringung_Art is not None: + namespaceprefix_ = self.Unterbringung_Art_nsprefix_ + ':' if (UseCapturedNS_ and self.Unterbringung_Art_nsprefix_) else '' + self.Unterbringung_Art.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Unterbringung_Art', pretty_print=pretty_print) + if self.Unterbringung_Befestigung is not None: + namespaceprefix_ = self.Unterbringung_Befestigung_nsprefix_ + ':' if (UseCapturedNS_ and self.Unterbringung_Befestigung_nsprefix_) else '' + self.Unterbringung_Befestigung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Unterbringung_Befestigung', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Hersteller': + obj_ = TCHersteller.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Hersteller = obj_ + obj_.original_tagname_ = 'Hersteller' + elif nodeName_ == 'Tueranschlag': + obj_ = TCTueranschlag.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Tueranschlag = obj_ + obj_.original_tagname_ = 'Tueranschlag' + elif nodeName_ == 'Unterbringung_Art': + obj_ = TCUnterbringung_Art.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Unterbringung_Art = obj_ + obj_.original_tagname_ = 'Unterbringung_Art' + elif nodeName_ == 'Unterbringung_Befestigung': + obj_ = TCUnterbringung_Befestigung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Unterbringung_Befestigung = obj_ + obj_.original_tagname_ = 'Unterbringung_Befestigung' +# end class CUnterbringung_Allg + + +class CUebertragungsweg(CBasis_Objekt): + """CUebertragungsweg -- Physikalischer/logischer + Ü + bertragungsweg zwischen zwei Objekten f + ü + r eine erforderliche Informations + ü + bertragung. Die Angabe erfolgt, wenn der + Ü + bertragungsweg vom Betreiber beigestellt wird oder die Informations + ü + bertragung vom Lieferanten zus + ä + tzlich zu schalten ist. Es geht um die Erfassung der physikalischen/logischen Verbindung zweier Objekte, die entweder einer funktionalen Verbindung zwischen den Objekten des Modells selbst dient, z.B. der ESTW-Bus zwischen zwei Aussenelementansteuerungen; einer funktionalen Verbindung eines Objektes des Modells zu einer nicht im Modell befindlichen Komponente dient, z.B. der Anbindung der KUS + ü + ber die ZN_ZBS an die Leittechnik der BZ; einer funktionalen Verbindung zwischen zwei Komponenten, die nicht im Modell abgebildet sind, aber + ü + ber diese angebunden werden und darum f + ü + r die SBI dokumentiert werden m + ü + ssen, z.B. die Verbindung von der LZB-Zentrale in der ESTW Zentraleinheit zum LZB-Bedienplatz in der Bedien Zentrale. Je nach Art und Anwendungsfall kann ein Objekt nur eine oder auch mehrere Verbindungen zu einem oder mehreren anderen Objekten haben. Der Anschluss von stellwerkstypischen Elementen an das Stellwerk (Kabelanlage) wird nicht mit diesem Objekt abgebildet. + ID_Anhang_UeWeg_Nach -- Entsprechender (Lage)Plan oder Beschreibung als Anhang. + ID_Anhang_UeWeg_Von -- Entsprechender (Lage)Plan oder Beschreibung als Anhang. + ID_Uebertragungsweg_Nach -- Information, nach wo die Verbindung hergestellt werden soll. Beispiel: Bedien_Bezirk. + ID_Uebertragungsweg_Von -- Information, von wo die Verbindung hergestellt werden soll. Beispiel: ESTW_Zentraleinheit. + Uebertragungsweg_Art -- Verwendung des + Ü + bertragungsweges. Beispiel: UZ-BZ-Verbindung. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasis_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, ID_Anhang_UeWeg_Nach=None, ID_Anhang_UeWeg_Von=None, ID_Uebertragungsweg_Nach=None, ID_Uebertragungsweg_Von=None, Uebertragungsweg_Art=None, Uebertragungsweg_Technik=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CUebertragungsweg"), self).__init__(Identitaet, Basis_Objekt_Allg, ID_Bearbeitungsvermerk, ID_Oertlichkeit_Ausgabe, Objektreferenzen, **kwargs_) + if ID_Anhang_UeWeg_Nach is None: + self.ID_Anhang_UeWeg_Nach = [] + else: + self.ID_Anhang_UeWeg_Nach = ID_Anhang_UeWeg_Nach + self.ID_Anhang_UeWeg_Nach_nsprefix_ = None + if ID_Anhang_UeWeg_Von is None: + self.ID_Anhang_UeWeg_Von = [] + else: + self.ID_Anhang_UeWeg_Von = ID_Anhang_UeWeg_Von + self.ID_Anhang_UeWeg_Von_nsprefix_ = None + self.ID_Uebertragungsweg_Nach = ID_Uebertragungsweg_Nach + self.ID_Uebertragungsweg_Nach_nsprefix_ = None + self.ID_Uebertragungsweg_Von = ID_Uebertragungsweg_Von + self.ID_Uebertragungsweg_Von_nsprefix_ = None + self.Uebertragungsweg_Art = Uebertragungsweg_Art + self.Uebertragungsweg_Art_nsprefix_ = None + self.Uebertragungsweg_Technik = Uebertragungsweg_Technik + self.Uebertragungsweg_Technik_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CUebertragungsweg) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CUebertragungsweg.subclass: + return CUebertragungsweg.subclass(*args_, **kwargs_) + else: + return CUebertragungsweg(*args_, **kwargs_) + factory = staticmethod(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_Anhang_UeWeg_Nach(self): + return self.ID_Anhang_UeWeg_Nach + def set_ID_Anhang_UeWeg_Nach(self, ID_Anhang_UeWeg_Nach): + self.ID_Anhang_UeWeg_Nach = ID_Anhang_UeWeg_Nach + def add_ID_Anhang_UeWeg_Nach(self, value): + self.ID_Anhang_UeWeg_Nach.append(value) + def insert_ID_Anhang_UeWeg_Nach_at(self, index, value): + self.ID_Anhang_UeWeg_Nach.insert(index, value) + def replace_ID_Anhang_UeWeg_Nach_at(self, index, value): + self.ID_Anhang_UeWeg_Nach[index] = value + def get_ID_Anhang_UeWeg_Von(self): + return self.ID_Anhang_UeWeg_Von + def set_ID_Anhang_UeWeg_Von(self, ID_Anhang_UeWeg_Von): + self.ID_Anhang_UeWeg_Von = ID_Anhang_UeWeg_Von + def add_ID_Anhang_UeWeg_Von(self, value): + self.ID_Anhang_UeWeg_Von.append(value) + def insert_ID_Anhang_UeWeg_Von_at(self, index, value): + self.ID_Anhang_UeWeg_Von.insert(index, value) + def replace_ID_Anhang_UeWeg_Von_at(self, index, value): + self.ID_Anhang_UeWeg_Von[index] = value + def get_ID_Uebertragungsweg_Nach(self): + return self.ID_Uebertragungsweg_Nach + def set_ID_Uebertragungsweg_Nach(self, ID_Uebertragungsweg_Nach): + self.ID_Uebertragungsweg_Nach = ID_Uebertragungsweg_Nach + def get_ID_Uebertragungsweg_Von(self): + return self.ID_Uebertragungsweg_Von + def set_ID_Uebertragungsweg_Von(self, ID_Uebertragungsweg_Von): + self.ID_Uebertragungsweg_Von = ID_Uebertragungsweg_Von + def get_Uebertragungsweg_Art(self): + return self.Uebertragungsweg_Art + def set_Uebertragungsweg_Art(self, Uebertragungsweg_Art): + self.Uebertragungsweg_Art = Uebertragungsweg_Art + def get_Uebertragungsweg_Technik(self): + return self.Uebertragungsweg_Technik + def set_Uebertragungsweg_Technik(self, Uebertragungsweg_Technik): + self.Uebertragungsweg_Technik = Uebertragungsweg_Technik + def has__content(self): + if ( + self.ID_Anhang_UeWeg_Nach or + self.ID_Anhang_UeWeg_Von or + self.ID_Uebertragungsweg_Nach is not None or + self.ID_Uebertragungsweg_Von is not None or + self.Uebertragungsweg_Art is not None or + self.Uebertragungsweg_Technik is not None or + super(CUebertragungsweg, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsAnsteuerung_Element:', namespacedef_='xmlns:nsAnsteuerung_Element="http://www.plan-pro.org/modell/Ansteuerung_Element/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CUebertragungsweg', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CUebertragungsweg') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CUebertragungsweg': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CUebertragungsweg') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CUebertragungsweg', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsAnsteuerung_Element:', name_='CUebertragungsweg'): + super(CUebertragungsweg, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CUebertragungsweg') + def _exportChildren(self, outfile, level, namespaceprefix_='nsAnsteuerung_Element:', namespacedef_='xmlns:nsAnsteuerung_Element="http://www.plan-pro.org/modell/Ansteuerung_Element/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CUebertragungsweg', fromsubclass_=False, pretty_print=True): + super(CUebertragungsweg, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Anhang_UeWeg_Nach_ in self.ID_Anhang_UeWeg_Nach: + namespaceprefix_ = self.ID_Anhang_UeWeg_Nach_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Anhang_UeWeg_Nach_nsprefix_) else '' + ID_Anhang_UeWeg_Nach_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Anhang_UeWeg_Nach', pretty_print=pretty_print) + for ID_Anhang_UeWeg_Von_ in self.ID_Anhang_UeWeg_Von: + namespaceprefix_ = self.ID_Anhang_UeWeg_Von_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Anhang_UeWeg_Von_nsprefix_) else '' + ID_Anhang_UeWeg_Von_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Anhang_UeWeg_Von', pretty_print=pretty_print) + if self.ID_Uebertragungsweg_Nach is not None: + namespaceprefix_ = self.ID_Uebertragungsweg_Nach_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Uebertragungsweg_Nach_nsprefix_) else '' + self.ID_Uebertragungsweg_Nach.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Uebertragungsweg_Nach', pretty_print=pretty_print) + if self.ID_Uebertragungsweg_Von is not None: + namespaceprefix_ = self.ID_Uebertragungsweg_Von_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Uebertragungsweg_Von_nsprefix_) else '' + self.ID_Uebertragungsweg_Von.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Uebertragungsweg_Von', pretty_print=pretty_print) + if self.Uebertragungsweg_Art is not None: + namespaceprefix_ = self.Uebertragungsweg_Art_nsprefix_ + ':' if (UseCapturedNS_ and self.Uebertragungsweg_Art_nsprefix_) else '' + self.Uebertragungsweg_Art.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Uebertragungsweg_Art', pretty_print=pretty_print) + if self.Uebertragungsweg_Technik is not None: + namespaceprefix_ = self.Uebertragungsweg_Technik_nsprefix_ + ':' if (UseCapturedNS_ and self.Uebertragungsweg_Technik_nsprefix_) else '' + self.Uebertragungsweg_Technik.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Uebertragungsweg_Technik', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CUebertragungsweg, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Anhang_UeWeg_Nach': + obj_ = TCID_Anhang.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Anhang_UeWeg_Nach.append(obj_) + obj_.original_tagname_ = 'ID_Anhang_UeWeg_Nach' + elif nodeName_ == 'ID_Anhang_UeWeg_Von': + obj_ = TCID_Anhang.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Anhang_UeWeg_Von.append(obj_) + obj_.original_tagname_ = 'ID_Anhang_UeWeg_Von' + elif nodeName_ == 'ID_Uebertragungsweg_Nach': + obj_ = TCID_Uebertragungsweg_Nach.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Uebertragungsweg_Nach = obj_ + obj_.original_tagname_ = 'ID_Uebertragungsweg_Nach' + elif nodeName_ == 'ID_Uebertragungsweg_Von': + obj_ = TCID_Uebertragungsweg_Von.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Uebertragungsweg_Von = obj_ + obj_.original_tagname_ = 'ID_Uebertragungsweg_Von' + elif nodeName_ == 'Uebertragungsweg_Art': + obj_ = TCUebertragungsweg_Art.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Uebertragungsweg_Art = obj_ + obj_.original_tagname_ = 'Uebertragungsweg_Art' + elif nodeName_ == 'Uebertragungsweg_Technik': + obj_ = CUebertragungsweg_Technik.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Uebertragungsweg_Technik = obj_ + obj_.original_tagname_ = 'Uebertragungsweg_Technik' + super(CUebertragungsweg, self)._buildChildren(child_, node, nodeName_, True) +# end class CUebertragungsweg + + +class TCEnergieversorgung_Art_Ersatz(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCEnergieversorgung_Art_Ersatz"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMEV_Art(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCEnergieversorgung_Art_Ersatz) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCEnergieversorgung_Art_Ersatz.subclass: + return TCEnergieversorgung_Art_Ersatz.subclass(*args_, **kwargs_) + else: + return TCEnergieversorgung_Art_Ersatz(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMEV_Art(self, value): + result = True + # Validate type ENUMEV_Art, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['andere_Aussenelementansteuerung', 'Batterie', 'BUE', 'ESTW_Zentraleinheit', 'Fahrleitung', 'FeAk_400V_DC_direkt', 'FeAk_750V_DC_Energiebus', 'Landesnetz_VNB', 'Notstromaggregat_NEA_stationaer', 'Notstromanschluss_NEA_mobil', 'Solar', 'sonstige'] + 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 ENUMEV_Art' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCEnergieversorgung_Art_Ersatz, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsAnsteuerung_Element:', namespacedef_='xmlns:nsAnsteuerung_Element="http://www.plan-pro.org/modell/Ansteuerung_Element/1.10.0"', name_='TCEnergieversorgung_Art_Ersatz', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCEnergieversorgung_Art_Ersatz') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCEnergieversorgung_Art_Ersatz': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCEnergieversorgung_Art_Ersatz') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCEnergieversorgung_Art_Ersatz', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsAnsteuerung_Element:', name_='TCEnergieversorgung_Art_Ersatz'): + super(TCEnergieversorgung_Art_Ersatz, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCEnergieversorgung_Art_Ersatz') + def _exportChildren(self, outfile, level, namespaceprefix_='nsAnsteuerung_Element:', namespacedef_='xmlns:nsAnsteuerung_Element="http://www.plan-pro.org/modell/Ansteuerung_Element/1.10.0"', name_='TCEnergieversorgung_Art_Ersatz', fromsubclass_=False, pretty_print=True): + super(TCEnergieversorgung_Art_Ersatz, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCEnergieversorgung_Art_Ersatz, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMEV_Art + self.validate_ENUMEV_Art(self.Wert) + super(TCEnergieversorgung_Art_Ersatz, self)._buildChildren(child_, node, nodeName_, True) +# end class TCEnergieversorgung_Art_Ersatz + + +class TCIP_Adressblock_Grau_V417(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCIP_Adressblock_Grau_V417"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TIP_Adressblock_Grau_V4(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCIP_Adressblock_Grau_V417) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCIP_Adressblock_Grau_V417.subclass: + return TCIP_Adressblock_Grau_V417.subclass(*args_, **kwargs_) + else: + return TCIP_Adressblock_Grau_V417(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TIP_Adressblock_Grau_V4(self, value): + result = True + # Validate type TIP_Adressblock_Grau_V4, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TIP_Adressblock_Grau_V4_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TIP_Adressblock_Grau_V4_patterns_, )) + result = False + return result + validate_TIP_Adressblock_Grau_V4_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCIP_Adressblock_Grau_V417, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsAnsteuerung_Element:', namespacedef_='xmlns:nsAnsteuerung_Element="http://www.plan-pro.org/modell/Ansteuerung_Element/1.10.0"', name_='TCIP_Adressblock_Grau_V417', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCIP_Adressblock_Grau_V417') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCIP_Adressblock_Grau_V417': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCIP_Adressblock_Grau_V417') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCIP_Adressblock_Grau_V417', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsAnsteuerung_Element:', name_='TCIP_Adressblock_Grau_V417'): + super(TCIP_Adressblock_Grau_V417, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCIP_Adressblock_Grau_V417') + def _exportChildren(self, outfile, level, namespaceprefix_='nsAnsteuerung_Element:', namespacedef_='xmlns:nsAnsteuerung_Element="http://www.plan-pro.org/modell/Ansteuerung_Element/1.10.0"', name_='TCIP_Adressblock_Grau_V417', fromsubclass_=False, pretty_print=True): + super(TCIP_Adressblock_Grau_V417, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCIP_Adressblock_Grau_V417, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TIP_Adressblock_Grau_V4 + self.validate_TIP_Adressblock_Grau_V4(self.Wert) + super(TCIP_Adressblock_Grau_V417, self)._buildChildren(child_, node, nodeName_, True) +# end class TCIP_Adressblock_Grau_V417 + + +class TCNetz_Art(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCNetz_Art"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMNetz_Art(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCNetz_Art) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCNetz_Art.subclass: + return TCNetz_Art.subclass(*args_, **kwargs_) + else: + return TCNetz_Art(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMNetz_Art(self, value): + result = True + # Validate type ENUMNetz_Art, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['geschlossen', 'KISA', 'offen', 'SBI_intern', 'SG', 'sonstige'] + 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 ENUMNetz_Art' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCNetz_Art, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsAnsteuerung_Element:', namespacedef_='xmlns:nsAnsteuerung_Element="http://www.plan-pro.org/modell/Ansteuerung_Element/1.10.0"', name_='TCNetz_Art', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCNetz_Art') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCNetz_Art': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCNetz_Art') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCNetz_Art', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsAnsteuerung_Element:', name_='TCNetz_Art'): + super(TCNetz_Art, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCNetz_Art') + def _exportChildren(self, outfile, level, namespaceprefix_='nsAnsteuerung_Element:', namespacedef_='xmlns:nsAnsteuerung_Element="http://www.plan-pro.org/modell/Ansteuerung_Element/1.10.0"', name_='TCNetz_Art', fromsubclass_=False, pretty_print=True): + super(TCNetz_Art, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCNetz_Art, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMNetz_Art + self.validate_ENUMNetz_Art(self.Wert) + super(TCNetz_Art, self)._buildChildren(child_, node, nodeName_, True) +# end class TCNetz_Art + + +class TCUnterbringung_Polygonzug(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCUnterbringung_Polygonzug"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TUnterbringung_Polygonzug(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCUnterbringung_Polygonzug) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCUnterbringung_Polygonzug.subclass: + return TCUnterbringung_Polygonzug.subclass(*args_, **kwargs_) + else: + return TCUnterbringung_Polygonzug(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TUnterbringung_Polygonzug(self, value): + result = True + # Validate type TUnterbringung_Polygonzug, a restriction on nsBasisTypen:TFreiText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + pass + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCUnterbringung_Polygonzug, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsAnsteuerung_Element:', namespacedef_='xmlns:nsAnsteuerung_Element="http://www.plan-pro.org/modell/Ansteuerung_Element/1.10.0"', name_='TCUnterbringung_Polygonzug', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCUnterbringung_Polygonzug') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCUnterbringung_Polygonzug': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCUnterbringung_Polygonzug') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCUnterbringung_Polygonzug', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsAnsteuerung_Element:', name_='TCUnterbringung_Polygonzug'): + super(TCUnterbringung_Polygonzug, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCUnterbringung_Polygonzug') + def _exportChildren(self, outfile, level, namespaceprefix_='nsAnsteuerung_Element:', namespacedef_='xmlns:nsAnsteuerung_Element="http://www.plan-pro.org/modell/Ansteuerung_Element/1.10.0"', name_='TCUnterbringung_Polygonzug', fromsubclass_=False, pretty_print=True): + super(TCUnterbringung_Polygonzug, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCUnterbringung_Polygonzug, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TUnterbringung_Polygonzug + self.validate_TUnterbringung_Polygonzug(self.Wert) + super(TCUnterbringung_Polygonzug, self)._buildChildren(child_, node, nodeName_, True) +# end class TCUnterbringung_Polygonzug + + +class TCIP_Adressblock_Blau_V618(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCIP_Adressblock_Blau_V618"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TIP_Adressblock_Blau_V6(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCIP_Adressblock_Blau_V618) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCIP_Adressblock_Blau_V618.subclass: + return TCIP_Adressblock_Blau_V618.subclass(*args_, **kwargs_) + else: + return TCIP_Adressblock_Blau_V618(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TIP_Adressblock_Blau_V6(self, value): + result = True + # Validate type TIP_Adressblock_Blau_V6, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TIP_Adressblock_Blau_V6_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TIP_Adressblock_Blau_V6_patterns_, )) + result = False + return result + validate_TIP_Adressblock_Blau_V6_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCIP_Adressblock_Blau_V618, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsAnsteuerung_Element:', namespacedef_='xmlns:nsAnsteuerung_Element="http://www.plan-pro.org/modell/Ansteuerung_Element/1.10.0"', name_='TCIP_Adressblock_Blau_V618', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCIP_Adressblock_Blau_V618') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCIP_Adressblock_Blau_V618': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCIP_Adressblock_Blau_V618') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCIP_Adressblock_Blau_V618', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsAnsteuerung_Element:', name_='TCIP_Adressblock_Blau_V618'): + super(TCIP_Adressblock_Blau_V618, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCIP_Adressblock_Blau_V618') + def _exportChildren(self, outfile, level, namespaceprefix_='nsAnsteuerung_Element:', namespacedef_='xmlns:nsAnsteuerung_Element="http://www.plan-pro.org/modell/Ansteuerung_Element/1.10.0"', name_='TCIP_Adressblock_Blau_V618', fromsubclass_=False, pretty_print=True): + super(TCIP_Adressblock_Blau_V618, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCIP_Adressblock_Blau_V618, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TIP_Adressblock_Blau_V6 + self.validate_TIP_Adressblock_Blau_V6(self.Wert) + super(TCIP_Adressblock_Blau_V618, self)._buildChildren(child_, node, nodeName_, True) +# end class TCIP_Adressblock_Blau_V618 + + +class TCIP_Adressblock_Grau_V619(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCIP_Adressblock_Grau_V619"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TIP_Adressblock_Grau_V6(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCIP_Adressblock_Grau_V619) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCIP_Adressblock_Grau_V619.subclass: + return TCIP_Adressblock_Grau_V619.subclass(*args_, **kwargs_) + else: + return TCIP_Adressblock_Grau_V619(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TIP_Adressblock_Grau_V6(self, value): + result = True + # Validate type TIP_Adressblock_Grau_V6, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TIP_Adressblock_Grau_V6_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TIP_Adressblock_Grau_V6_patterns_, )) + result = False + return result + validate_TIP_Adressblock_Grau_V6_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCIP_Adressblock_Grau_V619, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsAnsteuerung_Element:', namespacedef_='xmlns:nsAnsteuerung_Element="http://www.plan-pro.org/modell/Ansteuerung_Element/1.10.0"', name_='TCIP_Adressblock_Grau_V619', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCIP_Adressblock_Grau_V619') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCIP_Adressblock_Grau_V619': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCIP_Adressblock_Grau_V619') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCIP_Adressblock_Grau_V619', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsAnsteuerung_Element:', name_='TCIP_Adressblock_Grau_V619'): + super(TCIP_Adressblock_Grau_V619, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCIP_Adressblock_Grau_V619') + def _exportChildren(self, outfile, level, namespaceprefix_='nsAnsteuerung_Element:', namespacedef_='xmlns:nsAnsteuerung_Element="http://www.plan-pro.org/modell/Ansteuerung_Element/1.10.0"', name_='TCIP_Adressblock_Grau_V619', fromsubclass_=False, pretty_print=True): + super(TCIP_Adressblock_Grau_V619, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCIP_Adressblock_Grau_V619, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TIP_Adressblock_Grau_V6 + self.validate_TIP_Adressblock_Grau_V6(self.Wert) + super(TCIP_Adressblock_Grau_V619, self)._buildChildren(child_, node, nodeName_, True) +# end class TCIP_Adressblock_Grau_V619 + + +class CESTW_Zentraleinheit_Bezeichnung(GeneratedsSuper): + """Bezeichnung_ESTW_ZE -- Bezeichnung der ESTW Zentraleinheit. Beispiel: \"ESTW-UZ Waldhof\", \"ESTW-Z Zellwald\". + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Bezeichnung_ESTW_ZE=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Bezeichnung_ESTW_ZE = Bezeichnung_ESTW_ZE + self.Bezeichnung_ESTW_ZE_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CESTW_Zentraleinheit_Bezeichnung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CESTW_Zentraleinheit_Bezeichnung.subclass: + return CESTW_Zentraleinheit_Bezeichnung.subclass(*args_, **kwargs_) + else: + return CESTW_Zentraleinheit_Bezeichnung(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Bezeichnung_ESTW_ZE(self): + return self.Bezeichnung_ESTW_ZE + def set_Bezeichnung_ESTW_ZE(self, Bezeichnung_ESTW_ZE): + self.Bezeichnung_ESTW_ZE = Bezeichnung_ESTW_ZE + def has__content(self): + if ( + self.Bezeichnung_ESTW_ZE is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsAnsteuerung_Element:', namespacedef_='xmlns:nsAnsteuerung_Element="http://www.plan-pro.org/modell/Ansteuerung_Element/1.10.0"', name_='CESTW_Zentraleinheit_Bezeichnung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CESTW_Zentraleinheit_Bezeichnung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CESTW_Zentraleinheit_Bezeichnung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CESTW_Zentraleinheit_Bezeichnung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CESTW_Zentraleinheit_Bezeichnung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsAnsteuerung_Element:', name_='CESTW_Zentraleinheit_Bezeichnung'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsAnsteuerung_Element:', namespacedef_='xmlns:nsAnsteuerung_Element="http://www.plan-pro.org/modell/Ansteuerung_Element/1.10.0"', name_='CESTW_Zentraleinheit_Bezeichnung', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Bezeichnung_ESTW_ZE is not None: + namespaceprefix_ = self.Bezeichnung_ESTW_ZE_nsprefix_ + ':' if (UseCapturedNS_ and self.Bezeichnung_ESTW_ZE_nsprefix_) else '' + self.Bezeichnung_ESTW_ZE.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Bezeichnung_ESTW_ZE', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Bezeichnung_ESTW_ZE': + obj_ = TCBezeichnung_ESTW_ZE.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Bezeichnung_ESTW_ZE = obj_ + obj_.original_tagname_ = 'Bezeichnung_ESTW_ZE' +# end class CESTW_Zentraleinheit_Bezeichnung + + +class TCHersteller20(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCHersteller20"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_THersteller(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCHersteller20) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCHersteller20.subclass: + return TCHersteller20.subclass(*args_, **kwargs_) + else: + return TCHersteller20(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_THersteller(self, value): + result = True + # Validate type THersteller, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_THersteller_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_THersteller_patterns_, )) + result = False + return result + validate_THersteller_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCHersteller20, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsAnsteuerung_Element:', namespacedef_='xmlns:nsAnsteuerung_Element="http://www.plan-pro.org/modell/Ansteuerung_Element/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCHersteller20', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCHersteller20') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCHersteller20': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCHersteller20') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCHersteller20', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsAnsteuerung_Element:', name_='TCHersteller20'): + super(TCHersteller20, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCHersteller20') + def _exportChildren(self, outfile, level, namespaceprefix_='nsAnsteuerung_Element:', namespacedef_='xmlns:nsAnsteuerung_Element="http://www.plan-pro.org/modell/Ansteuerung_Element/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCHersteller20', fromsubclass_=False, pretty_print=True): + super(TCHersteller20, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCHersteller20, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type THersteller + self.validate_THersteller(self.Wert) + super(TCHersteller20, self)._buildChildren(child_, node, nodeName_, True) +# end class TCHersteller20 + + +class CTSO_IP_AB_Teilsystem(GeneratedsSuper): + """IP_Adressblock_Blau -- F + ü + r das Teilsystem reservierter Adressblock im blauen Weg des bbIP-Netzes. + IP_Adressblock_Grau -- F + ü + r das Teilsystem reservierter Adressblock im grauen Weg des bbIP-Netzes. + TSO_Teilsystem_Art -- Art des TSO-Teilsystems, z. B. ZE (ESTW-Zentraleinheit), MDM (Maintenance Data Management), Doku ZMA ZL (Doku Zugnummernmeldeanlage Zuglenkung), Transfernetz mit SI LST (SI = Service-Interface). + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, IP_Adressblock_Blau=None, IP_Adressblock_Grau=None, TSO_Teilsystem_Art=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.IP_Adressblock_Blau = IP_Adressblock_Blau + self.IP_Adressblock_Blau_nsprefix_ = None + self.IP_Adressblock_Grau = IP_Adressblock_Grau + self.IP_Adressblock_Grau_nsprefix_ = None + self.TSO_Teilsystem_Art = TSO_Teilsystem_Art + self.TSO_Teilsystem_Art_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CTSO_IP_AB_Teilsystem) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CTSO_IP_AB_Teilsystem.subclass: + return CTSO_IP_AB_Teilsystem.subclass(*args_, **kwargs_) + else: + return CTSO_IP_AB_Teilsystem(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_IP_Adressblock_Blau(self): + return self.IP_Adressblock_Blau + def set_IP_Adressblock_Blau(self, IP_Adressblock_Blau): + self.IP_Adressblock_Blau = IP_Adressblock_Blau + def get_IP_Adressblock_Grau(self): + return self.IP_Adressblock_Grau + def set_IP_Adressblock_Grau(self, IP_Adressblock_Grau): + self.IP_Adressblock_Grau = IP_Adressblock_Grau + def get_TSO_Teilsystem_Art(self): + return self.TSO_Teilsystem_Art + def set_TSO_Teilsystem_Art(self, TSO_Teilsystem_Art): + self.TSO_Teilsystem_Art = TSO_Teilsystem_Art + def has__content(self): + if ( + self.IP_Adressblock_Blau is not None or + self.IP_Adressblock_Grau is not None or + self.TSO_Teilsystem_Art is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsAnsteuerung_Element:', namespacedef_='xmlns:nsAnsteuerung_Element="http://www.plan-pro.org/modell/Ansteuerung_Element/1.10.0"', name_='CTSO_IP_AB_Teilsystem', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CTSO_IP_AB_Teilsystem') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CTSO_IP_AB_Teilsystem': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CTSO_IP_AB_Teilsystem') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CTSO_IP_AB_Teilsystem', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsAnsteuerung_Element:', name_='CTSO_IP_AB_Teilsystem'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsAnsteuerung_Element:', namespacedef_='xmlns:nsAnsteuerung_Element="http://www.plan-pro.org/modell/Ansteuerung_Element/1.10.0"', name_='CTSO_IP_AB_Teilsystem', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.IP_Adressblock_Blau is not None: + namespaceprefix_ = self.IP_Adressblock_Blau_nsprefix_ + ':' if (UseCapturedNS_ and self.IP_Adressblock_Blau_nsprefix_) else '' + self.IP_Adressblock_Blau.export(outfile, level, namespaceprefix_, namespacedef_='', name_='IP_Adressblock_Blau', pretty_print=pretty_print) + if self.IP_Adressblock_Grau is not None: + namespaceprefix_ = self.IP_Adressblock_Grau_nsprefix_ + ':' if (UseCapturedNS_ and self.IP_Adressblock_Grau_nsprefix_) else '' + self.IP_Adressblock_Grau.export(outfile, level, namespaceprefix_, namespacedef_='', name_='IP_Adressblock_Grau', pretty_print=pretty_print) + if self.TSO_Teilsystem_Art is not None: + namespaceprefix_ = self.TSO_Teilsystem_Art_nsprefix_ + ':' if (UseCapturedNS_ and self.TSO_Teilsystem_Art_nsprefix_) else '' + self.TSO_Teilsystem_Art.export(outfile, level, namespaceprefix_, namespacedef_='', name_='TSO_Teilsystem_Art', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'IP_Adressblock_Blau': + obj_ = TCIP_Adressblock_Blau.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.IP_Adressblock_Blau = obj_ + obj_.original_tagname_ = 'IP_Adressblock_Blau' + elif nodeName_ == 'IP_Adressblock_Grau': + obj_ = TCIP_Adressblock_Grau.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.IP_Adressblock_Grau = obj_ + obj_.original_tagname_ = 'IP_Adressblock_Grau' + elif nodeName_ == 'TSO_Teilsystem_Art': + obj_ = TCTSO_Teilsystem_Art.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.TSO_Teilsystem_Art = obj_ + obj_.original_tagname_ = 'TSO_Teilsystem_Art' +# end class CTSO_IP_AB_Teilsystem + + +class TCUnterbringung_Art(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCUnterbringung_Art"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMUnterbringung_Art(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCUnterbringung_Art) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCUnterbringung_Art.subclass: + return TCUnterbringung_Art.subclass(*args_, **kwargs_) + else: + return TCUnterbringung_Art(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMUnterbringung_Art(self, value): + result = True + # Validate type ENUMUnterbringung_Art, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['Antrieb', 'Gebaeude', 'keine', 'Schalthaus', 'Schaltschrank_Schaltkasten', 'sonstige', 'Tafel'] + 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 ENUMUnterbringung_Art' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCUnterbringung_Art, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsAnsteuerung_Element:', namespacedef_='xmlns:nsAnsteuerung_Element="http://www.plan-pro.org/modell/Ansteuerung_Element/1.10.0"', name_='TCUnterbringung_Art', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCUnterbringung_Art') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCUnterbringung_Art': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCUnterbringung_Art') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCUnterbringung_Art', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsAnsteuerung_Element:', name_='TCUnterbringung_Art'): + super(TCUnterbringung_Art, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCUnterbringung_Art') + def _exportChildren(self, outfile, level, namespaceprefix_='nsAnsteuerung_Element:', namespacedef_='xmlns:nsAnsteuerung_Element="http://www.plan-pro.org/modell/Ansteuerung_Element/1.10.0"', name_='TCUnterbringung_Art', fromsubclass_=False, pretty_print=True): + super(TCUnterbringung_Art, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCUnterbringung_Art, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMUnterbringung_Art + self.validate_ENUMUnterbringung_Art(self.Wert) + super(TCUnterbringung_Art, self)._buildChildren(child_, node, nodeName_, True) +# end class TCUnterbringung_Art + + +class TCRegionalbereich21(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCRegionalbereich21"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TRegionalbereich(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCRegionalbereich21) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCRegionalbereich21.subclass: + return TCRegionalbereich21.subclass(*args_, **kwargs_) + else: + return TCRegionalbereich21(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TRegionalbereich(self, value): + result = True + # Validate type TRegionalbereich, a restriction on nsBasisTypen:ENUMRegionalbereich. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['Mitte', 'Nord', 'Ost', 'Süd', 'Südost', 'Südwest', 'West'] + 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 TRegionalbereich' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCRegionalbereich21, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsAnsteuerung_Element:', namespacedef_='xmlns:nsAnsteuerung_Element="http://www.plan-pro.org/modell/Ansteuerung_Element/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCRegionalbereich21', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCRegionalbereich21') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCRegionalbereich21': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCRegionalbereich21') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCRegionalbereich21', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsAnsteuerung_Element:', name_='TCRegionalbereich21'): + super(TCRegionalbereich21, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCRegionalbereich21') + def _exportChildren(self, outfile, level, namespaceprefix_='nsAnsteuerung_Element:', namespacedef_='xmlns:nsAnsteuerung_Element="http://www.plan-pro.org/modell/Ansteuerung_Element/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCRegionalbereich21', fromsubclass_=False, pretty_print=True): + super(TCRegionalbereich21, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCRegionalbereich21, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TRegionalbereich + self.validate_TRegionalbereich(self.Wert) + super(TCRegionalbereich21, self)._buildChildren(child_, node, nodeName_, True) +# end class TCRegionalbereich21 + + +class CAEA_Energieversorgung(GeneratedsSuper): + """Energieversorgung_Art_Ersatz -- Grunds + ä + tzliche Art der Ersatz-Energieversorgung. Wird f + ü + r die Ersatz-Energieversorgung eine ESTW_Zentraleinheit, eine andere Aussenelementansteuerung oder ein B + Ü + verwendet, so kann dies in fr + ü + hen Planungsphasen unspezifisch mit diesem Attribut angegeben werden. In sp + ä + teren Planungsphasen wird dann alternativ die spezifische Quelle der Energie mit ID Energie Sekundaer angegeben. Bei Auswahl von \"sonstige\" ist ein Bearbeitungsvermerk notwendig. DB-Regelwerk Beschreibung im Erl + ä + uterungsbericht + ID_Energie_Sekundaer -- Objekt der sekund + ä + ren Energiequelle (sofern vorhanden). DB-Regelwerk Beschreibung im Erl + ä + uterungsbericht + Energieversorgung_Art -- Grunds + ä + tzliche Art der Energieversorgung. Wird f + ü + r die Energieversorgung eine ESTW_Zentraleinheit, eine andere Aussenelementansteuerung oder ein B + Ü + verwendet, so kann dies in fr + ü + hen Planungsphasen unspezifisch mit diesem Attribut angegeben werden. In sp + ä + teren Planungsphasen wird dann alternativ die spezifische Quelle der Energie mit ID Energie Primaer angegeben. Bei Auswahl von \"sonstige\" ist ein Bearbeitungsvermerk notwendig. DB-Regelwerk Beschreibung im Erl + ä + uterungsbericht + ID_Energie_Primaer -- Objekt der prim + ä + ren Energiequelle. DB-Regelwerk Beschreibung im Erl + ä + uterungsbericht + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Energieversorgung_Art_Ersatz=None, ID_Energie_Sekundaer=None, Energieversorgung_Art=None, ID_Energie_Primaer=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Energieversorgung_Art_Ersatz = Energieversorgung_Art_Ersatz + self.Energieversorgung_Art_Ersatz_nsprefix_ = None + self.ID_Energie_Sekundaer = ID_Energie_Sekundaer + self.ID_Energie_Sekundaer_nsprefix_ = None + self.Energieversorgung_Art = Energieversorgung_Art + self.Energieversorgung_Art_nsprefix_ = None + self.ID_Energie_Primaer = ID_Energie_Primaer + self.ID_Energie_Primaer_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CAEA_Energieversorgung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CAEA_Energieversorgung.subclass: + return CAEA_Energieversorgung.subclass(*args_, **kwargs_) + else: + return CAEA_Energieversorgung(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Energieversorgung_Art_Ersatz(self): + return self.Energieversorgung_Art_Ersatz + def set_Energieversorgung_Art_Ersatz(self, Energieversorgung_Art_Ersatz): + self.Energieversorgung_Art_Ersatz = Energieversorgung_Art_Ersatz + def get_ID_Energie_Sekundaer(self): + return self.ID_Energie_Sekundaer + def set_ID_Energie_Sekundaer(self, ID_Energie_Sekundaer): + self.ID_Energie_Sekundaer = ID_Energie_Sekundaer + def get_Energieversorgung_Art(self): + return self.Energieversorgung_Art + def set_Energieversorgung_Art(self, Energieversorgung_Art): + self.Energieversorgung_Art = Energieversorgung_Art + def get_ID_Energie_Primaer(self): + return self.ID_Energie_Primaer + def set_ID_Energie_Primaer(self, ID_Energie_Primaer): + self.ID_Energie_Primaer = ID_Energie_Primaer + def has__content(self): + if ( + self.Energieversorgung_Art_Ersatz is not None or + self.ID_Energie_Sekundaer is not None or + self.Energieversorgung_Art is not None or + self.ID_Energie_Primaer is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsAnsteuerung_Element:', namespacedef_='xmlns:nsAnsteuerung_Element="http://www.plan-pro.org/modell/Ansteuerung_Element/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CAEA_Energieversorgung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CAEA_Energieversorgung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CAEA_Energieversorgung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CAEA_Energieversorgung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CAEA_Energieversorgung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsAnsteuerung_Element:', name_='CAEA_Energieversorgung'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsAnsteuerung_Element:', namespacedef_='xmlns:nsAnsteuerung_Element="http://www.plan-pro.org/modell/Ansteuerung_Element/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CAEA_Energieversorgung', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Energieversorgung_Art_Ersatz is not None: + namespaceprefix_ = self.Energieversorgung_Art_Ersatz_nsprefix_ + ':' if (UseCapturedNS_ and self.Energieversorgung_Art_Ersatz_nsprefix_) else '' + self.Energieversorgung_Art_Ersatz.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Energieversorgung_Art_Ersatz', pretty_print=pretty_print) + if self.ID_Energie_Sekundaer is not None: + namespaceprefix_ = self.ID_Energie_Sekundaer_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Energie_Sekundaer_nsprefix_) else '' + self.ID_Energie_Sekundaer.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Energie_Sekundaer', pretty_print=pretty_print) + if self.Energieversorgung_Art is not None: + namespaceprefix_ = self.Energieversorgung_Art_nsprefix_ + ':' if (UseCapturedNS_ and self.Energieversorgung_Art_nsprefix_) else '' + self.Energieversorgung_Art.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Energieversorgung_Art', pretty_print=pretty_print) + if self.ID_Energie_Primaer is not None: + namespaceprefix_ = self.ID_Energie_Primaer_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Energie_Primaer_nsprefix_) else '' + self.ID_Energie_Primaer.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Energie_Primaer', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Energieversorgung_Art_Ersatz': + obj_ = TCEnergieversorgung_Art_Ersatz.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Energieversorgung_Art_Ersatz = obj_ + obj_.original_tagname_ = 'Energieversorgung_Art_Ersatz' + elif nodeName_ == 'ID_Energie_Sekundaer': + obj_ = TCID_Energie.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Energie_Sekundaer = obj_ + obj_.original_tagname_ = 'ID_Energie_Sekundaer' + elif nodeName_ == 'Energieversorgung_Art': + obj_ = TCEnergieversorgung_Art.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Energieversorgung_Art = obj_ + obj_.original_tagname_ = 'Energieversorgung_Art' + elif nodeName_ == 'ID_Energie_Primaer': + obj_ = TCID_Energie.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Energie_Primaer = obj_ + obj_.original_tagname_ = 'ID_Energie_Primaer' +# end class CAEA_Energieversorgung + + +class TCBezeichnung_AEA(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCBezeichnung_AEA"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TBezeichnung_AEA(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCBezeichnung_AEA) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCBezeichnung_AEA.subclass: + return TCBezeichnung_AEA.subclass(*args_, **kwargs_) + else: + return TCBezeichnung_AEA(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TBezeichnung_AEA(self, value): + result = True + # Validate type TBezeichnung_AEA, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TBezeichnung_AEA_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TBezeichnung_AEA_patterns_, )) + result = False + return result + validate_TBezeichnung_AEA_patterns_ = [['^(.{1,30})$'], ['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCBezeichnung_AEA, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsAnsteuerung_Element:', namespacedef_='xmlns:nsAnsteuerung_Element="http://www.plan-pro.org/modell/Ansteuerung_Element/1.10.0"', name_='TCBezeichnung_AEA', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCBezeichnung_AEA') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCBezeichnung_AEA': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBezeichnung_AEA') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCBezeichnung_AEA', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsAnsteuerung_Element:', name_='TCBezeichnung_AEA'): + super(TCBezeichnung_AEA, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBezeichnung_AEA') + def _exportChildren(self, outfile, level, namespaceprefix_='nsAnsteuerung_Element:', namespacedef_='xmlns:nsAnsteuerung_Element="http://www.plan-pro.org/modell/Ansteuerung_Element/1.10.0"', name_='TCBezeichnung_AEA', fromsubclass_=False, pretty_print=True): + super(TCBezeichnung_AEA, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCBezeichnung_AEA, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TBezeichnung_AEA + self.validate_TBezeichnung_AEA(self.Wert) + super(TCBezeichnung_AEA, self)._buildChildren(child_, node, nodeName_, True) +# end class TCBezeichnung_AEA + + +class TCBezeichnung_Stellwerk(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCBezeichnung_Stellwerk"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TBezeichnung_Stellwerk(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCBezeichnung_Stellwerk) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCBezeichnung_Stellwerk.subclass: + return TCBezeichnung_Stellwerk.subclass(*args_, **kwargs_) + else: + return TCBezeichnung_Stellwerk(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TBezeichnung_Stellwerk(self, value): + result = True + # Validate type TBezeichnung_Stellwerk, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TBezeichnung_Stellwerk_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TBezeichnung_Stellwerk_patterns_, )) + result = False + return result + validate_TBezeichnung_Stellwerk_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCBezeichnung_Stellwerk, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsAnsteuerung_Element:', namespacedef_='xmlns:nsAnsteuerung_Element="http://www.plan-pro.org/modell/Ansteuerung_Element/1.10.0"', name_='TCBezeichnung_Stellwerk', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCBezeichnung_Stellwerk') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCBezeichnung_Stellwerk': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBezeichnung_Stellwerk') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCBezeichnung_Stellwerk', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsAnsteuerung_Element:', name_='TCBezeichnung_Stellwerk'): + super(TCBezeichnung_Stellwerk, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBezeichnung_Stellwerk') + def _exportChildren(self, outfile, level, namespaceprefix_='nsAnsteuerung_Element:', namespacedef_='xmlns:nsAnsteuerung_Element="http://www.plan-pro.org/modell/Ansteuerung_Element/1.10.0"', name_='TCBezeichnung_Stellwerk', fromsubclass_=False, pretty_print=True): + super(TCBezeichnung_Stellwerk, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCBezeichnung_Stellwerk, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TBezeichnung_Stellwerk + self.validate_TBezeichnung_Stellwerk(self.Wert) + super(TCBezeichnung_Stellwerk, self)._buildChildren(child_, node, nodeName_, True) +# end class TCBezeichnung_Stellwerk + + +class TCTueranschlag(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCTueranschlag"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMTueranschlag(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCTueranschlag) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCTueranschlag.subclass: + return TCTueranschlag.subclass(*args_, **kwargs_) + else: + return TCTueranschlag(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMTueranschlag(self, value): + result = True + # Validate type ENUMTueranschlag, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['abnehmbar', 'beidseitig', 'links', 'oben', 'rechts', 'sonstige', 'unten'] + 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 ENUMTueranschlag' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCTueranschlag, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsAnsteuerung_Element:', namespacedef_='xmlns:nsAnsteuerung_Element="http://www.plan-pro.org/modell/Ansteuerung_Element/1.10.0"', name_='TCTueranschlag', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCTueranschlag') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCTueranschlag': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCTueranschlag') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCTueranschlag', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsAnsteuerung_Element:', name_='TCTueranschlag'): + super(TCTueranschlag, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCTueranschlag') + def _exportChildren(self, outfile, level, namespaceprefix_='nsAnsteuerung_Element:', namespacedef_='xmlns:nsAnsteuerung_Element="http://www.plan-pro.org/modell/Ansteuerung_Element/1.10.0"', name_='TCTueranschlag', fromsubclass_=False, pretty_print=True): + super(TCTueranschlag, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCTueranschlag, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMTueranschlag + self.validate_ENUMTueranschlag(self.Wert) + super(TCTueranschlag, self)._buildChildren(child_, node, nodeName_, True) +# end class TCTueranschlag + + +class CAEA_GFK_IP_Adressblock(GeneratedsSuper): + """GFK_Kategorie -- Kategorie des GFK gem + ä + ß + NeuPro.85. + IP_Adressblock_Blau_V4 -- Reservierter IPv4-Adressblock f + ü + r den blauen Weg des bbIP-Netzes. + IP_Adressblock_Blau_V6 -- Reservierter IPv6-Adressblock f + ü + r den blauen Weg des bbIP-Netzes. + IP_Adressblock_Grau_V4 -- Reservierter IPv4-Adressblock f + ü + r den grauen Weg des bbIP-Netzes. + IP_Adressblock_Grau_V6 -- Reservierter IPv6-Adressblock f + ü + r den grauen Weg des bbIP-Netzes. + Regionalbereich -- Regionalbereich, dem der GFK zugewiesen ist. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, GFK_Kategorie=None, IP_Adressblock_Blau_V4=None, IP_Adressblock_Blau_V6=None, IP_Adressblock_Grau_V4=None, IP_Adressblock_Grau_V6=None, Regionalbereich=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.GFK_Kategorie = GFK_Kategorie + self.GFK_Kategorie_nsprefix_ = None + self.IP_Adressblock_Blau_V4 = IP_Adressblock_Blau_V4 + self.IP_Adressblock_Blau_V4_nsprefix_ = None + self.IP_Adressblock_Blau_V6 = IP_Adressblock_Blau_V6 + self.IP_Adressblock_Blau_V6_nsprefix_ = None + self.IP_Adressblock_Grau_V4 = IP_Adressblock_Grau_V4 + self.IP_Adressblock_Grau_V4_nsprefix_ = None + self.IP_Adressblock_Grau_V6 = IP_Adressblock_Grau_V6 + self.IP_Adressblock_Grau_V6_nsprefix_ = None + self.Regionalbereich = Regionalbereich + self.Regionalbereich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CAEA_GFK_IP_Adressblock) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CAEA_GFK_IP_Adressblock.subclass: + return CAEA_GFK_IP_Adressblock.subclass(*args_, **kwargs_) + else: + return CAEA_GFK_IP_Adressblock(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_GFK_Kategorie(self): + return self.GFK_Kategorie + def set_GFK_Kategorie(self, GFK_Kategorie): + self.GFK_Kategorie = GFK_Kategorie + def get_IP_Adressblock_Blau_V4(self): + return self.IP_Adressblock_Blau_V4 + def set_IP_Adressblock_Blau_V4(self, IP_Adressblock_Blau_V4): + self.IP_Adressblock_Blau_V4 = IP_Adressblock_Blau_V4 + def get_IP_Adressblock_Blau_V6(self): + return self.IP_Adressblock_Blau_V6 + def set_IP_Adressblock_Blau_V6(self, IP_Adressblock_Blau_V6): + self.IP_Adressblock_Blau_V6 = IP_Adressblock_Blau_V6 + def get_IP_Adressblock_Grau_V4(self): + return self.IP_Adressblock_Grau_V4 + def set_IP_Adressblock_Grau_V4(self, IP_Adressblock_Grau_V4): + self.IP_Adressblock_Grau_V4 = IP_Adressblock_Grau_V4 + def get_IP_Adressblock_Grau_V6(self): + return self.IP_Adressblock_Grau_V6 + def set_IP_Adressblock_Grau_V6(self, IP_Adressblock_Grau_V6): + self.IP_Adressblock_Grau_V6 = IP_Adressblock_Grau_V6 + def get_Regionalbereich(self): + return self.Regionalbereich + def set_Regionalbereich(self, Regionalbereich): + self.Regionalbereich = Regionalbereich + def has__content(self): + if ( + self.GFK_Kategorie is not None or + self.IP_Adressblock_Blau_V4 is not None or + self.IP_Adressblock_Blau_V6 is not None or + self.IP_Adressblock_Grau_V4 is not None or + self.IP_Adressblock_Grau_V6 is not None or + self.Regionalbereich is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsAnsteuerung_Element:', namespacedef_='xmlns:nsAnsteuerung_Element="http://www.plan-pro.org/modell/Ansteuerung_Element/1.10.0"', name_='CAEA_GFK_IP_Adressblock', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CAEA_GFK_IP_Adressblock') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CAEA_GFK_IP_Adressblock': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CAEA_GFK_IP_Adressblock') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CAEA_GFK_IP_Adressblock', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsAnsteuerung_Element:', name_='CAEA_GFK_IP_Adressblock'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsAnsteuerung_Element:', namespacedef_='xmlns:nsAnsteuerung_Element="http://www.plan-pro.org/modell/Ansteuerung_Element/1.10.0"', name_='CAEA_GFK_IP_Adressblock', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.GFK_Kategorie is not None: + namespaceprefix_ = self.GFK_Kategorie_nsprefix_ + ':' if (UseCapturedNS_ and self.GFK_Kategorie_nsprefix_) else '' + self.GFK_Kategorie.export(outfile, level, namespaceprefix_, namespacedef_='', name_='GFK_Kategorie', pretty_print=pretty_print) + if self.IP_Adressblock_Blau_V4 is not None: + namespaceprefix_ = self.IP_Adressblock_Blau_V4_nsprefix_ + ':' if (UseCapturedNS_ and self.IP_Adressblock_Blau_V4_nsprefix_) else '' + self.IP_Adressblock_Blau_V4.export(outfile, level, namespaceprefix_, namespacedef_='', name_='IP_Adressblock_Blau_V4', pretty_print=pretty_print) + if self.IP_Adressblock_Blau_V6 is not None: + namespaceprefix_ = self.IP_Adressblock_Blau_V6_nsprefix_ + ':' if (UseCapturedNS_ and self.IP_Adressblock_Blau_V6_nsprefix_) else '' + self.IP_Adressblock_Blau_V6.export(outfile, level, namespaceprefix_, namespacedef_='', name_='IP_Adressblock_Blau_V6', pretty_print=pretty_print) + if self.IP_Adressblock_Grau_V4 is not None: + namespaceprefix_ = self.IP_Adressblock_Grau_V4_nsprefix_ + ':' if (UseCapturedNS_ and self.IP_Adressblock_Grau_V4_nsprefix_) else '' + self.IP_Adressblock_Grau_V4.export(outfile, level, namespaceprefix_, namespacedef_='', name_='IP_Adressblock_Grau_V4', pretty_print=pretty_print) + if self.IP_Adressblock_Grau_V6 is not None: + namespaceprefix_ = self.IP_Adressblock_Grau_V6_nsprefix_ + ':' if (UseCapturedNS_ and self.IP_Adressblock_Grau_V6_nsprefix_) else '' + self.IP_Adressblock_Grau_V6.export(outfile, level, namespaceprefix_, namespacedef_='', name_='IP_Adressblock_Grau_V6', pretty_print=pretty_print) + if self.Regionalbereich is not None: + namespaceprefix_ = self.Regionalbereich_nsprefix_ + ':' if (UseCapturedNS_ and self.Regionalbereich_nsprefix_) else '' + self.Regionalbereich.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Regionalbereich', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'GFK_Kategorie': + obj_ = TCGFK_Kategorie.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.GFK_Kategorie = obj_ + obj_.original_tagname_ = 'GFK_Kategorie' + elif nodeName_ == 'IP_Adressblock_Blau_V4': + obj_ = TCIP_Adressblock_Blau_V4.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.IP_Adressblock_Blau_V4 = obj_ + obj_.original_tagname_ = 'IP_Adressblock_Blau_V4' + elif nodeName_ == 'IP_Adressblock_Blau_V6': + obj_ = TCIP_Adressblock_Blau_V6.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.IP_Adressblock_Blau_V6 = obj_ + obj_.original_tagname_ = 'IP_Adressblock_Blau_V6' + elif nodeName_ == 'IP_Adressblock_Grau_V4': + obj_ = TCIP_Adressblock_Grau_V4.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.IP_Adressblock_Grau_V4 = obj_ + obj_.original_tagname_ = 'IP_Adressblock_Grau_V4' + elif nodeName_ == 'IP_Adressblock_Grau_V6': + obj_ = TCIP_Adressblock_Grau_V6.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.IP_Adressblock_Grau_V6 = obj_ + obj_.original_tagname_ = 'IP_Adressblock_Grau_V6' + elif nodeName_ == 'Regionalbereich': + obj_ = TCRegionalbereich.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Regionalbereich = obj_ + obj_.original_tagname_ = 'Regionalbereich' +# end class CAEA_GFK_IP_Adressblock + + +class TCTechnik_Art(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCTechnik_Art"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMTechnik_Art(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCTechnik_Art) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCTechnik_Art.subclass: + return TCTechnik_Art.subclass(*args_, **kwargs_) + else: + return TCTechnik_Art(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMTechnik_Art(self, value): + result = True + # Validate type ENUMTechnik_Art, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['analog_FSK', 'Ethernet', 'G_703', 'SBI_intern_Kupferkabel', 'SBI_intern_LWL_Faser', 'sonstige'] + 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 ENUMTechnik_Art' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCTechnik_Art, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsAnsteuerung_Element:', namespacedef_='xmlns:nsAnsteuerung_Element="http://www.plan-pro.org/modell/Ansteuerung_Element/1.10.0"', name_='TCTechnik_Art', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCTechnik_Art') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCTechnik_Art': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCTechnik_Art') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCTechnik_Art', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsAnsteuerung_Element:', name_='TCTechnik_Art'): + super(TCTechnik_Art, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCTechnik_Art') + def _exportChildren(self, outfile, level, namespaceprefix_='nsAnsteuerung_Element:', namespacedef_='xmlns:nsAnsteuerung_Element="http://www.plan-pro.org/modell/Ansteuerung_Element/1.10.0"', name_='TCTechnik_Art', fromsubclass_=False, pretty_print=True): + super(TCTechnik_Art, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCTechnik_Art, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMTechnik_Art + self.validate_ENUMTechnik_Art(self.Wert) + super(TCTechnik_Art, self)._buildChildren(child_, node, nodeName_, True) +# end class TCTechnik_Art + + +class TCBauart(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCBauart"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TBauart(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCBauart) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCBauart.subclass: + return TCBauart.subclass(*args_, **kwargs_) + else: + return TCBauart(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TBauart(self, value): + result = True + # Validate type TBauart, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TBauart_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TBauart_patterns_, )) + result = False + return result + validate_TBauart_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCBauart, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsAnsteuerung_Element:', namespacedef_='xmlns:nsAnsteuerung_Element="http://www.plan-pro.org/modell/Ansteuerung_Element/1.10.0"', name_='TCBauart', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCBauart') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCBauart': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBauart') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCBauart', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsAnsteuerung_Element:', name_='TCBauart'): + super(TCBauart, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBauart') + def _exportChildren(self, outfile, level, namespaceprefix_='nsAnsteuerung_Element:', namespacedef_='xmlns:nsAnsteuerung_Element="http://www.plan-pro.org/modell/Ansteuerung_Element/1.10.0"', name_='TCBauart', fromsubclass_=False, pretty_print=True): + super(TCBauart, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCBauart, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TBauart + self.validate_TBauart(self.Wert) + super(TCBauart, self)._buildChildren(child_, node, nodeName_, True) +# end class TCBauart + + +class TCEnergieversorgung_Art(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCEnergieversorgung_Art"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMEV_Art(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCEnergieversorgung_Art) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCEnergieversorgung_Art.subclass: + return TCEnergieversorgung_Art.subclass(*args_, **kwargs_) + else: + return TCEnergieversorgung_Art(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMEV_Art(self, value): + result = True + # Validate type ENUMEV_Art, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['andere_Aussenelementansteuerung', 'Batterie', 'BUE', 'ESTW_Zentraleinheit', 'Fahrleitung', 'FeAk_400V_DC_direkt', 'FeAk_750V_DC_Energiebus', 'Landesnetz_VNB', 'Notstromaggregat_NEA_stationaer', 'Notstromanschluss_NEA_mobil', 'Solar', 'sonstige'] + 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 ENUMEV_Art' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCEnergieversorgung_Art, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsAnsteuerung_Element:', namespacedef_='xmlns:nsAnsteuerung_Element="http://www.plan-pro.org/modell/Ansteuerung_Element/1.10.0"', name_='TCEnergieversorgung_Art', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCEnergieversorgung_Art') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCEnergieversorgung_Art': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCEnergieversorgung_Art') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCEnergieversorgung_Art', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsAnsteuerung_Element:', name_='TCEnergieversorgung_Art'): + super(TCEnergieversorgung_Art, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCEnergieversorgung_Art') + def _exportChildren(self, outfile, level, namespaceprefix_='nsAnsteuerung_Element:', namespacedef_='xmlns:nsAnsteuerung_Element="http://www.plan-pro.org/modell/Ansteuerung_Element/1.10.0"', name_='TCEnergieversorgung_Art', fromsubclass_=False, pretty_print=True): + super(TCEnergieversorgung_Art, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCEnergieversorgung_Art, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMEV_Art + self.validate_ENUMEV_Art(self.Wert) + super(TCEnergieversorgung_Art, self)._buildChildren(child_, node, nodeName_, True) +# end class TCEnergieversorgung_Art + + +class CTSO_IP_Adressblock(GeneratedsSuper): + """IP_Adressblock_Blau_V4 -- Reservierter IPv4-Adressblock f + ü + r den blauen Weg des bbIP-Netzes. + IP_Adressblock_Blau_V6 -- Reservierter IPv6-Adressblock f + ü + r den blauen Weg des bbIP-Netzes. + IP_Adressblock_Grau_V4 -- Reservierter IPv4-Adressblock f + ü + r den grauen Weg des bbIP-Netzes. + IP_Adressblock_Grau_V6 -- Reservierter IPv6-Adressblock f + ü + r den grauen Weg des bbIP-Netzes. + Regionalbereich -- Regionalbereich, dem der Technik-Standort zugewiesen ist. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, IP_Adressblock_Blau_V4=None, IP_Adressblock_Blau_V6=None, IP_Adressblock_Grau_V4=None, IP_Adressblock_Grau_V6=None, Regionalbereich=None, TSO_IP_AB_Teilsystem=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.IP_Adressblock_Blau_V4 = IP_Adressblock_Blau_V4 + self.IP_Adressblock_Blau_V4_nsprefix_ = None + self.IP_Adressblock_Blau_V6 = IP_Adressblock_Blau_V6 + self.IP_Adressblock_Blau_V6_nsprefix_ = None + self.IP_Adressblock_Grau_V4 = IP_Adressblock_Grau_V4 + self.IP_Adressblock_Grau_V4_nsprefix_ = None + self.IP_Adressblock_Grau_V6 = IP_Adressblock_Grau_V6 + self.IP_Adressblock_Grau_V6_nsprefix_ = None + self.Regionalbereich = Regionalbereich + self.Regionalbereich_nsprefix_ = None + if TSO_IP_AB_Teilsystem is None: + self.TSO_IP_AB_Teilsystem = [] + else: + self.TSO_IP_AB_Teilsystem = TSO_IP_AB_Teilsystem + self.TSO_IP_AB_Teilsystem_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CTSO_IP_Adressblock) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CTSO_IP_Adressblock.subclass: + return CTSO_IP_Adressblock.subclass(*args_, **kwargs_) + else: + return CTSO_IP_Adressblock(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_IP_Adressblock_Blau_V4(self): + return self.IP_Adressblock_Blau_V4 + def set_IP_Adressblock_Blau_V4(self, IP_Adressblock_Blau_V4): + self.IP_Adressblock_Blau_V4 = IP_Adressblock_Blau_V4 + def get_IP_Adressblock_Blau_V6(self): + return self.IP_Adressblock_Blau_V6 + def set_IP_Adressblock_Blau_V6(self, IP_Adressblock_Blau_V6): + self.IP_Adressblock_Blau_V6 = IP_Adressblock_Blau_V6 + def get_IP_Adressblock_Grau_V4(self): + return self.IP_Adressblock_Grau_V4 + def set_IP_Adressblock_Grau_V4(self, IP_Adressblock_Grau_V4): + self.IP_Adressblock_Grau_V4 = IP_Adressblock_Grau_V4 + def get_IP_Adressblock_Grau_V6(self): + return self.IP_Adressblock_Grau_V6 + def set_IP_Adressblock_Grau_V6(self, IP_Adressblock_Grau_V6): + self.IP_Adressblock_Grau_V6 = IP_Adressblock_Grau_V6 + def get_Regionalbereich(self): + return self.Regionalbereich + def set_Regionalbereich(self, Regionalbereich): + self.Regionalbereich = Regionalbereich + def get_TSO_IP_AB_Teilsystem(self): + return self.TSO_IP_AB_Teilsystem + def set_TSO_IP_AB_Teilsystem(self, TSO_IP_AB_Teilsystem): + self.TSO_IP_AB_Teilsystem = TSO_IP_AB_Teilsystem + def add_TSO_IP_AB_Teilsystem(self, value): + self.TSO_IP_AB_Teilsystem.append(value) + def insert_TSO_IP_AB_Teilsystem_at(self, index, value): + self.TSO_IP_AB_Teilsystem.insert(index, value) + def replace_TSO_IP_AB_Teilsystem_at(self, index, value): + self.TSO_IP_AB_Teilsystem[index] = value + def has__content(self): + if ( + self.IP_Adressblock_Blau_V4 is not None or + self.IP_Adressblock_Blau_V6 is not None or + self.IP_Adressblock_Grau_V4 is not None or + self.IP_Adressblock_Grau_V6 is not None or + self.Regionalbereich is not None or + self.TSO_IP_AB_Teilsystem + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsAnsteuerung_Element:', namespacedef_='xmlns:nsAnsteuerung_Element="http://www.plan-pro.org/modell/Ansteuerung_Element/1.10.0"', name_='CTSO_IP_Adressblock', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CTSO_IP_Adressblock') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CTSO_IP_Adressblock': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CTSO_IP_Adressblock') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CTSO_IP_Adressblock', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsAnsteuerung_Element:', name_='CTSO_IP_Adressblock'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsAnsteuerung_Element:', namespacedef_='xmlns:nsAnsteuerung_Element="http://www.plan-pro.org/modell/Ansteuerung_Element/1.10.0"', name_='CTSO_IP_Adressblock', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.IP_Adressblock_Blau_V4 is not None: + namespaceprefix_ = self.IP_Adressblock_Blau_V4_nsprefix_ + ':' if (UseCapturedNS_ and self.IP_Adressblock_Blau_V4_nsprefix_) else '' + self.IP_Adressblock_Blau_V4.export(outfile, level, namespaceprefix_, namespacedef_='', name_='IP_Adressblock_Blau_V4', pretty_print=pretty_print) + if self.IP_Adressblock_Blau_V6 is not None: + namespaceprefix_ = self.IP_Adressblock_Blau_V6_nsprefix_ + ':' if (UseCapturedNS_ and self.IP_Adressblock_Blau_V6_nsprefix_) else '' + self.IP_Adressblock_Blau_V6.export(outfile, level, namespaceprefix_, namespacedef_='', name_='IP_Adressblock_Blau_V6', pretty_print=pretty_print) + if self.IP_Adressblock_Grau_V4 is not None: + namespaceprefix_ = self.IP_Adressblock_Grau_V4_nsprefix_ + ':' if (UseCapturedNS_ and self.IP_Adressblock_Grau_V4_nsprefix_) else '' + self.IP_Adressblock_Grau_V4.export(outfile, level, namespaceprefix_, namespacedef_='', name_='IP_Adressblock_Grau_V4', pretty_print=pretty_print) + if self.IP_Adressblock_Grau_V6 is not None: + namespaceprefix_ = self.IP_Adressblock_Grau_V6_nsprefix_ + ':' if (UseCapturedNS_ and self.IP_Adressblock_Grau_V6_nsprefix_) else '' + self.IP_Adressblock_Grau_V6.export(outfile, level, namespaceprefix_, namespacedef_='', name_='IP_Adressblock_Grau_V6', pretty_print=pretty_print) + if self.Regionalbereich is not None: + namespaceprefix_ = self.Regionalbereich_nsprefix_ + ':' if (UseCapturedNS_ and self.Regionalbereich_nsprefix_) else '' + self.Regionalbereich.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Regionalbereich', pretty_print=pretty_print) + for TSO_IP_AB_Teilsystem_ in self.TSO_IP_AB_Teilsystem: + namespaceprefix_ = self.TSO_IP_AB_Teilsystem_nsprefix_ + ':' if (UseCapturedNS_ and self.TSO_IP_AB_Teilsystem_nsprefix_) else '' + TSO_IP_AB_Teilsystem_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='TSO_IP_AB_Teilsystem', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'IP_Adressblock_Blau_V4': + obj_ = TCIP_Adressblock_Blau_V4.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.IP_Adressblock_Blau_V4 = obj_ + obj_.original_tagname_ = 'IP_Adressblock_Blau_V4' + elif nodeName_ == 'IP_Adressblock_Blau_V6': + obj_ = TCIP_Adressblock_Blau_V6.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.IP_Adressblock_Blau_V6 = obj_ + obj_.original_tagname_ = 'IP_Adressblock_Blau_V6' + elif nodeName_ == 'IP_Adressblock_Grau_V4': + obj_ = TCIP_Adressblock_Grau_V4.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.IP_Adressblock_Grau_V4 = obj_ + obj_.original_tagname_ = 'IP_Adressblock_Grau_V4' + elif nodeName_ == 'IP_Adressblock_Grau_V6': + obj_ = TCIP_Adressblock_Grau_V6.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.IP_Adressblock_Grau_V6 = obj_ + obj_.original_tagname_ = 'IP_Adressblock_Grau_V6' + elif nodeName_ == 'Regionalbereich': + obj_ = TCRegionalbereich.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Regionalbereich = obj_ + obj_.original_tagname_ = 'Regionalbereich' + elif nodeName_ == 'TSO_IP_AB_Teilsystem': + obj_ = CTSO_IP_AB_Teilsystem.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.TSO_IP_AB_Teilsystem.append(obj_) + obj_.original_tagname_ = 'TSO_IP_AB_Teilsystem' +# end class CTSO_IP_Adressblock + + +class TCIP_Adressblock_Grau22(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCIP_Adressblock_Grau22"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TIP_Adressblock_Grau(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCIP_Adressblock_Grau22) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCIP_Adressblock_Grau22.subclass: + return TCIP_Adressblock_Grau22.subclass(*args_, **kwargs_) + else: + return TCIP_Adressblock_Grau22(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TIP_Adressblock_Grau(self, value): + result = True + # Validate type TIP_Adressblock_Grau, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TIP_Adressblock_Grau_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TIP_Adressblock_Grau_patterns_, )) + result = False + return result + validate_TIP_Adressblock_Grau_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCIP_Adressblock_Grau22, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsAnsteuerung_Element:', namespacedef_='xmlns:nsAnsteuerung_Element="http://www.plan-pro.org/modell/Ansteuerung_Element/1.10.0"', name_='TCIP_Adressblock_Grau22', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCIP_Adressblock_Grau22') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCIP_Adressblock_Grau22': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCIP_Adressblock_Grau22') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCIP_Adressblock_Grau22', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsAnsteuerung_Element:', name_='TCIP_Adressblock_Grau22'): + super(TCIP_Adressblock_Grau22, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCIP_Adressblock_Grau22') + def _exportChildren(self, outfile, level, namespaceprefix_='nsAnsteuerung_Element:', namespacedef_='xmlns:nsAnsteuerung_Element="http://www.plan-pro.org/modell/Ansteuerung_Element/1.10.0"', name_='TCIP_Adressblock_Grau22', fromsubclass_=False, pretty_print=True): + super(TCIP_Adressblock_Grau22, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCIP_Adressblock_Grau22, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TIP_Adressblock_Grau + self.validate_TIP_Adressblock_Grau(self.Wert) + super(TCIP_Adressblock_Grau22, self)._buildChildren(child_, node, nodeName_, True) +# end class TCIP_Adressblock_Grau22 + + +class TCUebertragungsweg_Art(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCUebertragungsweg_Art"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMUebertragungsweg_Art(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCUebertragungsweg_Art) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCUebertragungsweg_Art.subclass: + return TCUebertragungsweg_Art.subclass(*args_, **kwargs_) + else: + return TCUebertragungsweg_Art(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMUebertragungsweg_Art(self, value): + result = True + # Validate type ENUMUebertragungsweg_Art, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['Bahnuebergang', 'Diagnose', 'ESTW', 'sonstige', 'ZBS'] + 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 ENUMUebertragungsweg_Art' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCUebertragungsweg_Art, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsAnsteuerung_Element:', namespacedef_='xmlns:nsAnsteuerung_Element="http://www.plan-pro.org/modell/Ansteuerung_Element/1.10.0"', name_='TCUebertragungsweg_Art', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCUebertragungsweg_Art') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCUebertragungsweg_Art': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCUebertragungsweg_Art') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCUebertragungsweg_Art', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsAnsteuerung_Element:', name_='TCUebertragungsweg_Art'): + super(TCUebertragungsweg_Art, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCUebertragungsweg_Art') + def _exportChildren(self, outfile, level, namespaceprefix_='nsAnsteuerung_Element:', namespacedef_='xmlns:nsAnsteuerung_Element="http://www.plan-pro.org/modell/Ansteuerung_Element/1.10.0"', name_='TCUebertragungsweg_Art', fromsubclass_=False, pretty_print=True): + super(TCUebertragungsweg_Art, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCUebertragungsweg_Art, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMUebertragungsweg_Art + self.validate_ENUMUebertragungsweg_Art(self.Wert) + super(TCUebertragungsweg_Art, self)._buildChildren(child_, node, nodeName_, True) +# end class TCUebertragungsweg_Art + + +class CAussenelementansteuerung_Bezeichnung(GeneratedsSuper): + """Bezeichnung_AEA -- Bezeichnung der Aussenelementansteuerung. Beispiel: \"ESTW-A Lummerland\". Bei Aussenelementansteuerungen der Art \"FeAk\" ist die Angabe nicht erforderlich, da eine 1:1-Beziehung zur Bezeichnung des Feldelements besteht. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Bezeichnung_AEA=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Bezeichnung_AEA = Bezeichnung_AEA + self.Bezeichnung_AEA_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CAussenelementansteuerung_Bezeichnung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CAussenelementansteuerung_Bezeichnung.subclass: + return CAussenelementansteuerung_Bezeichnung.subclass(*args_, **kwargs_) + else: + return CAussenelementansteuerung_Bezeichnung(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Bezeichnung_AEA(self): + return self.Bezeichnung_AEA + def set_Bezeichnung_AEA(self, Bezeichnung_AEA): + self.Bezeichnung_AEA = Bezeichnung_AEA + def has__content(self): + if ( + self.Bezeichnung_AEA is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsAnsteuerung_Element:', namespacedef_='xmlns:nsAnsteuerung_Element="http://www.plan-pro.org/modell/Ansteuerung_Element/1.10.0"', name_='CAussenelementansteuerung_Bezeichnung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CAussenelementansteuerung_Bezeichnung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CAussenelementansteuerung_Bezeichnung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CAussenelementansteuerung_Bezeichnung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CAussenelementansteuerung_Bezeichnung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsAnsteuerung_Element:', name_='CAussenelementansteuerung_Bezeichnung'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsAnsteuerung_Element:', namespacedef_='xmlns:nsAnsteuerung_Element="http://www.plan-pro.org/modell/Ansteuerung_Element/1.10.0"', name_='CAussenelementansteuerung_Bezeichnung', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Bezeichnung_AEA is not None: + namespaceprefix_ = self.Bezeichnung_AEA_nsprefix_ + ':' if (UseCapturedNS_ and self.Bezeichnung_AEA_nsprefix_) else '' + self.Bezeichnung_AEA.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Bezeichnung_AEA', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Bezeichnung_AEA': + obj_ = TCBezeichnung_AEA.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Bezeichnung_AEA = obj_ + obj_.original_tagname_ = 'Bezeichnung_AEA' +# end class CAussenelementansteuerung_Bezeichnung + + +class CStellelement(CBasis_Objekt): + """CStellelement -- Zusammenfassung der gemeinsamen Eigenschaften aller elektrisch bedienbaren Elemente der Au + ß + enanlage sowie der B + Ü + -Schnittstelle. Folgende Elemente sind Stellelemente: BUE Schnittstelle, PZB Element, Schluesselsperre, Signal, W Kr Gsp Element. Die + Ü + bertragung von Information (Daten) und Energie ist in getrennten Verweisen modelliert. Erfolgt die + Ü + bertragung von Information und Energie gemeinsam, so sind beide Verweise mit dem gleichen Verweisziel anzugeben. DB-Regelwerk Die Zusammenfassung der Stellelemente dient der Vereinheitlichung der Modellierung und wird heute nicht explizit geplant. + ID_Energie -- Verweis auf die Aussenelementansteuerung, von der die Energieversorgung des Stellelements oder der FMA Komponente erfolgt. Objekte, die Stellelemente\" href=\"//Stellelement\"\u003eStellelemente sind, enthalten keine eigenen Attribute ID_Energie und ID Information, sondern verweisen auf das Objekt Stellelement, das diese Attribute enth + ä + lt. Nicht-Stellelemente (z. B. der Achsz + ä + hlpunkt als FMA Komponente) hingegen m + ü + ssen diese Attribute selbst enthalten. DB-Regelwerk bei Achsz + ä + hlpunkten: Achsz + ä + hlpunkttabelle, Spalte 4 (und redundant dazu: Freimeldetabelle, Spalte 4); bei anderen Typen von Freimeldeanlagen: im bisherigen PT1 ohne eindeutige Darstellung, in der Regel mittelbar aus dem Sicherungstechnischen Lageplan/B + Ü + -Lageplan ermittelbar. + ID_Information -- Verweis auf die Aussenelementansteuerung, von der die Informationsversorgung des Stellelements bzw. die Informationsverarbeitung der FMA Komponente erfolgt. Objekte, die Stellelemente\" href=\"//Stellelement\"\u003eStellelemente sind, enthalten keine eigenen Attribute ID Energie und ID_Information, sondern verweisen auf das Objekt Stellelement, das diese Attribute enth + ä + lt. Nicht-Stellelemente (z.B. der Achsz + ä + hlpunkt als FMA Komponente) hingegen m + ü + ssen diese Attribute selbst enthalten. DB-Regelwerk Im bisherigen PT1 ohne eindeutige Darstellung. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasis_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, ID_Energie=None, ID_Information=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CStellelement"), self).__init__(Identitaet, Basis_Objekt_Allg, ID_Bearbeitungsvermerk, ID_Oertlichkeit_Ausgabe, Objektreferenzen, **kwargs_) + self.ID_Energie = ID_Energie + self.ID_Energie_nsprefix_ = None + self.ID_Information = ID_Information + self.ID_Information_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CStellelement) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CStellelement.subclass: + return CStellelement.subclass(*args_, **kwargs_) + else: + return CStellelement(*args_, **kwargs_) + factory = staticmethod(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_Energie(self): + return self.ID_Energie + def set_ID_Energie(self, ID_Energie): + self.ID_Energie = ID_Energie + def get_ID_Information(self): + return self.ID_Information + def set_ID_Information(self, ID_Information): + self.ID_Information = ID_Information + def has__content(self): + if ( + self.ID_Energie is not None or + self.ID_Information is not None or + super(CStellelement, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsAnsteuerung_Element:', namespacedef_='xmlns:nsAnsteuerung_Element="http://www.plan-pro.org/modell/Ansteuerung_Element/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CStellelement', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CStellelement') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CStellelement': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CStellelement') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CStellelement', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsAnsteuerung_Element:', name_='CStellelement'): + super(CStellelement, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CStellelement') + def _exportChildren(self, outfile, level, namespaceprefix_='nsAnsteuerung_Element:', namespacedef_='xmlns:nsAnsteuerung_Element="http://www.plan-pro.org/modell/Ansteuerung_Element/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CStellelement', fromsubclass_=False, pretty_print=True): + super(CStellelement, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.ID_Energie is not None: + namespaceprefix_ = self.ID_Energie_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Energie_nsprefix_) else '' + self.ID_Energie.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Energie', pretty_print=pretty_print) + if self.ID_Information is not None: + namespaceprefix_ = self.ID_Information_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Information_nsprefix_) else '' + self.ID_Information.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Information', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CStellelement, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Energie': + obj_ = TCID_Aussenelementansteuerung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Energie = obj_ + obj_.original_tagname_ = 'ID_Energie' + elif nodeName_ == 'ID_Information': + obj_ = TCID_Aussenelementansteuerung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Information = obj_ + obj_.original_tagname_ = 'ID_Information' + super(CStellelement, self)._buildChildren(child_, node, nodeName_, True) +# end class CStellelement + + +class TCUnterbringung_Befestigung(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCUnterbringung_Befestigung"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMUnterbringung_Befestigung(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCUnterbringung_Befestigung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCUnterbringung_Befestigung.subclass: + return TCUnterbringung_Befestigung.subclass(*args_, **kwargs_) + else: + return TCUnterbringung_Befestigung(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMUnterbringung_Befestigung(self, value): + result = True + # Validate type ENUMUnterbringung_Befestigung, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['Fundament', 'Gebaeude', 'Mauer', 'Pfosten', 'Signalausleger', 'Signalbruecke', 'Signalmast', 'sonstige'] + 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 ENUMUnterbringung_Befestigung' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCUnterbringung_Befestigung, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsAnsteuerung_Element:', namespacedef_='xmlns:nsAnsteuerung_Element="http://www.plan-pro.org/modell/Ansteuerung_Element/1.10.0"', name_='TCUnterbringung_Befestigung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCUnterbringung_Befestigung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCUnterbringung_Befestigung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCUnterbringung_Befestigung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCUnterbringung_Befestigung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsAnsteuerung_Element:', name_='TCUnterbringung_Befestigung'): + super(TCUnterbringung_Befestigung, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCUnterbringung_Befestigung') + def _exportChildren(self, outfile, level, namespaceprefix_='nsAnsteuerung_Element:', namespacedef_='xmlns:nsAnsteuerung_Element="http://www.plan-pro.org/modell/Ansteuerung_Element/1.10.0"', name_='TCUnterbringung_Befestigung', fromsubclass_=False, pretty_print=True): + super(TCUnterbringung_Befestigung, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCUnterbringung_Befestigung, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMUnterbringung_Befestigung + self.validate_ENUMUnterbringung_Befestigung(self.Wert) + super(TCUnterbringung_Befestigung, self)._buildChildren(child_, node, nodeName_, True) +# end class TCUnterbringung_Befestigung + + +class CESTW_Zentraleinheit_Allg(GeneratedsSuper): + """Bauart -- Herstellerbezogene Bauart der Steuerung. Das Attribut beschreibt im Gegensatz zu Aussenelementansteuerung Art bzw. Hersteller die herstellerbezogene Bauart der Steuerung. Es ist ein R + ü + cklaufdatum der AP PT 2 und dient der Bestandsdatenverwaltung. Beispiel: Aussenelementansteuerung_Art == ESTW_A, Bauart == \"J + ü + del E8001\". DB-Regelwerk Beschreibung im Erl + ä + uterungsbericht + Hersteller -- Unternehmen, das die Funktionsf + ä + higkeit der Anlage verantwortlich hergestellt hat oder Hersteller des jeweiligen Elements. Diese Eigenschaft ist kein Datum einer Planung, sondern dient im R + ü + cklauf der Planung dazu den Hersteller im Bestand zu erfassen. Es ist die zum Zeitpunkt der Inbetriebnahme g + ü + ltige Firmierung zu verwenden. DB-Regelwerk Beschreibung im Erl + ä + uterungsbericht + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Bauart=None, Hersteller=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Bauart = Bauart + self.Bauart_nsprefix_ = None + self.Hersteller = Hersteller + self.Hersteller_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CESTW_Zentraleinheit_Allg) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CESTW_Zentraleinheit_Allg.subclass: + return CESTW_Zentraleinheit_Allg.subclass(*args_, **kwargs_) + else: + return CESTW_Zentraleinheit_Allg(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Bauart(self): + return self.Bauart + def set_Bauart(self, Bauart): + self.Bauart = Bauart + def get_Hersteller(self): + return self.Hersteller + def set_Hersteller(self, Hersteller): + self.Hersteller = Hersteller + def has__content(self): + if ( + self.Bauart is not None or + self.Hersteller is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsAnsteuerung_Element:', namespacedef_='xmlns:nsAnsteuerung_Element="http://www.plan-pro.org/modell/Ansteuerung_Element/1.10.0"', name_='CESTW_Zentraleinheit_Allg', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CESTW_Zentraleinheit_Allg') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CESTW_Zentraleinheit_Allg': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CESTW_Zentraleinheit_Allg') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CESTW_Zentraleinheit_Allg', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsAnsteuerung_Element:', name_='CESTW_Zentraleinheit_Allg'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsAnsteuerung_Element:', namespacedef_='xmlns:nsAnsteuerung_Element="http://www.plan-pro.org/modell/Ansteuerung_Element/1.10.0"', name_='CESTW_Zentraleinheit_Allg', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Bauart is not None: + namespaceprefix_ = self.Bauart_nsprefix_ + ':' if (UseCapturedNS_ and self.Bauart_nsprefix_) else '' + self.Bauart.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Bauart', pretty_print=pretty_print) + if self.Hersteller is not None: + namespaceprefix_ = self.Hersteller_nsprefix_ + ':' if (UseCapturedNS_ and self.Hersteller_nsprefix_) else '' + self.Hersteller.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Hersteller', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Bauart': + obj_ = TCBauart.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Bauart = obj_ + obj_.original_tagname_ = 'Bauart' + elif nodeName_ == 'Hersteller': + obj_ = TCHersteller.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Hersteller = obj_ + obj_.original_tagname_ = 'Hersteller' +# end class CESTW_Zentraleinheit_Allg + + +class TCIP_Adressblock_Blau_V423(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCIP_Adressblock_Blau_V423"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TIP_Adressblock_Blau_V4(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCIP_Adressblock_Blau_V423) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCIP_Adressblock_Blau_V423.subclass: + return TCIP_Adressblock_Blau_V423.subclass(*args_, **kwargs_) + else: + return TCIP_Adressblock_Blau_V423(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TIP_Adressblock_Blau_V4(self, value): + result = True + # Validate type TIP_Adressblock_Blau_V4, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TIP_Adressblock_Blau_V4_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TIP_Adressblock_Blau_V4_patterns_, )) + result = False + return result + validate_TIP_Adressblock_Blau_V4_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCIP_Adressblock_Blau_V423, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsAnsteuerung_Element:', namespacedef_='xmlns:nsAnsteuerung_Element="http://www.plan-pro.org/modell/Ansteuerung_Element/1.10.0"', name_='TCIP_Adressblock_Blau_V423', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCIP_Adressblock_Blau_V423') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCIP_Adressblock_Blau_V423': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCIP_Adressblock_Blau_V423') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCIP_Adressblock_Blau_V423', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsAnsteuerung_Element:', name_='TCIP_Adressblock_Blau_V423'): + super(TCIP_Adressblock_Blau_V423, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCIP_Adressblock_Blau_V423') + def _exportChildren(self, outfile, level, namespaceprefix_='nsAnsteuerung_Element:', namespacedef_='xmlns:nsAnsteuerung_Element="http://www.plan-pro.org/modell/Ansteuerung_Element/1.10.0"', name_='TCIP_Adressblock_Blau_V423', fromsubclass_=False, pretty_print=True): + super(TCIP_Adressblock_Blau_V423, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCIP_Adressblock_Blau_V423, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TIP_Adressblock_Blau_V4 + self.validate_TIP_Adressblock_Blau_V4(self.Wert) + super(TCIP_Adressblock_Blau_V423, self)._buildChildren(child_, node, nodeName_, True) +# end class TCIP_Adressblock_Blau_V423 + + +class CATO_Timing_Point_Bezeichnung(GeneratedsSuper): + """Bezeichnung_ATO_TP -- Fachliche Bezeichnung des Timing Points (Parameter + „ + X_TEXT + “ + aus dem Block + „ + Timing Point Name + “ + , siehe Subset 126). + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Bezeichnung_ATO_TP=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Bezeichnung_ATO_TP = Bezeichnung_ATO_TP + self.Bezeichnung_ATO_TP_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CATO_Timing_Point_Bezeichnung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CATO_Timing_Point_Bezeichnung.subclass: + return CATO_Timing_Point_Bezeichnung.subclass(*args_, **kwargs_) + else: + return CATO_Timing_Point_Bezeichnung(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Bezeichnung_ATO_TP(self): + return self.Bezeichnung_ATO_TP + def set_Bezeichnung_ATO_TP(self, Bezeichnung_ATO_TP): + self.Bezeichnung_ATO_TP = Bezeichnung_ATO_TP + def has__content(self): + if ( + self.Bezeichnung_ATO_TP is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsATO:', namespacedef_='xmlns:nsATO="http://www.plan-pro.org/modell/ATO/1.10.0"', name_='CATO_Timing_Point_Bezeichnung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CATO_Timing_Point_Bezeichnung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CATO_Timing_Point_Bezeichnung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CATO_Timing_Point_Bezeichnung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CATO_Timing_Point_Bezeichnung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsATO:', name_='CATO_Timing_Point_Bezeichnung'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsATO:', namespacedef_='xmlns:nsATO="http://www.plan-pro.org/modell/ATO/1.10.0"', name_='CATO_Timing_Point_Bezeichnung', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Bezeichnung_ATO_TP is not None: + namespaceprefix_ = self.Bezeichnung_ATO_TP_nsprefix_ + ':' if (UseCapturedNS_ and self.Bezeichnung_ATO_TP_nsprefix_) else '' + self.Bezeichnung_ATO_TP.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Bezeichnung_ATO_TP', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Bezeichnung_ATO_TP': + obj_ = TCBezeichnung_ATO_TP.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Bezeichnung_ATO_TP = obj_ + obj_.original_tagname_ = 'Bezeichnung_ATO_TP' +# end class CATO_Timing_Point_Bezeichnung + + +class CATO_Timing_Point_Allg(GeneratedsSuper): + """Erreichungstoleranz -- Kodierung des Haltefensters am Haltplatz bei manueller Fahrt. + Der Parameter entspricht dem ATO-Parameter \"Q_STP_Reached\" gem + ä + ß + Subset 126, Version 0.0.17 vom 05.08.2020. + Haltetoleranz -- Kodierung des Haltefensters am Halteplatz bei automatischer Fahrt (Q_Stop_Location Tolerance). + NID_TP -- Innerhalb eines Landes (NID-C-Bereich) einmalige Adresse des Timing Points. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, Erreichungstoleranz=None, Haltetoleranz=None, NID_TP=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.Erreichungstoleranz = Erreichungstoleranz + self.Erreichungstoleranz_nsprefix_ = None + self.Haltetoleranz = Haltetoleranz + self.Haltetoleranz_nsprefix_ = None + self.NID_TP = NID_TP + self.NID_TP_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CATO_Timing_Point_Allg) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CATO_Timing_Point_Allg.subclass: + return CATO_Timing_Point_Allg.subclass(*args_, **kwargs_) + else: + return CATO_Timing_Point_Allg(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Erreichungstoleranz(self): + return self.Erreichungstoleranz + def set_Erreichungstoleranz(self, Erreichungstoleranz): + self.Erreichungstoleranz = Erreichungstoleranz + def get_Haltetoleranz(self): + return self.Haltetoleranz + def set_Haltetoleranz(self, Haltetoleranz): + self.Haltetoleranz = Haltetoleranz + def get_NID_TP(self): + return self.NID_TP + def set_NID_TP(self, NID_TP): + self.NID_TP = NID_TP + def has__content(self): + if ( + self.Erreichungstoleranz is not None or + self.Haltetoleranz is not None or + self.NID_TP is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsATO:', namespacedef_='xmlns:nsATO="http://www.plan-pro.org/modell/ATO/1.10.0"', name_='CATO_Timing_Point_Allg', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CATO_Timing_Point_Allg') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CATO_Timing_Point_Allg': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CATO_Timing_Point_Allg') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CATO_Timing_Point_Allg', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsATO:', name_='CATO_Timing_Point_Allg'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsATO:', namespacedef_='xmlns:nsATO="http://www.plan-pro.org/modell/ATO/1.10.0"', name_='CATO_Timing_Point_Allg', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Erreichungstoleranz is not None: + namespaceprefix_ = self.Erreichungstoleranz_nsprefix_ + ':' if (UseCapturedNS_ and self.Erreichungstoleranz_nsprefix_) else '' + self.Erreichungstoleranz.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Erreichungstoleranz', pretty_print=pretty_print) + if self.Haltetoleranz is not None: + namespaceprefix_ = self.Haltetoleranz_nsprefix_ + ':' if (UseCapturedNS_ and self.Haltetoleranz_nsprefix_) else '' + self.Haltetoleranz.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Haltetoleranz', pretty_print=pretty_print) + if self.NID_TP is not None: + namespaceprefix_ = self.NID_TP_nsprefix_ + ':' if (UseCapturedNS_ and self.NID_TP_nsprefix_) else '' + self.NID_TP.export(outfile, level, namespaceprefix_, namespacedef_='', name_='NID_TP', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Erreichungstoleranz': + obj_ = TCErreichungstoleranz.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Erreichungstoleranz = obj_ + obj_.original_tagname_ = 'Erreichungstoleranz' + elif nodeName_ == 'Haltetoleranz': + obj_ = TCHaltetoleranz.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Haltetoleranz = obj_ + obj_.original_tagname_ = 'Haltetoleranz' + elif nodeName_ == 'NID_TP': + obj_ = TCNID_TP.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.NID_TP = obj_ + obj_.original_tagname_ = 'NID_TP' +# end class CATO_Timing_Point_Allg + + +class CATO_TS_Instanz_Adresse(GeneratedsSuper): + """NID_ATOTS -- Kennung der ATO-TS-Instanz als Bestandteil der ATO-Kennung (ATO-ID) gem + ä + ß + Subset 126, Version 0.0.17 vom 05.08.2020. + Die Kennung wird zentral zugeteilt und verwaltet. + NID_C_ATOTS -- Gebietskennung als Bestandteil der ATO-Kennung (ATO-ID) gem + ä + ß + Subset 126, Version 0.0.17 vom 05.08.2020. + Die Gebietskennung NID_C_ATOTS f + ü + r ATO-TS- Instanzen wird aus der ETCS-Gebietskennung (NID_C) des entsprechenden Bereichs + ü + bernommen. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, NID_ATOTS=None, NID_C_ATOTS=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.NID_ATOTS = NID_ATOTS + self.NID_ATOTS_nsprefix_ = None + self.NID_C_ATOTS = NID_C_ATOTS + self.NID_C_ATOTS_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CATO_TS_Instanz_Adresse) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CATO_TS_Instanz_Adresse.subclass: + return CATO_TS_Instanz_Adresse.subclass(*args_, **kwargs_) + else: + return CATO_TS_Instanz_Adresse(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_NID_ATOTS(self): + return self.NID_ATOTS + def set_NID_ATOTS(self, NID_ATOTS): + self.NID_ATOTS = NID_ATOTS + def get_NID_C_ATOTS(self): + return self.NID_C_ATOTS + def set_NID_C_ATOTS(self, NID_C_ATOTS): + self.NID_C_ATOTS = NID_C_ATOTS + def has__content(self): + if ( + self.NID_ATOTS is not None or + self.NID_C_ATOTS is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsATO:', namespacedef_='xmlns:nsATO="http://www.plan-pro.org/modell/ATO/1.10.0"', name_='CATO_TS_Instanz_Adresse', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CATO_TS_Instanz_Adresse') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CATO_TS_Instanz_Adresse': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CATO_TS_Instanz_Adresse') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CATO_TS_Instanz_Adresse', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsATO:', name_='CATO_TS_Instanz_Adresse'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsATO:', namespacedef_='xmlns:nsATO="http://www.plan-pro.org/modell/ATO/1.10.0"', name_='CATO_TS_Instanz_Adresse', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.NID_ATOTS is not None: + namespaceprefix_ = self.NID_ATOTS_nsprefix_ + ':' if (UseCapturedNS_ and self.NID_ATOTS_nsprefix_) else '' + self.NID_ATOTS.export(outfile, level, namespaceprefix_, namespacedef_='', name_='NID_ATOTS', pretty_print=pretty_print) + if self.NID_C_ATOTS is not None: + namespaceprefix_ = self.NID_C_ATOTS_nsprefix_ + ':' if (UseCapturedNS_ and self.NID_C_ATOTS_nsprefix_) else '' + self.NID_C_ATOTS.export(outfile, level, namespaceprefix_, namespacedef_='', name_='NID_C_ATOTS', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'NID_ATOTS': + obj_ = TCNID_ATOTS.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.NID_ATOTS = obj_ + obj_.original_tagname_ = 'NID_ATOTS' + elif nodeName_ == 'NID_C_ATOTS': + obj_ = TCNID_C_ATOTS .factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.NID_C_ATOTS = obj_ + obj_.original_tagname_ = 'NID_C_ATOTS' +# end class CATO_TS_Instanz_Adresse + + +class TCErreichungstoleranz(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCErreichungstoleranz"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TErreichungstoleranz(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCErreichungstoleranz) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCErreichungstoleranz.subclass: + return TCErreichungstoleranz.subclass(*args_, **kwargs_) + else: + return TCErreichungstoleranz(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TErreichungstoleranz(self, value): + result = True + # Validate type TErreichungstoleranz, a restriction on xs:integer. + 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_TErreichungstoleranz_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TErreichungstoleranz_patterns_, )) + result = False + return result + validate_TErreichungstoleranz_patterns_ = [['^([0-9]|[12][0-9]|30|31)$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCErreichungstoleranz, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsATO:', namespacedef_='xmlns:nsATO="http://www.plan-pro.org/modell/ATO/1.10.0"', name_='TCErreichungstoleranz', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCErreichungstoleranz') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCErreichungstoleranz': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCErreichungstoleranz') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCErreichungstoleranz', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsATO:', name_='TCErreichungstoleranz'): + super(TCErreichungstoleranz, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCErreichungstoleranz') + def _exportChildren(self, outfile, level, namespaceprefix_='nsATO:', namespacedef_='xmlns:nsATO="http://www.plan-pro.org/modell/ATO/1.10.0"', name_='TCErreichungstoleranz', fromsubclass_=False, pretty_print=True): + super(TCErreichungstoleranz, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_integer(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCErreichungstoleranz, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + ival_ = self.gds_parse_integer(sval_, node, 'Wert') + ival_ = self.gds_validate_integer(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + # validate type TErreichungstoleranz + self.validate_TErreichungstoleranz(self.Wert) + super(TCErreichungstoleranz, self)._buildChildren(child_, node, nodeName_, True) +# end class TCErreichungstoleranz + + +class TCBezeichnung_ATO_TP(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCBezeichnung_ATO_TP"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TBezeichnung_ATO_TP(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCBezeichnung_ATO_TP) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCBezeichnung_ATO_TP.subclass: + return TCBezeichnung_ATO_TP.subclass(*args_, **kwargs_) + else: + return TCBezeichnung_ATO_TP(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TBezeichnung_ATO_TP(self, value): + result = True + # Validate type TBezeichnung_ATO_TP, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TBezeichnung_ATO_TP_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TBezeichnung_ATO_TP_patterns_, )) + result = False + return result + validate_TBezeichnung_ATO_TP_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCBezeichnung_ATO_TP, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsATO:', namespacedef_='xmlns:nsATO="http://www.plan-pro.org/modell/ATO/1.10.0"', name_='TCBezeichnung_ATO_TP', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCBezeichnung_ATO_TP') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCBezeichnung_ATO_TP': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBezeichnung_ATO_TP') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCBezeichnung_ATO_TP', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsATO:', name_='TCBezeichnung_ATO_TP'): + super(TCBezeichnung_ATO_TP, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBezeichnung_ATO_TP') + def _exportChildren(self, outfile, level, namespaceprefix_='nsATO:', namespacedef_='xmlns:nsATO="http://www.plan-pro.org/modell/ATO/1.10.0"', name_='TCBezeichnung_ATO_TP', fromsubclass_=False, pretty_print=True): + super(TCBezeichnung_ATO_TP, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCBezeichnung_ATO_TP, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TBezeichnung_ATO_TP + self.validate_TBezeichnung_ATO_TP(self.Wert) + super(TCBezeichnung_ATO_TP, self)._buildChildren(child_, node, nodeName_, True) +# end class TCBezeichnung_ATO_TP + + +class TCNID_C_ATOTS (CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCNID_C_ATOTS "), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TNID_C_ATOTS(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCNID_C_ATOTS ) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCNID_C_ATOTS .subclass: + return TCNID_C_ATOTS .subclass(*args_, **kwargs_) + else: + return TCNID_C_ATOTS (*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TNID_C_ATOTS(self, value): + result = True + # Validate type TNID_C_ATOTS, a restriction on xs:integer. + 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_TNID_C_ATOTS_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TNID_C_ATOTS_patterns_, )) + result = False + return result + validate_TNID_C_ATOTS_patterns_ = [['^(102[0-3]|10[0-1][0-9]|[1-9][0-9]{2}|0|[1-9][0-9]{0,1})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCNID_C_ATOTS , self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsATO:', namespacedef_='xmlns:nsATO="http://www.plan-pro.org/modell/ATO/1.10.0"', name_='TCNID_C_ATOTS ', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCNID_C_ATOTS ') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCNID_C_ATOTS ': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCNID_C_ATOTS ') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCNID_C_ATOTS ', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsATO:', name_='TCNID_C_ATOTS '): + super(TCNID_C_ATOTS , self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCNID_C_ATOTS ') + def _exportChildren(self, outfile, level, namespaceprefix_='nsATO:', namespacedef_='xmlns:nsATO="http://www.plan-pro.org/modell/ATO/1.10.0"', name_='TCNID_C_ATOTS ', fromsubclass_=False, pretty_print=True): + super(TCNID_C_ATOTS , self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_integer(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCNID_C_ATOTS , self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + ival_ = self.gds_parse_integer(sval_, node, 'Wert') + ival_ = self.gds_validate_integer(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + # validate type TNID_C_ATOTS + self.validate_TNID_C_ATOTS(self.Wert) + super(TCNID_C_ATOTS , self)._buildChildren(child_, node, nodeName_, True) +# end class TCNID_C_ATOTS + + +class CATO_TS_Instanz(CBasis_Objekt): + """CATO_TS_Instanz -- Zentrale Komponente f + ü + r einen ATO-Infrastrukturbereich, die f + ü + r die gesamten ATO-relevanten Infrastrukturdaten, insbesondere Segment Profiles und deren Verteilung an die ATO-Fahrzeugkomponenten (ATO-OB), verantwortlich ist. + ID_Unterbringung -- Verweis auf die Unterbringung, in der die ATO-TS-Instanz untergebracht ist. + Ü + ber die Unterbringung wird auch die Position abgebildet. Die Angabe entf + ä + llt bei einer cloud-basierten Realisierung. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasis_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, ATO_TS_Instanz_Adresse=None, ID_Unterbringung=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CATO_TS_Instanz"), self).__init__(Identitaet, Basis_Objekt_Allg, ID_Bearbeitungsvermerk, ID_Oertlichkeit_Ausgabe, Objektreferenzen, **kwargs_) + self.ATO_TS_Instanz_Adresse = ATO_TS_Instanz_Adresse + self.ATO_TS_Instanz_Adresse_nsprefix_ = None + self.ID_Unterbringung = ID_Unterbringung + self.ID_Unterbringung_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CATO_TS_Instanz) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CATO_TS_Instanz.subclass: + return CATO_TS_Instanz.subclass(*args_, **kwargs_) + else: + return CATO_TS_Instanz(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_ATO_TS_Instanz_Adresse(self): + return self.ATO_TS_Instanz_Adresse + def set_ATO_TS_Instanz_Adresse(self, ATO_TS_Instanz_Adresse): + self.ATO_TS_Instanz_Adresse = ATO_TS_Instanz_Adresse + def get_ID_Unterbringung(self): + return self.ID_Unterbringung + def set_ID_Unterbringung(self, ID_Unterbringung): + self.ID_Unterbringung = ID_Unterbringung + def has__content(self): + if ( + self.ATO_TS_Instanz_Adresse is not None or + self.ID_Unterbringung is not None or + super(CATO_TS_Instanz, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsATO:', namespacedef_='xmlns:nsATO="http://www.plan-pro.org/modell/ATO/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CATO_TS_Instanz', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CATO_TS_Instanz') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CATO_TS_Instanz': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CATO_TS_Instanz') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CATO_TS_Instanz', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsATO:', name_='CATO_TS_Instanz'): + super(CATO_TS_Instanz, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CATO_TS_Instanz') + def _exportChildren(self, outfile, level, namespaceprefix_='nsATO:', namespacedef_='xmlns:nsATO="http://www.plan-pro.org/modell/ATO/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CATO_TS_Instanz', fromsubclass_=False, pretty_print=True): + super(CATO_TS_Instanz, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.ATO_TS_Instanz_Adresse is not None: + namespaceprefix_ = self.ATO_TS_Instanz_Adresse_nsprefix_ + ':' if (UseCapturedNS_ and self.ATO_TS_Instanz_Adresse_nsprefix_) else '' + self.ATO_TS_Instanz_Adresse.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ATO_TS_Instanz_Adresse', pretty_print=pretty_print) + if self.ID_Unterbringung is not None: + namespaceprefix_ = self.ID_Unterbringung_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Unterbringung_nsprefix_) else '' + self.ID_Unterbringung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Unterbringung', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CATO_TS_Instanz, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ATO_TS_Instanz_Adresse': + obj_ = CATO_TS_Instanz_Adresse.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ATO_TS_Instanz_Adresse = obj_ + obj_.original_tagname_ = 'ATO_TS_Instanz_Adresse' + elif nodeName_ == 'ID_Unterbringung': + obj_ = TCID_Unterbringung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Unterbringung = obj_ + obj_.original_tagname_ = 'ID_Unterbringung' + super(CATO_TS_Instanz, self)._buildChildren(child_, node, nodeName_, True) +# end class CATO_TS_Instanz + + +class TCNID_ATOTS(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCNID_ATOTS"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TNID_ATOTS(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCNID_ATOTS) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCNID_ATOTS.subclass: + return TCNID_ATOTS.subclass(*args_, **kwargs_) + else: + return TCNID_ATOTS(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TNID_ATOTS(self, value): + result = True + # Validate type TNID_ATOTS, a restriction on xs:integer. + 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 + pass + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCNID_ATOTS, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsATO:', namespacedef_='xmlns:nsATO="http://www.plan-pro.org/modell/ATO/1.10.0"', name_='TCNID_ATOTS', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCNID_ATOTS') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCNID_ATOTS': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCNID_ATOTS') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCNID_ATOTS', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsATO:', name_='TCNID_ATOTS'): + super(TCNID_ATOTS, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCNID_ATOTS') + def _exportChildren(self, outfile, level, namespaceprefix_='nsATO:', namespacedef_='xmlns:nsATO="http://www.plan-pro.org/modell/ATO/1.10.0"', name_='TCNID_ATOTS', fromsubclass_=False, pretty_print=True): + super(TCNID_ATOTS, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_integer(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCNID_ATOTS, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + ival_ = self.gds_parse_integer(sval_, node, 'Wert') + ival_ = self.gds_validate_integer(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + # validate type TNID_ATOTS + self.validate_TNID_ATOTS(self.Wert) + super(TCNID_ATOTS, self)._buildChildren(child_, node, nodeName_, True) +# end class TCNID_ATOTS + + +class CATO_Segment_Profile_Bezeichnung(GeneratedsSuper): + """NID_SP -- Bezeichnung des Segment Profiles, die sich in der Regel aus der Bezeichnung der referenzierten ETCS-Gleiskante ergibt. Zur Herstellung der Eineindeutigkeit k + ö + nnen weitere Bezeichnungsbestandteile erg + ä + nzt werden. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = None + def __init__(self, NID_SP=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + self.NID_SP = NID_SP + self.NID_SP_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CATO_Segment_Profile_Bezeichnung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CATO_Segment_Profile_Bezeichnung.subclass: + return CATO_Segment_Profile_Bezeichnung.subclass(*args_, **kwargs_) + else: + return CATO_Segment_Profile_Bezeichnung(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_NID_SP(self): + return self.NID_SP + def set_NID_SP(self, NID_SP): + self.NID_SP = NID_SP + def has__content(self): + if ( + self.NID_SP is not None + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsATO:', namespacedef_='xmlns:nsATO="http://www.plan-pro.org/modell/ATO/1.10.0"', name_='CATO_Segment_Profile_Bezeichnung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CATO_Segment_Profile_Bezeichnung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CATO_Segment_Profile_Bezeichnung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CATO_Segment_Profile_Bezeichnung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CATO_Segment_Profile_Bezeichnung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsATO:', name_='CATO_Segment_Profile_Bezeichnung'): + pass + def _exportChildren(self, outfile, level, namespaceprefix_='nsATO:', namespacedef_='xmlns:nsATO="http://www.plan-pro.org/modell/ATO/1.10.0"', name_='CATO_Segment_Profile_Bezeichnung', fromsubclass_=False, pretty_print=True): + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.NID_SP is not None: + namespaceprefix_ = self.NID_SP_nsprefix_ + ':' if (UseCapturedNS_ and self.NID_SP_nsprefix_) else '' + self.NID_SP.export(outfile, level, namespaceprefix_, namespacedef_='', name_='NID_SP', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + pass + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'NID_SP': + obj_ = TCNID_SP.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.NID_SP = obj_ + obj_.original_tagname_ = 'NID_SP' +# end class CATO_Segment_Profile_Bezeichnung + + +class TCHaltetoleranz(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCHaltetoleranz"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_THaltetoleranz(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCHaltetoleranz) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCHaltetoleranz.subclass: + return TCHaltetoleranz.subclass(*args_, **kwargs_) + else: + return TCHaltetoleranz(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_THaltetoleranz(self, value): + result = True + # Validate type THaltetoleranz, a restriction on xs:integer. + 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_THaltetoleranz_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_THaltetoleranz_patterns_, )) + result = False + return result + validate_THaltetoleranz_patterns_ = [['^([0-9]|[12][0-9]|30|31)$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCHaltetoleranz, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsATO:', namespacedef_='xmlns:nsATO="http://www.plan-pro.org/modell/ATO/1.10.0"', name_='TCHaltetoleranz', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCHaltetoleranz') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCHaltetoleranz': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCHaltetoleranz') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCHaltetoleranz', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsATO:', name_='TCHaltetoleranz'): + super(TCHaltetoleranz, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCHaltetoleranz') + def _exportChildren(self, outfile, level, namespaceprefix_='nsATO:', namespacedef_='xmlns:nsATO="http://www.plan-pro.org/modell/ATO/1.10.0"', name_='TCHaltetoleranz', fromsubclass_=False, pretty_print=True): + super(TCHaltetoleranz, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_integer(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCHaltetoleranz, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + ival_ = self.gds_parse_integer(sval_, node, 'Wert') + ival_ = self.gds_validate_integer(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + # validate type THaltetoleranz + self.validate_THaltetoleranz(self.Wert) + super(TCHaltetoleranz, self)._buildChildren(child_, node, nodeName_, True) +# end class TCHaltetoleranz + + +class TCNID_TP(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCNID_TP"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TNID_TP(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCNID_TP) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCNID_TP.subclass: + return TCNID_TP.subclass(*args_, **kwargs_) + else: + return TCNID_TP(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TNID_TP(self, value): + result = True + # Validate type TNID_TP, a restriction on xs:integer. + 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 + pass + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCNID_TP, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsATO:', namespacedef_='xmlns:nsATO="http://www.plan-pro.org/modell/ATO/1.10.0"', name_='TCNID_TP', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCNID_TP') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCNID_TP': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCNID_TP') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCNID_TP', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsATO:', name_='TCNID_TP'): + super(TCNID_TP, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCNID_TP') + def _exportChildren(self, outfile, level, namespaceprefix_='nsATO:', namespacedef_='xmlns:nsATO="http://www.plan-pro.org/modell/ATO/1.10.0"', name_='TCNID_TP', fromsubclass_=False, pretty_print=True): + super(TCNID_TP, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_integer(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCNID_TP, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + ival_ = self.gds_parse_integer(sval_, node, 'Wert') + ival_ = self.gds_validate_integer(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + # validate type TNID_TP + self.validate_TNID_TP(self.Wert) + super(TCNID_TP, self)._buildChildren(child_, node, nodeName_, True) +# end class TCNID_TP + + +class TCAbstand_ATO_Halt_Vor_EoA(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCAbstand_ATO_Halt_Vor_EoA"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TAbstand_ATO_Halt_Vor_EoA(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCAbstand_ATO_Halt_Vor_EoA) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCAbstand_ATO_Halt_Vor_EoA.subclass: + return TCAbstand_ATO_Halt_Vor_EoA.subclass(*args_, **kwargs_) + else: + return TCAbstand_ATO_Halt_Vor_EoA(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TAbstand_ATO_Halt_Vor_EoA(self, value): + result = True + # Validate type TAbstand_ATO_Halt_Vor_EoA, a restriction on nsBasisTypen:TMeter. + 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 + pass + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCAbstand_ATO_Halt_Vor_EoA, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsATO:', namespacedef_='xmlns:nsATO="http://www.plan-pro.org/modell/ATO/1.10.0"', name_='TCAbstand_ATO_Halt_Vor_EoA', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCAbstand_ATO_Halt_Vor_EoA') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCAbstand_ATO_Halt_Vor_EoA': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCAbstand_ATO_Halt_Vor_EoA') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCAbstand_ATO_Halt_Vor_EoA', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsATO:', name_='TCAbstand_ATO_Halt_Vor_EoA'): + super(TCAbstand_ATO_Halt_Vor_EoA, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCAbstand_ATO_Halt_Vor_EoA') + def _exportChildren(self, outfile, level, namespaceprefix_='nsATO:', namespacedef_='xmlns:nsATO="http://www.plan-pro.org/modell/ATO/1.10.0"', name_='TCAbstand_ATO_Halt_Vor_EoA', fromsubclass_=False, pretty_print=True): + super(TCAbstand_ATO_Halt_Vor_EoA, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_decimal(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCAbstand_ATO_Halt_Vor_EoA, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + fval_ = self.gds_parse_decimal(sval_, node, 'Wert') + fval_ = self.gds_validate_decimal(fval_, node, 'Wert') + self.Wert = fval_ + self.Wert_nsprefix_ = child_.prefix + # validate type TAbstand_ATO_Halt_Vor_EoA + self.validate_TAbstand_ATO_Halt_Vor_EoA(self.Wert) + super(TCAbstand_ATO_Halt_Vor_EoA, self)._buildChildren(child_, node, nodeName_, True) +# end class TCAbstand_ATO_Halt_Vor_EoA + + +class TCNID_SP(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCNID_SP"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TNID_SP(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCNID_SP) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCNID_SP.subclass: + return TCNID_SP.subclass(*args_, **kwargs_) + else: + return TCNID_SP(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TNID_SP(self, value): + result = True + # Validate type TNID_SP, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TNID_SP_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TNID_SP_patterns_, )) + result = False + return result + validate_TNID_SP_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCNID_SP, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsATO:', namespacedef_='xmlns:nsATO="http://www.plan-pro.org/modell/ATO/1.10.0"', name_='TCNID_SP', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCNID_SP') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCNID_SP': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCNID_SP') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCNID_SP', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsATO:', name_='TCNID_SP'): + super(TCNID_SP, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCNID_SP') + def _exportChildren(self, outfile, level, namespaceprefix_='nsATO:', namespacedef_='xmlns:nsATO="http://www.plan-pro.org/modell/ATO/1.10.0"', name_='TCNID_SP', fromsubclass_=False, pretty_print=True): + super(TCNID_SP, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCNID_SP, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TNID_SP + self.validate_TNID_SP(self.Wert) + super(TCNID_SP, self)._buildChildren(child_, node, nodeName_, True) +# end class TCNID_SP + + +class CATO_Segment_Profile(CBasis_Objekt): + """CATO_Segment_Profile -- Infrastrukturabschnitte mit definiertem Beginn und Ende sowie zugeh + ö + rigen Infrastrukturangaben bzw. Eigenschaften f + ü + r den atomatischen Bahnbetrieb (ATO). Die Definition der Richtung wird aus der zugeh + ö + rigen ETCS-Kante + ü + bernommen. + Abstand_ATO_Halt_Vor_EoA -- Distanz vor dem eigentlichen Punkt der End of Authority (EoA) der relevanten ETCS MA, auf die ATO-OB den automatisch gef + ü + hrten Zug hin bremst. Der Parameter entspricht dem ATO-Parameter + „ + D_EoA_Offset + “ + und betr + ä + gt in der Regel 5 + m. Abweichende Angaben sind durch die betriebliche Infrastrukturplanung in der BAst vorzugeben. + ID_ATO_TS_Instanz -- Verweis auf die ATO-TS-Instanz, von der dieses Segment Profile verwaltet wird. + ID_ATO_TS_Instanz_Nachbar -- Verweis auf die benachbarte ATO-TS-Instanz, der dieses Segment Profile bekannt ist. + ID_ETCS_Kante -- Verweis auf die ETCS-Kante, deren Bezeichnung als Bezeichnung des Segment Profiles verwendet wird. + ID_Oertlichkeit -- Betriebsstelle(n) ( + Ö + rtlichkeiten), denen das Segment Profil zugeordnet ist. Aus der Zuordnung l + ä + sst sich der Zust + ä + ndigkeitsbereich einer ATO-TS-Instanz ableiten. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasis_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, Abstand_ATO_Halt_Vor_EoA=None, Bezeichnung=None, ID_ATO_TS_Instanz=None, ID_ATO_TS_Instanz_Nachbar=None, ID_ETCS_Kante=None, ID_Oertlichkeit=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CATO_Segment_Profile"), self).__init__(Identitaet, Basis_Objekt_Allg, ID_Bearbeitungsvermerk, ID_Oertlichkeit_Ausgabe, Objektreferenzen, **kwargs_) + self.Abstand_ATO_Halt_Vor_EoA = Abstand_ATO_Halt_Vor_EoA + self.Abstand_ATO_Halt_Vor_EoA_nsprefix_ = None + self.Bezeichnung = Bezeichnung + self.Bezeichnung_nsprefix_ = None + self.ID_ATO_TS_Instanz = ID_ATO_TS_Instanz + self.ID_ATO_TS_Instanz_nsprefix_ = None + self.ID_ATO_TS_Instanz_Nachbar = ID_ATO_TS_Instanz_Nachbar + self.ID_ATO_TS_Instanz_Nachbar_nsprefix_ = None + self.ID_ETCS_Kante = ID_ETCS_Kante + self.ID_ETCS_Kante_nsprefix_ = None + if ID_Oertlichkeit is None: + self.ID_Oertlichkeit = [] + else: + self.ID_Oertlichkeit = ID_Oertlichkeit + self.ID_Oertlichkeit_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CATO_Segment_Profile) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CATO_Segment_Profile.subclass: + return CATO_Segment_Profile.subclass(*args_, **kwargs_) + else: + return CATO_Segment_Profile(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Abstand_ATO_Halt_Vor_EoA(self): + return self.Abstand_ATO_Halt_Vor_EoA + def set_Abstand_ATO_Halt_Vor_EoA(self, Abstand_ATO_Halt_Vor_EoA): + self.Abstand_ATO_Halt_Vor_EoA = Abstand_ATO_Halt_Vor_EoA + def get_Bezeichnung(self): + return self.Bezeichnung + def set_Bezeichnung(self, Bezeichnung): + self.Bezeichnung = Bezeichnung + def get_ID_ATO_TS_Instanz(self): + return self.ID_ATO_TS_Instanz + def set_ID_ATO_TS_Instanz(self, ID_ATO_TS_Instanz): + self.ID_ATO_TS_Instanz = ID_ATO_TS_Instanz + def get_ID_ATO_TS_Instanz_Nachbar(self): + return self.ID_ATO_TS_Instanz_Nachbar + def set_ID_ATO_TS_Instanz_Nachbar(self, ID_ATO_TS_Instanz_Nachbar): + self.ID_ATO_TS_Instanz_Nachbar = ID_ATO_TS_Instanz_Nachbar + def get_ID_ETCS_Kante(self): + return self.ID_ETCS_Kante + def set_ID_ETCS_Kante(self, ID_ETCS_Kante): + self.ID_ETCS_Kante = ID_ETCS_Kante + def get_ID_Oertlichkeit(self): + return self.ID_Oertlichkeit + def set_ID_Oertlichkeit(self, ID_Oertlichkeit): + self.ID_Oertlichkeit = ID_Oertlichkeit + def add_ID_Oertlichkeit(self, value): + self.ID_Oertlichkeit.append(value) + def insert_ID_Oertlichkeit_at(self, index, value): + self.ID_Oertlichkeit.insert(index, value) + def replace_ID_Oertlichkeit_at(self, index, value): + self.ID_Oertlichkeit[index] = value + def has__content(self): + if ( + self.Abstand_ATO_Halt_Vor_EoA is not None or + self.Bezeichnung is not None or + self.ID_ATO_TS_Instanz is not None or + self.ID_ATO_TS_Instanz_Nachbar is not None or + self.ID_ETCS_Kante is not None or + self.ID_Oertlichkeit or + super(CATO_Segment_Profile, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsATO:', namespacedef_='xmlns:nsATO="http://www.plan-pro.org/modell/ATO/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CATO_Segment_Profile', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CATO_Segment_Profile') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CATO_Segment_Profile': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CATO_Segment_Profile') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CATO_Segment_Profile', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsATO:', name_='CATO_Segment_Profile'): + super(CATO_Segment_Profile, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CATO_Segment_Profile') + def _exportChildren(self, outfile, level, namespaceprefix_='nsATO:', namespacedef_='xmlns:nsATO="http://www.plan-pro.org/modell/ATO/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CATO_Segment_Profile', fromsubclass_=False, pretty_print=True): + super(CATO_Segment_Profile, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Abstand_ATO_Halt_Vor_EoA is not None: + namespaceprefix_ = self.Abstand_ATO_Halt_Vor_EoA_nsprefix_ + ':' if (UseCapturedNS_ and self.Abstand_ATO_Halt_Vor_EoA_nsprefix_) else '' + self.Abstand_ATO_Halt_Vor_EoA.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Abstand_ATO_Halt_Vor_EoA', pretty_print=pretty_print) + if self.Bezeichnung is not None: + namespaceprefix_ = self.Bezeichnung_nsprefix_ + ':' if (UseCapturedNS_ and self.Bezeichnung_nsprefix_) else '' + self.Bezeichnung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Bezeichnung', pretty_print=pretty_print) + if self.ID_ATO_TS_Instanz is not None: + namespaceprefix_ = self.ID_ATO_TS_Instanz_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_ATO_TS_Instanz_nsprefix_) else '' + self.ID_ATO_TS_Instanz.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_ATO_TS_Instanz', pretty_print=pretty_print) + if self.ID_ATO_TS_Instanz_Nachbar is not None: + namespaceprefix_ = self.ID_ATO_TS_Instanz_Nachbar_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_ATO_TS_Instanz_Nachbar_nsprefix_) else '' + self.ID_ATO_TS_Instanz_Nachbar.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_ATO_TS_Instanz_Nachbar', pretty_print=pretty_print) + if self.ID_ETCS_Kante is not None: + namespaceprefix_ = self.ID_ETCS_Kante_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_ETCS_Kante_nsprefix_) else '' + self.ID_ETCS_Kante.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_ETCS_Kante', pretty_print=pretty_print) + for ID_Oertlichkeit_ in self.ID_Oertlichkeit: + namespaceprefix_ = self.ID_Oertlichkeit_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Oertlichkeit_nsprefix_) else '' + ID_Oertlichkeit_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Oertlichkeit', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CATO_Segment_Profile, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Abstand_ATO_Halt_Vor_EoA': + obj_ = TCAbstand_ATO_Halt_Vor_EoA.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Abstand_ATO_Halt_Vor_EoA = obj_ + obj_.original_tagname_ = 'Abstand_ATO_Halt_Vor_EoA' + elif nodeName_ == 'Bezeichnung': + obj_ = CATO_Segment_Profile_Bezeichnung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Bezeichnung = obj_ + obj_.original_tagname_ = 'Bezeichnung' + elif nodeName_ == 'ID_ATO_TS_Instanz': + obj_ = TCID_ATO_TS_Instanz_ohne_Proxy.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_ATO_TS_Instanz = obj_ + obj_.original_tagname_ = 'ID_ATO_TS_Instanz' + elif nodeName_ == 'ID_ATO_TS_Instanz_Nachbar': + obj_ = TCID_ATO_TS_Instanz.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_ATO_TS_Instanz_Nachbar = obj_ + obj_.original_tagname_ = 'ID_ATO_TS_Instanz_Nachbar' + elif nodeName_ == 'ID_ETCS_Kante': + obj_ = TCID_ETCS_Kante.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_ETCS_Kante = obj_ + obj_.original_tagname_ = 'ID_ETCS_Kante' + elif nodeName_ == 'ID_Oertlichkeit': + obj_ = TCID_Oertlichkeit_Proxy.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Oertlichkeit.append(obj_) + obj_.original_tagname_ = 'ID_Oertlichkeit' + super(CATO_Segment_Profile, self)._buildChildren(child_, node, nodeName_, True) +# end class CATO_Segment_Profile + + +class CBereich_Objekt(CBasis_Objekt): + """CBereich_Objekt -- Objekt, das einen Bereich + ü + ber eine oder mehrere Gleiskanten ganz oder teilweise umfasst. Ein Bereich Objekt repr + ä + sentiert einen Bereich der Topologie, der sowohl zusammenh + ä + ngend als auch nicht zusammenh + ä + ngend sein kann. Ein Bereich Objekt wird + ü + ber ein oder mehrere Teilbereiche (Bereich_Objekt_Teilbereich) beschrieben, die jeweils einen Abschnitt auf einer topologischen Kante darstellen. Ein Teilbereich definiert sich + ü + ber die Referenz auf eine TOP Kante sowie den Abstand der beiden Teilbereichsgrenzen A und B zum Anfang der TOP Kante. Das Bereich Objekt kann in drei Arten eingeteilt werden: unverzweigt (z. B. Bahnsteig Kante, Fstr Fahrweg, BUE Gleisbezogener Gefahrraum) verzweigt (z. B. Gleis Schaltgruppe) verteilt (z. B. Gleis Baubereich) Unverzweigte und verzweigte Bereichsobjekte sind immer zusammenh + ä + ngend. Verteilte Bereichsobjekte k + ö + nnen in ihren Teilen verzweigt oder unverzweigt sein; hier gibt es keine Notwendigkeit der Unterscheidung. Zus + ä + tzlich kann ein Bereich Objekt gerichtet sein. Dies wird durch die Ausrichtung der Teilbereiche in Bezug auf die jeweilige TOP Kante erreicht. Die Konsistenz der Richtung des Bereich Objekt wird nicht durch das Modell sichergestellt. Die Teilbereiche m + ü + ssen + ü + berschneidungsfrei definiert sein. Es ist m + ö + glich Teilbereiche der L + ä + nge 0 anzugeben. Ist es f + ü + r ein Objekt notwendig, direkt auf eine Bereichsgrenze zu verweisen, dann muss dieses Problem im jeweiligen Arbeitspaket gel + ö + st werden, in dem in diesem Arbeitspaket ein eigenes Punktobjekt erzeugt wird. Der Teilbereich endet dann unmittelbar vor dem TOP_Knoten. Speziell bei Weichenanf + ä + ngen auf die Weichenspitze gesehen endet der Teilbereich am TOP Anschluss A = Spitze oder TOP Anschluss B = Spitze. Die Weiche selbst ist nicht Bestandteil des Bereichsobjektes. In den Bereichsobjekten sind Objekte zusammengefasst, die eine Quer- und/oder L + ä + ngsausdehnung haben k + ö + nnen. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasis_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, Bereich_Objekt_Teilbereich=None, extensiontype_=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CBereich_Objekt"), self).__init__(Identitaet, Basis_Objekt_Allg, ID_Bearbeitungsvermerk, ID_Oertlichkeit_Ausgabe, Objektreferenzen, extensiontype_, **kwargs_) + if Bereich_Objekt_Teilbereich is None: + self.Bereich_Objekt_Teilbereich = [] + else: + self.Bereich_Objekt_Teilbereich = Bereich_Objekt_Teilbereich + self.Bereich_Objekt_Teilbereich_nsprefix_ = None + self.extensiontype_ = extensiontype_ + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CBereich_Objekt) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CBereich_Objekt.subclass: + return CBereich_Objekt.subclass(*args_, **kwargs_) + else: + return CBereich_Objekt(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Bereich_Objekt_Teilbereich(self): + return self.Bereich_Objekt_Teilbereich + def set_Bereich_Objekt_Teilbereich(self, Bereich_Objekt_Teilbereich): + self.Bereich_Objekt_Teilbereich = Bereich_Objekt_Teilbereich + def add_Bereich_Objekt_Teilbereich(self, value): + self.Bereich_Objekt_Teilbereich.append(value) + def insert_Bereich_Objekt_Teilbereich_at(self, index, value): + self.Bereich_Objekt_Teilbereich.insert(index, value) + def replace_Bereich_Objekt_Teilbereich_at(self, index, value): + self.Bereich_Objekt_Teilbereich[index] = value + def get_extensiontype_(self): return self.extensiontype_ + def set_extensiontype_(self, extensiontype_): self.extensiontype_ = extensiontype_ + def has__content(self): + if ( + self.Bereich_Objekt_Teilbereich or + super(CBereich_Objekt, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBasisobjekte:', namespacedef_='xmlns:nsBasisobjekte="http://www.plan-pro.org/modell/Basisobjekte/1.10.0"', name_='CBereich_Objekt', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CBereich_Objekt') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CBereich_Objekt': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CBereich_Objekt') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CBereich_Objekt', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBasisobjekte:', name_='CBereich_Objekt'): + super(CBereich_Objekt, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CBereich_Objekt') + if self.extensiontype_ is not None and 'xsi:type' not in already_processed: + already_processed.add('xsi:type') + outfile.write(' xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"') + if ":" not in self.extensiontype_: + imported_ns_type_prefix_ = GenerateDSNamespaceTypePrefixes_.get(self.extensiontype_, '') + outfile.write(' xsi:type="%s%s"' % (imported_ns_type_prefix_, self.extensiontype_)) + else: + outfile.write(' xsi:type="%s"' % self.extensiontype_) + def _exportChildren(self, outfile, level, namespaceprefix_='nsBasisobjekte:', namespacedef_='xmlns:nsBasisobjekte="http://www.plan-pro.org/modell/Basisobjekte/1.10.0"', name_='CBereich_Objekt', fromsubclass_=False, pretty_print=True): + super(CBereich_Objekt, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for Bereich_Objekt_Teilbereich_ in self.Bereich_Objekt_Teilbereich: + namespaceprefix_ = self.Bereich_Objekt_Teilbereich_nsprefix_ + ':' if (UseCapturedNS_ and self.Bereich_Objekt_Teilbereich_nsprefix_) else '' + Bereich_Objekt_Teilbereich_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Bereich_Objekt_Teilbereich', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('xsi:type', node) + if value is not None and 'xsi:type' not in already_processed: + already_processed.add('xsi:type') + self.extensiontype_ = value + super(CBereich_Objekt, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Bereich_Objekt_Teilbereich': + obj_ = CBereich_Objekt_Teilbereich.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Bereich_Objekt_Teilbereich.append(obj_) + obj_.original_tagname_ = 'Bereich_Objekt_Teilbereich' + super(CBereich_Objekt, self)._buildChildren(child_, node, nodeName_, True) +# end class CBereich_Objekt + + +class CLieferobjekt(CBasis_Objekt): + """CLieferobjekt -- Von der SBI geliefertes Objekt. Hier werden alle relevanten Daten des gelieferten Teils der LST-Anlage eingetragen. Das Lieferobjekt muss einen Bezug zu einem bestehenden bzw. geplanten LST-Objekt haben, das es n + ä + her beschreibt. + Beschreibung -- Verbale Beschreibung des LO. + Die Angabe soll als Beschreibung des Technischen Platzes in SAP R/3 Netz + ü + bernommen werden. + Die Bereitstellung der Bildun + gsvorschrift erfolgt gesondert. + ID_GEO_Punkt -- Verweis auf einen GEO_Punkt zur Topologie-unabh + ä + ngigen Lokalisierung des Lieferobjekts. Eine Mehrfachangabe ist bei Verortung in unterschiedlichen Koordinatensystemen notwendig. + ID_LO_Einbau -- Verweis auf ein geplantes oder existierendes Objekt bzw. mehrere Objekte, zu dem bzw. denen das LO logisch geh + ö + rt. LO k + ö + nnen auch hierarchisch gegliedert sein. + F + ü + r Ersatzteile ist der Ort der Lagerung anzugeben, d.h. in der Regel die Unterbringung direkt. + Der Verweis ist prinzipiell auf alle Objekttypen m + ö + glich einschlie + ß + lich des LO selbst f + ü + r eine rekursive Darstellung der herstellerspezifischen Anlagenstruktur. + LO_Ersatz -- Angabe, ob es sich um eine Ersatzteil (true) oder ein eingebautes und genutztes Teil handelt (false). + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasis_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, Beschreibung=None, ID_GEO_Punkt=None, ID_LO_Einbau=None, LO_Ersatz=None, LO_Material=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CLieferobjekt"), self).__init__(Identitaet, Basis_Objekt_Allg, ID_Bearbeitungsvermerk, ID_Oertlichkeit_Ausgabe, Objektreferenzen, **kwargs_) + self.Beschreibung = Beschreibung + self.Beschreibung_nsprefix_ = None + if ID_GEO_Punkt is None: + self.ID_GEO_Punkt = [] + else: + self.ID_GEO_Punkt = ID_GEO_Punkt + self.ID_GEO_Punkt_nsprefix_ = None + if ID_LO_Einbau is None: + self.ID_LO_Einbau = [] + else: + self.ID_LO_Einbau = ID_LO_Einbau + self.ID_LO_Einbau_nsprefix_ = None + self.LO_Ersatz = LO_Ersatz + self.LO_Ersatz_nsprefix_ = None + self.LO_Material = LO_Material + self.LO_Material_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CLieferobjekt) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CLieferobjekt.subclass: + return CLieferobjekt.subclass(*args_, **kwargs_) + else: + return CLieferobjekt(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Beschreibung(self): + return self.Beschreibung + def set_Beschreibung(self, Beschreibung): + self.Beschreibung = Beschreibung + def get_ID_GEO_Punkt(self): + return self.ID_GEO_Punkt + def set_ID_GEO_Punkt(self, ID_GEO_Punkt): + self.ID_GEO_Punkt = ID_GEO_Punkt + def add_ID_GEO_Punkt(self, value): + self.ID_GEO_Punkt.append(value) + def insert_ID_GEO_Punkt_at(self, index, value): + self.ID_GEO_Punkt.insert(index, value) + def replace_ID_GEO_Punkt_at(self, index, value): + self.ID_GEO_Punkt[index] = value + def get_ID_LO_Einbau(self): + return self.ID_LO_Einbau + def set_ID_LO_Einbau(self, ID_LO_Einbau): + self.ID_LO_Einbau = ID_LO_Einbau + def add_ID_LO_Einbau(self, value): + self.ID_LO_Einbau.append(value) + def insert_ID_LO_Einbau_at(self, index, value): + self.ID_LO_Einbau.insert(index, value) + def replace_ID_LO_Einbau_at(self, index, value): + self.ID_LO_Einbau[index] = value + def get_LO_Ersatz(self): + return self.LO_Ersatz + def set_LO_Ersatz(self, LO_Ersatz): + self.LO_Ersatz = LO_Ersatz + def get_LO_Material(self): + return self.LO_Material + def set_LO_Material(self, LO_Material): + self.LO_Material = LO_Material + def has__content(self): + if ( + self.Beschreibung is not None or + self.ID_GEO_Punkt or + self.ID_LO_Einbau or + self.LO_Ersatz is not None or + self.LO_Material is not None or + super(CLieferobjekt, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBasisobjekte:', namespacedef_='xmlns:nsBasisobjekte="http://www.plan-pro.org/modell/Basisobjekte/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CLieferobjekt', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CLieferobjekt') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CLieferobjekt': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CLieferobjekt') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CLieferobjekt', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBasisobjekte:', name_='CLieferobjekt'): + super(CLieferobjekt, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CLieferobjekt') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBasisobjekte:', namespacedef_='xmlns:nsBasisobjekte="http://www.plan-pro.org/modell/Basisobjekte/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CLieferobjekt', fromsubclass_=False, pretty_print=True): + super(CLieferobjekt, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Beschreibung is not None: + namespaceprefix_ = self.Beschreibung_nsprefix_ + ':' if (UseCapturedNS_ and self.Beschreibung_nsprefix_) else '' + self.Beschreibung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Beschreibung', pretty_print=pretty_print) + for ID_GEO_Punkt_ in self.ID_GEO_Punkt: + namespaceprefix_ = self.ID_GEO_Punkt_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_GEO_Punkt_nsprefix_) else '' + ID_GEO_Punkt_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_GEO_Punkt', pretty_print=pretty_print) + for ID_LO_Einbau_ in self.ID_LO_Einbau: + namespaceprefix_ = self.ID_LO_Einbau_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_LO_Einbau_nsprefix_) else '' + ID_LO_Einbau_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_LO_Einbau', pretty_print=pretty_print) + if self.LO_Ersatz is not None: + namespaceprefix_ = self.LO_Ersatz_nsprefix_ + ':' if (UseCapturedNS_ and self.LO_Ersatz_nsprefix_) else '' + self.LO_Ersatz.export(outfile, level, namespaceprefix_, namespacedef_='', name_='LO_Ersatz', pretty_print=pretty_print) + if self.LO_Material is not None: + namespaceprefix_ = self.LO_Material_nsprefix_ + ':' if (UseCapturedNS_ and self.LO_Material_nsprefix_) else '' + self.LO_Material.export(outfile, level, namespaceprefix_, namespacedef_='', name_='LO_Material', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CLieferobjekt, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Beschreibung': + obj_ = TCBeschreibung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Beschreibung = obj_ + obj_.original_tagname_ = 'Beschreibung' + elif nodeName_ == 'ID_GEO_Punkt': + obj_ = TCID_GEO_Punkt_ohne_Proxy.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_GEO_Punkt.append(obj_) + obj_.original_tagname_ = 'ID_GEO_Punkt' + elif nodeName_ == 'ID_LO_Einbau': + obj_ = TCID_LO_Einbau.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_LO_Einbau.append(obj_) + obj_.original_tagname_ = 'ID_LO_Einbau' + elif nodeName_ == 'LO_Ersatz': + obj_ = TCLO_Ersatz.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.LO_Ersatz = obj_ + obj_.original_tagname_ = 'LO_Ersatz' + elif nodeName_ == 'LO_Material': + obj_ = CLO_Material.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.LO_Material = obj_ + obj_.original_tagname_ = 'LO_Material' + super(CLieferobjekt, self)._buildChildren(child_, node, nodeName_, True) +# end class CLieferobjekt + + +class CPunkt_Objekt(CBasis_Objekt): + """CPunkt_Objekt -- Objekt der Au + ß + enanlage, das bezogen auf seine Funktion keine Ausdehnung entlang der Gleise aufweist. Punktf + ö + rmige Objekte sind diejenigen real vorhandenen Objekte, die mindestens einer TOP Kante mit je genau einem Punkt zugeordnet werden k + ö + nnen. Durch die Verwendung der TOP Kante und des Abstands zum Knoten A der TOP Kante kann die physische Lage eines punktf + ö + rmigen Objektes eindeutig beschrieben werden. Beispiele f + ü + r punktf + ö + rmige Objekte sind Signal, Signal Befestigung und W Kr Gsp Komponente. Durch die m + ö + gliche Mehrfacheinbindung der Attributgruppe Punkt Objekt TOP Kante ist es m + ö + glich, Punktobjekte mehreren TOP-Kanten zuzuordnen, z.B: Grenzzeichen (Zuordnung zu zwei TOP_Kanten), Signal zwischen Weichenanfang und Herzst + ü + ckspitze (Zuordnung zu zwei TOP_Kanten), Kreuzung als Kreuzungseite - Weichenkomponente (Zuordnung zu zwei sich schneidende oder am gleichen TOP-Knoten endende TOP-Kanten), Weichensignal (Zuordnung zu zwei (W), drei (EKW) oder vier (DKW) TOP_Kanten). Die Verortung des Punktobjekts erfolgt + ü + ber die Angabe einer TOP Kante und des Abstands zum Knoten A der Kante. Zus + ä + tzlich kann f + ü + r ein Punkt_Objekt eine Strecke und ein Streckenkilometer angegeben werden. Diese km-Angabe ist dabei nur nachrichtlich zu verstehen. + Punkt_Objekt_Strecke -- Attributgruppe zur Zuordnung eines Objektes zu einer Strecke. Zur vererbungsspezifischen Bef + ü + llung der Attributgruppe siehe Modellierung Basisobjekte. + Punkt_Objekt_TOP_Kante -- Attributgruppe zur Verortung eines Objektes an der Topologie. Die vererbungsspezifische Bef + ü + llung der zugeh + ö + rigen Attribute wird auf der Seite Modellierung Basisobjekte beschrieben. Durch die m + ö + gliche Mehrfacheinbindung der Attributgruppe ist es m + ö + glich, ein Objekt (z. B. Grenzzeichen) mehreren topologischen Kanten zuzuordnen. DB-Regelwerk Darstellung im sicherungstechnischen Lageplan + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasis_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, Punkt_Objekt_Strecke=None, Punkt_Objekt_TOP_Kante=None, extensiontype_=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CPunkt_Objekt"), self).__init__(Identitaet, Basis_Objekt_Allg, ID_Bearbeitungsvermerk, ID_Oertlichkeit_Ausgabe, Objektreferenzen, extensiontype_, **kwargs_) + if Punkt_Objekt_Strecke is None: + self.Punkt_Objekt_Strecke = [] + else: + self.Punkt_Objekt_Strecke = Punkt_Objekt_Strecke + self.Punkt_Objekt_Strecke_nsprefix_ = None + if Punkt_Objekt_TOP_Kante is None: + self.Punkt_Objekt_TOP_Kante = [] + else: + self.Punkt_Objekt_TOP_Kante = Punkt_Objekt_TOP_Kante + self.Punkt_Objekt_TOP_Kante_nsprefix_ = None + self.extensiontype_ = extensiontype_ + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CPunkt_Objekt) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CPunkt_Objekt.subclass: + return CPunkt_Objekt.subclass(*args_, **kwargs_) + else: + return CPunkt_Objekt(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Punkt_Objekt_Strecke(self): + return self.Punkt_Objekt_Strecke + def set_Punkt_Objekt_Strecke(self, Punkt_Objekt_Strecke): + self.Punkt_Objekt_Strecke = Punkt_Objekt_Strecke + def add_Punkt_Objekt_Strecke(self, value): + self.Punkt_Objekt_Strecke.append(value) + def insert_Punkt_Objekt_Strecke_at(self, index, value): + self.Punkt_Objekt_Strecke.insert(index, value) + def replace_Punkt_Objekt_Strecke_at(self, index, value): + self.Punkt_Objekt_Strecke[index] = value + def get_Punkt_Objekt_TOP_Kante(self): + return self.Punkt_Objekt_TOP_Kante + def set_Punkt_Objekt_TOP_Kante(self, Punkt_Objekt_TOP_Kante): + self.Punkt_Objekt_TOP_Kante = Punkt_Objekt_TOP_Kante + def add_Punkt_Objekt_TOP_Kante(self, value): + self.Punkt_Objekt_TOP_Kante.append(value) + def insert_Punkt_Objekt_TOP_Kante_at(self, index, value): + self.Punkt_Objekt_TOP_Kante.insert(index, value) + def replace_Punkt_Objekt_TOP_Kante_at(self, index, value): + self.Punkt_Objekt_TOP_Kante[index] = value + def get_extensiontype_(self): return self.extensiontype_ + def set_extensiontype_(self, extensiontype_): self.extensiontype_ = extensiontype_ + def has__content(self): + if ( + self.Punkt_Objekt_Strecke or + self.Punkt_Objekt_TOP_Kante or + super(CPunkt_Objekt, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBasisobjekte:', namespacedef_='xmlns:nsBasisobjekte="http://www.plan-pro.org/modell/Basisobjekte/1.10.0"', name_='CPunkt_Objekt', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CPunkt_Objekt') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CPunkt_Objekt': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CPunkt_Objekt') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CPunkt_Objekt', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBasisobjekte:', name_='CPunkt_Objekt'): + super(CPunkt_Objekt, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CPunkt_Objekt') + if self.extensiontype_ is not None and 'xsi:type' not in already_processed: + already_processed.add('xsi:type') + outfile.write(' xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"') + if ":" not in self.extensiontype_: + imported_ns_type_prefix_ = GenerateDSNamespaceTypePrefixes_.get(self.extensiontype_, '') + outfile.write(' xsi:type="%s%s"' % (imported_ns_type_prefix_, self.extensiontype_)) + else: + outfile.write(' xsi:type="%s"' % self.extensiontype_) + def _exportChildren(self, outfile, level, namespaceprefix_='nsBasisobjekte:', namespacedef_='xmlns:nsBasisobjekte="http://www.plan-pro.org/modell/Basisobjekte/1.10.0"', name_='CPunkt_Objekt', fromsubclass_=False, pretty_print=True): + super(CPunkt_Objekt, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for Punkt_Objekt_Strecke_ in self.Punkt_Objekt_Strecke: + namespaceprefix_ = self.Punkt_Objekt_Strecke_nsprefix_ + ':' if (UseCapturedNS_ and self.Punkt_Objekt_Strecke_nsprefix_) else '' + Punkt_Objekt_Strecke_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Punkt_Objekt_Strecke', pretty_print=pretty_print) + for Punkt_Objekt_TOP_Kante_ in self.Punkt_Objekt_TOP_Kante: + namespaceprefix_ = self.Punkt_Objekt_TOP_Kante_nsprefix_ + ':' if (UseCapturedNS_ and self.Punkt_Objekt_TOP_Kante_nsprefix_) else '' + Punkt_Objekt_TOP_Kante_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Punkt_Objekt_TOP_Kante', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + value = find_attr_value_('xsi:type', node) + if value is not None and 'xsi:type' not in already_processed: + already_processed.add('xsi:type') + self.extensiontype_ = value + super(CPunkt_Objekt, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Punkt_Objekt_Strecke': + obj_ = CPunkt_Objekt_Strecke.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Punkt_Objekt_Strecke.append(obj_) + obj_.original_tagname_ = 'Punkt_Objekt_Strecke' + elif nodeName_ == 'Punkt_Objekt_TOP_Kante': + obj_ = CPunkt_Objekt_TOP_Kante.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Punkt_Objekt_TOP_Kante.append(obj_) + obj_.original_tagname_ = 'Punkt_Objekt_TOP_Kante' + super(CPunkt_Objekt, self)._buildChildren(child_, node, nodeName_, True) +# end class CPunkt_Objekt + + +class TCPruefsumme(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCPruefsumme"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TText(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCPruefsumme) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCPruefsumme.subclass: + return TCPruefsumme.subclass(*args_, **kwargs_) + else: + return TCPruefsumme(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TText(self, value): + result = True + # Validate type TText, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TText_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TText_patterns_, )) + result = False + return result + validate_TText_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCPruefsumme, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBasisTypen:', namespacedef_='xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0"', name_='TCPruefsumme', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCPruefsumme') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCPruefsumme': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCPruefsumme') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCPruefsumme', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBasisTypen:', name_='TCPruefsumme'): + super(TCPruefsumme, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCPruefsumme') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBasisTypen:', namespacedef_='xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0"', name_='TCPruefsumme', fromsubclass_=False, pretty_print=True): + super(TCPruefsumme, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCPruefsumme, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TText + self.validate_TText(self.Wert) + super(TCPruefsumme, self)._buildChildren(child_, node, nodeName_, True) +# end class TCPruefsumme + + +class TCBezeichnung_Lageplan_Lang(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCBezeichnung_Lageplan_Lang"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TBezeichnung_Lageplan_Lang(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCBezeichnung_Lageplan_Lang) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCBezeichnung_Lageplan_Lang.subclass: + return TCBezeichnung_Lageplan_Lang.subclass(*args_, **kwargs_) + else: + return TCBezeichnung_Lageplan_Lang(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TBezeichnung_Lageplan_Lang(self, value): + result = True + # Validate type TBezeichnung_Lageplan_Lang, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TBezeichnung_Lageplan_Lang_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TBezeichnung_Lageplan_Lang_patterns_, )) + result = False + return result + validate_TBezeichnung_Lageplan_Lang_patterns_ = [['^(.{1,36})$'], ['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCBezeichnung_Lageplan_Lang, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBasisTypen:', namespacedef_='xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0"', name_='TCBezeichnung_Lageplan_Lang', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCBezeichnung_Lageplan_Lang') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCBezeichnung_Lageplan_Lang': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBezeichnung_Lageplan_Lang') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCBezeichnung_Lageplan_Lang', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBasisTypen:', name_='TCBezeichnung_Lageplan_Lang'): + super(TCBezeichnung_Lageplan_Lang, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBezeichnung_Lageplan_Lang') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBasisTypen:', namespacedef_='xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0"', name_='TCBezeichnung_Lageplan_Lang', fromsubclass_=False, pretty_print=True): + super(TCBezeichnung_Lageplan_Lang, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCBezeichnung_Lageplan_Lang, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TBezeichnung_Lageplan_Lang + self.validate_TBezeichnung_Lageplan_Lang(self.Wert) + super(TCBezeichnung_Lageplan_Lang, self)._buildChildren(child_, node, nodeName_, True) +# end class TCBezeichnung_Lageplan_Lang + + +class TCBezeichnung_Lageplan_Kurz(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCBezeichnung_Lageplan_Kurz"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TBezeichnung_Lageplan_Kurz(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCBezeichnung_Lageplan_Kurz) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCBezeichnung_Lageplan_Kurz.subclass: + return TCBezeichnung_Lageplan_Kurz.subclass(*args_, **kwargs_) + else: + return TCBezeichnung_Lageplan_Kurz(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TBezeichnung_Lageplan_Kurz(self, value): + result = True + # Validate type TBezeichnung_Lageplan_Kurz, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TBezeichnung_Lageplan_Kurz_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TBezeichnung_Lageplan_Kurz_patterns_, )) + result = False + return result + validate_TBezeichnung_Lageplan_Kurz_patterns_ = [['^(.{1,36})$'], ['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCBezeichnung_Lageplan_Kurz, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBasisTypen:', namespacedef_='xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0"', name_='TCBezeichnung_Lageplan_Kurz', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCBezeichnung_Lageplan_Kurz') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCBezeichnung_Lageplan_Kurz': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBezeichnung_Lageplan_Kurz') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCBezeichnung_Lageplan_Kurz', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBasisTypen:', name_='TCBezeichnung_Lageplan_Kurz'): + super(TCBezeichnung_Lageplan_Kurz, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBezeichnung_Lageplan_Kurz') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBasisTypen:', namespacedef_='xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0"', name_='TCBezeichnung_Lageplan_Kurz', fromsubclass_=False, pretty_print=True): + super(TCBezeichnung_Lageplan_Kurz, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCBezeichnung_Lageplan_Kurz, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TBezeichnung_Lageplan_Kurz + self.validate_TBezeichnung_Lageplan_Kurz(self.Wert) + super(TCBezeichnung_Lageplan_Kurz, self)._buildChildren(child_, node, nodeName_, True) +# end class TCBezeichnung_Lageplan_Kurz + + +class TCID_Anforderung(TCZeiger): + """ID_Bearbeitungsvermerk -- Verweist auf einen oder mehrere Bearbeitungsvermerke. Ein Anhang wird + ü + ber einen Bearbeitungsvermerk zugeordnet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = TCZeiger + def __init__(self, ID_Bearbeitungsvermerk=None, Objektname=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCID_Anforderung"), self).__init__(ID_Bearbeitungsvermerk, Objektname, Wert, **kwargs_) + self.Objektname = _cast(None, Objektname) + self.Objektname_nsprefix_ = None + if ID_Bearbeitungsvermerk is None: + self.ID_Bearbeitungsvermerk = [] + else: + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + self.ID_Bearbeitungsvermerk_nsprefix_ = None + self.Wert = Wert + self.validate_TGUID(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCID_Anforderung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCID_Anforderung.subclass: + return TCID_Anforderung.subclass(*args_, **kwargs_) + else: + return TCID_Anforderung(*args_, **kwargs_) + factory = staticmethod(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_Bearbeitungsvermerk(self): + return self.ID_Bearbeitungsvermerk + def set_ID_Bearbeitungsvermerk(self, ID_Bearbeitungsvermerk): + self.ID_Bearbeitungsvermerk = ID_Bearbeitungsvermerk + def add_ID_Bearbeitungsvermerk(self, value): + self.ID_Bearbeitungsvermerk.append(value) + def insert_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk.insert(index, value) + def replace_ID_Bearbeitungsvermerk_at(self, index, value): + self.ID_Bearbeitungsvermerk[index] = value + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def get_Objektname(self): + return self.Objektname + def set_Objektname(self, Objektname): + self.Objektname = Objektname + def validate_TGUID(self, value): + result = True + # Validate type TGUID, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TGUID_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TGUID_patterns_, )) + result = False + return result + validate_TGUID_patterns_ = [['^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$']] + def validate_TObjektname(self, value): + # Validate type nsBasisTypen:TObjektname, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TObjektname_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TObjektname_patterns_, )) + validate_TObjektname_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.ID_Bearbeitungsvermerk or + self.Wert is not None or + super(TCID_Anforderung, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Anforderung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCID_Anforderung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCID_Anforderung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCID_Anforderung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCID_Anforderung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsVerweise:', name_='TCID_Anforderung'): + super(TCID_Anforderung, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCID_Anforderung') + if self.Objektname != 'Block_Element|Fstr_Fahrweg|BUE_Einschaltung|BUE_Ausschaltung|Proxy_Objekt' and 'Objektname' not in already_processed: + already_processed.add('Objektname') + outfile.write(' Objektname=%s' % (quote_attrib(self.Objektname), )) + def _exportChildren(self, outfile, level, namespaceprefix_='nsVerweise:', namespacedef_='xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCID_Anforderung', fromsubclass_=False, pretty_print=True): + super(TCID_Anforderung, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Bearbeitungsvermerk_ in self.ID_Bearbeitungsvermerk: + namespaceprefix_ = self.ID_Bearbeitungsvermerk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bearbeitungsvermerk_nsprefix_) else '' + ID_Bearbeitungsvermerk_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bearbeitungsvermerk', pretty_print=pretty_print) + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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_('Objektname', node) + if value is not None and 'Objektname' not in already_processed: + already_processed.add('Objektname') + self.Objektname = value + self.validate_TObjektname(self.Objektname) # validate type TObjektname + super(TCID_Anforderung, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Bearbeitungsvermerk': + obj_ = TCID_Bearbeitungsvermerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bearbeitungsvermerk.append(obj_) + obj_.original_tagname_ = 'ID_Bearbeitungsvermerk' + elif nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TGUID + self.validate_TGUID(self.Wert) + super(TCID_Anforderung, self)._buildChildren(child_, node, nodeName_, True) +# end class TCID_Anforderung + + +class TCAkustikdauer_Sonst(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCAkustikdauer_Sonst"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMAkustik_Sonst(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCAkustikdauer_Sonst) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCAkustikdauer_Sonst.subclass: + return TCAkustikdauer_Sonst.subclass(*args_, **kwargs_) + else: + return TCAkustikdauer_Sonst(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMAkustik_Sonst(self, value): + result = True + # Validate type ENUMAkustik_Sonst, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['5_s', 'keine'] + 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 ENUMAkustik_Sonst' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCAkustikdauer_Sonst, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsZugnummernmeldeanlage:', namespacedef_='xmlns:nsZugnummernmeldeanlage="http://www.plan-pro.org/modell/Zugnummernmeldeanlage/1.10.0"', name_='TCAkustikdauer_Sonst', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCAkustikdauer_Sonst') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCAkustikdauer_Sonst': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCAkustikdauer_Sonst') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCAkustikdauer_Sonst', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsZugnummernmeldeanlage:', name_='TCAkustikdauer_Sonst'): + super(TCAkustikdauer_Sonst, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCAkustikdauer_Sonst') + def _exportChildren(self, outfile, level, namespaceprefix_='nsZugnummernmeldeanlage:', namespacedef_='xmlns:nsZugnummernmeldeanlage="http://www.plan-pro.org/modell/Zugnummernmeldeanlage/1.10.0"', name_='TCAkustikdauer_Sonst', fromsubclass_=False, pretty_print=True): + super(TCAkustikdauer_Sonst, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCAkustikdauer_Sonst, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMAkustik_Sonst + self.validate_ENUMAkustik_Sonst(self.Wert) + super(TCAkustikdauer_Sonst, self)._buildChildren(child_, node, nodeName_, True) +# end class TCAkustikdauer_Sonst + + +class TCZN_A_Bezeichner(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCZN_A_Bezeichner"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TZN_A_Bezeichner(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCZN_A_Bezeichner) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCZN_A_Bezeichner.subclass: + return TCZN_A_Bezeichner.subclass(*args_, **kwargs_) + else: + return TCZN_A_Bezeichner(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TZN_A_Bezeichner(self, value): + result = True + # Validate type TZN_A_Bezeichner, a restriction on xs:integer. + 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 + pass + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCZN_A_Bezeichner, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsZugnummernmeldeanlage:', namespacedef_='xmlns:nsZugnummernmeldeanlage="http://www.plan-pro.org/modell/Zugnummernmeldeanlage/1.10.0"', name_='TCZN_A_Bezeichner', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCZN_A_Bezeichner') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCZN_A_Bezeichner': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCZN_A_Bezeichner') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCZN_A_Bezeichner', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsZugnummernmeldeanlage:', name_='TCZN_A_Bezeichner'): + super(TCZN_A_Bezeichner, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCZN_A_Bezeichner') + def _exportChildren(self, outfile, level, namespaceprefix_='nsZugnummernmeldeanlage:', namespacedef_='xmlns:nsZugnummernmeldeanlage="http://www.plan-pro.org/modell/Zugnummernmeldeanlage/1.10.0"', name_='TCZN_A_Bezeichner', fromsubclass_=False, pretty_print=True): + super(TCZN_A_Bezeichner, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_integer(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCZN_A_Bezeichner, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + ival_ = self.gds_parse_integer(sval_, node, 'Wert') + ival_ = self.gds_validate_integer(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + # validate type TZN_A_Bezeichner + self.validate_TZN_A_Bezeichner(self.Wert) + super(TCZN_A_Bezeichner, self)._buildChildren(child_, node, nodeName_, True) +# end class TCZN_A_Bezeichner + + +class TCZN_A_Bedienbezeichner_Frei(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCZN_A_Bedienbezeichner_Frei"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TZN_A_Bedienbezeichner_Frei(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCZN_A_Bedienbezeichner_Frei) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCZN_A_Bedienbezeichner_Frei.subclass: + return TCZN_A_Bedienbezeichner_Frei.subclass(*args_, **kwargs_) + else: + return TCZN_A_Bedienbezeichner_Frei(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TZN_A_Bedienbezeichner_Frei(self, value): + result = True + # Validate type TZN_A_Bedienbezeichner_Frei, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TZN_A_Bedienbezeichner_Frei_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TZN_A_Bedienbezeichner_Frei_patterns_, )) + result = False + return result + validate_TZN_A_Bedienbezeichner_Frei_patterns_ = [['^(.{4,7})$'], ['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCZN_A_Bedienbezeichner_Frei, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsZugnummernmeldeanlage:', namespacedef_='xmlns:nsZugnummernmeldeanlage="http://www.plan-pro.org/modell/Zugnummernmeldeanlage/1.10.0"', name_='TCZN_A_Bedienbezeichner_Frei', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCZN_A_Bedienbezeichner_Frei') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCZN_A_Bedienbezeichner_Frei': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCZN_A_Bedienbezeichner_Frei') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCZN_A_Bedienbezeichner_Frei', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsZugnummernmeldeanlage:', name_='TCZN_A_Bedienbezeichner_Frei'): + super(TCZN_A_Bedienbezeichner_Frei, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCZN_A_Bedienbezeichner_Frei') + def _exportChildren(self, outfile, level, namespaceprefix_='nsZugnummernmeldeanlage:', namespacedef_='xmlns:nsZugnummernmeldeanlage="http://www.plan-pro.org/modell/Zugnummernmeldeanlage/1.10.0"', name_='TCZN_A_Bedienbezeichner_Frei', fromsubclass_=False, pretty_print=True): + super(TCZN_A_Bedienbezeichner_Frei, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCZN_A_Bedienbezeichner_Frei, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TZN_A_Bedienbezeichner_Frei + self.validate_TZN_A_Bedienbezeichner_Frei(self.Wert) + super(TCZN_A_Bedienbezeichner_Frei, self)._buildChildren(child_, node, nodeName_, True) +# end class TCZN_A_Bedienbezeichner_Frei + + +class TCBezeichnung_Besondere_Anlage(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCBezeichnung_Besondere_Anlage"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TBezeichnung_Besondere_Anlage(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCBezeichnung_Besondere_Anlage) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCBezeichnung_Besondere_Anlage.subclass: + return TCBezeichnung_Besondere_Anlage.subclass(*args_, **kwargs_) + else: + return TCBezeichnung_Besondere_Anlage(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TBezeichnung_Besondere_Anlage(self, value): + result = True + # Validate type TBezeichnung_Besondere_Anlage, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TBezeichnung_Besondere_Anlage_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TBezeichnung_Besondere_Anlage_patterns_, )) + result = False + return result + validate_TBezeichnung_Besondere_Anlage_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCBezeichnung_Besondere_Anlage, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsZugnummernmeldeanlage:', namespacedef_='xmlns:nsZugnummernmeldeanlage="http://www.plan-pro.org/modell/Zugnummernmeldeanlage/1.10.0"', name_='TCBezeichnung_Besondere_Anlage', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCBezeichnung_Besondere_Anlage') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCBezeichnung_Besondere_Anlage': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBezeichnung_Besondere_Anlage') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCBezeichnung_Besondere_Anlage', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsZugnummernmeldeanlage:', name_='TCBezeichnung_Besondere_Anlage'): + super(TCBezeichnung_Besondere_Anlage, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBezeichnung_Besondere_Anlage') + def _exportChildren(self, outfile, level, namespaceprefix_='nsZugnummernmeldeanlage:', namespacedef_='xmlns:nsZugnummernmeldeanlage="http://www.plan-pro.org/modell/Zugnummernmeldeanlage/1.10.0"', name_='TCBezeichnung_Besondere_Anlage', fromsubclass_=False, pretty_print=True): + super(TCBezeichnung_Besondere_Anlage, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCBezeichnung_Besondere_Anlage, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TBezeichnung_Besondere_Anlage + self.validate_TBezeichnung_Besondere_Anlage(self.Wert) + super(TCBezeichnung_Besondere_Anlage, self)._buildChildren(child_, node, nodeName_, True) +# end class TCBezeichnung_Besondere_Anlage + + +class TCBf_Kennung(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCBf_Kennung"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMBf_Kennung(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCBf_Kennung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCBf_Kennung.subclass: + return TCBf_Kennung.subclass(*args_, **kwargs_) + else: + return TCBf_Kennung(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMBf_Kennung(self, value): + result = True + # Validate type ENUMBf_Kennung, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['20', '21', '22', '23', '24', '50', '51'] + 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 ENUMBf_Kennung' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCBf_Kennung, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsZugnummernmeldeanlage:', namespacedef_='xmlns:nsZugnummernmeldeanlage="http://www.plan-pro.org/modell/Zugnummernmeldeanlage/1.10.0"', name_='TCBf_Kennung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCBf_Kennung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCBf_Kennung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBf_Kennung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCBf_Kennung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsZugnummernmeldeanlage:', name_='TCBf_Kennung'): + super(TCBf_Kennung, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBf_Kennung') + def _exportChildren(self, outfile, level, namespaceprefix_='nsZugnummernmeldeanlage:', namespacedef_='xmlns:nsZugnummernmeldeanlage="http://www.plan-pro.org/modell/Zugnummernmeldeanlage/1.10.0"', name_='TCBf_Kennung', fromsubclass_=False, pretty_print=True): + super(TCBf_Kennung, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCBf_Kennung, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMBf_Kennung + self.validate_ENUMBf_Kennung(self.Wert) + super(TCBf_Kennung, self)._buildChildren(child_, node, nodeName_, True) +# end class TCBf_Kennung + + +class TCFunktionalitaet_Anzeigefeld(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCFunktionalitaet_Anzeigefeld"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMFunktionalitaet_Anzeigefeld(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCFunktionalitaet_Anzeigefeld) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCFunktionalitaet_Anzeigefeld.subclass: + return TCFunktionalitaet_Anzeigefeld.subclass(*args_, **kwargs_) + else: + return TCFunktionalitaet_Anzeigefeld(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMFunktionalitaet_Anzeigefeld(self, value): + result = True + # Validate type ENUMFunktionalitaet_Anzeigefeld, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['Anbiete_Annahmefeld', 'Meldeort', 'sonstige', 'Spiegelfeld', 'Stapelfeld', 'Voranzeigefeld', 'Wandelfeld'] + 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 ENUMFunktionalitaet_Anzeigefeld' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCFunktionalitaet_Anzeigefeld, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsZugnummernmeldeanlage:', namespacedef_='xmlns:nsZugnummernmeldeanlage="http://www.plan-pro.org/modell/Zugnummernmeldeanlage/1.10.0"', name_='TCFunktionalitaet_Anzeigefeld', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCFunktionalitaet_Anzeigefeld') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCFunktionalitaet_Anzeigefeld': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCFunktionalitaet_Anzeigefeld') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCFunktionalitaet_Anzeigefeld', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsZugnummernmeldeanlage:', name_='TCFunktionalitaet_Anzeigefeld'): + super(TCFunktionalitaet_Anzeigefeld, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCFunktionalitaet_Anzeigefeld') + def _exportChildren(self, outfile, level, namespaceprefix_='nsZugnummernmeldeanlage:', namespacedef_='xmlns:nsZugnummernmeldeanlage="http://www.plan-pro.org/modell/Zugnummernmeldeanlage/1.10.0"', name_='TCFunktionalitaet_Anzeigefeld', fromsubclass_=False, pretty_print=True): + super(TCFunktionalitaet_Anzeigefeld, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCFunktionalitaet_Anzeigefeld, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMFunktionalitaet_Anzeigefeld + self.validate_ENUMFunktionalitaet_Anzeigefeld(self.Wert) + super(TCFunktionalitaet_Anzeigefeld, self)._buildChildren(child_, node, nodeName_, True) +# end class TCFunktionalitaet_Anzeigefeld + + +class CZN_ZBS(CBasis_Objekt): + """CZN_ZBS -- Abbildung der Parameter f + ü + r die Anbindung einer ZN an die BZ. Der Verweis auf ID ESTW Zentraleinheit beschreibt den Ort der r + ä + umlichen Unterbringung der Koppelunterstation. Bei der Bearbeitung im Planungstool kann es notwendig sein, bereits bei Bearbeitung im Dialogfeld ZN-ZBS den Verweis auf die ESTW_Zentraleinheit zu bef + ü + llen. DB-Regelwerk 819.0731 6 (16) Die Darstellung der Angaben erfolgt im ZLV-Bus- + Ü + bersichtsplan nach 819.0731 A01 + ID_ESTW_Zentraleinheit -- Verweis auf den Ort der r + ä + umlichen Unterbringung der Koppelunterstation + IP_Adresse -- IP_Adresse des COM-Servers gem + ä + ß + Ril 819.0705. Der Planungsfall tritt ein, wenn eine ZBS-Verbindung zwischen ZN Unterstation und BZ zu planen ist. DB-Regelwerk 819.0731A05 819.0705 + ZBS_Schnittstelle -- Modem, welches die Verbindung zwischen ZN Unterstation und ZBS f + ü + r die Datenkommunikation herstellt. Bei Auswahl von \"sonstige\" ist ein Bearbeitungsvermerk mit entsprechenden Erl + ä + uterungen anzuf + ü + gen. DB-Regelwerk 819.0731A04 2 + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasis_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, ID_ESTW_Zentraleinheit=None, IP_Adresse=None, ZBS_Schnittstelle=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CZN_ZBS"), self).__init__(Identitaet, Basis_Objekt_Allg, ID_Bearbeitungsvermerk, ID_Oertlichkeit_Ausgabe, Objektreferenzen, **kwargs_) + self.ID_ESTW_Zentraleinheit = ID_ESTW_Zentraleinheit + self.ID_ESTW_Zentraleinheit_nsprefix_ = None + self.IP_Adresse = IP_Adresse + self.IP_Adresse_nsprefix_ = None + self.ZBS_Schnittstelle = ZBS_Schnittstelle + self.ZBS_Schnittstelle_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CZN_ZBS) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CZN_ZBS.subclass: + return CZN_ZBS.subclass(*args_, **kwargs_) + else: + return CZN_ZBS(*args_, **kwargs_) + factory = staticmethod(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_ESTW_Zentraleinheit(self): + return self.ID_ESTW_Zentraleinheit + def set_ID_ESTW_Zentraleinheit(self, ID_ESTW_Zentraleinheit): + self.ID_ESTW_Zentraleinheit = ID_ESTW_Zentraleinheit + def get_IP_Adresse(self): + return self.IP_Adresse + def set_IP_Adresse(self, IP_Adresse): + self.IP_Adresse = IP_Adresse + def get_ZBS_Schnittstelle(self): + return self.ZBS_Schnittstelle + def set_ZBS_Schnittstelle(self, ZBS_Schnittstelle): + self.ZBS_Schnittstelle = ZBS_Schnittstelle + def has__content(self): + if ( + self.ID_ESTW_Zentraleinheit is not None or + self.IP_Adresse is not None or + self.ZBS_Schnittstelle is not None or + super(CZN_ZBS, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsZugnummernmeldeanlage:', namespacedef_='xmlns:nsZugnummernmeldeanlage="http://www.plan-pro.org/modell/Zugnummernmeldeanlage/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CZN_ZBS', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CZN_ZBS') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CZN_ZBS': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CZN_ZBS') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CZN_ZBS', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsZugnummernmeldeanlage:', name_='CZN_ZBS'): + super(CZN_ZBS, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CZN_ZBS') + def _exportChildren(self, outfile, level, namespaceprefix_='nsZugnummernmeldeanlage:', namespacedef_='xmlns:nsZugnummernmeldeanlage="http://www.plan-pro.org/modell/Zugnummernmeldeanlage/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CZN_ZBS', fromsubclass_=False, pretty_print=True): + super(CZN_ZBS, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.ID_ESTW_Zentraleinheit is not None: + namespaceprefix_ = self.ID_ESTW_Zentraleinheit_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_ESTW_Zentraleinheit_nsprefix_) else '' + self.ID_ESTW_Zentraleinheit.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_ESTW_Zentraleinheit', pretty_print=pretty_print) + if self.IP_Adresse is not None: + namespaceprefix_ = self.IP_Adresse_nsprefix_ + ':' if (UseCapturedNS_ and self.IP_Adresse_nsprefix_) else '' + self.IP_Adresse.export(outfile, level, namespaceprefix_, namespacedef_='', name_='IP_Adresse', pretty_print=pretty_print) + if self.ZBS_Schnittstelle is not None: + namespaceprefix_ = self.ZBS_Schnittstelle_nsprefix_ + ':' if (UseCapturedNS_ and self.ZBS_Schnittstelle_nsprefix_) else '' + self.ZBS_Schnittstelle.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ZBS_Schnittstelle', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CZN_ZBS, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_ESTW_Zentraleinheit': + obj_ = TCID_ESTW_Zentraleinheit.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_ESTW_Zentraleinheit = obj_ + obj_.original_tagname_ = 'ID_ESTW_Zentraleinheit' + elif nodeName_ == 'IP_Adresse': + obj_ = TCIP_Adresse.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.IP_Adresse = obj_ + obj_.original_tagname_ = 'IP_Adresse' + elif nodeName_ == 'ZBS_Schnittstelle': + obj_ = TCZBS_Schnittstelle.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ZBS_Schnittstelle = obj_ + obj_.original_tagname_ = 'ZBS_Schnittstelle' + super(CZN_ZBS, self)._buildChildren(child_, node, nodeName_, True) +# end class CZN_ZBS + + +class TCKUs_Zeittelegramm(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCKUs_Zeittelegramm"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCKUs_Zeittelegramm) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCKUs_Zeittelegramm.subclass: + return TCKUs_Zeittelegramm.subclass(*args_, **kwargs_) + else: + return TCKUs_Zeittelegramm(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def has__content(self): + if ( + self.Wert is not None or + super(TCKUs_Zeittelegramm, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsZugnummernmeldeanlage:', namespacedef_='xmlns:nsZugnummernmeldeanlage="http://www.plan-pro.org/modell/Zugnummernmeldeanlage/1.10.0"', name_='TCKUs_Zeittelegramm', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCKUs_Zeittelegramm') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCKUs_Zeittelegramm': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCKUs_Zeittelegramm') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCKUs_Zeittelegramm', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsZugnummernmeldeanlage:', name_='TCKUs_Zeittelegramm'): + super(TCKUs_Zeittelegramm, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCKUs_Zeittelegramm') + def _exportChildren(self, outfile, level, namespaceprefix_='nsZugnummernmeldeanlage:', namespacedef_='xmlns:nsZugnummernmeldeanlage="http://www.plan-pro.org/modell/Zugnummernmeldeanlage/1.10.0"', name_='TCKUs_Zeittelegramm', fromsubclass_=False, pretty_print=True): + super(TCKUs_Zeittelegramm, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_boolean(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCKUs_Zeittelegramm, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + sval_ = child_.text + ival_ = self.gds_parse_boolean(sval_, node, 'Wert') + ival_ = self.gds_validate_boolean(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + super(TCKUs_Zeittelegramm, self)._buildChildren(child_, node, nodeName_, True) +# end class TCKUs_Zeittelegramm + + +class TCBf_Nr_ANB(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCBf_Nr_ANB"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCBf_Nr_ANB) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCBf_Nr_ANB.subclass: + return TCBf_Nr_ANB.subclass(*args_, **kwargs_) + else: + return TCBf_Nr_ANB(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def has__content(self): + if ( + self.Wert is not None or + super(TCBf_Nr_ANB, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsZugnummernmeldeanlage:', namespacedef_='xmlns:nsZugnummernmeldeanlage="http://www.plan-pro.org/modell/Zugnummernmeldeanlage/1.10.0"', name_='TCBf_Nr_ANB', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCBf_Nr_ANB') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCBf_Nr_ANB': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBf_Nr_ANB') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCBf_Nr_ANB', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsZugnummernmeldeanlage:', name_='TCBf_Nr_ANB'): + super(TCBf_Nr_ANB, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBf_Nr_ANB') + def _exportChildren(self, outfile, level, namespaceprefix_='nsZugnummernmeldeanlage:', namespacedef_='xmlns:nsZugnummernmeldeanlage="http://www.plan-pro.org/modell/Zugnummernmeldeanlage/1.10.0"', name_='TCBf_Nr_ANB', fromsubclass_=False, pretty_print=True): + super(TCBf_Nr_ANB, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_integer(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCBf_Nr_ANB, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + ival_ = self.gds_parse_integer(sval_, node, 'Wert') + ival_ = self.gds_validate_integer(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + super(TCBf_Nr_ANB, self)._buildChildren(child_, node, nodeName_, True) +# end class TCBf_Nr_ANB + + +class TCTelegramm_84_Verzicht(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCTelegramm_84_Verzicht"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCTelegramm_84_Verzicht) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCTelegramm_84_Verzicht.subclass: + return TCTelegramm_84_Verzicht.subclass(*args_, **kwargs_) + else: + return TCTelegramm_84_Verzicht(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def has__content(self): + if ( + self.Wert is not None or + super(TCTelegramm_84_Verzicht, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsZugnummernmeldeanlage:', namespacedef_='xmlns:nsZugnummernmeldeanlage="http://www.plan-pro.org/modell/Zugnummernmeldeanlage/1.10.0"', name_='TCTelegramm_84_Verzicht', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCTelegramm_84_Verzicht') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCTelegramm_84_Verzicht': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCTelegramm_84_Verzicht') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCTelegramm_84_Verzicht', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsZugnummernmeldeanlage:', name_='TCTelegramm_84_Verzicht'): + super(TCTelegramm_84_Verzicht, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCTelegramm_84_Verzicht') + def _exportChildren(self, outfile, level, namespaceprefix_='nsZugnummernmeldeanlage:', namespacedef_='xmlns:nsZugnummernmeldeanlage="http://www.plan-pro.org/modell/Zugnummernmeldeanlage/1.10.0"', name_='TCTelegramm_84_Verzicht', fromsubclass_=False, pretty_print=True): + super(TCTelegramm_84_Verzicht, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_boolean(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCTelegramm_84_Verzicht, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + sval_ = child_.text + ival_ = self.gds_parse_boolean(sval_, node, 'Wert') + ival_ = self.gds_validate_boolean(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + super(TCTelegramm_84_Verzicht, self)._buildChildren(child_, node, nodeName_, True) +# end class TCTelegramm_84_Verzicht + + +class TCBedienbarkeit_Anzeigefeld(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCBedienbarkeit_Anzeigefeld"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCBedienbarkeit_Anzeigefeld) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCBedienbarkeit_Anzeigefeld.subclass: + return TCBedienbarkeit_Anzeigefeld.subclass(*args_, **kwargs_) + else: + return TCBedienbarkeit_Anzeigefeld(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def has__content(self): + if ( + self.Wert is not None or + super(TCBedienbarkeit_Anzeigefeld, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsZugnummernmeldeanlage:', namespacedef_='xmlns:nsZugnummernmeldeanlage="http://www.plan-pro.org/modell/Zugnummernmeldeanlage/1.10.0"', name_='TCBedienbarkeit_Anzeigefeld', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCBedienbarkeit_Anzeigefeld') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCBedienbarkeit_Anzeigefeld': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBedienbarkeit_Anzeigefeld') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCBedienbarkeit_Anzeigefeld', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsZugnummernmeldeanlage:', name_='TCBedienbarkeit_Anzeigefeld'): + super(TCBedienbarkeit_Anzeigefeld, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBedienbarkeit_Anzeigefeld') + def _exportChildren(self, outfile, level, namespaceprefix_='nsZugnummernmeldeanlage:', namespacedef_='xmlns:nsZugnummernmeldeanlage="http://www.plan-pro.org/modell/Zugnummernmeldeanlage/1.10.0"', name_='TCBedienbarkeit_Anzeigefeld', fromsubclass_=False, pretty_print=True): + super(TCBedienbarkeit_Anzeigefeld, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_boolean(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCBedienbarkeit_Anzeigefeld, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + sval_ = child_.text + ival_ = self.gds_parse_boolean(sval_, node, 'Wert') + ival_ = self.gds_validate_boolean(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + super(TCBedienbarkeit_Anzeigefeld, self)._buildChildren(child_, node, nodeName_, True) +# end class TCBedienbarkeit_Anzeigefeld + + +class TCZN_Schaltkriterium(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCZN_Schaltkriterium"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMZN_Schaltkriterium(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCZN_Schaltkriterium) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCZN_Schaltkriterium.subclass: + return TCZN_Schaltkriterium.subclass(*args_, **kwargs_) + else: + return TCZN_Schaltkriterium(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMZN_Schaltkriterium(self, value): + result = True + # Validate type ENUMZN_Schaltkriterium, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['Gleis_belegen', 'Gleis_belegen_und_davor_freifahren', 'Gleis_freifahren', 'kein', 'manuell', 'Signalhaltfall_Hauptsignal', 'Signalhaltfall_Rangiersignal', 'sonstige'] + 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 ENUMZN_Schaltkriterium' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCZN_Schaltkriterium, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsZugnummernmeldeanlage:', namespacedef_='xmlns:nsZugnummernmeldeanlage="http://www.plan-pro.org/modell/Zugnummernmeldeanlage/1.10.0"', name_='TCZN_Schaltkriterium', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCZN_Schaltkriterium') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCZN_Schaltkriterium': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCZN_Schaltkriterium') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCZN_Schaltkriterium', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsZugnummernmeldeanlage:', name_='TCZN_Schaltkriterium'): + super(TCZN_Schaltkriterium, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCZN_Schaltkriterium') + def _exportChildren(self, outfile, level, namespaceprefix_='nsZugnummernmeldeanlage:', namespacedef_='xmlns:nsZugnummernmeldeanlage="http://www.plan-pro.org/modell/Zugnummernmeldeanlage/1.10.0"', name_='TCZN_Schaltkriterium', fromsubclass_=False, pretty_print=True): + super(TCZN_Schaltkriterium, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCZN_Schaltkriterium, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMZN_Schaltkriterium + self.validate_ENUMZN_Schaltkriterium(self.Wert) + super(TCZN_Schaltkriterium, self)._buildChildren(child_, node, nodeName_, True) +# end class TCZN_Schaltkriterium + + +class TCTelegramm_21(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCTelegramm_21"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCTelegramm_21) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCTelegramm_21.subclass: + return TCTelegramm_21.subclass(*args_, **kwargs_) + else: + return TCTelegramm_21(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def has__content(self): + if ( + self.Wert is not None or + super(TCTelegramm_21, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsZugnummernmeldeanlage:', namespacedef_='xmlns:nsZugnummernmeldeanlage="http://www.plan-pro.org/modell/Zugnummernmeldeanlage/1.10.0"', name_='TCTelegramm_21', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCTelegramm_21') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCTelegramm_21': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCTelegramm_21') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCTelegramm_21', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsZugnummernmeldeanlage:', name_='TCTelegramm_21'): + super(TCTelegramm_21, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCTelegramm_21') + def _exportChildren(self, outfile, level, namespaceprefix_='nsZugnummernmeldeanlage:', namespacedef_='xmlns:nsZugnummernmeldeanlage="http://www.plan-pro.org/modell/Zugnummernmeldeanlage/1.10.0"', name_='TCTelegramm_21', fromsubclass_=False, pretty_print=True): + super(TCTelegramm_21, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_boolean(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCTelegramm_21, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + sval_ = child_.text + ival_ = self.gds_parse_boolean(sval_, node, 'Wert') + ival_ = self.gds_validate_boolean(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + super(TCTelegramm_21, self)._buildChildren(child_, node, nodeName_, True) +# end class TCTelegramm_21 + + +class CZN_Akustik(CBasis_Objekt): + """CZN_Akustik -- Akustisches Signal bei Bef + ü + llung eines ZN-Anzeigefeldes mit einer Zugnummer Bei der Planung der ZN-Akustik sind herstellerspezifische Besonderheiten zu beachten. Akustiken im Anbiete-/Annahmefeld sind Standard und nicht gesondert zu planen. Das Objekt bzw. die Attributgruppe wird bei Anbiete/Annahme- sowie Voranzeigefeldern IMMER angelegt, um die Dauer der Akustik festzulegen. F + ü + r die weiteren ZN-Anzeigefelder wird das Objekt nur dann angelegt, wenn das betreffene ZN Anzeigefeld mit einer Akustik ausgestatteet wird. DB-Regelwerk Das Planungsdatum ist im Regelwerk der DB AG nicht vorhanden. Es findet sich im Lastenheft sowie in den firmenspezifischen Projektierungsunterlagen, die dem LST-Fachplaner nicht zur Verf + ü + gung stehen. + ID_ZN -- Verweis auf die ZN, f + ü + r die eine Akustik geplant wird, sofern keine ZN-Anzeigefeld-spezifische Planung m + ö + glich ist (herstellerabh + ä + ngig). + ID_ZN_Anzeigefeld -- Verweis auf das ZN-Anzeigefeld, f + ü + r das eine Akustik geplant wird (herstellerabh + ä + ngig). + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasis_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, ZN_Akustik_Anzeigefeld=None, ID_ZN=None, ID_ZN_Anzeigefeld=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CZN_Akustik"), self).__init__(Identitaet, Basis_Objekt_Allg, ID_Bearbeitungsvermerk, ID_Oertlichkeit_Ausgabe, Objektreferenzen, **kwargs_) + self.ZN_Akustik_Anzeigefeld = ZN_Akustik_Anzeigefeld + self.ZN_Akustik_Anzeigefeld_nsprefix_ = None + self.ID_ZN = ID_ZN + self.ID_ZN_nsprefix_ = None + self.ID_ZN_Anzeigefeld = ID_ZN_Anzeigefeld + self.ID_ZN_Anzeigefeld_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CZN_Akustik) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CZN_Akustik.subclass: + return CZN_Akustik.subclass(*args_, **kwargs_) + else: + return CZN_Akustik(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_ZN_Akustik_Anzeigefeld(self): + return self.ZN_Akustik_Anzeigefeld + def set_ZN_Akustik_Anzeigefeld(self, ZN_Akustik_Anzeigefeld): + self.ZN_Akustik_Anzeigefeld = ZN_Akustik_Anzeigefeld + def get_ID_ZN(self): + return self.ID_ZN + def set_ID_ZN(self, ID_ZN): + self.ID_ZN = ID_ZN + def get_ID_ZN_Anzeigefeld(self): + return self.ID_ZN_Anzeigefeld + def set_ID_ZN_Anzeigefeld(self, ID_ZN_Anzeigefeld): + self.ID_ZN_Anzeigefeld = ID_ZN_Anzeigefeld + def has__content(self): + if ( + self.ZN_Akustik_Anzeigefeld is not None or + self.ID_ZN is not None or + self.ID_ZN_Anzeigefeld is not None or + super(CZN_Akustik, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsZugnummernmeldeanlage:', namespacedef_='xmlns:nsZugnummernmeldeanlage="http://www.plan-pro.org/modell/Zugnummernmeldeanlage/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CZN_Akustik', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CZN_Akustik') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CZN_Akustik': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CZN_Akustik') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CZN_Akustik', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsZugnummernmeldeanlage:', name_='CZN_Akustik'): + super(CZN_Akustik, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CZN_Akustik') + def _exportChildren(self, outfile, level, namespaceprefix_='nsZugnummernmeldeanlage:', namespacedef_='xmlns:nsZugnummernmeldeanlage="http://www.plan-pro.org/modell/Zugnummernmeldeanlage/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CZN_Akustik', fromsubclass_=False, pretty_print=True): + super(CZN_Akustik, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.ZN_Akustik_Anzeigefeld is not None: + namespaceprefix_ = self.ZN_Akustik_Anzeigefeld_nsprefix_ + ':' if (UseCapturedNS_ and self.ZN_Akustik_Anzeigefeld_nsprefix_) else '' + self.ZN_Akustik_Anzeigefeld.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ZN_Akustik_Anzeigefeld', pretty_print=pretty_print) + if self.ID_ZN is not None: + namespaceprefix_ = self.ID_ZN_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_ZN_nsprefix_) else '' + self.ID_ZN.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_ZN', pretty_print=pretty_print) + if self.ID_ZN_Anzeigefeld is not None: + namespaceprefix_ = self.ID_ZN_Anzeigefeld_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_ZN_Anzeigefeld_nsprefix_) else '' + self.ID_ZN_Anzeigefeld.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_ZN_Anzeigefeld', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CZN_Akustik, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ZN_Akustik_Anzeigefeld': + obj_ = CZN_Akustik_Anzeigefeld.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ZN_Akustik_Anzeigefeld = obj_ + obj_.original_tagname_ = 'ZN_Akustik_Anzeigefeld' + elif nodeName_ == 'ID_ZN': + obj_ = TCID_ZN.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_ZN = obj_ + obj_.original_tagname_ = 'ID_ZN' + elif nodeName_ == 'ID_ZN_Anzeigefeld': + obj_ = TCID_ZN_Anzeigefeld.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_ZN_Anzeigefeld = obj_ + obj_.original_tagname_ = 'ID_ZN_Anzeigefeld' + super(CZN_Akustik, self)._buildChildren(child_, node, nodeName_, True) +# end class CZN_Akustik + + +class TCTelegramm_10(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCTelegramm_10"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCTelegramm_10) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCTelegramm_10.subclass: + return TCTelegramm_10.subclass(*args_, **kwargs_) + else: + return TCTelegramm_10(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def has__content(self): + if ( + self.Wert is not None or + super(TCTelegramm_10, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsZugnummernmeldeanlage:', namespacedef_='xmlns:nsZugnummernmeldeanlage="http://www.plan-pro.org/modell/Zugnummernmeldeanlage/1.10.0"', name_='TCTelegramm_10', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCTelegramm_10') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCTelegramm_10': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCTelegramm_10') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCTelegramm_10', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsZugnummernmeldeanlage:', name_='TCTelegramm_10'): + super(TCTelegramm_10, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCTelegramm_10') + def _exportChildren(self, outfile, level, namespaceprefix_='nsZugnummernmeldeanlage:', namespacedef_='xmlns:nsZugnummernmeldeanlage="http://www.plan-pro.org/modell/Zugnummernmeldeanlage/1.10.0"', name_='TCTelegramm_10', fromsubclass_=False, pretty_print=True): + super(TCTelegramm_10, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_boolean(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCTelegramm_10, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + sval_ = child_.text + ival_ = self.gds_parse_boolean(sval_, node, 'Wert') + ival_ = self.gds_validate_boolean(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + super(TCTelegramm_10, self)._buildChildren(child_, node, nodeName_, True) +# end class TCTelegramm_10 + + +class CZLV_Bus(CBasis_Objekt): + """CZLV_Bus -- Zuglaufverfolgungsbus. Verbindung zwischen den ZN-Unterstationen zum Transport der Zugnummernmeldetelegramme. ZLV-Busse k + ö + nnen BZ- + ü + bergreifend geplant werden. In diesem Fall gelten f + ü + r die Vergabe der ZLV Bus Nr besondere Bedingungen. DB-Regelwerk 819.0731 8 (2) Die Darstellung der Angaben erfolgt im ZLV-Bus- + Ü + bersichtsplan nach 819.0731 A01 + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasis_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, Bezeichnung=None, ZLV_Bus_Allg=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CZLV_Bus"), self).__init__(Identitaet, Basis_Objekt_Allg, ID_Bearbeitungsvermerk, ID_Oertlichkeit_Ausgabe, Objektreferenzen, **kwargs_) + self.Bezeichnung = Bezeichnung + self.Bezeichnung_nsprefix_ = None + self.ZLV_Bus_Allg = ZLV_Bus_Allg + self.ZLV_Bus_Allg_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CZLV_Bus) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CZLV_Bus.subclass: + return CZLV_Bus.subclass(*args_, **kwargs_) + else: + return CZLV_Bus(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Bezeichnung(self): + return self.Bezeichnung + def set_Bezeichnung(self, Bezeichnung): + self.Bezeichnung = Bezeichnung + def get_ZLV_Bus_Allg(self): + return self.ZLV_Bus_Allg + def set_ZLV_Bus_Allg(self, ZLV_Bus_Allg): + self.ZLV_Bus_Allg = ZLV_Bus_Allg + def has__content(self): + if ( + self.Bezeichnung is not None or + self.ZLV_Bus_Allg is not None or + super(CZLV_Bus, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsZugnummernmeldeanlage:', namespacedef_='xmlns:nsZugnummernmeldeanlage="http://www.plan-pro.org/modell/Zugnummernmeldeanlage/1.10.0"', name_='CZLV_Bus', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CZLV_Bus') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CZLV_Bus': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CZLV_Bus') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CZLV_Bus', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsZugnummernmeldeanlage:', name_='CZLV_Bus'): + super(CZLV_Bus, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CZLV_Bus') + def _exportChildren(self, outfile, level, namespaceprefix_='nsZugnummernmeldeanlage:', namespacedef_='xmlns:nsZugnummernmeldeanlage="http://www.plan-pro.org/modell/Zugnummernmeldeanlage/1.10.0"', name_='CZLV_Bus', fromsubclass_=False, pretty_print=True): + super(CZLV_Bus, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Bezeichnung is not None: + namespaceprefix_ = self.Bezeichnung_nsprefix_ + ':' if (UseCapturedNS_ and self.Bezeichnung_nsprefix_) else '' + self.Bezeichnung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Bezeichnung', pretty_print=pretty_print) + if self.ZLV_Bus_Allg is not None: + namespaceprefix_ = self.ZLV_Bus_Allg_nsprefix_ + ':' if (UseCapturedNS_ and self.ZLV_Bus_Allg_nsprefix_) else '' + self.ZLV_Bus_Allg.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ZLV_Bus_Allg', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CZLV_Bus, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Bezeichnung': + obj_ = CZLV_Bus_Bezeichnung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Bezeichnung = obj_ + obj_.original_tagname_ = 'Bezeichnung' + elif nodeName_ == 'ZLV_Bus_Allg': + obj_ = CZLV_Bus_Allg.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ZLV_Bus_Allg = obj_ + obj_.original_tagname_ = 'ZLV_Bus_Allg' + super(CZLV_Bus, self)._buildChildren(child_, node, nodeName_, True) +# end class CZLV_Bus + + +class TCEinfahrdruck(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCEinfahrdruck"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TWirkrichtung(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCEinfahrdruck) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCEinfahrdruck.subclass: + return TCEinfahrdruck.subclass(*args_, **kwargs_) + else: + return TCEinfahrdruck(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TWirkrichtung(self, value): + result = True + # Validate type TWirkrichtung, a restriction on nsBasisTypen:ENUMWirkrichtung. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['beide', 'gegen', 'in'] + 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 TWirkrichtung' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCEinfahrdruck, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsZugnummernmeldeanlage:', namespacedef_='xmlns:nsZugnummernmeldeanlage="http://www.plan-pro.org/modell/Zugnummernmeldeanlage/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCEinfahrdruck', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCEinfahrdruck') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCEinfahrdruck': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCEinfahrdruck') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCEinfahrdruck', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsZugnummernmeldeanlage:', name_='TCEinfahrdruck'): + super(TCEinfahrdruck, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCEinfahrdruck') + def _exportChildren(self, outfile, level, namespaceprefix_='nsZugnummernmeldeanlage:', namespacedef_='xmlns:nsZugnummernmeldeanlage="http://www.plan-pro.org/modell/Zugnummernmeldeanlage/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCEinfahrdruck', fromsubclass_=False, pretty_print=True): + super(TCEinfahrdruck, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCEinfahrdruck, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TWirkrichtung + self.validate_TWirkrichtung(self.Wert) + super(TCEinfahrdruck, self)._buildChildren(child_, node, nodeName_, True) +# end class TCEinfahrdruck + + +class TCUnterstation_Max(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCUnterstation_Max"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TUnterstation_Max(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCUnterstation_Max) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCUnterstation_Max.subclass: + return TCUnterstation_Max.subclass(*args_, **kwargs_) + else: + return TCUnterstation_Max(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TUnterstation_Max(self, value): + result = True + # Validate type TUnterstation_Max, a restriction on xs:integer. + 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_TUnterstation_Max_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TUnterstation_Max_patterns_, )) + result = False + return result + validate_TUnterstation_Max_patterns_ = [['^([1-9]|[1-3][0-9]|40)$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCUnterstation_Max, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsZugnummernmeldeanlage:', namespacedef_='xmlns:nsZugnummernmeldeanlage="http://www.plan-pro.org/modell/Zugnummernmeldeanlage/1.10.0"', name_='TCUnterstation_Max', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCUnterstation_Max') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCUnterstation_Max': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCUnterstation_Max') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCUnterstation_Max', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsZugnummernmeldeanlage:', name_='TCUnterstation_Max'): + super(TCUnterstation_Max, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCUnterstation_Max') + def _exportChildren(self, outfile, level, namespaceprefix_='nsZugnummernmeldeanlage:', namespacedef_='xmlns:nsZugnummernmeldeanlage="http://www.plan-pro.org/modell/Zugnummernmeldeanlage/1.10.0"', name_='TCUnterstation_Max', fromsubclass_=False, pretty_print=True): + super(TCUnterstation_Max, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_integer(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCUnterstation_Max, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + ival_ = self.gds_parse_integer(sval_, node, 'Wert') + ival_ = self.gds_validate_integer(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + # validate type TUnterstation_Max + self.validate_TUnterstation_Max(self.Wert) + super(TCUnterstation_Max, self)._buildChildren(child_, node, nodeName_, True) +# end class TCUnterstation_Max + + +class CZN_Anzeigefeld(CBasis_Objekt): + """CZN_Anzeigefeld -- Objekt, welches die Funktionalit + ä + ten der ZN auf der Bedienoberfl + ä + che abbildet. F + ü + r jedes Gleis, in denen die ZN-Anlage Zugnummern verwalten und/oder anzeigen soll, ist mindestens ein ZN-Anzeigefeld zu definieren. Hinsichtlich der Besonderheiten bei der Bezeichnug wird auf die Ausf + ü + hrungen auf der Seite Bezeichnung ZN-Anzeigefeld verwiesen. DB-Regelwerk 819.0731 6 (1) bis (15) sowie (19) ff + ID_Gleis_Abschnitt -- Verweis auf den zugeh + ö + rigen Gleisabschnitt, in dem das ZN-Anzeigefeld auf der Bedienoberfl + ä + che angeordnet wird. + ID_ZLV_Bus -- Verweis auf den oder die ZLV_Bus(se), auf den/die das Anzeigefeld durchgereicht wird. Der Verweis wird nur im Falle einer Durchreichung gef + ü + llt. + ID_ZN -- Verweis auf die ZN, zu der das ZN-Anzeigefeld geh + ö + rt. + ID_ZN_Anzeigefeld -- Verweis auf ein zugeh + ö + riges ZN-Anzeigefeld, z. B. bei der Anordnung von Voranzeige- oder Anbiete-/Annahmefeldern. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasis_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, ID_Gleis_Abschnitt=None, ID_ZLV_Bus=None, ID_ZN=None, ID_ZN_Anzeigefeld=None, ZN_Anzeigefeld_Allg=None, ZN_Anzeigefeld_Bezeichnung=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CZN_Anzeigefeld"), self).__init__(Identitaet, Basis_Objekt_Allg, ID_Bearbeitungsvermerk, ID_Oertlichkeit_Ausgabe, Objektreferenzen, **kwargs_) + self.ID_Gleis_Abschnitt = ID_Gleis_Abschnitt + self.ID_Gleis_Abschnitt_nsprefix_ = None + if ID_ZLV_Bus is None: + self.ID_ZLV_Bus = [] + else: + self.ID_ZLV_Bus = ID_ZLV_Bus + self.ID_ZLV_Bus_nsprefix_ = None + self.ID_ZN = ID_ZN + self.ID_ZN_nsprefix_ = None + self.ID_ZN_Anzeigefeld = ID_ZN_Anzeigefeld + self.ID_ZN_Anzeigefeld_nsprefix_ = None + self.ZN_Anzeigefeld_Allg = ZN_Anzeigefeld_Allg + self.ZN_Anzeigefeld_Allg_nsprefix_ = None + self.ZN_Anzeigefeld_Bezeichnung = ZN_Anzeigefeld_Bezeichnung + self.ZN_Anzeigefeld_Bezeichnung_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CZN_Anzeigefeld) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CZN_Anzeigefeld.subclass: + return CZN_Anzeigefeld.subclass(*args_, **kwargs_) + else: + return CZN_Anzeigefeld(*args_, **kwargs_) + factory = staticmethod(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_Gleis_Abschnitt(self): + return self.ID_Gleis_Abschnitt + def set_ID_Gleis_Abschnitt(self, ID_Gleis_Abschnitt): + self.ID_Gleis_Abschnitt = ID_Gleis_Abschnitt + def get_ID_ZLV_Bus(self): + return self.ID_ZLV_Bus + def set_ID_ZLV_Bus(self, ID_ZLV_Bus): + self.ID_ZLV_Bus = ID_ZLV_Bus + def add_ID_ZLV_Bus(self, value): + self.ID_ZLV_Bus.append(value) + def insert_ID_ZLV_Bus_at(self, index, value): + self.ID_ZLV_Bus.insert(index, value) + def replace_ID_ZLV_Bus_at(self, index, value): + self.ID_ZLV_Bus[index] = value + def get_ID_ZN(self): + return self.ID_ZN + def set_ID_ZN(self, ID_ZN): + self.ID_ZN = ID_ZN + def get_ID_ZN_Anzeigefeld(self): + return self.ID_ZN_Anzeigefeld + def set_ID_ZN_Anzeigefeld(self, ID_ZN_Anzeigefeld): + self.ID_ZN_Anzeigefeld = ID_ZN_Anzeigefeld + def get_ZN_Anzeigefeld_Allg(self): + return self.ZN_Anzeigefeld_Allg + def set_ZN_Anzeigefeld_Allg(self, ZN_Anzeigefeld_Allg): + self.ZN_Anzeigefeld_Allg = ZN_Anzeigefeld_Allg + def get_ZN_Anzeigefeld_Bezeichnung(self): + return self.ZN_Anzeigefeld_Bezeichnung + def set_ZN_Anzeigefeld_Bezeichnung(self, ZN_Anzeigefeld_Bezeichnung): + self.ZN_Anzeigefeld_Bezeichnung = ZN_Anzeigefeld_Bezeichnung + def has__content(self): + if ( + self.ID_Gleis_Abschnitt is not None or + self.ID_ZLV_Bus or + self.ID_ZN is not None or + self.ID_ZN_Anzeigefeld is not None or + self.ZN_Anzeigefeld_Allg is not None or + self.ZN_Anzeigefeld_Bezeichnung is not None or + super(CZN_Anzeigefeld, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsZugnummernmeldeanlage:', namespacedef_='xmlns:nsZugnummernmeldeanlage="http://www.plan-pro.org/modell/Zugnummernmeldeanlage/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CZN_Anzeigefeld', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CZN_Anzeigefeld') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CZN_Anzeigefeld': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CZN_Anzeigefeld') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CZN_Anzeigefeld', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsZugnummernmeldeanlage:', name_='CZN_Anzeigefeld'): + super(CZN_Anzeigefeld, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CZN_Anzeigefeld') + def _exportChildren(self, outfile, level, namespaceprefix_='nsZugnummernmeldeanlage:', namespacedef_='xmlns:nsZugnummernmeldeanlage="http://www.plan-pro.org/modell/Zugnummernmeldeanlage/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CZN_Anzeigefeld', fromsubclass_=False, pretty_print=True): + super(CZN_Anzeigefeld, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.ID_Gleis_Abschnitt is not None: + namespaceprefix_ = self.ID_Gleis_Abschnitt_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Gleis_Abschnitt_nsprefix_) else '' + self.ID_Gleis_Abschnitt.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Gleis_Abschnitt', pretty_print=pretty_print) + for ID_ZLV_Bus_ in self.ID_ZLV_Bus: + namespaceprefix_ = self.ID_ZLV_Bus_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_ZLV_Bus_nsprefix_) else '' + ID_ZLV_Bus_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_ZLV_Bus', pretty_print=pretty_print) + if self.ID_ZN is not None: + namespaceprefix_ = self.ID_ZN_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_ZN_nsprefix_) else '' + self.ID_ZN.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_ZN', pretty_print=pretty_print) + if self.ID_ZN_Anzeigefeld is not None: + namespaceprefix_ = self.ID_ZN_Anzeigefeld_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_ZN_Anzeigefeld_nsprefix_) else '' + self.ID_ZN_Anzeigefeld.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_ZN_Anzeigefeld', pretty_print=pretty_print) + if self.ZN_Anzeigefeld_Allg is not None: + namespaceprefix_ = self.ZN_Anzeigefeld_Allg_nsprefix_ + ':' if (UseCapturedNS_ and self.ZN_Anzeigefeld_Allg_nsprefix_) else '' + self.ZN_Anzeigefeld_Allg.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ZN_Anzeigefeld_Allg', pretty_print=pretty_print) + if self.ZN_Anzeigefeld_Bezeichnung is not None: + namespaceprefix_ = self.ZN_Anzeigefeld_Bezeichnung_nsprefix_ + ':' if (UseCapturedNS_ and self.ZN_Anzeigefeld_Bezeichnung_nsprefix_) else '' + self.ZN_Anzeigefeld_Bezeichnung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ZN_Anzeigefeld_Bezeichnung', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CZN_Anzeigefeld, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Gleis_Abschnitt': + obj_ = TCID_Gleis_Abschnitt.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Gleis_Abschnitt = obj_ + obj_.original_tagname_ = 'ID_Gleis_Abschnitt' + elif nodeName_ == 'ID_ZLV_Bus': + obj_ = TCID_ZLV_Bus.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_ZLV_Bus.append(obj_) + obj_.original_tagname_ = 'ID_ZLV_Bus' + elif nodeName_ == 'ID_ZN': + obj_ = TCID_ZN.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_ZN = obj_ + obj_.original_tagname_ = 'ID_ZN' + elif nodeName_ == 'ID_ZN_Anzeigefeld': + obj_ = TCID_ZN_Anzeigefeld.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_ZN_Anzeigefeld = obj_ + obj_.original_tagname_ = 'ID_ZN_Anzeigefeld' + elif nodeName_ == 'ZN_Anzeigefeld_Allg': + obj_ = CZN_Anzeigefeld_Allg.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ZN_Anzeigefeld_Allg = obj_ + obj_.original_tagname_ = 'ZN_Anzeigefeld_Allg' + elif nodeName_ == 'ZN_Anzeigefeld_Bezeichnung': + obj_ = CZN_Anzeigefeld_Bezeichnung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ZN_Anzeigefeld_Bezeichnung = obj_ + obj_.original_tagname_ = 'ZN_Anzeigefeld_Bezeichnung' + super(CZN_Anzeigefeld, self)._buildChildren(child_, node, nodeName_, True) +# end class CZN_Anzeigefeld + + +class CZN_Telegramm_84_Zuordnung(CBasis_Objekt): + """CZN_Telegramm_84_Zuordnung -- Logisches Objekt, welches die Verbindung zwischen ZN und ggf. der einzelnen Fahrstra + ß + e herstellt, f + ü + r die das Telegramm 84 gesendet werden soll. Herstellerbezogen kann die Sendung des Telegramms 84 f + ü + r jede einzelne Fahrstra + ß + e oder nur f + ü + r alle Fahrstra + ß + en programmiert werden. DB-Regelwerk 819.0731A02 1 (5) + ID_ZN -- Verweis auf die ZN, von der das Telegramm 84 generiert und auf den ZLV-Bus gesandt wird. + Telegramm_84_Verzicht -- Verzicht auf Sendung des Telegramms 84. Bei Bedienung der HaGT wird das Telegramm unabh + ä + ngig von der Projektierung des Verzichts gesendet. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasis_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, ID_ZN=None, Telegramm_84_Alle_Fstr=None, Telegramm_84_Einzelne_Fstr=None, Telegramm_84_Verzicht=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CZN_Telegramm_84_Zuordnung"), self).__init__(Identitaet, Basis_Objekt_Allg, ID_Bearbeitungsvermerk, ID_Oertlichkeit_Ausgabe, Objektreferenzen, **kwargs_) + self.ID_ZN = ID_ZN + self.ID_ZN_nsprefix_ = None + self.Telegramm_84_Alle_Fstr = Telegramm_84_Alle_Fstr + self.Telegramm_84_Alle_Fstr_nsprefix_ = None + self.Telegramm_84_Einzelne_Fstr = Telegramm_84_Einzelne_Fstr + self.Telegramm_84_Einzelne_Fstr_nsprefix_ = None + self.Telegramm_84_Verzicht = Telegramm_84_Verzicht + self.Telegramm_84_Verzicht_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CZN_Telegramm_84_Zuordnung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CZN_Telegramm_84_Zuordnung.subclass: + return CZN_Telegramm_84_Zuordnung.subclass(*args_, **kwargs_) + else: + return CZN_Telegramm_84_Zuordnung(*args_, **kwargs_) + factory = staticmethod(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_ZN(self): + return self.ID_ZN + def set_ID_ZN(self, ID_ZN): + self.ID_ZN = ID_ZN + def get_Telegramm_84_Alle_Fstr(self): + return self.Telegramm_84_Alle_Fstr + def set_Telegramm_84_Alle_Fstr(self, Telegramm_84_Alle_Fstr): + self.Telegramm_84_Alle_Fstr = Telegramm_84_Alle_Fstr + def get_Telegramm_84_Einzelne_Fstr(self): + return self.Telegramm_84_Einzelne_Fstr + def set_Telegramm_84_Einzelne_Fstr(self, Telegramm_84_Einzelne_Fstr): + self.Telegramm_84_Einzelne_Fstr = Telegramm_84_Einzelne_Fstr + def get_Telegramm_84_Verzicht(self): + return self.Telegramm_84_Verzicht + def set_Telegramm_84_Verzicht(self, Telegramm_84_Verzicht): + self.Telegramm_84_Verzicht = Telegramm_84_Verzicht + def has__content(self): + if ( + self.ID_ZN is not None or + self.Telegramm_84_Alle_Fstr is not None or + self.Telegramm_84_Einzelne_Fstr is not None or + self.Telegramm_84_Verzicht is not None or + super(CZN_Telegramm_84_Zuordnung, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsZugnummernmeldeanlage:', namespacedef_='xmlns:nsZugnummernmeldeanlage="http://www.plan-pro.org/modell/Zugnummernmeldeanlage/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CZN_Telegramm_84_Zuordnung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CZN_Telegramm_84_Zuordnung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CZN_Telegramm_84_Zuordnung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CZN_Telegramm_84_Zuordnung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CZN_Telegramm_84_Zuordnung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsZugnummernmeldeanlage:', name_='CZN_Telegramm_84_Zuordnung'): + super(CZN_Telegramm_84_Zuordnung, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CZN_Telegramm_84_Zuordnung') + def _exportChildren(self, outfile, level, namespaceprefix_='nsZugnummernmeldeanlage:', namespacedef_='xmlns:nsZugnummernmeldeanlage="http://www.plan-pro.org/modell/Zugnummernmeldeanlage/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CZN_Telegramm_84_Zuordnung', fromsubclass_=False, pretty_print=True): + super(CZN_Telegramm_84_Zuordnung, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.ID_ZN is not None: + namespaceprefix_ = self.ID_ZN_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_ZN_nsprefix_) else '' + self.ID_ZN.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_ZN', pretty_print=pretty_print) + if self.Telegramm_84_Alle_Fstr is not None: + namespaceprefix_ = self.Telegramm_84_Alle_Fstr_nsprefix_ + ':' if (UseCapturedNS_ and self.Telegramm_84_Alle_Fstr_nsprefix_) else '' + self.Telegramm_84_Alle_Fstr.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Telegramm_84_Alle_Fstr', pretty_print=pretty_print) + if self.Telegramm_84_Einzelne_Fstr is not None: + namespaceprefix_ = self.Telegramm_84_Einzelne_Fstr_nsprefix_ + ':' if (UseCapturedNS_ and self.Telegramm_84_Einzelne_Fstr_nsprefix_) else '' + self.Telegramm_84_Einzelne_Fstr.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Telegramm_84_Einzelne_Fstr', pretty_print=pretty_print) + if self.Telegramm_84_Verzicht is not None: + namespaceprefix_ = self.Telegramm_84_Verzicht_nsprefix_ + ':' if (UseCapturedNS_ and self.Telegramm_84_Verzicht_nsprefix_) else '' + self.Telegramm_84_Verzicht.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Telegramm_84_Verzicht', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CZN_Telegramm_84_Zuordnung, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_ZN': + obj_ = TCID_ZN.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_ZN = obj_ + obj_.original_tagname_ = 'ID_ZN' + elif nodeName_ == 'Telegramm_84_Alle_Fstr': + obj_ = CTelegramm_84_Alle_Fstr.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Telegramm_84_Alle_Fstr = obj_ + obj_.original_tagname_ = 'Telegramm_84_Alle_Fstr' + elif nodeName_ == 'Telegramm_84_Einzelne_Fstr': + obj_ = CTelegramm_84_Einzelne_Fstr.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Telegramm_84_Einzelne_Fstr = obj_ + obj_.original_tagname_ = 'Telegramm_84_Einzelne_Fstr' + elif nodeName_ == 'Telegramm_84_Verzicht': + obj_ = TCTelegramm_84_Verzicht.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Telegramm_84_Verzicht = obj_ + obj_.original_tagname_ = 'Telegramm_84_Verzicht' + super(CZN_Telegramm_84_Zuordnung, self)._buildChildren(child_, node, nodeName_, True) +# end class CZN_Telegramm_84_Zuordnung + + +class CZN_Telegramm_85_Zuordnung(CBasis_Objekt): + """CZN_Telegramm_85_Zuordnung -- Logisches Objekt, welches die Verbindung zwischen ZN und ggf. der einzelnen Fahrstra + ß + e herstellt, f + ü + r die das Telegramm 85 gesendet werden soll. Herstellerbezogen kann die Sendung des Telegramms 85 f + ü + r jede einzelne Fahrstra + ß + e oder nur f + ü + r alle Fahrstra + ß + en programmiert werden. DB-Regelwerk 819.0731A02 1 (5) + ID_ZN -- Verweis auf die ZN, von der das Telegramm 85 generiert und auf den ZLV-Bus gesandt wird. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasis_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, ID_ZN=None, Telegramm_85_Alle_Fstr=None, Telegramm_85_Einzelne_Fstr=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CZN_Telegramm_85_Zuordnung"), self).__init__(Identitaet, Basis_Objekt_Allg, ID_Bearbeitungsvermerk, ID_Oertlichkeit_Ausgabe, Objektreferenzen, **kwargs_) + self.ID_ZN = ID_ZN + self.ID_ZN_nsprefix_ = None + self.Telegramm_85_Alle_Fstr = Telegramm_85_Alle_Fstr + self.Telegramm_85_Alle_Fstr_nsprefix_ = None + self.Telegramm_85_Einzelne_Fstr = Telegramm_85_Einzelne_Fstr + self.Telegramm_85_Einzelne_Fstr_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CZN_Telegramm_85_Zuordnung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CZN_Telegramm_85_Zuordnung.subclass: + return CZN_Telegramm_85_Zuordnung.subclass(*args_, **kwargs_) + else: + return CZN_Telegramm_85_Zuordnung(*args_, **kwargs_) + factory = staticmethod(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_ZN(self): + return self.ID_ZN + def set_ID_ZN(self, ID_ZN): + self.ID_ZN = ID_ZN + def get_Telegramm_85_Alle_Fstr(self): + return self.Telegramm_85_Alle_Fstr + def set_Telegramm_85_Alle_Fstr(self, Telegramm_85_Alle_Fstr): + self.Telegramm_85_Alle_Fstr = Telegramm_85_Alle_Fstr + def get_Telegramm_85_Einzelne_Fstr(self): + return self.Telegramm_85_Einzelne_Fstr + def set_Telegramm_85_Einzelne_Fstr(self, Telegramm_85_Einzelne_Fstr): + self.Telegramm_85_Einzelne_Fstr = Telegramm_85_Einzelne_Fstr + def has__content(self): + if ( + self.ID_ZN is not None or + self.Telegramm_85_Alle_Fstr is not None or + self.Telegramm_85_Einzelne_Fstr is not None or + super(CZN_Telegramm_85_Zuordnung, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsZugnummernmeldeanlage:', namespacedef_='xmlns:nsZugnummernmeldeanlage="http://www.plan-pro.org/modell/Zugnummernmeldeanlage/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CZN_Telegramm_85_Zuordnung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CZN_Telegramm_85_Zuordnung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CZN_Telegramm_85_Zuordnung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CZN_Telegramm_85_Zuordnung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CZN_Telegramm_85_Zuordnung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsZugnummernmeldeanlage:', name_='CZN_Telegramm_85_Zuordnung'): + super(CZN_Telegramm_85_Zuordnung, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CZN_Telegramm_85_Zuordnung') + def _exportChildren(self, outfile, level, namespaceprefix_='nsZugnummernmeldeanlage:', namespacedef_='xmlns:nsZugnummernmeldeanlage="http://www.plan-pro.org/modell/Zugnummernmeldeanlage/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CZN_Telegramm_85_Zuordnung', fromsubclass_=False, pretty_print=True): + super(CZN_Telegramm_85_Zuordnung, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.ID_ZN is not None: + namespaceprefix_ = self.ID_ZN_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_ZN_nsprefix_) else '' + self.ID_ZN.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_ZN', pretty_print=pretty_print) + if self.Telegramm_85_Alle_Fstr is not None: + namespaceprefix_ = self.Telegramm_85_Alle_Fstr_nsprefix_ + ':' if (UseCapturedNS_ and self.Telegramm_85_Alle_Fstr_nsprefix_) else '' + self.Telegramm_85_Alle_Fstr.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Telegramm_85_Alle_Fstr', pretty_print=pretty_print) + if self.Telegramm_85_Einzelne_Fstr is not None: + namespaceprefix_ = self.Telegramm_85_Einzelne_Fstr_nsprefix_ + ':' if (UseCapturedNS_ and self.Telegramm_85_Einzelne_Fstr_nsprefix_) else '' + self.Telegramm_85_Einzelne_Fstr.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Telegramm_85_Einzelne_Fstr', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CZN_Telegramm_85_Zuordnung, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_ZN': + obj_ = TCID_ZN.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_ZN = obj_ + obj_.original_tagname_ = 'ID_ZN' + elif nodeName_ == 'Telegramm_85_Alle_Fstr': + obj_ = CTelegramm_85_Alle_Fstr.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Telegramm_85_Alle_Fstr = obj_ + obj_.original_tagname_ = 'Telegramm_85_Alle_Fstr' + elif nodeName_ == 'Telegramm_85_Einzelne_Fstr': + obj_ = CTelegramm_85_Einzelne_Fstr.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Telegramm_85_Einzelne_Fstr = obj_ + obj_.original_tagname_ = 'Telegramm_85_Einzelne_Fstr' + super(CZN_Telegramm_85_Zuordnung, self)._buildChildren(child_, node, nodeName_, True) +# end class CZN_Telegramm_85_Zuordnung + + +class TCZBS_Schnittstelle(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCZBS_Schnittstelle"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMZBS_Schnittstelle(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCZBS_Schnittstelle) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCZBS_Schnittstelle.subclass: + return TCZBS_Schnittstelle.subclass(*args_, **kwargs_) + else: + return TCZBS_Schnittstelle(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMZBS_Schnittstelle(self, value): + result = True + # Validate type ENUMZBS_Schnittstelle, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['LOGEM_LGM_28_8_D1', 'NOKIA_ECM_FAST_14400', 'NOKIA_ECM_FAST_19200', 'sonstige'] + 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 ENUMZBS_Schnittstelle' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCZBS_Schnittstelle, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsZugnummernmeldeanlage:', namespacedef_='xmlns:nsZugnummernmeldeanlage="http://www.plan-pro.org/modell/Zugnummernmeldeanlage/1.10.0"', name_='TCZBS_Schnittstelle', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCZBS_Schnittstelle') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCZBS_Schnittstelle': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCZBS_Schnittstelle') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCZBS_Schnittstelle', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsZugnummernmeldeanlage:', name_='TCZBS_Schnittstelle'): + super(TCZBS_Schnittstelle, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCZBS_Schnittstelle') + def _exportChildren(self, outfile, level, namespaceprefix_='nsZugnummernmeldeanlage:', namespacedef_='xmlns:nsZugnummernmeldeanlage="http://www.plan-pro.org/modell/Zugnummernmeldeanlage/1.10.0"', name_='TCZBS_Schnittstelle', fromsubclass_=False, pretty_print=True): + super(TCZBS_Schnittstelle, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCZBS_Schnittstelle, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMZBS_Schnittstelle + self.validate_ENUMZBS_Schnittstelle(self.Wert) + super(TCZBS_Schnittstelle, self)._buildChildren(child_, node, nodeName_, True) +# end class TCZBS_Schnittstelle + + +class TCAkustikdauer_Voranz(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCAkustikdauer_Voranz"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMAkustik_Sonst(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCAkustikdauer_Voranz) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCAkustikdauer_Voranz.subclass: + return TCAkustikdauer_Voranz.subclass(*args_, **kwargs_) + else: + return TCAkustikdauer_Voranz(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMAkustik_Sonst(self, value): + result = True + # Validate type ENUMAkustik_Sonst, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['5_s', 'keine'] + 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 ENUMAkustik_Sonst' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCAkustikdauer_Voranz, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsZugnummernmeldeanlage:', namespacedef_='xmlns:nsZugnummernmeldeanlage="http://www.plan-pro.org/modell/Zugnummernmeldeanlage/1.10.0"', name_='TCAkustikdauer_Voranz', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCAkustikdauer_Voranz') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCAkustikdauer_Voranz': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCAkustikdauer_Voranz') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCAkustikdauer_Voranz', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsZugnummernmeldeanlage:', name_='TCAkustikdauer_Voranz'): + super(TCAkustikdauer_Voranz, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCAkustikdauer_Voranz') + def _exportChildren(self, outfile, level, namespaceprefix_='nsZugnummernmeldeanlage:', namespacedef_='xmlns:nsZugnummernmeldeanlage="http://www.plan-pro.org/modell/Zugnummernmeldeanlage/1.10.0"', name_='TCAkustikdauer_Voranz', fromsubclass_=False, pretty_print=True): + super(TCAkustikdauer_Voranz, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCAkustikdauer_Voranz, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMAkustik_Sonst + self.validate_ENUMAkustik_Sonst(self.Wert) + super(TCAkustikdauer_Voranz, self)._buildChildren(child_, node, nodeName_, True) +# end class TCAkustikdauer_Voranz + + +class TCPrioritaet(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCPrioritaet"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TPrioritaet(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCPrioritaet) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCPrioritaet.subclass: + return TCPrioritaet.subclass(*args_, **kwargs_) + else: + return TCPrioritaet(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TPrioritaet(self, value): + result = True + # Validate type TPrioritaet, a restriction on xs:integer. + 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 + pass + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCPrioritaet, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsZugnummernmeldeanlage:', namespacedef_='xmlns:nsZugnummernmeldeanlage="http://www.plan-pro.org/modell/Zugnummernmeldeanlage/1.10.0"', name_='TCPrioritaet', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCPrioritaet') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCPrioritaet': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCPrioritaet') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCPrioritaet', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsZugnummernmeldeanlage:', name_='TCPrioritaet'): + super(TCPrioritaet, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCPrioritaet') + def _exportChildren(self, outfile, level, namespaceprefix_='nsZugnummernmeldeanlage:', namespacedef_='xmlns:nsZugnummernmeldeanlage="http://www.plan-pro.org/modell/Zugnummernmeldeanlage/1.10.0"', name_='TCPrioritaet', fromsubclass_=False, pretty_print=True): + super(TCPrioritaet, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_integer(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCPrioritaet, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + ival_ = self.gds_parse_integer(sval_, node, 'Wert') + ival_ = self.gds_validate_integer(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + # validate type TPrioritaet + self.validate_TPrioritaet(self.Wert) + super(TCPrioritaet, self)._buildChildren(child_, node, nodeName_, True) +# end class TCPrioritaet + + +class TCEinwahlstelle(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCEinwahlstelle"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCEinwahlstelle) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCEinwahlstelle.subclass: + return TCEinwahlstelle.subclass(*args_, **kwargs_) + else: + return TCEinwahlstelle(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def has__content(self): + if ( + self.Wert is not None or + super(TCEinwahlstelle, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsZugnummernmeldeanlage:', namespacedef_='xmlns:nsZugnummernmeldeanlage="http://www.plan-pro.org/modell/Zugnummernmeldeanlage/1.10.0"', name_='TCEinwahlstelle', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCEinwahlstelle') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCEinwahlstelle': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCEinwahlstelle') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCEinwahlstelle', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsZugnummernmeldeanlage:', name_='TCEinwahlstelle'): + super(TCEinwahlstelle, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCEinwahlstelle') + def _exportChildren(self, outfile, level, namespaceprefix_='nsZugnummernmeldeanlage:', namespacedef_='xmlns:nsZugnummernmeldeanlage="http://www.plan-pro.org/modell/Zugnummernmeldeanlage/1.10.0"', name_='TCEinwahlstelle', fromsubclass_=False, pretty_print=True): + super(TCEinwahlstelle, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_boolean(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCEinwahlstelle, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + sval_ = child_.text + ival_ = self.gds_parse_boolean(sval_, node, 'Wert') + ival_ = self.gds_validate_boolean(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + super(TCEinwahlstelle, self)._buildChildren(child_, node, nodeName_, True) +# end class TCEinwahlstelle + + +class TCUnterstation_Nr(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCUnterstation_Nr"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TUnterstation_Nr(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCUnterstation_Nr) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCUnterstation_Nr.subclass: + return TCUnterstation_Nr.subclass(*args_, **kwargs_) + else: + return TCUnterstation_Nr(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TUnterstation_Nr(self, value): + result = True + # Validate type TUnterstation_Nr, a restriction on nsBasisTypen:TZeichenkette. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TUnterstation_Nr_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TUnterstation_Nr_patterns_, )) + result = False + return result + validate_TUnterstation_Nr_patterns_ = [['^(0[1-9]|[1-3][0-9]|40)$'], ['^([a-zA-Z_0-9]{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCUnterstation_Nr, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsZugnummernmeldeanlage:', namespacedef_='xmlns:nsZugnummernmeldeanlage="http://www.plan-pro.org/modell/Zugnummernmeldeanlage/1.10.0"', name_='TCUnterstation_Nr', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCUnterstation_Nr') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCUnterstation_Nr': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCUnterstation_Nr') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCUnterstation_Nr', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsZugnummernmeldeanlage:', name_='TCUnterstation_Nr'): + super(TCUnterstation_Nr, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCUnterstation_Nr') + def _exportChildren(self, outfile, level, namespaceprefix_='nsZugnummernmeldeanlage:', namespacedef_='xmlns:nsZugnummernmeldeanlage="http://www.plan-pro.org/modell/Zugnummernmeldeanlage/1.10.0"', name_='TCUnterstation_Nr', fromsubclass_=False, pretty_print=True): + super(TCUnterstation_Nr, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCUnterstation_Nr, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TUnterstation_Nr + self.validate_TUnterstation_Nr(self.Wert) + super(TCUnterstation_Nr, self)._buildChildren(child_, node, nodeName_, True) +# end class TCUnterstation_Nr + + +class TCZN_Feld_Ohne_Anzeige(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCZN_Feld_Ohne_Anzeige"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCZN_Feld_Ohne_Anzeige) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCZN_Feld_Ohne_Anzeige.subclass: + return TCZN_Feld_Ohne_Anzeige.subclass(*args_, **kwargs_) + else: + return TCZN_Feld_Ohne_Anzeige(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def has__content(self): + if ( + self.Wert is not None or + super(TCZN_Feld_Ohne_Anzeige, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsZugnummernmeldeanlage:', namespacedef_='xmlns:nsZugnummernmeldeanlage="http://www.plan-pro.org/modell/Zugnummernmeldeanlage/1.10.0"', name_='TCZN_Feld_Ohne_Anzeige', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCZN_Feld_Ohne_Anzeige') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCZN_Feld_Ohne_Anzeige': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCZN_Feld_Ohne_Anzeige') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCZN_Feld_Ohne_Anzeige', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsZugnummernmeldeanlage:', name_='TCZN_Feld_Ohne_Anzeige'): + super(TCZN_Feld_Ohne_Anzeige, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCZN_Feld_Ohne_Anzeige') + def _exportChildren(self, outfile, level, namespaceprefix_='nsZugnummernmeldeanlage:', namespacedef_='xmlns:nsZugnummernmeldeanlage="http://www.plan-pro.org/modell/Zugnummernmeldeanlage/1.10.0"', name_='TCZN_Feld_Ohne_Anzeige', fromsubclass_=False, pretty_print=True): + super(TCZN_Feld_Ohne_Anzeige, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_boolean(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCZN_Feld_Ohne_Anzeige, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + sval_ = child_.text + ival_ = self.gds_parse_boolean(sval_, node, 'Wert') + ival_ = self.gds_validate_boolean(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + super(TCZN_Feld_Ohne_Anzeige, self)._buildChildren(child_, node, nodeName_, True) +# end class TCZN_Feld_Ohne_Anzeige + + +class TCMeldedruck(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCMeldedruck"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TWirkrichtung(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCMeldedruck) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCMeldedruck.subclass: + return TCMeldedruck.subclass(*args_, **kwargs_) + else: + return TCMeldedruck(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TWirkrichtung(self, value): + result = True + # Validate type TWirkrichtung, a restriction on nsBasisTypen:ENUMWirkrichtung. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['beide', 'gegen', 'in'] + 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 TWirkrichtung' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCMeldedruck, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsZugnummernmeldeanlage:', namespacedef_='xmlns:nsZugnummernmeldeanlage="http://www.plan-pro.org/modell/Zugnummernmeldeanlage/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCMeldedruck', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCMeldedruck') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCMeldedruck': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCMeldedruck') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCMeldedruck', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsZugnummernmeldeanlage:', name_='TCMeldedruck'): + super(TCMeldedruck, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCMeldedruck') + def _exportChildren(self, outfile, level, namespaceprefix_='nsZugnummernmeldeanlage:', namespacedef_='xmlns:nsZugnummernmeldeanlage="http://www.plan-pro.org/modell/Zugnummernmeldeanlage/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCMeldedruck', fromsubclass_=False, pretty_print=True): + super(TCMeldedruck, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCMeldedruck, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TWirkrichtung + self.validate_TWirkrichtung(self.Wert) + super(TCMeldedruck, self)._buildChildren(child_, node, nodeName_, True) +# end class TCMeldedruck + + +class TCVerzoegerung_Manuell_Loeschung(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCVerzoegerung_Manuell_Loeschung"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TVerzoegerung_Manuell_Loeschung(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCVerzoegerung_Manuell_Loeschung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCVerzoegerung_Manuell_Loeschung.subclass: + return TCVerzoegerung_Manuell_Loeschung.subclass(*args_, **kwargs_) + else: + return TCVerzoegerung_Manuell_Loeschung(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TVerzoegerung_Manuell_Loeschung(self, value): + result = True + # Validate type TVerzoegerung_Manuell_Loeschung, a restriction on nsBasisTypen:TSekunde. + 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 not self.gds_validate_simple_patterns( + self.validate_TVerzoegerung_Manuell_Loeschung_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TVerzoegerung_Manuell_Loeschung_patterns_, )) + result = False + return result + validate_TVerzoegerung_Manuell_Loeschung_patterns_ = [['^([0-9]{1,5}(\\.[0-9]{2})?)$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCVerzoegerung_Manuell_Loeschung, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsZugnummernmeldeanlage:', namespacedef_='xmlns:nsZugnummernmeldeanlage="http://www.plan-pro.org/modell/Zugnummernmeldeanlage/1.10.0"', name_='TCVerzoegerung_Manuell_Loeschung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCVerzoegerung_Manuell_Loeschung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCVerzoegerung_Manuell_Loeschung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCVerzoegerung_Manuell_Loeschung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCVerzoegerung_Manuell_Loeschung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsZugnummernmeldeanlage:', name_='TCVerzoegerung_Manuell_Loeschung'): + super(TCVerzoegerung_Manuell_Loeschung, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCVerzoegerung_Manuell_Loeschung') + def _exportChildren(self, outfile, level, namespaceprefix_='nsZugnummernmeldeanlage:', namespacedef_='xmlns:nsZugnummernmeldeanlage="http://www.plan-pro.org/modell/Zugnummernmeldeanlage/1.10.0"', name_='TCVerzoegerung_Manuell_Loeschung', fromsubclass_=False, pretty_print=True): + super(TCVerzoegerung_Manuell_Loeschung, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_decimal(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCVerzoegerung_Manuell_Loeschung, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + fval_ = self.gds_parse_decimal(sval_, node, 'Wert') + fval_ = self.gds_validate_decimal(fval_, node, 'Wert') + self.Wert = fval_ + self.Wert_nsprefix_ = child_.prefix + # validate type TVerzoegerung_Manuell_Loeschung + self.validate_TVerzoegerung_Manuell_Loeschung(self.Wert) + super(TCVerzoegerung_Manuell_Loeschung, self)._buildChildren(child_, node, nodeName_, True) +# end class TCVerzoegerung_Manuell_Loeschung + + +class TCZLV_Bus_Nr(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCZLV_Bus_Nr"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TZLV_Bus_Nr(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCZLV_Bus_Nr) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCZLV_Bus_Nr.subclass: + return TCZLV_Bus_Nr.subclass(*args_, **kwargs_) + else: + return TCZLV_Bus_Nr(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TZLV_Bus_Nr(self, value): + result = True + # Validate type TZLV_Bus_Nr, a restriction on xs:integer. + 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_TZLV_Bus_Nr_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TZLV_Bus_Nr_patterns_, )) + result = False + return result + validate_TZLV_Bus_Nr_patterns_ = [['^([1-9][0-9]{0,3})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCZLV_Bus_Nr, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsZugnummernmeldeanlage:', namespacedef_='xmlns:nsZugnummernmeldeanlage="http://www.plan-pro.org/modell/Zugnummernmeldeanlage/1.10.0"', name_='TCZLV_Bus_Nr', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCZLV_Bus_Nr') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCZLV_Bus_Nr': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCZLV_Bus_Nr') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCZLV_Bus_Nr', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsZugnummernmeldeanlage:', name_='TCZLV_Bus_Nr'): + super(TCZLV_Bus_Nr, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCZLV_Bus_Nr') + def _exportChildren(self, outfile, level, namespaceprefix_='nsZugnummernmeldeanlage:', namespacedef_='xmlns:nsZugnummernmeldeanlage="http://www.plan-pro.org/modell/Zugnummernmeldeanlage/1.10.0"', name_='TCZLV_Bus_Nr', fromsubclass_=False, pretty_print=True): + super(TCZLV_Bus_Nr, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_integer(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCZLV_Bus_Nr, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + ival_ = self.gds_parse_integer(sval_, node, 'Wert') + ival_ = self.gds_validate_integer(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + # validate type TZLV_Bus_Nr + self.validate_TZLV_Bus_Nr(self.Wert) + super(TCZLV_Bus_Nr, self)._buildChildren(child_, node, nodeName_, True) +# end class TCZLV_Bus_Nr + + +class TCIP_Adresse(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCIP_Adresse"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TIP_Adresse(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCIP_Adresse) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCIP_Adresse.subclass: + return TCIP_Adresse.subclass(*args_, **kwargs_) + else: + return TCIP_Adresse(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TIP_Adresse(self, value): + result = True + # Validate type TIP_Adresse, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TIP_Adresse_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TIP_Adresse_patterns_, )) + result = False + return result + validate_TIP_Adresse_patterns_ = [['^(([0-9]{1,3}\\.){3}[0-9]{1,3})$'], ['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCIP_Adresse, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsZugnummernmeldeanlage:', namespacedef_='xmlns:nsZugnummernmeldeanlage="http://www.plan-pro.org/modell/Zugnummernmeldeanlage/1.10.0"', name_='TCIP_Adresse', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCIP_Adresse') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCIP_Adresse': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCIP_Adresse') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCIP_Adresse', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsZugnummernmeldeanlage:', name_='TCIP_Adresse'): + super(TCIP_Adresse, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCIP_Adresse') + def _exportChildren(self, outfile, level, namespaceprefix_='nsZugnummernmeldeanlage:', namespacedef_='xmlns:nsZugnummernmeldeanlage="http://www.plan-pro.org/modell/Zugnummernmeldeanlage/1.10.0"', name_='TCIP_Adresse', fromsubclass_=False, pretty_print=True): + super(TCIP_Adresse, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCIP_Adresse, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TIP_Adresse + self.validate_TIP_Adresse(self.Wert) + super(TCIP_Adresse, self)._buildChildren(child_, node, nodeName_, True) +# end class TCIP_Adresse + + +class TCAusfahrdruck(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCAusfahrdruck"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TWirkrichtung(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCAusfahrdruck) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCAusfahrdruck.subclass: + return TCAusfahrdruck.subclass(*args_, **kwargs_) + else: + return TCAusfahrdruck(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TWirkrichtung(self, value): + result = True + # Validate type TWirkrichtung, a restriction on nsBasisTypen:ENUMWirkrichtung. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['beide', 'gegen', 'in'] + 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 TWirkrichtung' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCAusfahrdruck, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsZugnummernmeldeanlage:', namespacedef_='xmlns:nsZugnummernmeldeanlage="http://www.plan-pro.org/modell/Zugnummernmeldeanlage/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCAusfahrdruck', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCAusfahrdruck') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCAusfahrdruck': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCAusfahrdruck') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCAusfahrdruck', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsZugnummernmeldeanlage:', name_='TCAusfahrdruck'): + super(TCAusfahrdruck, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCAusfahrdruck') + def _exportChildren(self, outfile, level, namespaceprefix_='nsZugnummernmeldeanlage:', namespacedef_='xmlns:nsZugnummernmeldeanlage="http://www.plan-pro.org/modell/Zugnummernmeldeanlage/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCAusfahrdruck', fromsubclass_=False, pretty_print=True): + super(TCAusfahrdruck, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCAusfahrdruck, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TWirkrichtung + self.validate_TWirkrichtung(self.Wert) + super(TCAusfahrdruck, self)._buildChildren(child_, node, nodeName_, True) +# end class TCAusfahrdruck + + +class TCBesonderes_Schaltkriterium(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCBesonderes_Schaltkriterium"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TBesonderes_Schaltkriterium(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCBesonderes_Schaltkriterium) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCBesonderes_Schaltkriterium.subclass: + return TCBesonderes_Schaltkriterium.subclass(*args_, **kwargs_) + else: + return TCBesonderes_Schaltkriterium(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TBesonderes_Schaltkriterium(self, value): + result = True + # Validate type TBesonderes_Schaltkriterium, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TBesonderes_Schaltkriterium_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TBesonderes_Schaltkriterium_patterns_, )) + result = False + return result + validate_TBesonderes_Schaltkriterium_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCBesonderes_Schaltkriterium, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsZugnummernmeldeanlage:', namespacedef_='xmlns:nsZugnummernmeldeanlage="http://www.plan-pro.org/modell/Zugnummernmeldeanlage/1.10.0"', name_='TCBesonderes_Schaltkriterium', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCBesonderes_Schaltkriterium') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCBesonderes_Schaltkriterium': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBesonderes_Schaltkriterium') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCBesonderes_Schaltkriterium', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsZugnummernmeldeanlage:', name_='TCBesonderes_Schaltkriterium'): + super(TCBesonderes_Schaltkriterium, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBesonderes_Schaltkriterium') + def _exportChildren(self, outfile, level, namespaceprefix_='nsZugnummernmeldeanlage:', namespacedef_='xmlns:nsZugnummernmeldeanlage="http://www.plan-pro.org/modell/Zugnummernmeldeanlage/1.10.0"', name_='TCBesonderes_Schaltkriterium', fromsubclass_=False, pretty_print=True): + super(TCBesonderes_Schaltkriterium, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCBesonderes_Schaltkriterium, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TBesonderes_Schaltkriterium + self.validate_TBesonderes_Schaltkriterium(self.Wert) + super(TCBesonderes_Schaltkriterium, self)._buildChildren(child_, node, nodeName_, True) +# end class TCBesonderes_Schaltkriterium + + +class TCTelegramm_04(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCTelegramm_04"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCTelegramm_04) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCTelegramm_04.subclass: + return TCTelegramm_04.subclass(*args_, **kwargs_) + else: + return TCTelegramm_04(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def has__content(self): + if ( + self.Wert is not None or + super(TCTelegramm_04, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsZugnummernmeldeanlage:', namespacedef_='xmlns:nsZugnummernmeldeanlage="http://www.plan-pro.org/modell/Zugnummernmeldeanlage/1.10.0"', name_='TCTelegramm_04', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCTelegramm_04') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCTelegramm_04': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCTelegramm_04') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCTelegramm_04', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsZugnummernmeldeanlage:', name_='TCTelegramm_04'): + super(TCTelegramm_04, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCTelegramm_04') + def _exportChildren(self, outfile, level, namespaceprefix_='nsZugnummernmeldeanlage:', namespacedef_='xmlns:nsZugnummernmeldeanlage="http://www.plan-pro.org/modell/Zugnummernmeldeanlage/1.10.0"', name_='TCTelegramm_04', fromsubclass_=False, pretty_print=True): + super(TCTelegramm_04, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_boolean(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCTelegramm_04, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + sval_ = child_.text + ival_ = self.gds_parse_boolean(sval_, node, 'Wert') + ival_ = self.gds_validate_boolean(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + super(TCTelegramm_04, self)._buildChildren(child_, node, nodeName_, True) +# end class TCTelegramm_04 + + +class TCTelegramm_02(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCTelegramm_02"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCTelegramm_02) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCTelegramm_02.subclass: + return TCTelegramm_02.subclass(*args_, **kwargs_) + else: + return TCTelegramm_02(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def has__content(self): + if ( + self.Wert is not None or + super(TCTelegramm_02, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsZugnummernmeldeanlage:', namespacedef_='xmlns:nsZugnummernmeldeanlage="http://www.plan-pro.org/modell/Zugnummernmeldeanlage/1.10.0"', name_='TCTelegramm_02', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCTelegramm_02') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCTelegramm_02': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCTelegramm_02') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCTelegramm_02', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsZugnummernmeldeanlage:', name_='TCTelegramm_02'): + super(TCTelegramm_02, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCTelegramm_02') + def _exportChildren(self, outfile, level, namespaceprefix_='nsZugnummernmeldeanlage:', namespacedef_='xmlns:nsZugnummernmeldeanlage="http://www.plan-pro.org/modell/Zugnummernmeldeanlage/1.10.0"', name_='TCTelegramm_02', fromsubclass_=False, pretty_print=True): + super(TCTelegramm_02, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_boolean(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCTelegramm_02, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + sval_ = child_.text + ival_ = self.gds_parse_boolean(sval_, node, 'Wert') + ival_ = self.gds_validate_boolean(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + super(TCTelegramm_02, self)._buildChildren(child_, node, nodeName_, True) +# end class TCTelegramm_02 + + +class TCAkustikdauer_Anb_Ann(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCAkustikdauer_Anb_Ann"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMAkustik_Anb_Ann(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCAkustikdauer_Anb_Ann) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCAkustikdauer_Anb_Ann.subclass: + return TCAkustikdauer_Anb_Ann.subclass(*args_, **kwargs_) + else: + return TCAkustikdauer_Anb_Ann(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMAkustik_Anb_Ann(self, value): + result = True + # Validate type ENUMAkustik_Anb_Ann, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['5_s', 'bis_Ankunft_Zug'] + 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 ENUMAkustik_Anb_Ann' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCAkustikdauer_Anb_Ann, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsZugnummernmeldeanlage:', namespacedef_='xmlns:nsZugnummernmeldeanlage="http://www.plan-pro.org/modell/Zugnummernmeldeanlage/1.10.0"', name_='TCAkustikdauer_Anb_Ann', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCAkustikdauer_Anb_Ann') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCAkustikdauer_Anb_Ann': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCAkustikdauer_Anb_Ann') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCAkustikdauer_Anb_Ann', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsZugnummernmeldeanlage:', name_='TCAkustikdauer_Anb_Ann'): + super(TCAkustikdauer_Anb_Ann, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCAkustikdauer_Anb_Ann') + def _exportChildren(self, outfile, level, namespaceprefix_='nsZugnummernmeldeanlage:', namespacedef_='xmlns:nsZugnummernmeldeanlage="http://www.plan-pro.org/modell/Zugnummernmeldeanlage/1.10.0"', name_='TCAkustikdauer_Anb_Ann', fromsubclass_=False, pretty_print=True): + super(TCAkustikdauer_Anb_Ann, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCAkustikdauer_Anb_Ann, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMAkustik_Anb_Ann + self.validate_ENUMAkustik_Anb_Ann(self.Wert) + super(TCAkustikdauer_Anb_Ann, self)._buildChildren(child_, node, nodeName_, True) +# end class TCAkustikdauer_Anb_Ann + + +class CZN(CBasis_Objekt): + """CZN -- Zugnummernmeldeanlage. Wird die ZN-Anlage zusammen mit dem ESTW geplant, gibt es keinen Verweis auf die Anh + ä + nge, da die ZN bereits in der ESTW-Konfiguration ber + ü + cksichtigt ist. Wird die ZN nachger + ü + stet, sind die Verweise auf ESTW_Zentraleinheit und Anh + ä + nge vorhanden. Kann eine ESTW-Bauform keine ZN ber + ü + cksichtigen, dann gibt es keinen Verweis auf ESTW_Zentraleinheit. DB-Regelwerk 819.0731 + ID_Anhang_ZN_Plan_Bedienraum -- Verweis auf die ID des Raumplans Bedienraum, der als Anhang im Format PDF beigef + ü + gt wird. Bei Planung einer ZN-Einwahlstelle bzw. einer ZN in der Nachbarbetriebsstelle ist die Anordnung von M + ö + beln mit Unterbringung der ZN-Komponenten f + ü + r den Bedienraum des Stw in einem Plan darzustellen. Dieser wird als PDF beigef + ü + gt. Wird die ZN zusammen mit dem zugeh + ö + rigen ESTW geplant, gibt es keinen Anhang. DB-Regelwerk 819.0731 12 + ID_Anhang_ZN_Plan_Rechnerraum -- Verweis auf die ID des Raumplans Rechnerraum, der als Anhang im Format PDF beigef + ü + gt wird. Bei Planung einer ZN-Einwahlstelle bzw. einer ZN in der Nachbarbetriebsstelle ist die Anordnung von ZN-Komponenten im Rechnerraum des Stw in einem Plan darzustellen. Dieser wird als PDF beigef + ü + gt. Wird die ZN zusammen mit dem zugeh + ö + rigen ESTW geplant, gibt es keinen Anhang. DB-Regelwerk 819.0731 12 + ID_Oertlichkeit -- Ö + rtlichkeit, die f + ü + r die ZN-Anlage namensgebend ist. Es ist der Wert + „ + Oertlichkeit_Langname + “ + zu verwenden. + ID_Stellwerk -- Verweis auf die ESTW-Zentraleinheit oder ein Relaisstellwerk, zu der diese ZN oder f + ü + r die eine ZN-Einwahlstelle geplant wurde. Der Verweis ist optional, da im Plaungswerkzeug ZN/ZL keine Bef + ü + llung aller f + ü + r die ESTW-ZE vorgesehenen Attribute m + ö + glich ist. + ID_Unterbringung -- Verweis auf den physischen Ort der Unterbringung von Aussenelementansteuerung, Bedien Einrichtung Oertlich, Bedien Platz, ESTW Zentraleinheit, PZB Element, Schlosskombination, Schluesselsperre und ZN. F + ü + r das PZB Element wird der Verweis nur f + ü + r eine G + Ü + gef + ü + llt - mit der Bedeutung: G + Ü + -Schaltkasten. F + ü + r die ZN ist der Verweis optional, da im Planungswerkzeug ZN/ZL keine Bef + ü + llung aller der f + ü + r die Unterbringung notwendigen Attribute m + ö + glich ist. DB-Regelwerk Darstellung des Geb + ä + udes, der Bediens + ä + ule bzw. des Schaltkastens im sicherungstechnischen Lageplan nach Ril 819.9002 oder Beschreibung im Erl + ä + uterungsbericht. + ID_ZN_Unterstation -- Verweis auf ID der zugeh + ö + rigen ZLV-Bus-Unterstation. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasis_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, ID_Anhang_ZN_Plan_Bedienraum=None, ID_Anhang_ZN_Plan_Rechnerraum=None, ID_Oertlichkeit=None, ID_Stellwerk=None, ID_Unterbringung=None, ID_ZN_Unterstation=None, ZN_Allg=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CZN"), self).__init__(Identitaet, Basis_Objekt_Allg, ID_Bearbeitungsvermerk, ID_Oertlichkeit_Ausgabe, Objektreferenzen, **kwargs_) + self.ID_Anhang_ZN_Plan_Bedienraum = ID_Anhang_ZN_Plan_Bedienraum + self.ID_Anhang_ZN_Plan_Bedienraum_nsprefix_ = None + self.ID_Anhang_ZN_Plan_Rechnerraum = ID_Anhang_ZN_Plan_Rechnerraum + self.ID_Anhang_ZN_Plan_Rechnerraum_nsprefix_ = None + self.ID_Oertlichkeit = ID_Oertlichkeit + self.ID_Oertlichkeit_nsprefix_ = None + self.ID_Stellwerk = ID_Stellwerk + self.ID_Stellwerk_nsprefix_ = None + self.ID_Unterbringung = ID_Unterbringung + self.ID_Unterbringung_nsprefix_ = None + self.ID_ZN_Unterstation = ID_ZN_Unterstation + self.ID_ZN_Unterstation_nsprefix_ = None + self.ZN_Allg = ZN_Allg + self.ZN_Allg_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CZN) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CZN.subclass: + return CZN.subclass(*args_, **kwargs_) + else: + return CZN(*args_, **kwargs_) + factory = staticmethod(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_Anhang_ZN_Plan_Bedienraum(self): + return self.ID_Anhang_ZN_Plan_Bedienraum + def set_ID_Anhang_ZN_Plan_Bedienraum(self, ID_Anhang_ZN_Plan_Bedienraum): + self.ID_Anhang_ZN_Plan_Bedienraum = ID_Anhang_ZN_Plan_Bedienraum + def get_ID_Anhang_ZN_Plan_Rechnerraum(self): + return self.ID_Anhang_ZN_Plan_Rechnerraum + def set_ID_Anhang_ZN_Plan_Rechnerraum(self, ID_Anhang_ZN_Plan_Rechnerraum): + self.ID_Anhang_ZN_Plan_Rechnerraum = ID_Anhang_ZN_Plan_Rechnerraum + def get_ID_Oertlichkeit(self): + return self.ID_Oertlichkeit + def set_ID_Oertlichkeit(self, ID_Oertlichkeit): + self.ID_Oertlichkeit = ID_Oertlichkeit + def get_ID_Stellwerk(self): + return self.ID_Stellwerk + def set_ID_Stellwerk(self, ID_Stellwerk): + self.ID_Stellwerk = ID_Stellwerk + def get_ID_Unterbringung(self): + return self.ID_Unterbringung + def set_ID_Unterbringung(self, ID_Unterbringung): + self.ID_Unterbringung = ID_Unterbringung + def get_ID_ZN_Unterstation(self): + return self.ID_ZN_Unterstation + def set_ID_ZN_Unterstation(self, ID_ZN_Unterstation): + self.ID_ZN_Unterstation = ID_ZN_Unterstation + def get_ZN_Allg(self): + return self.ZN_Allg + def set_ZN_Allg(self, ZN_Allg): + self.ZN_Allg = ZN_Allg + def has__content(self): + if ( + self.ID_Anhang_ZN_Plan_Bedienraum is not None or + self.ID_Anhang_ZN_Plan_Rechnerraum is not None or + self.ID_Oertlichkeit is not None or + self.ID_Stellwerk is not None or + self.ID_Unterbringung is not None or + self.ID_ZN_Unterstation is not None or + self.ZN_Allg is not None or + super(CZN, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsZugnummernmeldeanlage:', namespacedef_='xmlns:nsZugnummernmeldeanlage="http://www.plan-pro.org/modell/Zugnummernmeldeanlage/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CZN', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CZN') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CZN': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CZN') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CZN', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsZugnummernmeldeanlage:', name_='CZN'): + super(CZN, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CZN') + def _exportChildren(self, outfile, level, namespaceprefix_='nsZugnummernmeldeanlage:', namespacedef_='xmlns:nsZugnummernmeldeanlage="http://www.plan-pro.org/modell/Zugnummernmeldeanlage/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CZN', fromsubclass_=False, pretty_print=True): + super(CZN, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.ID_Anhang_ZN_Plan_Bedienraum is not None: + namespaceprefix_ = self.ID_Anhang_ZN_Plan_Bedienraum_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Anhang_ZN_Plan_Bedienraum_nsprefix_) else '' + self.ID_Anhang_ZN_Plan_Bedienraum.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Anhang_ZN_Plan_Bedienraum', pretty_print=pretty_print) + if self.ID_Anhang_ZN_Plan_Rechnerraum is not None: + namespaceprefix_ = self.ID_Anhang_ZN_Plan_Rechnerraum_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Anhang_ZN_Plan_Rechnerraum_nsprefix_) else '' + self.ID_Anhang_ZN_Plan_Rechnerraum.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Anhang_ZN_Plan_Rechnerraum', pretty_print=pretty_print) + if self.ID_Oertlichkeit is not None: + namespaceprefix_ = self.ID_Oertlichkeit_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Oertlichkeit_nsprefix_) else '' + self.ID_Oertlichkeit.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Oertlichkeit', pretty_print=pretty_print) + if self.ID_Stellwerk is not None: + namespaceprefix_ = self.ID_Stellwerk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Stellwerk_nsprefix_) else '' + self.ID_Stellwerk.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Stellwerk', pretty_print=pretty_print) + if self.ID_Unterbringung is not None: + namespaceprefix_ = self.ID_Unterbringung_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Unterbringung_nsprefix_) else '' + self.ID_Unterbringung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Unterbringung', pretty_print=pretty_print) + if self.ID_ZN_Unterstation is not None: + namespaceprefix_ = self.ID_ZN_Unterstation_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_ZN_Unterstation_nsprefix_) else '' + self.ID_ZN_Unterstation.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_ZN_Unterstation', pretty_print=pretty_print) + if self.ZN_Allg is not None: + namespaceprefix_ = self.ZN_Allg_nsprefix_ + ':' if (UseCapturedNS_ and self.ZN_Allg_nsprefix_) else '' + self.ZN_Allg.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ZN_Allg', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CZN, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Anhang_ZN_Plan_Bedienraum': + obj_ = TCID_Anhang.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Anhang_ZN_Plan_Bedienraum = obj_ + obj_.original_tagname_ = 'ID_Anhang_ZN_Plan_Bedienraum' + elif nodeName_ == 'ID_Anhang_ZN_Plan_Rechnerraum': + obj_ = TCID_Anhang.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Anhang_ZN_Plan_Rechnerraum = obj_ + obj_.original_tagname_ = 'ID_Anhang_ZN_Plan_Rechnerraum' + elif nodeName_ == 'ID_Oertlichkeit': + obj_ = TCID_Oertlichkeit.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Oertlichkeit = obj_ + obj_.original_tagname_ = 'ID_Oertlichkeit' + elif nodeName_ == 'ID_Stellwerk': + obj_ = TCID_Stellwerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Stellwerk = obj_ + obj_.original_tagname_ = 'ID_Stellwerk' + elif nodeName_ == 'ID_Unterbringung': + obj_ = TCID_Unterbringung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Unterbringung = obj_ + obj_.original_tagname_ = 'ID_Unterbringung' + elif nodeName_ == 'ID_ZN_Unterstation': + obj_ = TCID_ZN_Unterstation.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_ZN_Unterstation = obj_ + obj_.original_tagname_ = 'ID_ZN_Unterstation' + elif nodeName_ == 'ZN_Allg': + obj_ = CZN_Allg.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ZN_Allg = obj_ + obj_.original_tagname_ = 'ZN_Allg' + super(CZN, self)._buildChildren(child_, node, nodeName_, True) +# end class CZN + + +class TCZeitsynchronisation_Funkuhr(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCZeitsynchronisation_Funkuhr"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCZeitsynchronisation_Funkuhr) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCZeitsynchronisation_Funkuhr.subclass: + return TCZeitsynchronisation_Funkuhr.subclass(*args_, **kwargs_) + else: + return TCZeitsynchronisation_Funkuhr(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def has__content(self): + if ( + self.Wert is not None or + super(TCZeitsynchronisation_Funkuhr, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsZugnummernmeldeanlage:', namespacedef_='xmlns:nsZugnummernmeldeanlage="http://www.plan-pro.org/modell/Zugnummernmeldeanlage/1.10.0"', name_='TCZeitsynchronisation_Funkuhr', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCZeitsynchronisation_Funkuhr') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCZeitsynchronisation_Funkuhr': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCZeitsynchronisation_Funkuhr') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCZeitsynchronisation_Funkuhr', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsZugnummernmeldeanlage:', name_='TCZeitsynchronisation_Funkuhr'): + super(TCZeitsynchronisation_Funkuhr, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCZeitsynchronisation_Funkuhr') + def _exportChildren(self, outfile, level, namespaceprefix_='nsZugnummernmeldeanlage:', namespacedef_='xmlns:nsZugnummernmeldeanlage="http://www.plan-pro.org/modell/Zugnummernmeldeanlage/1.10.0"', name_='TCZeitsynchronisation_Funkuhr', fromsubclass_=False, pretty_print=True): + super(TCZeitsynchronisation_Funkuhr, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_boolean(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCZeitsynchronisation_Funkuhr, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + sval_ = child_.text + ival_ = self.gds_parse_boolean(sval_, node, 'Wert') + ival_ = self.gds_validate_boolean(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + super(TCZeitsynchronisation_Funkuhr, self)._buildChildren(child_, node, nodeName_, True) +# end class TCZeitsynchronisation_Funkuhr + + +class TCTelegramm_30(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCTelegramm_30"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCTelegramm_30) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCTelegramm_30.subclass: + return TCTelegramm_30.subclass(*args_, **kwargs_) + else: + return TCTelegramm_30(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def has__content(self): + if ( + self.Wert is not None or + super(TCTelegramm_30, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsZugnummernmeldeanlage:', namespacedef_='xmlns:nsZugnummernmeldeanlage="http://www.plan-pro.org/modell/Zugnummernmeldeanlage/1.10.0"', name_='TCTelegramm_30', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCTelegramm_30') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCTelegramm_30': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCTelegramm_30') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCTelegramm_30', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsZugnummernmeldeanlage:', name_='TCTelegramm_30'): + super(TCTelegramm_30, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCTelegramm_30') + def _exportChildren(self, outfile, level, namespaceprefix_='nsZugnummernmeldeanlage:', namespacedef_='xmlns:nsZugnummernmeldeanlage="http://www.plan-pro.org/modell/Zugnummernmeldeanlage/1.10.0"', name_='TCTelegramm_30', fromsubclass_=False, pretty_print=True): + super(TCTelegramm_30, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_boolean(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCTelegramm_30, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + sval_ = child_.text + ival_ = self.gds_parse_boolean(sval_, node, 'Wert') + ival_ = self.gds_validate_boolean(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + super(TCTelegramm_30, self)._buildChildren(child_, node, nodeName_, True) +# end class TCTelegramm_30 + + +class TCZugvorbereitungsmeldung(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCZugvorbereitungsmeldung"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCZugvorbereitungsmeldung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCZugvorbereitungsmeldung.subclass: + return TCZugvorbereitungsmeldung.subclass(*args_, **kwargs_) + else: + return TCZugvorbereitungsmeldung(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def has__content(self): + if ( + self.Wert is not None or + super(TCZugvorbereitungsmeldung, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsZugnummernmeldeanlage:', namespacedef_='xmlns:nsZugnummernmeldeanlage="http://www.plan-pro.org/modell/Zugnummernmeldeanlage/1.10.0"', name_='TCZugvorbereitungsmeldung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCZugvorbereitungsmeldung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCZugvorbereitungsmeldung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCZugvorbereitungsmeldung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCZugvorbereitungsmeldung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsZugnummernmeldeanlage:', name_='TCZugvorbereitungsmeldung'): + super(TCZugvorbereitungsmeldung, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCZugvorbereitungsmeldung') + def _exportChildren(self, outfile, level, namespaceprefix_='nsZugnummernmeldeanlage:', namespacedef_='xmlns:nsZugnummernmeldeanlage="http://www.plan-pro.org/modell/Zugnummernmeldeanlage/1.10.0"', name_='TCZugvorbereitungsmeldung', fromsubclass_=False, pretty_print=True): + super(TCZugvorbereitungsmeldung, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_boolean(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCZugvorbereitungsmeldung, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + sval_ = child_.text + ival_ = self.gds_parse_boolean(sval_, node, 'Wert') + ival_ = self.gds_validate_boolean(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + super(TCZugvorbereitungsmeldung, self)._buildChildren(child_, node, nodeName_, True) +# end class TCZugvorbereitungsmeldung + + +class TCVormeldestart(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCVormeldestart"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TWirkrichtung(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCVormeldestart) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCVormeldestart.subclass: + return TCVormeldestart.subclass(*args_, **kwargs_) + else: + return TCVormeldestart(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TWirkrichtung(self, value): + result = True + # Validate type TWirkrichtung, a restriction on nsBasisTypen:ENUMWirkrichtung. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['beide', 'gegen', 'in'] + 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 TWirkrichtung' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCVormeldestart, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsZugnummernmeldeanlage:', namespacedef_='xmlns:nsZugnummernmeldeanlage="http://www.plan-pro.org/modell/Zugnummernmeldeanlage/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCVormeldestart', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCVormeldestart') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCVormeldestart': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCVormeldestart') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCVormeldestart', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsZugnummernmeldeanlage:', name_='TCVormeldestart'): + super(TCVormeldestart, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCVormeldestart') + def _exportChildren(self, outfile, level, namespaceprefix_='nsZugnummernmeldeanlage:', namespacedef_='xmlns:nsZugnummernmeldeanlage="http://www.plan-pro.org/modell/Zugnummernmeldeanlage/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCVormeldestart', fromsubclass_=False, pretty_print=True): + super(TCVormeldestart, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCVormeldestart, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TWirkrichtung + self.validate_TWirkrichtung(self.Wert) + super(TCVormeldestart, self)._buildChildren(child_, node, nodeName_, True) +# end class TCVormeldestart + + +class TCZN_Anlagentyp(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCZN_Anlagentyp"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMZN_Anlagentyp(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCZN_Anlagentyp) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCZN_Anlagentyp.subclass: + return TCZN_Anlagentyp.subclass(*args_, **kwargs_) + else: + return TCZN_Anlagentyp(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMZN_Anlagentyp(self, value): + result = True + # Validate type ENUMZN_Anlagentyp, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['sonstige', 'ZN_B950', 'ZN_SuB', 'ZNE_L2000', 'ZNL_2000', 'ZNL_800', 'ZNP_801', 'ZNS_801', 'ZNS_901', 'ZNS_901R'] + 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 ENUMZN_Anlagentyp' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCZN_Anlagentyp, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsZugnummernmeldeanlage:', namespacedef_='xmlns:nsZugnummernmeldeanlage="http://www.plan-pro.org/modell/Zugnummernmeldeanlage/1.10.0"', name_='TCZN_Anlagentyp', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCZN_Anlagentyp') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCZN_Anlagentyp': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCZN_Anlagentyp') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCZN_Anlagentyp', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsZugnummernmeldeanlage:', name_='TCZN_Anlagentyp'): + super(TCZN_Anlagentyp, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCZN_Anlagentyp') + def _exportChildren(self, outfile, level, namespaceprefix_='nsZugnummernmeldeanlage:', namespacedef_='xmlns:nsZugnummernmeldeanlage="http://www.plan-pro.org/modell/Zugnummernmeldeanlage/1.10.0"', name_='TCZN_Anlagentyp', fromsubclass_=False, pretty_print=True): + super(TCZN_Anlagentyp, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCZN_Anlagentyp, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMZN_Anlagentyp + self.validate_ENUMZN_Anlagentyp(self.Wert) + super(TCZN_Anlagentyp, self)._buildChildren(child_, node, nodeName_, True) +# end class TCZN_Anlagentyp + + +class CZN_Unterstation(CBasis_Objekt): + """CZN_Unterstation -- Verbindung zwischen ZN und ZLV Bus und/oder ZN ZBS. + Ü + ber Modems wird die ZN an einen oder mehrere ZLV-Busse und ggf. an eine ZBS (Verbindung zu einer Bedien Zentrale) angebunden. Die Attributgruppe ZN_Unterstation_Bf_Nr kann mehrfach eingebunden werden. Damit werden alle Betriebsstellen, die ZN-seitig + ü + ber diese Unterstation verwaltet bzw \"angesprochen\" werden, beschrieben. Der ZN-seitigen Bahnhofsnummer wird eine + Ö + rtlichkeit (Ril-100-Bezeichner der zugewiesenen Betriebsstelle) und ggf. eine Priorit + ä + t zugeordnet. Letztere wird nur f + ü + r diejenige Bahnhosnummer angegeben, die f + ü + r die Kommunikation der ZN_Unterstation mit dem ZLV-Bus ma + ß + gebend ist. In allen anderen F + ä + llen wird das Attribut nicht bef + ü + llt. Die Darstellung erfolgt auf dem ZLV-Bus- + Ü + bersichtsplan als tabellarischer Block mit den Zeilen \u0026lt;Bf-Nr\u0026gt; \u0026lt;Oertlichkeit_Abkuerzung\u0026gt; in dem Symbol f + ü + r die ZN_Unterstation. Die Bahnhofsnummer mit Priorit + ä + t wird direkt neben dem ZLV-Bus-Anschluss angeordnet. DB-Regelwerk 819.0731 5 Die Darstellung der Angaben erfolgt im ZLV-Bus- + Ü + bersichtsplan nach 819.0731 A01 + ID_ZN_ZBS -- Verweis auf die ID der zugeh + ö + rigen ZLV-Bus-Sammelleitung (ZBS), sofern diese vorhanden ist. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasis_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, ID_ZN_ZBS=None, ZN_Unterstation_Allg=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CZN_Unterstation"), self).__init__(Identitaet, Basis_Objekt_Allg, ID_Bearbeitungsvermerk, ID_Oertlichkeit_Ausgabe, Objektreferenzen, **kwargs_) + self.ID_ZN_ZBS = ID_ZN_ZBS + self.ID_ZN_ZBS_nsprefix_ = None + self.ZN_Unterstation_Allg = ZN_Unterstation_Allg + self.ZN_Unterstation_Allg_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CZN_Unterstation) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CZN_Unterstation.subclass: + return CZN_Unterstation.subclass(*args_, **kwargs_) + else: + return CZN_Unterstation(*args_, **kwargs_) + factory = staticmethod(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_ZN_ZBS(self): + return self.ID_ZN_ZBS + def set_ID_ZN_ZBS(self, ID_ZN_ZBS): + self.ID_ZN_ZBS = ID_ZN_ZBS + def get_ZN_Unterstation_Allg(self): + return self.ZN_Unterstation_Allg + def set_ZN_Unterstation_Allg(self, ZN_Unterstation_Allg): + self.ZN_Unterstation_Allg = ZN_Unterstation_Allg + def has__content(self): + if ( + self.ID_ZN_ZBS is not None or + self.ZN_Unterstation_Allg is not None or + super(CZN_Unterstation, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsZugnummernmeldeanlage:', namespacedef_='xmlns:nsZugnummernmeldeanlage="http://www.plan-pro.org/modell/Zugnummernmeldeanlage/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CZN_Unterstation', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CZN_Unterstation') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CZN_Unterstation': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CZN_Unterstation') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CZN_Unterstation', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsZugnummernmeldeanlage:', name_='CZN_Unterstation'): + super(CZN_Unterstation, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CZN_Unterstation') + def _exportChildren(self, outfile, level, namespaceprefix_='nsZugnummernmeldeanlage:', namespacedef_='xmlns:nsZugnummernmeldeanlage="http://www.plan-pro.org/modell/Zugnummernmeldeanlage/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CZN_Unterstation', fromsubclass_=False, pretty_print=True): + super(CZN_Unterstation, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.ID_ZN_ZBS is not None: + namespaceprefix_ = self.ID_ZN_ZBS_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_ZN_ZBS_nsprefix_) else '' + self.ID_ZN_ZBS.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_ZN_ZBS', pretty_print=pretty_print) + if self.ZN_Unterstation_Allg is not None: + namespaceprefix_ = self.ZN_Unterstation_Allg_nsprefix_ + ':' if (UseCapturedNS_ and self.ZN_Unterstation_Allg_nsprefix_) else '' + self.ZN_Unterstation_Allg.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ZN_Unterstation_Allg', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CZN_Unterstation, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_ZN_ZBS': + obj_ = TCID_ZN_ZBS.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_ZN_ZBS = obj_ + obj_.original_tagname_ = 'ID_ZN_ZBS' + elif nodeName_ == 'ZN_Unterstation_Allg': + obj_ = CZN_Unterstation_Allg.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ZN_Unterstation_Allg = obj_ + obj_.original_tagname_ = 'ZN_Unterstation_Allg' + super(CZN_Unterstation, self)._buildChildren(child_, node, nodeName_, True) +# end class CZN_Unterstation + + +class TCZBS_Anbindung(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCZBS_Anbindung"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCZBS_Anbindung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCZBS_Anbindung.subclass: + return TCZBS_Anbindung.subclass(*args_, **kwargs_) + else: + return TCZBS_Anbindung(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def has__content(self): + if ( + self.Wert is not None or + super(TCZBS_Anbindung, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsZugnummernmeldeanlage:', namespacedef_='xmlns:nsZugnummernmeldeanlage="http://www.plan-pro.org/modell/Zugnummernmeldeanlage/1.10.0"', name_='TCZBS_Anbindung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCZBS_Anbindung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCZBS_Anbindung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCZBS_Anbindung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCZBS_Anbindung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsZugnummernmeldeanlage:', name_='TCZBS_Anbindung'): + super(TCZBS_Anbindung, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCZBS_Anbindung') + def _exportChildren(self, outfile, level, namespaceprefix_='nsZugnummernmeldeanlage:', namespacedef_='xmlns:nsZugnummernmeldeanlage="http://www.plan-pro.org/modell/Zugnummernmeldeanlage/1.10.0"', name_='TCZBS_Anbindung', fromsubclass_=False, pretty_print=True): + super(TCZBS_Anbindung, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_boolean(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCZBS_Anbindung, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + sval_ = child_.text + ival_ = self.gds_parse_boolean(sval_, node, 'Wert') + ival_ = self.gds_validate_boolean(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + super(TCZBS_Anbindung, self)._buildChildren(child_, node, nodeName_, True) +# end class TCZBS_Anbindung + + +class TCDurchfahrdruck(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCDurchfahrdruck"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TWirkrichtung(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCDurchfahrdruck) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCDurchfahrdruck.subclass: + return TCDurchfahrdruck.subclass(*args_, **kwargs_) + else: + return TCDurchfahrdruck(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TWirkrichtung(self, value): + result = True + # Validate type TWirkrichtung, a restriction on nsBasisTypen:ENUMWirkrichtung. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['beide', 'gegen', 'in'] + 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 TWirkrichtung' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCDurchfahrdruck, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsZugnummernmeldeanlage:', namespacedef_='xmlns:nsZugnummernmeldeanlage="http://www.plan-pro.org/modell/Zugnummernmeldeanlage/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCDurchfahrdruck', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCDurchfahrdruck') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCDurchfahrdruck': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCDurchfahrdruck') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCDurchfahrdruck', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsZugnummernmeldeanlage:', name_='TCDurchfahrdruck'): + super(TCDurchfahrdruck, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCDurchfahrdruck') + def _exportChildren(self, outfile, level, namespaceprefix_='nsZugnummernmeldeanlage:', namespacedef_='xmlns:nsZugnummernmeldeanlage="http://www.plan-pro.org/modell/Zugnummernmeldeanlage/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCDurchfahrdruck', fromsubclass_=False, pretty_print=True): + super(TCDurchfahrdruck, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCDurchfahrdruck, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TWirkrichtung + self.validate_TWirkrichtung(self.Wert) + super(TCDurchfahrdruck, self)._buildChildren(child_, node, nodeName_, True) +# end class TCDurchfahrdruck + + +class TCAnschlussnummer(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCAnschlussnummer"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TAnschlussnummer(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCAnschlussnummer) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCAnschlussnummer.subclass: + return TCAnschlussnummer.subclass(*args_, **kwargs_) + else: + return TCAnschlussnummer(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TAnschlussnummer(self, value): + result = True + # Validate type TAnschlussnummer, a restriction on xs:integer. + 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 + pass + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCAnschlussnummer, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsZugnummernmeldeanlage:', namespacedef_='xmlns:nsZugnummernmeldeanlage="http://www.plan-pro.org/modell/Zugnummernmeldeanlage/1.10.0"', name_='TCAnschlussnummer', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCAnschlussnummer') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCAnschlussnummer': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCAnschlussnummer') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCAnschlussnummer', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsZugnummernmeldeanlage:', name_='TCAnschlussnummer'): + super(TCAnschlussnummer, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCAnschlussnummer') + def _exportChildren(self, outfile, level, namespaceprefix_='nsZugnummernmeldeanlage:', namespacedef_='xmlns:nsZugnummernmeldeanlage="http://www.plan-pro.org/modell/Zugnummernmeldeanlage/1.10.0"', name_='TCAnschlussnummer', fromsubclass_=False, pretty_print=True): + super(TCAnschlussnummer, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_integer(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCAnschlussnummer, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + ival_ = self.gds_parse_integer(sval_, node, 'Wert') + ival_ = self.gds_validate_integer(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + # validate type TAnschlussnummer + self.validate_TAnschlussnummer(self.Wert) + super(TCAnschlussnummer, self)._buildChildren(child_, node, nodeName_, True) +# end class TCAnschlussnummer + + +class TCZN_Modem(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCZN_Modem"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMZN_Modem(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCZN_Modem) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCZN_Modem.subclass: + return TCZN_Modem.subclass(*args_, **kwargs_) + else: + return TCZN_Modem(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMZN_Modem(self, value): + result = True + # Validate type ENUMZN_Modem, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['LOGEM_1200_MD', 'NOKIA_1200_SE', 'SCADA_NG', 'sonstige'] + 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 ENUMZN_Modem' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCZN_Modem, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsZugnummernmeldeanlage:', namespacedef_='xmlns:nsZugnummernmeldeanlage="http://www.plan-pro.org/modell/Zugnummernmeldeanlage/1.10.0"', name_='TCZN_Modem', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCZN_Modem') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCZN_Modem': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCZN_Modem') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCZN_Modem', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsZugnummernmeldeanlage:', name_='TCZN_Modem'): + super(TCZN_Modem, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCZN_Modem') + def _exportChildren(self, outfile, level, namespaceprefix_='nsZugnummernmeldeanlage:', namespacedef_='xmlns:nsZugnummernmeldeanlage="http://www.plan-pro.org/modell/Zugnummernmeldeanlage/1.10.0"', name_='TCZN_Modem', fromsubclass_=False, pretty_print=True): + super(TCZN_Modem, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCZN_Modem, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMZN_Modem + self.validate_ENUMZN_Modem(self.Wert) + super(TCZN_Modem, self)._buildChildren(child_, node, nodeName_, True) +# end class TCZN_Modem + + +class CZLV_Bus_Besondere_Anlage(CBasis_Objekt): + """CZLV_Bus_Besondere_Anlage -- Besondere Anlage, die an einen ZLV-Bus angeschlossen ist. + ID_ZLV_Bus -- Verweis auf den ZLV-Bus, an den die Besondere Anlage angeschlossen ist. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasis_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, Bezeichnung=None, ID_ZLV_Bus=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CZLV_Bus_Besondere_Anlage"), self).__init__(Identitaet, Basis_Objekt_Allg, ID_Bearbeitungsvermerk, ID_Oertlichkeit_Ausgabe, Objektreferenzen, **kwargs_) + self.Bezeichnung = Bezeichnung + self.Bezeichnung_nsprefix_ = None + self.ID_ZLV_Bus = ID_ZLV_Bus + self.ID_ZLV_Bus_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CZLV_Bus_Besondere_Anlage) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CZLV_Bus_Besondere_Anlage.subclass: + return CZLV_Bus_Besondere_Anlage.subclass(*args_, **kwargs_) + else: + return CZLV_Bus_Besondere_Anlage(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Bezeichnung(self): + return self.Bezeichnung + def set_Bezeichnung(self, Bezeichnung): + self.Bezeichnung = Bezeichnung + def get_ID_ZLV_Bus(self): + return self.ID_ZLV_Bus + def set_ID_ZLV_Bus(self, ID_ZLV_Bus): + self.ID_ZLV_Bus = ID_ZLV_Bus + def has__content(self): + if ( + self.Bezeichnung is not None or + self.ID_ZLV_Bus is not None or + super(CZLV_Bus_Besondere_Anlage, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsZugnummernmeldeanlage:', namespacedef_='xmlns:nsZugnummernmeldeanlage="http://www.plan-pro.org/modell/Zugnummernmeldeanlage/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CZLV_Bus_Besondere_Anlage', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CZLV_Bus_Besondere_Anlage') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CZLV_Bus_Besondere_Anlage': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CZLV_Bus_Besondere_Anlage') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CZLV_Bus_Besondere_Anlage', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsZugnummernmeldeanlage:', name_='CZLV_Bus_Besondere_Anlage'): + super(CZLV_Bus_Besondere_Anlage, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CZLV_Bus_Besondere_Anlage') + def _exportChildren(self, outfile, level, namespaceprefix_='nsZugnummernmeldeanlage:', namespacedef_='xmlns:nsZugnummernmeldeanlage="http://www.plan-pro.org/modell/Zugnummernmeldeanlage/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CZLV_Bus_Besondere_Anlage', fromsubclass_=False, pretty_print=True): + super(CZLV_Bus_Besondere_Anlage, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Bezeichnung is not None: + namespaceprefix_ = self.Bezeichnung_nsprefix_ + ':' if (UseCapturedNS_ and self.Bezeichnung_nsprefix_) else '' + self.Bezeichnung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Bezeichnung', pretty_print=pretty_print) + if self.ID_ZLV_Bus is not None: + namespaceprefix_ = self.ID_ZLV_Bus_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_ZLV_Bus_nsprefix_) else '' + self.ID_ZLV_Bus.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_ZLV_Bus', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CZLV_Bus_Besondere_Anlage, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Bezeichnung': + obj_ = CZLV_Bus_Besondere_Anlage_Bezeichnung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Bezeichnung = obj_ + obj_.original_tagname_ = 'Bezeichnung' + elif nodeName_ == 'ID_ZLV_Bus': + obj_ = TCID_ZLV_Bus_ohne_Proxy.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_ZLV_Bus = obj_ + obj_.original_tagname_ = 'ID_ZLV_Bus' + super(CZLV_Bus_Besondere_Anlage, self)._buildChildren(child_, node, nodeName_, True) +# end class CZLV_Bus_Besondere_Anlage + + +class TCTelegramm_03(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCTelegramm_03"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCTelegramm_03) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCTelegramm_03.subclass: + return TCTelegramm_03.subclass(*args_, **kwargs_) + else: + return TCTelegramm_03(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def has__content(self): + if ( + self.Wert is not None or + super(TCTelegramm_03, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsZugnummernmeldeanlage:', namespacedef_='xmlns:nsZugnummernmeldeanlage="http://www.plan-pro.org/modell/Zugnummernmeldeanlage/1.10.0"', name_='TCTelegramm_03', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCTelegramm_03') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCTelegramm_03': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCTelegramm_03') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCTelegramm_03', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsZugnummernmeldeanlage:', name_='TCTelegramm_03'): + super(TCTelegramm_03, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCTelegramm_03') + def _exportChildren(self, outfile, level, namespaceprefix_='nsZugnummernmeldeanlage:', namespacedef_='xmlns:nsZugnummernmeldeanlage="http://www.plan-pro.org/modell/Zugnummernmeldeanlage/1.10.0"', name_='TCTelegramm_03', fromsubclass_=False, pretty_print=True): + super(TCTelegramm_03, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_boolean(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCTelegramm_03, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + sval_ = child_.text + ival_ = self.gds_parse_boolean(sval_, node, 'Wert') + ival_ = self.gds_validate_boolean(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + super(TCTelegramm_03, self)._buildChildren(child_, node, nodeName_, True) +# end class TCTelegramm_03 + + +class TCZN_Anzeigefeld_Loeschkriterium(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCZN_Anzeigefeld_Loeschkriterium"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMZN_Anzeigefeld_Loeschkriterium(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCZN_Anzeigefeld_Loeschkriterium) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCZN_Anzeigefeld_Loeschkriterium.subclass: + return TCZN_Anzeigefeld_Loeschkriterium.subclass(*args_, **kwargs_) + else: + return TCZN_Anzeigefeld_Loeschkriterium(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMZN_Anzeigefeld_Loeschkriterium(self, value): + result = True + # Validate type ENUMZN_Anzeigefeld_Loeschkriterium, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['automatisch_nach_30_s', 'Fahrstrasse_aufgeloest', 'Fortschaltung_beim_Nachbarn', 'haendisch', 'Rueckblock_eingegangen', 'sonstige'] + 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 ENUMZN_Anzeigefeld_Loeschkriterium' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCZN_Anzeigefeld_Loeschkriterium, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsZugnummernmeldeanlage:', namespacedef_='xmlns:nsZugnummernmeldeanlage="http://www.plan-pro.org/modell/Zugnummernmeldeanlage/1.10.0"', name_='TCZN_Anzeigefeld_Loeschkriterium', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCZN_Anzeigefeld_Loeschkriterium') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCZN_Anzeigefeld_Loeschkriterium': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCZN_Anzeigefeld_Loeschkriterium') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCZN_Anzeigefeld_Loeschkriterium', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsZugnummernmeldeanlage:', name_='TCZN_Anzeigefeld_Loeschkriterium'): + super(TCZN_Anzeigefeld_Loeschkriterium, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCZN_Anzeigefeld_Loeschkriterium') + def _exportChildren(self, outfile, level, namespaceprefix_='nsZugnummernmeldeanlage:', namespacedef_='xmlns:nsZugnummernmeldeanlage="http://www.plan-pro.org/modell/Zugnummernmeldeanlage/1.10.0"', name_='TCZN_Anzeigefeld_Loeschkriterium', fromsubclass_=False, pretty_print=True): + super(TCZN_Anzeigefeld_Loeschkriterium, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCZN_Anzeigefeld_Loeschkriterium, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMZN_Anzeigefeld_Loeschkriterium + self.validate_ENUMZN_Anzeigefeld_Loeschkriterium(self.Wert) + super(TCZN_Anzeigefeld_Loeschkriterium, self)._buildChildren(child_, node, nodeName_, True) +# end class TCZN_Anzeigefeld_Loeschkriterium + + +class TCReaktivierungsfunktion(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCReaktivierungsfunktion"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCReaktivierungsfunktion) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCReaktivierungsfunktion.subclass: + return TCReaktivierungsfunktion.subclass(*args_, **kwargs_) + else: + return TCReaktivierungsfunktion(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def has__content(self): + if ( + self.Wert is not None or + super(TCReaktivierungsfunktion, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsZugnummernmeldeanlage:', namespacedef_='xmlns:nsZugnummernmeldeanlage="http://www.plan-pro.org/modell/Zugnummernmeldeanlage/1.10.0"', name_='TCReaktivierungsfunktion', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCReaktivierungsfunktion') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCReaktivierungsfunktion': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCReaktivierungsfunktion') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCReaktivierungsfunktion', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsZugnummernmeldeanlage:', name_='TCReaktivierungsfunktion'): + super(TCReaktivierungsfunktion, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCReaktivierungsfunktion') + def _exportChildren(self, outfile, level, namespaceprefix_='nsZugnummernmeldeanlage:', namespacedef_='xmlns:nsZugnummernmeldeanlage="http://www.plan-pro.org/modell/Zugnummernmeldeanlage/1.10.0"', name_='TCReaktivierungsfunktion', fromsubclass_=False, pretty_print=True): + super(TCReaktivierungsfunktion, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_boolean(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCReaktivierungsfunktion, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + sval_ = child_.text + ival_ = self.gds_parse_boolean(sval_, node, 'Wert') + ival_ = self.gds_validate_boolean(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + super(TCReaktivierungsfunktion, self)._buildChildren(child_, node, nodeName_, True) +# end class TCReaktivierungsfunktion + + +class TCTelegramm_84_Fuer_Alle_Fstr(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCTelegramm_84_Fuer_Alle_Fstr"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCTelegramm_84_Fuer_Alle_Fstr) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCTelegramm_84_Fuer_Alle_Fstr.subclass: + return TCTelegramm_84_Fuer_Alle_Fstr.subclass(*args_, **kwargs_) + else: + return TCTelegramm_84_Fuer_Alle_Fstr(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def has__content(self): + if ( + self.Wert is not None or + super(TCTelegramm_84_Fuer_Alle_Fstr, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsZugnummernmeldeanlage:', namespacedef_='xmlns:nsZugnummernmeldeanlage="http://www.plan-pro.org/modell/Zugnummernmeldeanlage/1.10.0"', name_='TCTelegramm_84_Fuer_Alle_Fstr', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCTelegramm_84_Fuer_Alle_Fstr') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCTelegramm_84_Fuer_Alle_Fstr': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCTelegramm_84_Fuer_Alle_Fstr') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCTelegramm_84_Fuer_Alle_Fstr', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsZugnummernmeldeanlage:', name_='TCTelegramm_84_Fuer_Alle_Fstr'): + super(TCTelegramm_84_Fuer_Alle_Fstr, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCTelegramm_84_Fuer_Alle_Fstr') + def _exportChildren(self, outfile, level, namespaceprefix_='nsZugnummernmeldeanlage:', namespacedef_='xmlns:nsZugnummernmeldeanlage="http://www.plan-pro.org/modell/Zugnummernmeldeanlage/1.10.0"', name_='TCTelegramm_84_Fuer_Alle_Fstr', fromsubclass_=False, pretty_print=True): + super(TCTelegramm_84_Fuer_Alle_Fstr, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_boolean(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCTelegramm_84_Fuer_Alle_Fstr, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + sval_ = child_.text + ival_ = self.gds_parse_boolean(sval_, node, 'Wert') + ival_ = self.gds_validate_boolean(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + super(TCTelegramm_84_Fuer_Alle_Fstr, self)._buildChildren(child_, node, nodeName_, True) +# end class TCTelegramm_84_Fuer_Alle_Fstr + + +class TCKoppelunterstation(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCKoppelunterstation"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCKoppelunterstation) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCKoppelunterstation.subclass: + return TCKoppelunterstation.subclass(*args_, **kwargs_) + else: + return TCKoppelunterstation(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def has__content(self): + if ( + self.Wert is not None or + super(TCKoppelunterstation, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsZugnummernmeldeanlage:', namespacedef_='xmlns:nsZugnummernmeldeanlage="http://www.plan-pro.org/modell/Zugnummernmeldeanlage/1.10.0"', name_='TCKoppelunterstation', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCKoppelunterstation') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCKoppelunterstation': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCKoppelunterstation') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCKoppelunterstation', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsZugnummernmeldeanlage:', name_='TCKoppelunterstation'): + super(TCKoppelunterstation, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCKoppelunterstation') + def _exportChildren(self, outfile, level, namespaceprefix_='nsZugnummernmeldeanlage:', namespacedef_='xmlns:nsZugnummernmeldeanlage="http://www.plan-pro.org/modell/Zugnummernmeldeanlage/1.10.0"', name_='TCKoppelunterstation', fromsubclass_=False, pretty_print=True): + super(TCKoppelunterstation, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_boolean(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCKoppelunterstation, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + sval_ = child_.text + ival_ = self.gds_parse_boolean(sval_, node, 'Wert') + ival_ = self.gds_validate_boolean(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + super(TCKoppelunterstation, self)._buildChildren(child_, node, nodeName_, True) +# end class TCKoppelunterstation + + +class TCZBS_Adresse(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCZBS_Adresse"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TZBS_Adresse(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCZBS_Adresse) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCZBS_Adresse.subclass: + return TCZBS_Adresse.subclass(*args_, **kwargs_) + else: + return TCZBS_Adresse(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TZBS_Adresse(self, value): + result = True + # Validate type TZBS_Adresse, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TZBS_Adresse_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TZBS_Adresse_patterns_, )) + result = False + return result + validate_TZBS_Adresse_patterns_ = [['^([A-F][0-9]|[C-F][A-F]|[AB][C-F]|AB|BA)$'], ['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCZBS_Adresse, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsZugnummernmeldeanlage:', namespacedef_='xmlns:nsZugnummernmeldeanlage="http://www.plan-pro.org/modell/Zugnummernmeldeanlage/1.10.0"', name_='TCZBS_Adresse', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCZBS_Adresse') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCZBS_Adresse': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCZBS_Adresse') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCZBS_Adresse', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsZugnummernmeldeanlage:', name_='TCZBS_Adresse'): + super(TCZBS_Adresse, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCZBS_Adresse') + def _exportChildren(self, outfile, level, namespaceprefix_='nsZugnummernmeldeanlage:', namespacedef_='xmlns:nsZugnummernmeldeanlage="http://www.plan-pro.org/modell/Zugnummernmeldeanlage/1.10.0"', name_='TCZBS_Adresse', fromsubclass_=False, pretty_print=True): + super(TCZBS_Adresse, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCZBS_Adresse, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TZBS_Adresse + self.validate_TZBS_Adresse(self.Wert) + super(TCZBS_Adresse, self)._buildChildren(child_, node, nodeName_, True) +# end class TCZBS_Adresse + + +class CZN_Fortschalt_Kriterium(CBasis_Objekt): + """CZN_Fortschalt_Kriterium -- Objekt, welches die funktionellen ZN-Fortschaltkriterien beschreibt. Die Attributgruppe ZN_Fortschalt_Krit_Druck wird nur angelegt, wenn aus dem Fortschaltkriterium ein Druck erzeugt wird. DB-Regelwerk 819.0731 6 (16) und (17) + ID_ZN -- Verweis auf die ZN, zu der das Fortschaltkriterium geh + ö + rt. + ID_ZN_Fortschalt_Krit_Start -- Verweis auf das ZN Anzeigefeld in der Bedienoberfl + ä + che, von dem aus die Zugnummer fortgeschaltet wird. + ID_ZN_Fortschalt_Krit_Ziel -- Verweis auf das ZN Anzeigefeld in der Bedienoberfl + ä + che, in das die Zugnummer fortgeschaltet wird. Die Angabe erfolgt nur bei besonderen Schaltkriterien. Eine Fortschaltung ist in mehrere Richtungen m + ö + glich. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasis_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, ID_ZN=None, ID_ZN_Fortschalt_Krit_Start=None, ID_ZN_Fortschalt_Krit_Ziel=None, ZN_Fortschalt_Krit_Druck=None, ZN_Fortschalt_Krit_Schalt=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CZN_Fortschalt_Kriterium"), self).__init__(Identitaet, Basis_Objekt_Allg, ID_Bearbeitungsvermerk, ID_Oertlichkeit_Ausgabe, Objektreferenzen, **kwargs_) + self.ID_ZN = ID_ZN + self.ID_ZN_nsprefix_ = None + self.ID_ZN_Fortschalt_Krit_Start = ID_ZN_Fortschalt_Krit_Start + self.ID_ZN_Fortschalt_Krit_Start_nsprefix_ = None + if ID_ZN_Fortschalt_Krit_Ziel is None: + self.ID_ZN_Fortschalt_Krit_Ziel = [] + else: + self.ID_ZN_Fortschalt_Krit_Ziel = ID_ZN_Fortschalt_Krit_Ziel + self.ID_ZN_Fortschalt_Krit_Ziel_nsprefix_ = None + self.ZN_Fortschalt_Krit_Druck = ZN_Fortschalt_Krit_Druck + self.ZN_Fortschalt_Krit_Druck_nsprefix_ = None + if ZN_Fortschalt_Krit_Schalt is None: + self.ZN_Fortschalt_Krit_Schalt = [] + else: + self.ZN_Fortschalt_Krit_Schalt = ZN_Fortschalt_Krit_Schalt + self.ZN_Fortschalt_Krit_Schalt_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CZN_Fortschalt_Kriterium) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CZN_Fortschalt_Kriterium.subclass: + return CZN_Fortschalt_Kriterium.subclass(*args_, **kwargs_) + else: + return CZN_Fortschalt_Kriterium(*args_, **kwargs_) + factory = staticmethod(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_ZN(self): + return self.ID_ZN + def set_ID_ZN(self, ID_ZN): + self.ID_ZN = ID_ZN + def get_ID_ZN_Fortschalt_Krit_Start(self): + return self.ID_ZN_Fortschalt_Krit_Start + def set_ID_ZN_Fortschalt_Krit_Start(self, ID_ZN_Fortschalt_Krit_Start): + self.ID_ZN_Fortschalt_Krit_Start = ID_ZN_Fortschalt_Krit_Start + def get_ID_ZN_Fortschalt_Krit_Ziel(self): + return self.ID_ZN_Fortschalt_Krit_Ziel + def set_ID_ZN_Fortschalt_Krit_Ziel(self, ID_ZN_Fortschalt_Krit_Ziel): + self.ID_ZN_Fortschalt_Krit_Ziel = ID_ZN_Fortschalt_Krit_Ziel + def add_ID_ZN_Fortschalt_Krit_Ziel(self, value): + self.ID_ZN_Fortschalt_Krit_Ziel.append(value) + def insert_ID_ZN_Fortschalt_Krit_Ziel_at(self, index, value): + self.ID_ZN_Fortschalt_Krit_Ziel.insert(index, value) + def replace_ID_ZN_Fortschalt_Krit_Ziel_at(self, index, value): + self.ID_ZN_Fortschalt_Krit_Ziel[index] = value + def get_ZN_Fortschalt_Krit_Druck(self): + return self.ZN_Fortschalt_Krit_Druck + def set_ZN_Fortschalt_Krit_Druck(self, ZN_Fortschalt_Krit_Druck): + self.ZN_Fortschalt_Krit_Druck = ZN_Fortschalt_Krit_Druck + def get_ZN_Fortschalt_Krit_Schalt(self): + return self.ZN_Fortschalt_Krit_Schalt + def set_ZN_Fortschalt_Krit_Schalt(self, ZN_Fortschalt_Krit_Schalt): + self.ZN_Fortschalt_Krit_Schalt = ZN_Fortschalt_Krit_Schalt + def add_ZN_Fortschalt_Krit_Schalt(self, value): + self.ZN_Fortschalt_Krit_Schalt.append(value) + def insert_ZN_Fortschalt_Krit_Schalt_at(self, index, value): + self.ZN_Fortschalt_Krit_Schalt.insert(index, value) + def replace_ZN_Fortschalt_Krit_Schalt_at(self, index, value): + self.ZN_Fortschalt_Krit_Schalt[index] = value + def has__content(self): + if ( + self.ID_ZN is not None or + self.ID_ZN_Fortschalt_Krit_Start is not None or + self.ID_ZN_Fortschalt_Krit_Ziel or + self.ZN_Fortschalt_Krit_Druck is not None or + self.ZN_Fortschalt_Krit_Schalt or + super(CZN_Fortschalt_Kriterium, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsZugnummernmeldeanlage:', namespacedef_='xmlns:nsZugnummernmeldeanlage="http://www.plan-pro.org/modell/Zugnummernmeldeanlage/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CZN_Fortschalt_Kriterium', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CZN_Fortschalt_Kriterium') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CZN_Fortschalt_Kriterium': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CZN_Fortschalt_Kriterium') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CZN_Fortschalt_Kriterium', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsZugnummernmeldeanlage:', name_='CZN_Fortschalt_Kriterium'): + super(CZN_Fortschalt_Kriterium, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CZN_Fortschalt_Kriterium') + def _exportChildren(self, outfile, level, namespaceprefix_='nsZugnummernmeldeanlage:', namespacedef_='xmlns:nsZugnummernmeldeanlage="http://www.plan-pro.org/modell/Zugnummernmeldeanlage/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CZN_Fortschalt_Kriterium', fromsubclass_=False, pretty_print=True): + super(CZN_Fortschalt_Kriterium, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.ID_ZN is not None: + namespaceprefix_ = self.ID_ZN_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_ZN_nsprefix_) else '' + self.ID_ZN.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_ZN', pretty_print=pretty_print) + if self.ID_ZN_Fortschalt_Krit_Start is not None: + namespaceprefix_ = self.ID_ZN_Fortschalt_Krit_Start_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_ZN_Fortschalt_Krit_Start_nsprefix_) else '' + self.ID_ZN_Fortschalt_Krit_Start.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_ZN_Fortschalt_Krit_Start', pretty_print=pretty_print) + for ID_ZN_Fortschalt_Krit_Ziel_ in self.ID_ZN_Fortschalt_Krit_Ziel: + namespaceprefix_ = self.ID_ZN_Fortschalt_Krit_Ziel_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_ZN_Fortschalt_Krit_Ziel_nsprefix_) else '' + ID_ZN_Fortschalt_Krit_Ziel_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_ZN_Fortschalt_Krit_Ziel', pretty_print=pretty_print) + if self.ZN_Fortschalt_Krit_Druck is not None: + namespaceprefix_ = self.ZN_Fortschalt_Krit_Druck_nsprefix_ + ':' if (UseCapturedNS_ and self.ZN_Fortschalt_Krit_Druck_nsprefix_) else '' + self.ZN_Fortschalt_Krit_Druck.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ZN_Fortschalt_Krit_Druck', pretty_print=pretty_print) + for ZN_Fortschalt_Krit_Schalt_ in self.ZN_Fortschalt_Krit_Schalt: + namespaceprefix_ = self.ZN_Fortschalt_Krit_Schalt_nsprefix_ + ':' if (UseCapturedNS_ and self.ZN_Fortschalt_Krit_Schalt_nsprefix_) else '' + ZN_Fortschalt_Krit_Schalt_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ZN_Fortschalt_Krit_Schalt', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CZN_Fortschalt_Kriterium, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_ZN': + obj_ = TCID_ZN.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_ZN = obj_ + obj_.original_tagname_ = 'ID_ZN' + elif nodeName_ == 'ID_ZN_Fortschalt_Krit_Start': + obj_ = TCID_ZN_Anzeigefeld.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_ZN_Fortschalt_Krit_Start = obj_ + obj_.original_tagname_ = 'ID_ZN_Fortschalt_Krit_Start' + elif nodeName_ == 'ID_ZN_Fortschalt_Krit_Ziel': + obj_ = TCID_ZN_Anzeigefeld.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_ZN_Fortschalt_Krit_Ziel.append(obj_) + obj_.original_tagname_ = 'ID_ZN_Fortschalt_Krit_Ziel' + elif nodeName_ == 'ZN_Fortschalt_Krit_Druck': + obj_ = CZN_Fortschalt_Krit_Druck.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ZN_Fortschalt_Krit_Druck = obj_ + obj_.original_tagname_ = 'ZN_Fortschalt_Krit_Druck' + elif nodeName_ == 'ZN_Fortschalt_Krit_Schalt': + obj_ = CZN_Fortschalt_Krit_Schalt.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ZN_Fortschalt_Krit_Schalt.append(obj_) + obj_.original_tagname_ = 'ZN_Fortschalt_Krit_Schalt' + super(CZN_Fortschalt_Kriterium, self)._buildChildren(child_, node, nodeName_, True) +# end class CZN_Fortschalt_Kriterium + + +class TCTelegrammwiederholung(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCTelegrammwiederholung"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCTelegrammwiederholung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCTelegrammwiederholung.subclass: + return TCTelegrammwiederholung.subclass(*args_, **kwargs_) + else: + return TCTelegrammwiederholung(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def has__content(self): + if ( + self.Wert is not None or + super(TCTelegrammwiederholung, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsZugnummernmeldeanlage:', namespacedef_='xmlns:nsZugnummernmeldeanlage="http://www.plan-pro.org/modell/Zugnummernmeldeanlage/1.10.0"', name_='TCTelegrammwiederholung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCTelegrammwiederholung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCTelegrammwiederholung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCTelegrammwiederholung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCTelegrammwiederholung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsZugnummernmeldeanlage:', name_='TCTelegrammwiederholung'): + super(TCTelegrammwiederholung, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCTelegrammwiederholung') + def _exportChildren(self, outfile, level, namespaceprefix_='nsZugnummernmeldeanlage:', namespacedef_='xmlns:nsZugnummernmeldeanlage="http://www.plan-pro.org/modell/Zugnummernmeldeanlage/1.10.0"', name_='TCTelegrammwiederholung', fromsubclass_=False, pretty_print=True): + super(TCTelegrammwiederholung, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_boolean(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCTelegrammwiederholung, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + sval_ = child_.text + ival_ = self.gds_parse_boolean(sval_, node, 'Wert') + ival_ = self.gds_validate_boolean(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + super(TCTelegrammwiederholung, self)._buildChildren(child_, node, nodeName_, True) +# end class TCTelegrammwiederholung + + +class CZLV_Bus_US_Zuordnung(CBasis_Objekt): + """CZLV_Bus_US_Zuordnung -- Zuordnung von ZLV-Bussen zur ZN Unterstation und Angabe durchzureichender Telegramme. Logisches Objekt, falls eine ZN Unterstation an mehrere ZLV-Busse angebunden wird. DB-Regelwerk 819.0731 5 (4) ff Die Darstellung der Angaben erfolgt im ZLV-Bus- + Ü + bersichtsplan nach 819.0731 A01 + ID_ZLV_Bus -- Verweis auf die ID des ZLV-Busses, an den die Unterstation angebunden wird. + ID_ZN_Unterstation -- Verweis auf die ID der ZLV-Bus-Unterstation, die an den ZLV-Bus angeschlossen wird. + ZLV_Bus_US_Zuordnung_Telegramm -- Darstellung von durchzureichenden Telegrammen gem + ä + ß + Tabelle 2 in der Ril 819.0731 A02. Die Attributgruppe dient der Zuordnung zur Quell-Unterstation, von der ZN-Anzeigefelder und/oder Telegramme durchgereicht werden. Firmenspezifische Telegrammarten werden nicht durchgereicht. DB-Regelwerk 819.0731 A02. Die Darstellung im PT1 erfolgt, wenn + ü + berhaupt, im Erl + ä + uterungsbericht. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasis_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, ID_ZLV_Bus=None, ID_ZN_Unterstation=None, ZLV_Bus_US_Zuordnung_Telegramm=None, ZLV_Bus_Zuordnung_Allg=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CZLV_Bus_US_Zuordnung"), self).__init__(Identitaet, Basis_Objekt_Allg, ID_Bearbeitungsvermerk, ID_Oertlichkeit_Ausgabe, Objektreferenzen, **kwargs_) + self.ID_ZLV_Bus = ID_ZLV_Bus + self.ID_ZLV_Bus_nsprefix_ = None + self.ID_ZN_Unterstation = ID_ZN_Unterstation + self.ID_ZN_Unterstation_nsprefix_ = None + self.ZLV_Bus_US_Zuordnung_Telegramm = ZLV_Bus_US_Zuordnung_Telegramm + self.ZLV_Bus_US_Zuordnung_Telegramm_nsprefix_ = None + self.ZLV_Bus_Zuordnung_Allg = ZLV_Bus_Zuordnung_Allg + self.ZLV_Bus_Zuordnung_Allg_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CZLV_Bus_US_Zuordnung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CZLV_Bus_US_Zuordnung.subclass: + return CZLV_Bus_US_Zuordnung.subclass(*args_, **kwargs_) + else: + return CZLV_Bus_US_Zuordnung(*args_, **kwargs_) + factory = staticmethod(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_ZLV_Bus(self): + return self.ID_ZLV_Bus + def set_ID_ZLV_Bus(self, ID_ZLV_Bus): + self.ID_ZLV_Bus = ID_ZLV_Bus + def get_ID_ZN_Unterstation(self): + return self.ID_ZN_Unterstation + def set_ID_ZN_Unterstation(self, ID_ZN_Unterstation): + self.ID_ZN_Unterstation = ID_ZN_Unterstation + def get_ZLV_Bus_US_Zuordnung_Telegramm(self): + return self.ZLV_Bus_US_Zuordnung_Telegramm + def set_ZLV_Bus_US_Zuordnung_Telegramm(self, ZLV_Bus_US_Zuordnung_Telegramm): + self.ZLV_Bus_US_Zuordnung_Telegramm = ZLV_Bus_US_Zuordnung_Telegramm + def get_ZLV_Bus_Zuordnung_Allg(self): + return self.ZLV_Bus_Zuordnung_Allg + def set_ZLV_Bus_Zuordnung_Allg(self, ZLV_Bus_Zuordnung_Allg): + self.ZLV_Bus_Zuordnung_Allg = ZLV_Bus_Zuordnung_Allg + def has__content(self): + if ( + self.ID_ZLV_Bus is not None or + self.ID_ZN_Unterstation is not None or + self.ZLV_Bus_US_Zuordnung_Telegramm is not None or + self.ZLV_Bus_Zuordnung_Allg is not None or + super(CZLV_Bus_US_Zuordnung, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsZugnummernmeldeanlage:', namespacedef_='xmlns:nsZugnummernmeldeanlage="http://www.plan-pro.org/modell/Zugnummernmeldeanlage/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CZLV_Bus_US_Zuordnung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CZLV_Bus_US_Zuordnung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CZLV_Bus_US_Zuordnung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CZLV_Bus_US_Zuordnung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CZLV_Bus_US_Zuordnung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsZugnummernmeldeanlage:', name_='CZLV_Bus_US_Zuordnung'): + super(CZLV_Bus_US_Zuordnung, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CZLV_Bus_US_Zuordnung') + def _exportChildren(self, outfile, level, namespaceprefix_='nsZugnummernmeldeanlage:', namespacedef_='xmlns:nsZugnummernmeldeanlage="http://www.plan-pro.org/modell/Zugnummernmeldeanlage/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CZLV_Bus_US_Zuordnung', fromsubclass_=False, pretty_print=True): + super(CZLV_Bus_US_Zuordnung, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.ID_ZLV_Bus is not None: + namespaceprefix_ = self.ID_ZLV_Bus_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_ZLV_Bus_nsprefix_) else '' + self.ID_ZLV_Bus.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_ZLV_Bus', pretty_print=pretty_print) + if self.ID_ZN_Unterstation is not None: + namespaceprefix_ = self.ID_ZN_Unterstation_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_ZN_Unterstation_nsprefix_) else '' + self.ID_ZN_Unterstation.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_ZN_Unterstation', pretty_print=pretty_print) + if self.ZLV_Bus_US_Zuordnung_Telegramm is not None: + namespaceprefix_ = self.ZLV_Bus_US_Zuordnung_Telegramm_nsprefix_ + ':' if (UseCapturedNS_ and self.ZLV_Bus_US_Zuordnung_Telegramm_nsprefix_) else '' + self.ZLV_Bus_US_Zuordnung_Telegramm.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ZLV_Bus_US_Zuordnung_Telegramm', pretty_print=pretty_print) + if self.ZLV_Bus_Zuordnung_Allg is not None: + namespaceprefix_ = self.ZLV_Bus_Zuordnung_Allg_nsprefix_ + ':' if (UseCapturedNS_ and self.ZLV_Bus_Zuordnung_Allg_nsprefix_) else '' + self.ZLV_Bus_Zuordnung_Allg.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ZLV_Bus_Zuordnung_Allg', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CZLV_Bus_US_Zuordnung, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_ZLV_Bus': + obj_ = TCID_ZLV_Bus.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_ZLV_Bus = obj_ + obj_.original_tagname_ = 'ID_ZLV_Bus' + elif nodeName_ == 'ID_ZN_Unterstation': + obj_ = TCID_ZN_Unterstation.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_ZN_Unterstation = obj_ + obj_.original_tagname_ = 'ID_ZN_Unterstation' + elif nodeName_ == 'ZLV_Bus_US_Zuordnung_Telegramm': + obj_ = CZLV_Bus_US_Zuordnung_Telegramm.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ZLV_Bus_US_Zuordnung_Telegramm = obj_ + obj_.original_tagname_ = 'ZLV_Bus_US_Zuordnung_Telegramm' + elif nodeName_ == 'ZLV_Bus_Zuordnung_Allg': + obj_ = CZLV_Bus_Zuordnung_Allg.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ZLV_Bus_Zuordnung_Allg = obj_ + obj_.original_tagname_ = 'ZLV_Bus_Zuordnung_Allg' + super(CZLV_Bus_US_Zuordnung, self)._buildChildren(child_, node, nodeName_, True) +# end class CZLV_Bus_US_Zuordnung + + +class TCAusfahrdruck_Gegengleis(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCAusfahrdruck_Gegengleis"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TWirkrichtung(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCAusfahrdruck_Gegengleis) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCAusfahrdruck_Gegengleis.subclass: + return TCAusfahrdruck_Gegengleis.subclass(*args_, **kwargs_) + else: + return TCAusfahrdruck_Gegengleis(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TWirkrichtung(self, value): + result = True + # Validate type TWirkrichtung, a restriction on nsBasisTypen:ENUMWirkrichtung. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['beide', 'gegen', 'in'] + 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 TWirkrichtung' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCAusfahrdruck_Gegengleis, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsZugnummernmeldeanlage:', namespacedef_='xmlns:nsZugnummernmeldeanlage="http://www.plan-pro.org/modell/Zugnummernmeldeanlage/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCAusfahrdruck_Gegengleis', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCAusfahrdruck_Gegengleis') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCAusfahrdruck_Gegengleis': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCAusfahrdruck_Gegengleis') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCAusfahrdruck_Gegengleis', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsZugnummernmeldeanlage:', name_='TCAusfahrdruck_Gegengleis'): + super(TCAusfahrdruck_Gegengleis, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCAusfahrdruck_Gegengleis') + def _exportChildren(self, outfile, level, namespaceprefix_='nsZugnummernmeldeanlage:', namespacedef_='xmlns:nsZugnummernmeldeanlage="http://www.plan-pro.org/modell/Zugnummernmeldeanlage/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCAusfahrdruck_Gegengleis', fromsubclass_=False, pretty_print=True): + super(TCAusfahrdruck_Gegengleis, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCAusfahrdruck_Gegengleis, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TWirkrichtung + self.validate_TWirkrichtung(self.Wert) + super(TCAusfahrdruck_Gegengleis, self)._buildChildren(child_, node, nodeName_, True) +# end class TCAusfahrdruck_Gegengleis + + +class TCSichtbarkeit_Anzeigefeld(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCSichtbarkeit_Anzeigefeld"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCSichtbarkeit_Anzeigefeld) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCSichtbarkeit_Anzeigefeld.subclass: + return TCSichtbarkeit_Anzeigefeld.subclass(*args_, **kwargs_) + else: + return TCSichtbarkeit_Anzeigefeld(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def has__content(self): + if ( + self.Wert is not None or + super(TCSichtbarkeit_Anzeigefeld, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsZugnummernmeldeanlage:', namespacedef_='xmlns:nsZugnummernmeldeanlage="http://www.plan-pro.org/modell/Zugnummernmeldeanlage/1.10.0"', name_='TCSichtbarkeit_Anzeigefeld', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCSichtbarkeit_Anzeigefeld') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCSichtbarkeit_Anzeigefeld': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCSichtbarkeit_Anzeigefeld') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCSichtbarkeit_Anzeigefeld', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsZugnummernmeldeanlage:', name_='TCSichtbarkeit_Anzeigefeld'): + super(TCSichtbarkeit_Anzeigefeld, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCSichtbarkeit_Anzeigefeld') + def _exportChildren(self, outfile, level, namespaceprefix_='nsZugnummernmeldeanlage:', namespacedef_='xmlns:nsZugnummernmeldeanlage="http://www.plan-pro.org/modell/Zugnummernmeldeanlage/1.10.0"', name_='TCSichtbarkeit_Anzeigefeld', fromsubclass_=False, pretty_print=True): + super(TCSichtbarkeit_Anzeigefeld, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_boolean(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCSichtbarkeit_Anzeigefeld, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + sval_ = child_.text + ival_ = self.gds_parse_boolean(sval_, node, 'Wert') + ival_ = self.gds_validate_boolean(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + super(TCSichtbarkeit_Anzeigefeld, self)._buildChildren(child_, node, nodeName_, True) +# end class TCSichtbarkeit_Anzeigefeld + + +class TCBf_Nr_ZN_A(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCBf_Nr_ZN_A"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCBf_Nr_ZN_A) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCBf_Nr_ZN_A.subclass: + return TCBf_Nr_ZN_A.subclass(*args_, **kwargs_) + else: + return TCBf_Nr_ZN_A(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def has__content(self): + if ( + self.Wert is not None or + super(TCBf_Nr_ZN_A, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsZugnummernmeldeanlage:', namespacedef_='xmlns:nsZugnummernmeldeanlage="http://www.plan-pro.org/modell/Zugnummernmeldeanlage/1.10.0"', name_='TCBf_Nr_ZN_A', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCBf_Nr_ZN_A') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCBf_Nr_ZN_A': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBf_Nr_ZN_A') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCBf_Nr_ZN_A', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsZugnummernmeldeanlage:', name_='TCBf_Nr_ZN_A'): + super(TCBf_Nr_ZN_A, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBf_Nr_ZN_A') + def _exportChildren(self, outfile, level, namespaceprefix_='nsZugnummernmeldeanlage:', namespacedef_='xmlns:nsZugnummernmeldeanlage="http://www.plan-pro.org/modell/Zugnummernmeldeanlage/1.10.0"', name_='TCBf_Nr_ZN_A', fromsubclass_=False, pretty_print=True): + super(TCBf_Nr_ZN_A, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_integer(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCBf_Nr_ZN_A, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + ival_ = self.gds_parse_integer(sval_, node, 'Wert') + ival_ = self.gds_validate_integer(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + super(TCBf_Nr_ZN_A, self)._buildChildren(child_, node, nodeName_, True) +# end class TCBf_Nr_ZN_A + + +class TCTelegramm_85_Fuer_Alle_Fstr(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCTelegramm_85_Fuer_Alle_Fstr"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCTelegramm_85_Fuer_Alle_Fstr) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCTelegramm_85_Fuer_Alle_Fstr.subclass: + return TCTelegramm_85_Fuer_Alle_Fstr.subclass(*args_, **kwargs_) + else: + return TCTelegramm_85_Fuer_Alle_Fstr(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def has__content(self): + if ( + self.Wert is not None or + super(TCTelegramm_85_Fuer_Alle_Fstr, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsZugnummernmeldeanlage:', namespacedef_='xmlns:nsZugnummernmeldeanlage="http://www.plan-pro.org/modell/Zugnummernmeldeanlage/1.10.0"', name_='TCTelegramm_85_Fuer_Alle_Fstr', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCTelegramm_85_Fuer_Alle_Fstr') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCTelegramm_85_Fuer_Alle_Fstr': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCTelegramm_85_Fuer_Alle_Fstr') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCTelegramm_85_Fuer_Alle_Fstr', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsZugnummernmeldeanlage:', name_='TCTelegramm_85_Fuer_Alle_Fstr'): + super(TCTelegramm_85_Fuer_Alle_Fstr, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCTelegramm_85_Fuer_Alle_Fstr') + def _exportChildren(self, outfile, level, namespaceprefix_='nsZugnummernmeldeanlage:', namespacedef_='xmlns:nsZugnummernmeldeanlage="http://www.plan-pro.org/modell/Zugnummernmeldeanlage/1.10.0"', name_='TCTelegramm_85_Fuer_Alle_Fstr', fromsubclass_=False, pretty_print=True): + super(TCTelegramm_85_Fuer_Alle_Fstr, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_boolean(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCTelegramm_85_Fuer_Alle_Fstr, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + sval_ = child_.text + ival_ = self.gds_parse_boolean(sval_, node, 'Wert') + ival_ = self.gds_validate_boolean(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + super(TCTelegramm_85_Fuer_Alle_Fstr, self)._buildChildren(child_, node, nodeName_, True) +# end class TCTelegramm_85_Fuer_Alle_Fstr + + +class TCBf_Nr(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCBf_Nr"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TBf_Nr(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCBf_Nr) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCBf_Nr.subclass: + return TCBf_Nr.subclass(*args_, **kwargs_) + else: + return TCBf_Nr(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TBf_Nr(self, value): + result = True + # Validate type TBf_Nr, a restriction on xs:integer. + 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_TBf_Nr_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TBf_Nr_patterns_, )) + result = False + return result + validate_TBf_Nr_patterns_ = [['^(0[1-9]|[1-9][0-9])$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCBf_Nr, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsZugnummernmeldeanlage:', namespacedef_='xmlns:nsZugnummernmeldeanlage="http://www.plan-pro.org/modell/Zugnummernmeldeanlage/1.10.0"', name_='TCBf_Nr', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCBf_Nr') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCBf_Nr': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBf_Nr') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCBf_Nr', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsZugnummernmeldeanlage:', name_='TCBf_Nr'): + super(TCBf_Nr, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBf_Nr') + def _exportChildren(self, outfile, level, namespaceprefix_='nsZugnummernmeldeanlage:', namespacedef_='xmlns:nsZugnummernmeldeanlage="http://www.plan-pro.org/modell/Zugnummernmeldeanlage/1.10.0"', name_='TCBf_Nr', fromsubclass_=False, pretty_print=True): + super(TCBf_Nr, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_integer(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCBf_Nr, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + ival_ = self.gds_parse_integer(sval_, node, 'Wert') + ival_ = self.gds_validate_integer(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + # validate type TBf_Nr + self.validate_TBf_Nr(self.Wert) + super(TCBf_Nr, self)._buildChildren(child_, node, nodeName_, True) +# end class TCBf_Nr + + +class TCEinfahrdruck_Gegengleis(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCEinfahrdruck_Gegengleis"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TWirkrichtung(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCEinfahrdruck_Gegengleis) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCEinfahrdruck_Gegengleis.subclass: + return TCEinfahrdruck_Gegengleis.subclass(*args_, **kwargs_) + else: + return TCEinfahrdruck_Gegengleis(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TWirkrichtung(self, value): + result = True + # Validate type TWirkrichtung, a restriction on nsBasisTypen:ENUMWirkrichtung. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['beide', 'gegen', 'in'] + 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 TWirkrichtung' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCEinfahrdruck_Gegengleis, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsZugnummernmeldeanlage:', namespacedef_='xmlns:nsZugnummernmeldeanlage="http://www.plan-pro.org/modell/Zugnummernmeldeanlage/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCEinfahrdruck_Gegengleis', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCEinfahrdruck_Gegengleis') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCEinfahrdruck_Gegengleis': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCEinfahrdruck_Gegengleis') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCEinfahrdruck_Gegengleis', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsZugnummernmeldeanlage:', name_='TCEinfahrdruck_Gegengleis'): + super(TCEinfahrdruck_Gegengleis, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCEinfahrdruck_Gegengleis') + def _exportChildren(self, outfile, level, namespaceprefix_='nsZugnummernmeldeanlage:', namespacedef_='xmlns:nsZugnummernmeldeanlage="http://www.plan-pro.org/modell/Zugnummernmeldeanlage/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCEinfahrdruck_Gegengleis', fromsubclass_=False, pretty_print=True): + super(TCEinfahrdruck_Gegengleis, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCEinfahrdruck_Gegengleis, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TWirkrichtung + self.validate_TWirkrichtung(self.Wert) + super(TCEinfahrdruck_Gegengleis, self)._buildChildren(child_, node, nodeName_, True) +# end class TCEinfahrdruck_Gegengleis + + +class TCHOA(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCHOA"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCHOA) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCHOA.subclass: + return TCHOA.subclass(*args_, **kwargs_) + else: + return TCHOA(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def has__content(self): + if ( + self.Wert is not None or + super(TCHOA, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsZugnummernmeldeanlage:', namespacedef_='xmlns:nsZugnummernmeldeanlage="http://www.plan-pro.org/modell/Zugnummernmeldeanlage/1.10.0"', name_='TCHOA', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCHOA') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCHOA': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCHOA') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCHOA', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsZugnummernmeldeanlage:', name_='TCHOA'): + super(TCHOA, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCHOA') + def _exportChildren(self, outfile, level, namespaceprefix_='nsZugnummernmeldeanlage:', namespacedef_='xmlns:nsZugnummernmeldeanlage="http://www.plan-pro.org/modell/Zugnummernmeldeanlage/1.10.0"', name_='TCHOA', fromsubclass_=False, pretty_print=True): + super(TCHOA, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_integer(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCHOA, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + ival_ = self.gds_parse_integer(sval_, node, 'Wert') + ival_ = self.gds_validate_integer(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + super(TCHOA, self)._buildChildren(child_, node, nodeName_, True) +# end class TCHOA + + +class TCAdresse_Strasse_Nr(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCAdresse_Strasse_Nr"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TAdresse_Strasse_Nr(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCAdresse_Strasse_Nr) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCAdresse_Strasse_Nr.subclass: + return TCAdresse_Strasse_Nr.subclass(*args_, **kwargs_) + else: + return TCAdresse_Strasse_Nr(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TAdresse_Strasse_Nr(self, value): + result = True + # Validate type TAdresse_Strasse_Nr, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TAdresse_Strasse_Nr_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TAdresse_Strasse_Nr_patterns_, )) + result = False + return result + validate_TAdresse_Strasse_Nr_patterns_ = [['^(.{1,50})$'], ['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCAdresse_Strasse_Nr, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='xmlns:nsPlanPro="http://www.plan-pro.org/modell/PlanPro/1.10.0"', name_='TCAdresse_Strasse_Nr', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCAdresse_Strasse_Nr') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCAdresse_Strasse_Nr': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCAdresse_Strasse_Nr') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCAdresse_Strasse_Nr', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TCAdresse_Strasse_Nr'): + super(TCAdresse_Strasse_Nr, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCAdresse_Strasse_Nr') + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='xmlns:nsPlanPro="http://www.plan-pro.org/modell/PlanPro/1.10.0"', name_='TCAdresse_Strasse_Nr', fromsubclass_=False, pretty_print=True): + super(TCAdresse_Strasse_Nr, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCAdresse_Strasse_Nr, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TAdresse_Strasse_Nr + self.validate_TAdresse_Strasse_Nr(self.Wert) + super(TCAdresse_Strasse_Nr, self)._buildChildren(child_, node, nodeName_, True) +# end class TCAdresse_Strasse_Nr + + +class TCPolygonzug_Planungsbereich(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCPolygonzug_Planungsbereich"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TPolygonzug_Planungsbereich(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCPolygonzug_Planungsbereich) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCPolygonzug_Planungsbereich.subclass: + return TCPolygonzug_Planungsbereich.subclass(*args_, **kwargs_) + else: + return TCPolygonzug_Planungsbereich(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TPolygonzug_Planungsbereich(self, value): + result = True + # Validate type TPolygonzug_Planungsbereich, a restriction on nsBasisTypen:TFreiText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TPolygonzug_Planungsbereich_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TPolygonzug_Planungsbereich_patterns_, )) + result = False + return result + validate_TPolygonzug_Planungsbereich_patterns_ = [['^(((-?([1-9][0-9]{0,7}|0))(\\.[0-9]{1,8})?)(\\s(-?([1-9][0-9]{0,7}|0))(\\.[0-9]{1,8})?){3,})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCPolygonzug_Planungsbereich, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='xmlns:nsPlanPro="http://www.plan-pro.org/modell/PlanPro/1.10.0"', name_='TCPolygonzug_Planungsbereich', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCPolygonzug_Planungsbereich') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCPolygonzug_Planungsbereich': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCPolygonzug_Planungsbereich') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCPolygonzug_Planungsbereich', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TCPolygonzug_Planungsbereich'): + super(TCPolygonzug_Planungsbereich, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCPolygonzug_Planungsbereich') + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='xmlns:nsPlanPro="http://www.plan-pro.org/modell/PlanPro/1.10.0"', name_='TCPolygonzug_Planungsbereich', fromsubclass_=False, pretty_print=True): + super(TCPolygonzug_Planungsbereich, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCPolygonzug_Planungsbereich, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TPolygonzug_Planungsbereich + self.validate_TPolygonzug_Planungsbereich(self.Wert) + super(TCPolygonzug_Planungsbereich, self)._buildChildren(child_, node, nodeName_, True) +# end class TCPolygonzug_Planungsbereich + + +class CAusgabe_Fachdaten(CUr_Objekt): + """CAusgabe_Fachdaten -- Ausgabe der Fachdaten einer Planung im PlanPro-Format. + An dieser Stelle werden die LST-Fachinhalte getrennt von den Angaben des Objektmanagements eingebunden. + DB-Regelwerk + Bisher keine eindeutige Abbildung. + LST_Zustand_Start -- Menge aller Fachdaten zur Beschreibung des Startzustands einer Ausgabe. + DB Regelwerk + Bisher keine Abbildung, da Neuerung mit PlanPro. + LST_Zustand_Ziel -- Menge aller Fachdaten zur Beschreibung des Zielzustands einer Ausgabe. + DB Regelwerk + Bisher keine Abbildung, da Neuerung mit PlanPro. + Untergewerk_Art -- Untergewerk, f + ü + r das die Fachdaten des LST-Datenmodells ausgegeben werden. + DB Regelwerk + Bisher keine Abbildung, da Neuerung mit PlanPro. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CUr_Objekt + def __init__(self, Identitaet=None, LST_Zustand_Start=None, LST_Zustand_Ziel=None, Untergewerk_Art=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CAusgabe_Fachdaten"), self).__init__(Identitaet, **kwargs_) + self.LST_Zustand_Start = LST_Zustand_Start + self.LST_Zustand_Start_nsprefix_ = None + self.LST_Zustand_Ziel = LST_Zustand_Ziel + self.LST_Zustand_Ziel_nsprefix_ = None + self.Untergewerk_Art = Untergewerk_Art + self.Untergewerk_Art_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CAusgabe_Fachdaten) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CAusgabe_Fachdaten.subclass: + return CAusgabe_Fachdaten.subclass(*args_, **kwargs_) + else: + return CAusgabe_Fachdaten(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_LST_Zustand_Start(self): + return self.LST_Zustand_Start + def set_LST_Zustand_Start(self, LST_Zustand_Start): + self.LST_Zustand_Start = LST_Zustand_Start + def get_LST_Zustand_Ziel(self): + return self.LST_Zustand_Ziel + def set_LST_Zustand_Ziel(self, LST_Zustand_Ziel): + self.LST_Zustand_Ziel = LST_Zustand_Ziel + def get_Untergewerk_Art(self): + return self.Untergewerk_Art + def set_Untergewerk_Art(self, Untergewerk_Art): + self.Untergewerk_Art = Untergewerk_Art + def has__content(self): + if ( + self.LST_Zustand_Start is not None or + self.LST_Zustand_Ziel is not None or + self.Untergewerk_Art is not None or + super(CAusgabe_Fachdaten, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='xmlns:nsPlanPro="http://www.plan-pro.org/modell/PlanPro/1.10.0"', name_='CAusgabe_Fachdaten', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CAusgabe_Fachdaten') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CAusgabe_Fachdaten': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CAusgabe_Fachdaten') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CAusgabe_Fachdaten', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CAusgabe_Fachdaten'): + super(CAusgabe_Fachdaten, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CAusgabe_Fachdaten') + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='xmlns:nsPlanPro="http://www.plan-pro.org/modell/PlanPro/1.10.0"', name_='CAusgabe_Fachdaten', fromsubclass_=False, pretty_print=True): + super(CAusgabe_Fachdaten, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.LST_Zustand_Start is not None: + namespaceprefix_ = self.LST_Zustand_Start_nsprefix_ + ':' if (UseCapturedNS_ and self.LST_Zustand_Start_nsprefix_) else '' + self.LST_Zustand_Start.export(outfile, level, namespaceprefix_, namespacedef_='', name_='LST_Zustand_Start', pretty_print=pretty_print) + if self.LST_Zustand_Ziel is not None: + namespaceprefix_ = self.LST_Zustand_Ziel_nsprefix_ + ':' if (UseCapturedNS_ and self.LST_Zustand_Ziel_nsprefix_) else '' + self.LST_Zustand_Ziel.export(outfile, level, namespaceprefix_, namespacedef_='', name_='LST_Zustand_Ziel', pretty_print=pretty_print) + if self.Untergewerk_Art is not None: + namespaceprefix_ = self.Untergewerk_Art_nsprefix_ + ':' if (UseCapturedNS_ and self.Untergewerk_Art_nsprefix_) else '' + self.Untergewerk_Art.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Untergewerk_Art', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CAusgabe_Fachdaten, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'LST_Zustand_Start': + obj_ = CLST_Zustand.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.LST_Zustand_Start = obj_ + obj_.original_tagname_ = 'LST_Zustand_Start' + elif nodeName_ == 'LST_Zustand_Ziel': + obj_ = CLST_Zustand.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.LST_Zustand_Ziel = obj_ + obj_.original_tagname_ = 'LST_Zustand_Ziel' + elif nodeName_ == 'Untergewerk_Art': + obj_ = TCUntergewerk_Art.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Untergewerk_Art = obj_ + obj_.original_tagname_ = 'Untergewerk_Art' + super(CAusgabe_Fachdaten, self)._buildChildren(child_, node, nodeName_, True) +# end class CAusgabe_Fachdaten + + +class CPlanPro_Schnittstelle(CUr_Objekt): + """CPlanPro_Schnittstelle -- Oberstes Objekt der Content-XML, das in jeder Datei vorhanden ist. Damit jede Ausgabe in Form einer XML-Datei + ü + ber die Identit + ä + t von ~ eindeutig zu identifizieren ist, muss bei jeder Erzeugung einer XML-Ausgabe f + ü + r eine Planung eine neue GUID f + ü + r das Objekt PlanPro_Schnittstelle vergeben werden. + LST_Planung -- Attributgruppe zur Einbindung von Planungen einer LST-Anlage. + LST_Zustand -- Attributgruppe zur Einbindung eines Zustands einer LST-Anlage (z. B. Bestandsdaten). + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CUr_Objekt + def __init__(self, Identitaet=None, PlanPro_Schnittstelle_Allg=None, LST_Planung=None, LST_Zustand=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CPlanPro_Schnittstelle"), self).__init__(Identitaet, **kwargs_) + self.PlanPro_Schnittstelle_Allg = PlanPro_Schnittstelle_Allg + self.PlanPro_Schnittstelle_Allg_nsprefix_ = None + self.LST_Planung = LST_Planung + self.LST_Planung_nsprefix_ = None + self.LST_Zustand = LST_Zustand + self.LST_Zustand_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CPlanPro_Schnittstelle) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CPlanPro_Schnittstelle.subclass: + return CPlanPro_Schnittstelle.subclass(*args_, **kwargs_) + else: + return CPlanPro_Schnittstelle(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_PlanPro_Schnittstelle_Allg(self): + return self.PlanPro_Schnittstelle_Allg + def set_PlanPro_Schnittstelle_Allg(self, PlanPro_Schnittstelle_Allg): + self.PlanPro_Schnittstelle_Allg = PlanPro_Schnittstelle_Allg + def get_LST_Planung(self): + return self.LST_Planung + def set_LST_Planung(self, LST_Planung): + self.LST_Planung = LST_Planung + def get_LST_Zustand(self): + return self.LST_Zustand + def set_LST_Zustand(self, LST_Zustand): + self.LST_Zustand = LST_Zustand + def has__content(self): + if ( + self.PlanPro_Schnittstelle_Allg is not None or + self.LST_Planung is not None or + self.LST_Zustand is not None or + super(CPlanPro_Schnittstelle, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='xmlns:nsPlanPro="http://www.plan-pro.org/modell/PlanPro/1.10.0"', name_='CPlanPro_Schnittstelle', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CPlanPro_Schnittstelle') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CPlanPro_Schnittstelle': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CPlanPro_Schnittstelle') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CPlanPro_Schnittstelle', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CPlanPro_Schnittstelle'): + super(CPlanPro_Schnittstelle, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CPlanPro_Schnittstelle') + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='xmlns:nsPlanPro="http://www.plan-pro.org/modell/PlanPro/1.10.0"', name_='CPlanPro_Schnittstelle', fromsubclass_=False, pretty_print=True): + super(CPlanPro_Schnittstelle, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.PlanPro_Schnittstelle_Allg is not None: + namespaceprefix_ = self.PlanPro_Schnittstelle_Allg_nsprefix_ + ':' if (UseCapturedNS_ and self.PlanPro_Schnittstelle_Allg_nsprefix_) else '' + self.PlanPro_Schnittstelle_Allg.export(outfile, level, namespaceprefix_, namespacedef_='', name_='PlanPro_Schnittstelle_Allg', pretty_print=pretty_print) + if self.LST_Planung is not None: + namespaceprefix_ = self.LST_Planung_nsprefix_ + ':' if (UseCapturedNS_ and self.LST_Planung_nsprefix_) else '' + self.LST_Planung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='LST_Planung', pretty_print=pretty_print) + if self.LST_Zustand is not None: + namespaceprefix_ = self.LST_Zustand_nsprefix_ + ':' if (UseCapturedNS_ and self.LST_Zustand_nsprefix_) else '' + self.LST_Zustand.export(outfile, level, namespaceprefix_, namespacedef_='', name_='LST_Zustand', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CPlanPro_Schnittstelle, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'PlanPro_Schnittstelle_Allg': + obj_ = CPlanPro_Schnittstelle_Allg.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.PlanPro_Schnittstelle_Allg = obj_ + obj_.original_tagname_ = 'PlanPro_Schnittstelle_Allg' + elif nodeName_ == 'LST_Planung': + obj_ = CLST_Planung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.LST_Planung = obj_ + obj_.original_tagname_ = 'LST_Planung' + elif nodeName_ == 'LST_Zustand': + obj_ = CLST_Zustand.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.LST_Zustand = obj_ + obj_.original_tagname_ = 'LST_Zustand' + super(CPlanPro_Schnittstelle, self)._buildChildren(child_, node, nodeName_, True) +# end class CPlanPro_Schnittstelle + + +class TCDatum_Regelwerksstand(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCDatum_Regelwerksstand"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + if isinstance(Wert, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Wert, '%Y-%m-%d').date() + else: + initvalue_ = Wert + self.Wert = initvalue_ + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCDatum_Regelwerksstand) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCDatum_Regelwerksstand.subclass: + return TCDatum_Regelwerksstand.subclass(*args_, **kwargs_) + else: + return TCDatum_Regelwerksstand(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def has__content(self): + if ( + self.Wert is not None or + super(TCDatum_Regelwerksstand, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='xmlns:nsPlanPro="http://www.plan-pro.org/modell/PlanPro/1.10.0"', name_='TCDatum_Regelwerksstand', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCDatum_Regelwerksstand') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCDatum_Regelwerksstand': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCDatum_Regelwerksstand') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCDatum_Regelwerksstand', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TCDatum_Regelwerksstand'): + super(TCDatum_Regelwerksstand, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCDatum_Regelwerksstand') + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='xmlns:nsPlanPro="http://www.plan-pro.org/modell/PlanPro/1.10.0"', name_='TCDatum_Regelwerksstand', fromsubclass_=False, pretty_print=True): + super(TCDatum_Regelwerksstand, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_date(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCDatum_Regelwerksstand, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + sval_ = child_.text + dval_ = self.gds_parse_date(sval_) + self.Wert = dval_ + self.Wert_nsprefix_ = child_.prefix + super(TCDatum_Regelwerksstand, self)._buildChildren(child_, node, nodeName_, True) +# end class TCDatum_Regelwerksstand + + +class TCLaufende_Nummer_Ausgabe(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCLaufende_Nummer_Ausgabe"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TLaufende_Nummer_Ausgabe(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCLaufende_Nummer_Ausgabe) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCLaufende_Nummer_Ausgabe.subclass: + return TCLaufende_Nummer_Ausgabe.subclass(*args_, **kwargs_) + else: + return TCLaufende_Nummer_Ausgabe(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TLaufende_Nummer_Ausgabe(self, value): + result = True + # Validate type TLaufende_Nummer_Ausgabe, 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 not self.gds_validate_simple_patterns( + self.validate_TLaufende_Nummer_Ausgabe_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TLaufende_Nummer_Ausgabe_patterns_, )) + result = False + return result + validate_TLaufende_Nummer_Ausgabe_patterns_ = [['^([0-9]{2})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCLaufende_Nummer_Ausgabe, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='xmlns:nsPlanPro="http://www.plan-pro.org/modell/PlanPro/1.10.0"', name_='TCLaufende_Nummer_Ausgabe', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCLaufende_Nummer_Ausgabe') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCLaufende_Nummer_Ausgabe': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCLaufende_Nummer_Ausgabe') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCLaufende_Nummer_Ausgabe', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TCLaufende_Nummer_Ausgabe'): + super(TCLaufende_Nummer_Ausgabe, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCLaufende_Nummer_Ausgabe') + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='xmlns:nsPlanPro="http://www.plan-pro.org/modell/PlanPro/1.10.0"', name_='TCLaufende_Nummer_Ausgabe', fromsubclass_=False, pretty_print=True): + super(TCLaufende_Nummer_Ausgabe, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_decimal(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCLaufende_Nummer_Ausgabe, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + fval_ = self.gds_parse_decimal(sval_, node, 'Wert') + fval_ = self.gds_validate_decimal(fval_, node, 'Wert') + self.Wert = fval_ + self.Wert_nsprefix_ = child_.prefix + # validate type TLaufende_Nummer_Ausgabe + self.validate_TLaufende_Nummer_Ausgabe(self.Wert) + super(TCLaufende_Nummer_Ausgabe, self)._buildChildren(child_, node, nodeName_, True) +# end class TCLaufende_Nummer_Ausgabe + + +class TCBauzustand_Langbezeichnung(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCBauzustand_Langbezeichnung"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TBauzustand_Langbezeichnung(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCBauzustand_Langbezeichnung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCBauzustand_Langbezeichnung.subclass: + return TCBauzustand_Langbezeichnung.subclass(*args_, **kwargs_) + else: + return TCBauzustand_Langbezeichnung(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TBauzustand_Langbezeichnung(self, value): + result = True + # Validate type TBauzustand_Langbezeichnung, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TBauzustand_Langbezeichnung_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TBauzustand_Langbezeichnung_patterns_, )) + result = False + return result + validate_TBauzustand_Langbezeichnung_patterns_ = [['^(.{1,50})$'], ['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCBauzustand_Langbezeichnung, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='xmlns:nsPlanPro="http://www.plan-pro.org/modell/PlanPro/1.10.0"', name_='TCBauzustand_Langbezeichnung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCBauzustand_Langbezeichnung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCBauzustand_Langbezeichnung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBauzustand_Langbezeichnung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCBauzustand_Langbezeichnung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TCBauzustand_Langbezeichnung'): + super(TCBauzustand_Langbezeichnung, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBauzustand_Langbezeichnung') + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='xmlns:nsPlanPro="http://www.plan-pro.org/modell/PlanPro/1.10.0"', name_='TCBauzustand_Langbezeichnung', fromsubclass_=False, pretty_print=True): + super(TCBauzustand_Langbezeichnung, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCBauzustand_Langbezeichnung, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TBauzustand_Langbezeichnung + self.validate_TBauzustand_Langbezeichnung(self.Wert) + super(TCBauzustand_Langbezeichnung, self)._buildChildren(child_, node, nodeName_, True) +# end class TCBauzustand_Langbezeichnung + + +class CPlanung_Gruppe(CUr_Objekt): + """CPlanung_Gruppe -- Erm + ö + glicht die globale Angabe und Zuordnung von Daten, die f + ü + r alle Einzelplanungen einer Planungsgruppe gleicherma + ß + en gelten. Dabei k + ö + nnen in organisatorische und inhaltliche Angaben unterschieden werden. + Erg + ä + nzende Beschreibung zum Umgang im PlanPro-Planungsprozess + Die ~ muss vor Beginn der Erstellung nachfolgender Einzelplanungen festgelegt sein. + Enth + ä + lt Informationen zur Bezeichnung der Planungsgruppe, zum gesperrten Planungsbereich und zum notwendigen Betrachtungsbereich. + Beim Anlegen der ~ erfolgt keine Festlegung der Anzahl der Einzelplanungen. Der erste Bauzustand ist entweder eine Neuplanung oder baut auf einer Bestandsdokumentationbzw. Bestandsdatenauf. Alle weiteren Bauzust + ä + nde bauen auf der neutralisierten Bezugsplanung des jeweiligen Vorg + ä + ngers auf. + Eine Planungsgruppe durchl + ä + uft definierte Status. Sp + ä + testens vor Abschluss einer ~ (sowie nach jeder Revision/Rev_letzte_Planung_E) werden neue Bestandsdaten erstellt. + DB-Regelwerk + Bisher nicht abgebildet. + Fuehrende_Oertlichkeit -- Abk + ü + rzung der f + ü + hrenden + Ö + rtlichkeit als Bestandteil der Plannummer (gem + ä + ß + Ril 886.0102) und des Dateinamens. + Erg + ä + nzende Beschreibung zum Umgang im PlanPro-Planungsprozess + Festzulegen durch Projektleiter oder LST-Fachplaner. + DB-Regelwerk + Bestandteil der Plannummer gem + ä + ß + Ril 886.0102 + LST_Planung_Einzel -- Einbindung des Objekts Planung Einzel in das Objekt Planung Gruppe. + DB Regelwerk + Bisher keine Abbildung, da Neuerung mit PlanPro. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CUr_Objekt + def __init__(self, Identitaet=None, Fuehrende_Oertlichkeit=None, LST_Planung_Einzel=None, Planung_G_Allg=None, Planung_G_Fuehrende_Strecke=None, Planung_G_Schriftfeld=None, Polygone_Betrachtungsbereich=None, Polygone_Planungsbereich=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CPlanung_Gruppe"), self).__init__(Identitaet, **kwargs_) + self.Fuehrende_Oertlichkeit = Fuehrende_Oertlichkeit + self.Fuehrende_Oertlichkeit_nsprefix_ = None + self.LST_Planung_Einzel = LST_Planung_Einzel + self.LST_Planung_Einzel_nsprefix_ = None + self.Planung_G_Allg = Planung_G_Allg + self.Planung_G_Allg_nsprefix_ = None + self.Planung_G_Fuehrende_Strecke = Planung_G_Fuehrende_Strecke + self.Planung_G_Fuehrende_Strecke_nsprefix_ = None + self.Planung_G_Schriftfeld = Planung_G_Schriftfeld + self.Planung_G_Schriftfeld_nsprefix_ = None + self.Polygone_Betrachtungsbereich = Polygone_Betrachtungsbereich + self.Polygone_Betrachtungsbereich_nsprefix_ = None + self.Polygone_Planungsbereich = Polygone_Planungsbereich + self.Polygone_Planungsbereich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CPlanung_Gruppe) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CPlanung_Gruppe.subclass: + return CPlanung_Gruppe.subclass(*args_, **kwargs_) + else: + return CPlanung_Gruppe(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Fuehrende_Oertlichkeit(self): + return self.Fuehrende_Oertlichkeit + def set_Fuehrende_Oertlichkeit(self, Fuehrende_Oertlichkeit): + self.Fuehrende_Oertlichkeit = Fuehrende_Oertlichkeit + def get_LST_Planung_Einzel(self): + return self.LST_Planung_Einzel + def set_LST_Planung_Einzel(self, LST_Planung_Einzel): + self.LST_Planung_Einzel = LST_Planung_Einzel + def get_Planung_G_Allg(self): + return self.Planung_G_Allg + def set_Planung_G_Allg(self, Planung_G_Allg): + self.Planung_G_Allg = Planung_G_Allg + def get_Planung_G_Fuehrende_Strecke(self): + return self.Planung_G_Fuehrende_Strecke + def set_Planung_G_Fuehrende_Strecke(self, Planung_G_Fuehrende_Strecke): + self.Planung_G_Fuehrende_Strecke = Planung_G_Fuehrende_Strecke + def get_Planung_G_Schriftfeld(self): + return self.Planung_G_Schriftfeld + def set_Planung_G_Schriftfeld(self, Planung_G_Schriftfeld): + self.Planung_G_Schriftfeld = Planung_G_Schriftfeld + def get_Polygone_Betrachtungsbereich(self): + return self.Polygone_Betrachtungsbereich + def set_Polygone_Betrachtungsbereich(self, Polygone_Betrachtungsbereich): + self.Polygone_Betrachtungsbereich = Polygone_Betrachtungsbereich + def get_Polygone_Planungsbereich(self): + return self.Polygone_Planungsbereich + def set_Polygone_Planungsbereich(self, Polygone_Planungsbereich): + self.Polygone_Planungsbereich = Polygone_Planungsbereich + def has__content(self): + if ( + self.Fuehrende_Oertlichkeit is not None or + self.LST_Planung_Einzel is not None or + self.Planung_G_Allg is not None or + self.Planung_G_Fuehrende_Strecke is not None or + self.Planung_G_Schriftfeld is not None or + self.Polygone_Betrachtungsbereich is not None or + self.Polygone_Planungsbereich is not None or + super(CPlanung_Gruppe, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='xmlns:nsPlanPro="http://www.plan-pro.org/modell/PlanPro/1.10.0"', name_='CPlanung_Gruppe', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CPlanung_Gruppe') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CPlanung_Gruppe': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CPlanung_Gruppe') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CPlanung_Gruppe', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CPlanung_Gruppe'): + super(CPlanung_Gruppe, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CPlanung_Gruppe') + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='xmlns:nsPlanPro="http://www.plan-pro.org/modell/PlanPro/1.10.0"', name_='CPlanung_Gruppe', fromsubclass_=False, pretty_print=True): + super(CPlanung_Gruppe, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Fuehrende_Oertlichkeit is not None: + namespaceprefix_ = self.Fuehrende_Oertlichkeit_nsprefix_ + ':' if (UseCapturedNS_ and self.Fuehrende_Oertlichkeit_nsprefix_) else '' + self.Fuehrende_Oertlichkeit.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Fuehrende_Oertlichkeit', pretty_print=pretty_print) + if self.LST_Planung_Einzel is not None: + namespaceprefix_ = self.LST_Planung_Einzel_nsprefix_ + ':' if (UseCapturedNS_ and self.LST_Planung_Einzel_nsprefix_) else '' + self.LST_Planung_Einzel.export(outfile, level, namespaceprefix_, namespacedef_='', name_='LST_Planung_Einzel', pretty_print=pretty_print) + if self.Planung_G_Allg is not None: + namespaceprefix_ = self.Planung_G_Allg_nsprefix_ + ':' if (UseCapturedNS_ and self.Planung_G_Allg_nsprefix_) else '' + self.Planung_G_Allg.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Planung_G_Allg', pretty_print=pretty_print) + if self.Planung_G_Fuehrende_Strecke is not None: + namespaceprefix_ = self.Planung_G_Fuehrende_Strecke_nsprefix_ + ':' if (UseCapturedNS_ and self.Planung_G_Fuehrende_Strecke_nsprefix_) else '' + self.Planung_G_Fuehrende_Strecke.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Planung_G_Fuehrende_Strecke', pretty_print=pretty_print) + if self.Planung_G_Schriftfeld is not None: + namespaceprefix_ = self.Planung_G_Schriftfeld_nsprefix_ + ':' if (UseCapturedNS_ and self.Planung_G_Schriftfeld_nsprefix_) else '' + self.Planung_G_Schriftfeld.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Planung_G_Schriftfeld', pretty_print=pretty_print) + if self.Polygone_Betrachtungsbereich is not None: + namespaceprefix_ = self.Polygone_Betrachtungsbereich_nsprefix_ + ':' if (UseCapturedNS_ and self.Polygone_Betrachtungsbereich_nsprefix_) else '' + self.Polygone_Betrachtungsbereich.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Polygone_Betrachtungsbereich', pretty_print=pretty_print) + if self.Polygone_Planungsbereich is not None: + namespaceprefix_ = self.Polygone_Planungsbereich_nsprefix_ + ':' if (UseCapturedNS_ and self.Polygone_Planungsbereich_nsprefix_) else '' + self.Polygone_Planungsbereich.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Polygone_Planungsbereich', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CPlanung_Gruppe, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Fuehrende_Oertlichkeit': + obj_ = TCFuehrende_Oertlichkeit.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Fuehrende_Oertlichkeit = obj_ + obj_.original_tagname_ = 'Fuehrende_Oertlichkeit' + elif nodeName_ == 'LST_Planung_Einzel': + obj_ = CPlanung_Einzel.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.LST_Planung_Einzel = obj_ + obj_.original_tagname_ = 'LST_Planung_Einzel' + elif nodeName_ == 'Planung_G_Allg': + obj_ = CPlanung_G_Allg.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Planung_G_Allg = obj_ + obj_.original_tagname_ = 'Planung_G_Allg' + elif nodeName_ == 'Planung_G_Fuehrende_Strecke': + obj_ = CPlanung_G_Fuehrende_Strecke.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Planung_G_Fuehrende_Strecke = obj_ + obj_.original_tagname_ = 'Planung_G_Fuehrende_Strecke' + elif nodeName_ == 'Planung_G_Schriftfeld': + obj_ = CPlanung_G_Schriftfeld.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Planung_G_Schriftfeld = obj_ + obj_.original_tagname_ = 'Planung_G_Schriftfeld' + elif nodeName_ == 'Polygone_Betrachtungsbereich': + obj_ = CPolygone_Betrachtungsbereich.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Polygone_Betrachtungsbereich = obj_ + obj_.original_tagname_ = 'Polygone_Betrachtungsbereich' + elif nodeName_ == 'Polygone_Planungsbereich': + obj_ = CPolygone_Planungsbereich.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Polygone_Planungsbereich = obj_ + obj_.original_tagname_ = 'Polygone_Planungsbereich' + super(CPlanung_Gruppe, self)._buildChildren(child_, node, nodeName_, True) +# end class CPlanung_Gruppe + + +class TCBezeichnung_Planung_Gruppe(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCBezeichnung_Planung_Gruppe"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TBezeichnung_Planung_Gruppe(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCBezeichnung_Planung_Gruppe) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCBezeichnung_Planung_Gruppe.subclass: + return TCBezeichnung_Planung_Gruppe.subclass(*args_, **kwargs_) + else: + return TCBezeichnung_Planung_Gruppe(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TBezeichnung_Planung_Gruppe(self, value): + result = True + # Validate type TBezeichnung_Planung_Gruppe, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TBezeichnung_Planung_Gruppe_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TBezeichnung_Planung_Gruppe_patterns_, )) + result = False + return result + validate_TBezeichnung_Planung_Gruppe_patterns_ = [['^(.{1,50})$'], ['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCBezeichnung_Planung_Gruppe, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='xmlns:nsPlanPro="http://www.plan-pro.org/modell/PlanPro/1.10.0"', name_='TCBezeichnung_Planung_Gruppe', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCBezeichnung_Planung_Gruppe') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCBezeichnung_Planung_Gruppe': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBezeichnung_Planung_Gruppe') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCBezeichnung_Planung_Gruppe', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TCBezeichnung_Planung_Gruppe'): + super(TCBezeichnung_Planung_Gruppe, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBezeichnung_Planung_Gruppe') + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='xmlns:nsPlanPro="http://www.plan-pro.org/modell/PlanPro/1.10.0"', name_='TCBezeichnung_Planung_Gruppe', fromsubclass_=False, pretty_print=True): + super(TCBezeichnung_Planung_Gruppe, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCBezeichnung_Planung_Gruppe, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TBezeichnung_Planung_Gruppe + self.validate_TBezeichnung_Planung_Gruppe(self.Wert) + super(TCBezeichnung_Planung_Gruppe, self)._buildChildren(child_, node, nodeName_, True) +# end class TCBezeichnung_Planung_Gruppe + + +class TCOrganisationseinheit(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCOrganisationseinheit"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TOrganisationseinheit(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCOrganisationseinheit) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCOrganisationseinheit.subclass: + return TCOrganisationseinheit.subclass(*args_, **kwargs_) + else: + return TCOrganisationseinheit(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TOrganisationseinheit(self, value): + result = True + # Validate type TOrganisationseinheit, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TOrganisationseinheit_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TOrganisationseinheit_patterns_, )) + result = False + return result + validate_TOrganisationseinheit_patterns_ = [['^(.{1,30})$'], ['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCOrganisationseinheit, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='xmlns:nsPlanPro="http://www.plan-pro.org/modell/PlanPro/1.10.0"', name_='TCOrganisationseinheit', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCOrganisationseinheit') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCOrganisationseinheit': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCOrganisationseinheit') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCOrganisationseinheit', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TCOrganisationseinheit'): + super(TCOrganisationseinheit, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCOrganisationseinheit') + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='xmlns:nsPlanPro="http://www.plan-pro.org/modell/PlanPro/1.10.0"', name_='TCOrganisationseinheit', fromsubclass_=False, pretty_print=True): + super(TCOrganisationseinheit, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCOrganisationseinheit, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TOrganisationseinheit + self.validate_TOrganisationseinheit(self.Wert) + super(TCOrganisationseinheit, self)._buildChildren(child_, node, nodeName_, True) +# end class TCOrganisationseinheit + + +class TCKoordinatensystem_PB(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCKoordinatensystem_PB"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMKoordinatensystem(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCKoordinatensystem_PB) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCKoordinatensystem_PB.subclass: + return TCKoordinatensystem_PB.subclass(*args_, **kwargs_) + else: + return TCKoordinatensystem_PB(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMKoordinatensystem(self, value): + result = True + # Validate type ENUMKoordinatensystem, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['DB_Ref', 'sonstige', 'WGS84'] + 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 ENUMKoordinatensystem' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCKoordinatensystem_PB, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='xmlns:nsPlanPro="http://www.plan-pro.org/modell/PlanPro/1.10.0"', name_='TCKoordinatensystem_PB', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCKoordinatensystem_PB') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCKoordinatensystem_PB': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCKoordinatensystem_PB') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCKoordinatensystem_PB', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TCKoordinatensystem_PB'): + super(TCKoordinatensystem_PB, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCKoordinatensystem_PB') + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='xmlns:nsPlanPro="http://www.plan-pro.org/modell/PlanPro/1.10.0"', name_='TCKoordinatensystem_PB', fromsubclass_=False, pretty_print=True): + super(TCKoordinatensystem_PB, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCKoordinatensystem_PB, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMKoordinatensystem + self.validate_ENUMKoordinatensystem(self.Wert) + super(TCKoordinatensystem_PB, self)._buildChildren(child_, node, nodeName_, True) +# end class TCKoordinatensystem_PB + + +class TCDatum(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCDatum"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + if isinstance(Wert, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Wert, '%Y-%m-%d').date() + else: + initvalue_ = Wert + self.Wert = initvalue_ + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCDatum) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCDatum.subclass: + return TCDatum.subclass(*args_, **kwargs_) + else: + return TCDatum(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def has__content(self): + if ( + self.Wert is not None or + super(TCDatum, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='xmlns:nsPlanPro="http://www.plan-pro.org/modell/PlanPro/1.10.0"', name_='TCDatum', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCDatum') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCDatum': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCDatum') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCDatum', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TCDatum'): + super(TCDatum, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCDatum') + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='xmlns:nsPlanPro="http://www.plan-pro.org/modell/PlanPro/1.10.0"', name_='TCDatum', fromsubclass_=False, pretty_print=True): + super(TCDatum, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_date(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCDatum, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + sval_ = child_.text + dval_ = self.gds_parse_date(sval_) + self.Wert = dval_ + self.Wert_nsprefix_ = child_.prefix + super(TCDatum, self)._buildChildren(child_, node, nodeName_, True) +# end class TCDatum + + +class TCPolygonzug_Betrachtungsbereich(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCPolygonzug_Betrachtungsbereich"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TPolygonzug_Betrachtungsbereich(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCPolygonzug_Betrachtungsbereich) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCPolygonzug_Betrachtungsbereich.subclass: + return TCPolygonzug_Betrachtungsbereich.subclass(*args_, **kwargs_) + else: + return TCPolygonzug_Betrachtungsbereich(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TPolygonzug_Betrachtungsbereich(self, value): + result = True + # Validate type TPolygonzug_Betrachtungsbereich, a restriction on nsBasisTypen:TFreiText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TPolygonzug_Betrachtungsbereich_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TPolygonzug_Betrachtungsbereich_patterns_, )) + result = False + return result + validate_TPolygonzug_Betrachtungsbereich_patterns_ = [['^(((-?([1-9][0-9]{0,7}|0))(\\.[0-9]{1,8})?)(\\s(-?([1-9][0-9]{0,7}|0))(\\.[0-9]{1,8})?){3,})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCPolygonzug_Betrachtungsbereich, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='xmlns:nsPlanPro="http://www.plan-pro.org/modell/PlanPro/1.10.0"', name_='TCPolygonzug_Betrachtungsbereich', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCPolygonzug_Betrachtungsbereich') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCPolygonzug_Betrachtungsbereich': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCPolygonzug_Betrachtungsbereich') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCPolygonzug_Betrachtungsbereich', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TCPolygonzug_Betrachtungsbereich'): + super(TCPolygonzug_Betrachtungsbereich, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCPolygonzug_Betrachtungsbereich') + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='xmlns:nsPlanPro="http://www.plan-pro.org/modell/PlanPro/1.10.0"', name_='TCPolygonzug_Betrachtungsbereich', fromsubclass_=False, pretty_print=True): + super(TCPolygonzug_Betrachtungsbereich, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCPolygonzug_Betrachtungsbereich, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TPolygonzug_Betrachtungsbereich + self.validate_TPolygonzug_Betrachtungsbereich(self.Wert) + super(TCPolygonzug_Betrachtungsbereich, self)._buildChildren(child_, node, nodeName_, True) +# end class TCPolygonzug_Betrachtungsbereich + + +class TCE_Mail_Adresse(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCE_Mail_Adresse"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TE_Mail_Adresse(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCE_Mail_Adresse) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCE_Mail_Adresse.subclass: + return TCE_Mail_Adresse.subclass(*args_, **kwargs_) + else: + return TCE_Mail_Adresse(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TE_Mail_Adresse(self, value): + result = True + # Validate type TE_Mail_Adresse, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TE_Mail_Adresse_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TE_Mail_Adresse_patterns_, )) + result = False + return result + validate_TE_Mail_Adresse_patterns_ = [['^(.{1,50}@.{1,50})$'], ['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCE_Mail_Adresse, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='xmlns:nsPlanPro="http://www.plan-pro.org/modell/PlanPro/1.10.0"', name_='TCE_Mail_Adresse', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCE_Mail_Adresse') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCE_Mail_Adresse': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCE_Mail_Adresse') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCE_Mail_Adresse', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TCE_Mail_Adresse'): + super(TCE_Mail_Adresse, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCE_Mail_Adresse') + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='xmlns:nsPlanPro="http://www.plan-pro.org/modell/PlanPro/1.10.0"', name_='TCE_Mail_Adresse', fromsubclass_=False, pretty_print=True): + super(TCE_Mail_Adresse, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCE_Mail_Adresse, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TE_Mail_Adresse + self.validate_TE_Mail_Adresse(self.Wert) + super(TCE_Mail_Adresse, self)._buildChildren(child_, node, nodeName_, True) +# end class TCE_Mail_Adresse + + +class TCDatum_Uebernahme(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCDatum_Uebernahme"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + if isinstance(Wert, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Wert, '%Y-%m-%d').date() + else: + initvalue_ = Wert + self.Wert = initvalue_ + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCDatum_Uebernahme) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCDatum_Uebernahme.subclass: + return TCDatum_Uebernahme.subclass(*args_, **kwargs_) + else: + return TCDatum_Uebernahme(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def has__content(self): + if ( + self.Wert is not None or + super(TCDatum_Uebernahme, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='xmlns:nsPlanPro="http://www.plan-pro.org/modell/PlanPro/1.10.0"', name_='TCDatum_Uebernahme', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCDatum_Uebernahme') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCDatum_Uebernahme': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCDatum_Uebernahme') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCDatum_Uebernahme', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TCDatum_Uebernahme'): + super(TCDatum_Uebernahme, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCDatum_Uebernahme') + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='xmlns:nsPlanPro="http://www.plan-pro.org/modell/PlanPro/1.10.0"', name_='TCDatum_Uebernahme', fromsubclass_=False, pretty_print=True): + super(TCDatum_Uebernahme, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_date(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCDatum_Uebernahme, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + sval_ = child_.text + dval_ = self.gds_parse_date(sval_) + self.Wert = dval_ + self.Wert_nsprefix_ = child_.prefix + super(TCDatum_Uebernahme, self)._buildChildren(child_, node, nodeName_, True) +# end class TCDatum_Uebernahme + + +class TCBezeichnung_Anlage(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCBezeichnung_Anlage"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TBezeichnung_Anlage(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCBezeichnung_Anlage) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCBezeichnung_Anlage.subclass: + return TCBezeichnung_Anlage.subclass(*args_, **kwargs_) + else: + return TCBezeichnung_Anlage(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TBezeichnung_Anlage(self, value): + result = True + # Validate type TBezeichnung_Anlage, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TBezeichnung_Anlage_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TBezeichnung_Anlage_patterns_, )) + result = False + return result + validate_TBezeichnung_Anlage_patterns_ = [['^(.{1,35})$'], ['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCBezeichnung_Anlage, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='xmlns:nsPlanPro="http://www.plan-pro.org/modell/PlanPro/1.10.0"', name_='TCBezeichnung_Anlage', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCBezeichnung_Anlage') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCBezeichnung_Anlage': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBezeichnung_Anlage') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCBezeichnung_Anlage', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TCBezeichnung_Anlage'): + super(TCBezeichnung_Anlage, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBezeichnung_Anlage') + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='xmlns:nsPlanPro="http://www.plan-pro.org/modell/PlanPro/1.10.0"', name_='TCBezeichnung_Anlage', fromsubclass_=False, pretty_print=True): + super(TCBezeichnung_Anlage, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCBezeichnung_Anlage, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TBezeichnung_Anlage + self.validate_TBezeichnung_Anlage(self.Wert) + super(TCBezeichnung_Anlage, self)._buildChildren(child_, node, nodeName_, True) +# end class TCBezeichnung_Anlage + + +class TCStrecke_Km30(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCStrecke_Km30"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TStrecke_Km31(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCStrecke_Km30) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCStrecke_Km30.subclass: + return TCStrecke_Km30.subclass(*args_, **kwargs_) + else: + return TCStrecke_Km30(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TStrecke_Km31(self, value): + result = True + # Validate type TStrecke_Km31, a restriction on nsBasisTypen:TKilometrierung. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TStrecke_Km31_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TStrecke_Km31_patterns_, )) + result = False + return result + validate_TStrecke_Km31_patterns_ = [['^(-?(([1-9][0-9]{0,2})|0),([0-9]{3}|([0-9][\\+\\-][1-9][0-9]{0,4})))$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCStrecke_Km30, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='xmlns:nsPlanPro="http://www.plan-pro.org/modell/PlanPro/1.10.0"', name_='TCStrecke_Km30', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCStrecke_Km30') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCStrecke_Km30': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCStrecke_Km30') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCStrecke_Km30', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TCStrecke_Km30'): + super(TCStrecke_Km30, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCStrecke_Km30') + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='xmlns:nsPlanPro="http://www.plan-pro.org/modell/PlanPro/1.10.0"', name_='TCStrecke_Km30', fromsubclass_=False, pretty_print=True): + super(TCStrecke_Km30, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCStrecke_Km30, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TStrecke_Km31 + self.validate_TStrecke_Km31(self.Wert) + super(TCStrecke_Km30, self)._buildChildren(child_, node, nodeName_, True) +# end class TCStrecke_Km30 + + +class TCVergleichstyp_Besonders(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCVergleichstyp_Besonders"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMVergleichstyp_Besonders(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCVergleichstyp_Besonders) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCVergleichstyp_Besonders.subclass: + return TCVergleichstyp_Besonders.subclass(*args_, **kwargs_) + else: + return TCVergleichstyp_Besonders(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMVergleichstyp_Besonders(self, value): + result = True + # Validate type ENUMVergleichstyp_Besonders, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['AeM', 'AeP', 'sonstige'] + 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 ENUMVergleichstyp_Besonders' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCVergleichstyp_Besonders, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='xmlns:nsPlanPro="http://www.plan-pro.org/modell/PlanPro/1.10.0"', name_='TCVergleichstyp_Besonders', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCVergleichstyp_Besonders') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCVergleichstyp_Besonders': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCVergleichstyp_Besonders') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCVergleichstyp_Besonders', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TCVergleichstyp_Besonders'): + super(TCVergleichstyp_Besonders, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCVergleichstyp_Besonders') + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='xmlns:nsPlanPro="http://www.plan-pro.org/modell/PlanPro/1.10.0"', name_='TCVergleichstyp_Besonders', fromsubclass_=False, pretty_print=True): + super(TCVergleichstyp_Besonders, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCVergleichstyp_Besonders, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMVergleichstyp_Besonders + self.validate_ENUMVergleichstyp_Besonders(self.Wert) + super(TCVergleichstyp_Besonders, self)._buildChildren(child_, node, nodeName_, True) +# end class TCVergleichstyp_Besonders + + +class TCName_Akteur_5(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCName_Akteur_5"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TName_Akteur_5(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCName_Akteur_5) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCName_Akteur_5.subclass: + return TCName_Akteur_5.subclass(*args_, **kwargs_) + else: + return TCName_Akteur_5(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TName_Akteur_5(self, value): + result = True + # Validate type TName_Akteur_5, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TName_Akteur_5_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TName_Akteur_5_patterns_, )) + result = False + return result + validate_TName_Akteur_5_patterns_ = [['^(.{1,5})$'], ['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCName_Akteur_5, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='xmlns:nsPlanPro="http://www.plan-pro.org/modell/PlanPro/1.10.0"', name_='TCName_Akteur_5', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCName_Akteur_5') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCName_Akteur_5': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCName_Akteur_5') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCName_Akteur_5', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TCName_Akteur_5'): + super(TCName_Akteur_5, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCName_Akteur_5') + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='xmlns:nsPlanPro="http://www.plan-pro.org/modell/PlanPro/1.10.0"', name_='TCName_Akteur_5', fromsubclass_=False, pretty_print=True): + super(TCName_Akteur_5, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCName_Akteur_5, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TName_Akteur_5 + self.validate_TName_Akteur_5(self.Wert) + super(TCName_Akteur_5, self)._buildChildren(child_, node, nodeName_, True) +# end class TCName_Akteur_5 + + +class TCPlanung_E_Art(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCPlanung_E_Art"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMPlanung_E_Art(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCPlanung_E_Art) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCPlanung_E_Art.subclass: + return TCPlanung_E_Art.subclass(*args_, **kwargs_) + else: + return TCPlanung_E_Art(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMPlanung_E_Art(self, value): + result = True + # Validate type ENUMPlanung_E_Art, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['ATO', 'Bauzustand', 'Bestandsdigitalisierung_Geo_Topo', 'Bestandsdigitalisierung_LST', 'Bestandskorrektur', 'Geodaten', 'Revision', 'Revision_letzte_Planung_E', 'sonstige', 'Verbindungsknoten', 'Versionshebung', 'Voraussichtlich'] + 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 ENUMPlanung_E_Art' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCPlanung_E_Art, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='xmlns:nsPlanPro="http://www.plan-pro.org/modell/PlanPro/1.10.0"', name_='TCPlanung_E_Art', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCPlanung_E_Art') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCPlanung_E_Art': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCPlanung_E_Art') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCPlanung_E_Art', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TCPlanung_E_Art'): + super(TCPlanung_E_Art, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCPlanung_E_Art') + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='xmlns:nsPlanPro="http://www.plan-pro.org/modell/PlanPro/1.10.0"', name_='TCPlanung_E_Art', fromsubclass_=False, pretty_print=True): + super(TCPlanung_E_Art, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCPlanung_E_Art, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMPlanung_E_Art + self.validate_ENUMPlanung_E_Art(self.Wert) + super(TCPlanung_E_Art, self)._buildChildren(child_, node, nodeName_, True) +# end class TCPlanung_E_Art + + +class COrganisation(CUr_Objekt): + """COrganisation -- Angabe einer am PlanPro-Planungsprozess beteiligten Organisation. + Derzeit insbesondere verwendet zur Abbildung des beteiligten Ingenieurb + ü + ros. + Bisher werden in PlanPro lediglich Name und Kontaktdaten der Organisation erfasst. Die Vergabe von Berechtigungen erfolgt in der Prozessrolle des LST-Fachplaners im Zusammenhang mit den definierten Planungsschritten und Planungsstatus. + DB-Regelwerk + Schriftfeldeintrag gem + ä + ß + Ril 886.0102. + Adresse_PLZ_Ort -- Adresse der Organisation, Postleitzahl, Ort. + DB Regelwerk + Ggf. Bestandteil des Schriftfeldeintrages gem + ä + ß + Ril 886.0102 zum mit der Planung beauftragten Ingenieurb + ü + ro. + Adresse_Strasse_Nr -- Adresse der Organisation, konkret Stra + ß + e und Hausnummer. Alternativ ist auch die Eintragung des Postfachs m + ö + glich. + DB Regelwerk + Ggf. Bestandteil des Schriftfeldeintrages gem + ä + ß + Ril 886.0102 zum mit der Planung beauftragten Ingenieurb + ü + ro. + E_Mail_Adresse -- E-Mail-Adresse der Organisation. + DB Regelwerk + Ggf. Bestandteil des Schriftfeldeintrages gem + ä + ß + Ril 886.0102 zum mit der Planung beauftragten Ingenieurb + ü + ro. + Name_Organisation -- Name der Organisation. + DB Regelwerk + Schriftfeldeintrag des mit der Planung beauftragten Ingenieurb + ü + ros gem + ä + ß + Ril 886.0102. + Organisationseinheit -- Organisationseinheit bzw. Abteilung der Organisationseinheit. + DB Regelwerk + Ggf. Bestandteil des Schriftfeldeintrages gem + ä + ß + Ril 886.0102 zum mit der Planung beauftragten Ingenieurb + ü + ro. + Telefonnummer -- Telefonnummer der Organisation. + DB Regelwerk + Ggf. Bestandteil des Schriftfeldeintrages gem + ä + ß + Ril 886.0102 zum mit der Planung beauftragten Ingenieurb + ü + ro. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CUr_Objekt + def __init__(self, Identitaet=None, Adresse_PLZ_Ort=None, Adresse_Strasse_Nr=None, E_Mail_Adresse=None, Name_Organisation=None, Organisationseinheit=None, Telefonnummer=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("COrganisation"), self).__init__(Identitaet, **kwargs_) + self.Adresse_PLZ_Ort = Adresse_PLZ_Ort + self.Adresse_PLZ_Ort_nsprefix_ = None + self.Adresse_Strasse_Nr = Adresse_Strasse_Nr + self.Adresse_Strasse_Nr_nsprefix_ = None + self.E_Mail_Adresse = E_Mail_Adresse + self.E_Mail_Adresse_nsprefix_ = None + self.Name_Organisation = Name_Organisation + self.Name_Organisation_nsprefix_ = None + self.Organisationseinheit = Organisationseinheit + self.Organisationseinheit_nsprefix_ = None + self.Telefonnummer = Telefonnummer + self.Telefonnummer_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, COrganisation) + if subclass is not None: + return subclass(*args_, **kwargs_) + if COrganisation.subclass: + return COrganisation.subclass(*args_, **kwargs_) + else: + return COrganisation(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Adresse_PLZ_Ort(self): + return self.Adresse_PLZ_Ort + def set_Adresse_PLZ_Ort(self, Adresse_PLZ_Ort): + self.Adresse_PLZ_Ort = Adresse_PLZ_Ort + def get_Adresse_Strasse_Nr(self): + return self.Adresse_Strasse_Nr + def set_Adresse_Strasse_Nr(self, Adresse_Strasse_Nr): + self.Adresse_Strasse_Nr = Adresse_Strasse_Nr + def get_E_Mail_Adresse(self): + return self.E_Mail_Adresse + def set_E_Mail_Adresse(self, E_Mail_Adresse): + self.E_Mail_Adresse = E_Mail_Adresse + def get_Name_Organisation(self): + return self.Name_Organisation + def set_Name_Organisation(self, Name_Organisation): + self.Name_Organisation = Name_Organisation + def get_Organisationseinheit(self): + return self.Organisationseinheit + def set_Organisationseinheit(self, Organisationseinheit): + self.Organisationseinheit = Organisationseinheit + def get_Telefonnummer(self): + return self.Telefonnummer + def set_Telefonnummer(self, Telefonnummer): + self.Telefonnummer = Telefonnummer + def has__content(self): + if ( + self.Adresse_PLZ_Ort is not None or + self.Adresse_Strasse_Nr is not None or + self.E_Mail_Adresse is not None or + self.Name_Organisation is not None or + self.Organisationseinheit is not None or + self.Telefonnummer is not None or + super(COrganisation, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='xmlns:nsPlanPro="http://www.plan-pro.org/modell/PlanPro/1.10.0"', name_='COrganisation', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('COrganisation') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'COrganisation': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='COrganisation') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='COrganisation', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='COrganisation'): + super(COrganisation, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='COrganisation') + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='xmlns:nsPlanPro="http://www.plan-pro.org/modell/PlanPro/1.10.0"', name_='COrganisation', fromsubclass_=False, pretty_print=True): + super(COrganisation, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Adresse_PLZ_Ort is not None: + namespaceprefix_ = self.Adresse_PLZ_Ort_nsprefix_ + ':' if (UseCapturedNS_ and self.Adresse_PLZ_Ort_nsprefix_) else '' + self.Adresse_PLZ_Ort.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Adresse_PLZ_Ort', pretty_print=pretty_print) + if self.Adresse_Strasse_Nr is not None: + namespaceprefix_ = self.Adresse_Strasse_Nr_nsprefix_ + ':' if (UseCapturedNS_ and self.Adresse_Strasse_Nr_nsprefix_) else '' + self.Adresse_Strasse_Nr.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Adresse_Strasse_Nr', pretty_print=pretty_print) + if self.E_Mail_Adresse is not None: + namespaceprefix_ = self.E_Mail_Adresse_nsprefix_ + ':' if (UseCapturedNS_ and self.E_Mail_Adresse_nsprefix_) else '' + self.E_Mail_Adresse.export(outfile, level, namespaceprefix_, namespacedef_='', name_='E_Mail_Adresse', pretty_print=pretty_print) + if self.Name_Organisation is not None: + namespaceprefix_ = self.Name_Organisation_nsprefix_ + ':' if (UseCapturedNS_ and self.Name_Organisation_nsprefix_) else '' + self.Name_Organisation.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Name_Organisation', pretty_print=pretty_print) + if self.Organisationseinheit is not None: + namespaceprefix_ = self.Organisationseinheit_nsprefix_ + ':' if (UseCapturedNS_ and self.Organisationseinheit_nsprefix_) else '' + self.Organisationseinheit.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Organisationseinheit', pretty_print=pretty_print) + if self.Telefonnummer is not None: + namespaceprefix_ = self.Telefonnummer_nsprefix_ + ':' if (UseCapturedNS_ and self.Telefonnummer_nsprefix_) else '' + self.Telefonnummer.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Telefonnummer', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(COrganisation, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Adresse_PLZ_Ort': + obj_ = TCAdresse_PLZ_Ort.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Adresse_PLZ_Ort = obj_ + obj_.original_tagname_ = 'Adresse_PLZ_Ort' + elif nodeName_ == 'Adresse_Strasse_Nr': + obj_ = TCAdresse_Strasse_Nr.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Adresse_Strasse_Nr = obj_ + obj_.original_tagname_ = 'Adresse_Strasse_Nr' + elif nodeName_ == 'E_Mail_Adresse': + obj_ = TCE_Mail_Adresse.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.E_Mail_Adresse = obj_ + obj_.original_tagname_ = 'E_Mail_Adresse' + elif nodeName_ == 'Name_Organisation': + obj_ = TCName_Organisation.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Name_Organisation = obj_ + obj_.original_tagname_ = 'Name_Organisation' + elif nodeName_ == 'Organisationseinheit': + obj_ = TCOrganisationseinheit.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Organisationseinheit = obj_ + obj_.original_tagname_ = 'Organisationseinheit' + elif nodeName_ == 'Telefonnummer': + obj_ = TCTelefonnummer.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Telefonnummer = obj_ + obj_.original_tagname_ = 'Telefonnummer' + super(COrganisation, self)._buildChildren(child_, node, nodeName_, True) +# end class COrganisation + + +class TCBemerkung(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCBemerkung"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TBemerkung(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCBemerkung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCBemerkung.subclass: + return TCBemerkung.subclass(*args_, **kwargs_) + else: + return TCBemerkung(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TBemerkung(self, value): + result = True + # Validate type TBemerkung, a restriction on nsBasisTypen:TFreiText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_collector_.add_message('Value "%(value)s"%(lineno)s is not of the correct base simple type (str)' % {"value": value, "lineno": lineno, }) + return False + pass + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCBemerkung, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='xmlns:nsPlanPro="http://www.plan-pro.org/modell/PlanPro/1.10.0"', name_='TCBemerkung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCBemerkung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCBemerkung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBemerkung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCBemerkung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TCBemerkung'): + super(TCBemerkung, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBemerkung') + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='xmlns:nsPlanPro="http://www.plan-pro.org/modell/PlanPro/1.10.0"', name_='TCBemerkung', fromsubclass_=False, pretty_print=True): + super(TCBemerkung, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCBemerkung, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TBemerkung + self.validate_TBemerkung(self.Wert) + super(TCBemerkung, self)._buildChildren(child_, node, nodeName_, True) +# end class TCBemerkung + + +class CLST_Zustand(CUr_Objekt): + """CLST_Zustand -- Konkreter Zustand der LST-Anlage. + Bei der Verwendung des LST-Zustands wird unterschieden in: + * Einzelner LST_Zustand: f + ü + r Bestandsdaten oder einzelne Zust + ä + nde der Gleislage (Geodaten); + * Kombination von LST_Zustand_Start und LST_Zustand_Ziel innerhalb einer Planung_Einzel zur Abbildung der durch eine Planung verursachten + Ä + nderung des Zustands der Gleislage bzw. LST-Anlage. + Es erfolgt eine alphabetische Auflistung der Objektinstanzen in der Attributgruppe + „ + Container + “ + . + DB Regelwerk + Bisher keine Abbildung, da Neuerung mit PlanPro. + Anhang_LST_Zustand -- Erg + ä + nzender pdf-Anhang zu einem LST_Zustand. + DB-Regelwerk + Bisher ohne eindeutige Darstellung. + Container -- Attributgruppe zur alphabetischen Auflistung aller Objektinstanzen eines LST-Zustands. + Alle Objekte des LST-Datenmodells werden in die Attributgruppe eingebunden. + DB Regelwerk + Bisher keine Abbildung, da Neuerung mit PlanPro. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CUr_Objekt + def __init__(self, Identitaet=None, Anhang_LST_Zustand=None, Container=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CLST_Zustand"), self).__init__(Identitaet, **kwargs_) + if Anhang_LST_Zustand is None: + self.Anhang_LST_Zustand = [] + else: + self.Anhang_LST_Zustand = Anhang_LST_Zustand + self.Anhang_LST_Zustand_nsprefix_ = None + self.Container = Container + self.Container_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CLST_Zustand) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CLST_Zustand.subclass: + return CLST_Zustand.subclass(*args_, **kwargs_) + else: + return CLST_Zustand(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anhang_LST_Zustand(self): + return self.Anhang_LST_Zustand + def set_Anhang_LST_Zustand(self, Anhang_LST_Zustand): + self.Anhang_LST_Zustand = Anhang_LST_Zustand + def add_Anhang_LST_Zustand(self, value): + self.Anhang_LST_Zustand.append(value) + def insert_Anhang_LST_Zustand_at(self, index, value): + self.Anhang_LST_Zustand.insert(index, value) + def replace_Anhang_LST_Zustand_at(self, index, value): + self.Anhang_LST_Zustand[index] = value + def get_Container(self): + return self.Container + def set_Container(self, Container): + self.Container = Container + def has__content(self): + if ( + self.Anhang_LST_Zustand or + self.Container is not None or + super(CLST_Zustand, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='xmlns:nsPlanPro="http://www.plan-pro.org/modell/PlanPro/1.10.0" xmlns:nsBasisobjekte="http://www.plan-pro.org/modell/Basisobjekte/1.10.0" ', name_='CLST_Zustand', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CLST_Zustand') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CLST_Zustand': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CLST_Zustand') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CLST_Zustand', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CLST_Zustand'): + super(CLST_Zustand, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CLST_Zustand') + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='xmlns:nsPlanPro="http://www.plan-pro.org/modell/PlanPro/1.10.0" xmlns:nsBasisobjekte="http://www.plan-pro.org/modell/Basisobjekte/1.10.0" ', name_='CLST_Zustand', fromsubclass_=False, pretty_print=True): + super(CLST_Zustand, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for Anhang_LST_Zustand_ in self.Anhang_LST_Zustand: + namespaceprefix_ = self.Anhang_LST_Zustand_nsprefix_ + ':' if (UseCapturedNS_ and self.Anhang_LST_Zustand_nsprefix_) else '' + Anhang_LST_Zustand_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Anhang_LST_Zustand', pretty_print=pretty_print) + if self.Container is not None: + namespaceprefix_ = self.Container_nsprefix_ + ':' if (UseCapturedNS_ and self.Container_nsprefix_) else '' + self.Container.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Container', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CLST_Zustand, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Anhang_LST_Zustand': + obj_ = CAnhang.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Anhang_LST_Zustand.append(obj_) + obj_.original_tagname_ = 'Anhang_LST_Zustand' + elif nodeName_ == 'Container': + obj_ = CContainer.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Container = obj_ + obj_.original_tagname_ = 'Container' + super(CLST_Zustand, self)._buildChildren(child_, node, nodeName_, True) +# end class CLST_Zustand + + +class TCVergleich_Ausgabestand_Basis(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCVergleich_Ausgabestand_Basis"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TVergleich_Ausgabestand_Basis(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCVergleich_Ausgabestand_Basis) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCVergleich_Ausgabestand_Basis.subclass: + return TCVergleich_Ausgabestand_Basis.subclass(*args_, **kwargs_) + else: + return TCVergleich_Ausgabestand_Basis(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TVergleich_Ausgabestand_Basis(self, value): + result = True + # Validate type TVergleich_Ausgabestand_Basis, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TVergleich_Ausgabestand_Basis_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TVergleich_Ausgabestand_Basis_patterns_, )) + result = False + return result + validate_TVergleich_Ausgabestand_Basis_patterns_ = [['^(.{1,30})$'], ['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCVergleich_Ausgabestand_Basis, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='xmlns:nsPlanPro="http://www.plan-pro.org/modell/PlanPro/1.10.0"', name_='TCVergleich_Ausgabestand_Basis', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCVergleich_Ausgabestand_Basis') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCVergleich_Ausgabestand_Basis': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCVergleich_Ausgabestand_Basis') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCVergleich_Ausgabestand_Basis', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TCVergleich_Ausgabestand_Basis'): + super(TCVergleich_Ausgabestand_Basis, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCVergleich_Ausgabestand_Basis') + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='xmlns:nsPlanPro="http://www.plan-pro.org/modell/PlanPro/1.10.0"', name_='TCVergleich_Ausgabestand_Basis', fromsubclass_=False, pretty_print=True): + super(TCVergleich_Ausgabestand_Basis, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCVergleich_Ausgabestand_Basis, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TVergleich_Ausgabestand_Basis + self.validate_TVergleich_Ausgabestand_Basis(self.Wert) + super(TCVergleich_Ausgabestand_Basis, self)._buildChildren(child_, node, nodeName_, True) +# end class TCVergleich_Ausgabestand_Basis + + +class TCName_Akteur_10(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCName_Akteur_10"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TName_Akteur_10(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCName_Akteur_10) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCName_Akteur_10.subclass: + return TCName_Akteur_10.subclass(*args_, **kwargs_) + else: + return TCName_Akteur_10(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TName_Akteur_10(self, value): + result = True + # Validate type TName_Akteur_10, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TName_Akteur_10_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TName_Akteur_10_patterns_, )) + result = False + return result + validate_TName_Akteur_10_patterns_ = [['^(.{1,10})$'], ['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCName_Akteur_10, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='xmlns:nsPlanPro="http://www.plan-pro.org/modell/PlanPro/1.10.0"', name_='TCName_Akteur_10', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCName_Akteur_10') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCName_Akteur_10': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCName_Akteur_10') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCName_Akteur_10', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TCName_Akteur_10'): + super(TCName_Akteur_10, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCName_Akteur_10') + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='xmlns:nsPlanPro="http://www.plan-pro.org/modell/PlanPro/1.10.0"', name_='TCName_Akteur_10', fromsubclass_=False, pretty_print=True): + super(TCName_Akteur_10, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCName_Akteur_10, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TName_Akteur_10 + self.validate_TName_Akteur_10(self.Wert) + super(TCName_Akteur_10, self)._buildChildren(child_, node, nodeName_, True) +# end class TCName_Akteur_10 + + +class CAkteur_Zuordnung(CUr_Objekt): + """CAkteur_Zuordnung -- Basisattributgruppe zur Zuordnung von Akteur-spezifischen Daten in Abh + ä + ngigkeit von der ausgef + ü + hrten Rolle w + ä + hrend der Lebensdauer einer Planung Einzel. Die Attributgruppe enth + ä + lt allgemeine Attribute, die rollenspezifisch unterschiedliche Bedeutungen haben. DB-Regelwerk Schriftfeldeintr + ä + ge gem + ä + ß + Ril 886.0102. + Anhang_Dokumentation -- Anhang zur Dokumentation des Abschlusses der Handlung. + In Planung_E_Abnahme: + Dokumentation der Abnahme (Abnahmeniederschrift gem + ä + ß + VV BAU-STE 4.6, Anhang 4.5/4.6). + In Planung_E_Erstellung: + Beinhaltet das zur Planung geh + ö + rende Planverzeichnis, welches als *.pdf der Planung angehangen wird. + DB-Regelwerk: Ril 809.0701 Abs. 7 (5) und (7). + In Planung_E_Freigabe: + Dokumentation der Freigabe durch Bvb. + In Planung_E_Genehmigung: + Dokumentation der Genehmigung durch AG/Bh/Bhv. + In Planung_E_Gleichstellung: + Best + ä + tigung der Gleichstellung (Grundlagen und Best + ä + tigung der tats + ä + chlichen Ausf + ü + hrung). + In Planung_E_Pruefung: + Zur Planung geh + ö + render Planpr + ü + fbericht, welcher als *.pdf der Planung angeh + ä + ngt wird. + DB-Regelwerk: Bisher ohne eindeutige Darstellung. + In Planung_E_Qualitaetspruefung: + Best + ä + tigung der Qualit + ä + tspr + ü + fung (Best + ä + tigung der tats + ä + chlichen Ausf + ü + hrung). + In Planung_E_Sonstige: + Dokumentation einer sonstigen Handlung. + In Planung_E_Uebernahme: + Best + ä + tigung der + Ü + bernahme (Grundlagen und Best + ä + tigung der tats + ä + chlichen Ausf + ü + hrung). + Datum -- Datum des Abschlusses des Arbeitsauftrags durch den Handelnden. + Die Bedeutung des Datums erschlie + ß + t sich aus der Bezeichnung der Attributgruppe, in der das ~ verwendet wird. + in Planung_E_Abnahme: + Datum der Abnahmepr + ü + fung gem + ä + ß + Abnahmepr + ü + fbericht. + DB-Regelwerk + Schriftfeldeintrag gem + ä + ß + Ril 886.0102, Feld 23.3 Spalte \"Abnahme\". + in Planung_E_Erstellung: + Konkretes Datum der Erstellung der Planung/Projektinitialisierung bzw. deren Ausgabe. + Erg + ä + nzende Beschreibung zum Umgang im PlanPro-Planungsprozess + Das Ausgabedatum und die laufende Nummer der Ausgabe werden separat abgespeichert, auch bei informativen Auslieferungen von Planungsdaten. + DB-Regelwerk + Schriftfeldeintrag gem + ä + ß + Ril 886.0102 Feld 20 bzw. 23. + in Planung_E_Freigabe: + Datum der Freigabe der Planung durch den Bvb; (gem + ä + ß + VV BAU-STE 4.6, Anhang 3.5, Feld \"Freigabe der Ausf + ü + hrungsunterlagen (Bvb)\"). + DB-Regelwerk + Schriftfeldeintrag gem + ä + ß + Ril 886.0102, Feld 6 Zeile \"Freigegeben\". + in Planung_E_Genehmigung: + Datum der Genehmigung der Planung zur Bauausf + ü + hrung durch die EdB (gem + ä + ß + VV BAU-STE 4.6, Anhang 3.5, Feld \"Genehmigung zur Bauausf + ü + hrung\"). + DB-Regelwerk + in Planung_E_Gleichstellung: + Datum der Gleichstellung. + DB-Regelwerk + Bisher ohne eindeutige Abbildung. + in Planung_E_Pruefung: + Datum der Pr + ü + fung der Planungsdaten (heutige Begriffsbezeichnung: Planpr + ü + fung); + DB-Regelwerk + Schriftfeldeintrag gem + ä + ß + Ril 886.0102, Feld 6 \"Erstellungs-, Pr + ü + f- und Freigabedatum\", Zeile \"gepr + ü + ft\" bzw. Feld 23, Spalte \"gepr + ü + ft\". + in Planung_E_Qualitaetspruefung: + Datum der internen Qualit + ä + tspr + ü + fung (gem + ä + ß + VV BAU-STE 4.6, Anhang 3.5, Feld \"Qualit + ä + tssicherung\"). + DB-Regelwerk + Bisher keine eindeutige Abbildung + in Planung_E_Uebernahme: + Datum der + Ü + bereinstimmungsbescheinigung durch den + Ü + bernehmenden + DB-Regelwerk + Schriftfeldeintrag gem + ä + ß + Ril 886.0102, Feld 23.3 Spalte \" + Ü + bernommen\" bei Neuerstellung bzw. + Ä + nderung von Anlagen. + in Planung_E_Sonstige: + Datum der Ausf + ü + hrung einer sonstigen Handlung. + DB-Regelwerk + Bisher keine eindeutige Abbildung. + Handelnder -- Direkteinbindung des zugeordneten Akteurs. + in Planung_E_Abnahme: Abnehmender. + DB-Regelwerk + Ril 886.0102 Schriftfeld, Feld 23.3 Name des Abnahmepr + ü + fers in Spalte \"Abnahme\". + in Planung_E_Erstellung: Ersteller der Planungsdaten oder Projektinitialisierungsdaten. + DB-Regelwerk + Schriftfeldeintrag gem + ä + ß + Ril 886.0102, Feld 7 bzw. 23. + in Planung_E_Freigabe: Freigebender der Einzelplanung. + Er gibt die fachtechnisch gepr + ü + fte Planung (heute: Ausf + ü + hrungsunterlagen) frei (gem + ä + ß + VV BAU-STE 4.6, Anhang 3.5 Feld \"Freigabe der Ausf + ü + hrungsunterlagen (Bvb)\" sowie Ril 819.0103 Schriftfeld, Feld 7 Zeile \"Freigegeben\"). + DB-Regelwerk + Schriftfeldeintrag gem + ä + ß + Ril 886.0102, Feld 7 Zeile \"Freigegeben\". + in Planung_E_Genehmigung: Genehmigender der Eisenbahnen des Bundes. Er genehmigt die Planung (heute: Ausf + ü + hrungsunterlagen) zur Ausf + ü + hrung genehmigt. + (gem + ä + ß + VV BAU-STE 4.6, Anhang 3.5 Feld \"Genehmigung zur Bauausf + ü + hrung\"). + DB-Regelwerk + Bisher ohne eindeutige Abbildung im Schriftfeld gem + ä + ß + Ril 886.0102. + in Planung_E_Gleichstellung: Gleichstellender der Planungsdaten. + DB Regelwerk + Bisher ohne eindeutige Abbildung. + in Planung_E_Pruefung: Pruefer der Einzelplanung + DB-Regelwerk + Schriftfeldeintrag gem + ä + ß + Ril 886.0102, Feld 7 \"Nachname des Erstellers, Planpr + ü + fers und des Verantwortlichen f + ü + r die Freigabe der Unterlage\", Zeile \"gepr + ü + ft\". + in Planung_E_Qualitaetspruefung: Qualitaetspruefer der Planungsdaten. + Firmeninterner Qualit + ä + tspr + ü + fer der Planungsdaten gem + ä + ß + VV BAU-STE 4.6, Anhang 3.5 Planverzeichnis, Feld + „ + Qualit + ä + tssicherung (Planerstellung intern gepr + ü + ft) + DB-Regelwerk + Bisher ohne eindeutige Abbildung im Schriftfeld gem + ä + ß + Ril 886.0102. + In Planung_E_Sonstige: Akteur einer sonstigen Handlung. + DB-Regelwerk + Bisher keine eindeutige Abbildung. + in Planung_E_Uebernahme: + Ü + bernehmender, der f + ü + r die korrekte + Ü + bernahme von Braun-/Pink-Eintr + ä + gen in die Planungsdaten verantwortlich ist. + Der + Ü + bernahmeverantwortliche best + ä + tigt die + Ü + bereinstimmung der Bestandsdokumentation mit den + ö + rtlich gepr + ü + ften Bestandspl + ä + nen bei der Erstellung der Bestandsdaten (heute: Bestandspl + ä + ne) nach Ril 885. + DB-Regelwerk + Schriftfeldeintrag gem + ä + ß + Ril 886.0102, Feld 23.3 Spalte \" + Ü + bernommen\" bei Neuerstellung bzw. + Ä + nderung von Anlagen. + Ident_Rolle -- Eindeutige Identifizierung des unter + „ + Handelnder + “ + definierten Akteurs. + Die konkrete Bedeutung erschlie + ß + t sich aus der Bezeichnung der Attributgruppe, in der ~ verwendet wird. + in Planung_E_Abnahme: + Nummer des Abnahmepr + ü + fers. + Erg + ä + nzende Beschreibung zum heutigen Planungsprozess + Entspricht Zulassungsnummer des Abnahmepr + ü + fers gem + ä + ß + Ril 809.0701 Abs. 5 + „ + Anerkennungsverfahren + “ + . + DB-Regelwerk + Bisher keine Abbildung als Schriftfeldeintrag gem + ä + ß + Ril 886.0102. + in Planung_E_Pruefung: + Nummer des Pr + ü + fers. + Erg + ä + nzende Beschreibung zum heutigen Planungsprozess + Bei einem vom EBA zertifizierten Pr + ü + fer entspricht die Eintragung ~ der Pr + ü + f-Nr./EBA-ID-Nr. des Planpr + ü + fers gem + ä + ß + 2ziffrig/2ziffrig/4ziffriger Eintragung im Planverzeichnis + (gem + ä + ß + VV BAU-STE 4.6, Anhang 3.5). + DB-Regelwerk + Bisher keine eindeutige Abbildung. + in Planung_E_Sonstige: + Sonstige Identifizierungsnummer. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CUr_Objekt + def __init__(self, Identitaet=None, Anhang_Dokumentation=None, Datum=None, Handelnder=None, Ident_Rolle=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CAkteur_Zuordnung"), self).__init__(Identitaet, **kwargs_) + if Anhang_Dokumentation is None: + self.Anhang_Dokumentation = [] + else: + self.Anhang_Dokumentation = Anhang_Dokumentation + self.Anhang_Dokumentation_nsprefix_ = None + self.Datum = Datum + self.Datum_nsprefix_ = None + self.Handelnder = Handelnder + self.Handelnder_nsprefix_ = None + self.Ident_Rolle = Ident_Rolle + self.Ident_Rolle_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CAkteur_Zuordnung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CAkteur_Zuordnung.subclass: + return CAkteur_Zuordnung.subclass(*args_, **kwargs_) + else: + return CAkteur_Zuordnung(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anhang_Dokumentation(self): + return self.Anhang_Dokumentation + def set_Anhang_Dokumentation(self, Anhang_Dokumentation): + self.Anhang_Dokumentation = Anhang_Dokumentation + def add_Anhang_Dokumentation(self, value): + self.Anhang_Dokumentation.append(value) + def insert_Anhang_Dokumentation_at(self, index, value): + self.Anhang_Dokumentation.insert(index, value) + def replace_Anhang_Dokumentation_at(self, index, value): + self.Anhang_Dokumentation[index] = value + def get_Datum(self): + return self.Datum + def set_Datum(self, Datum): + self.Datum = Datum + def get_Handelnder(self): + return self.Handelnder + def set_Handelnder(self, Handelnder): + self.Handelnder = Handelnder + def get_Ident_Rolle(self): + return self.Ident_Rolle + def set_Ident_Rolle(self, Ident_Rolle): + self.Ident_Rolle = Ident_Rolle + def has__content(self): + if ( + self.Anhang_Dokumentation or + self.Datum is not None or + self.Handelnder is not None or + self.Ident_Rolle is not None or + super(CAkteur_Zuordnung, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='xmlns:nsPlanPro="http://www.plan-pro.org/modell/PlanPro/1.10.0" xmlns:nsBasisobjekte="http://www.plan-pro.org/modell/Basisobjekte/1.10.0" ', name_='CAkteur_Zuordnung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CAkteur_Zuordnung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CAkteur_Zuordnung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CAkteur_Zuordnung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CAkteur_Zuordnung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CAkteur_Zuordnung'): + super(CAkteur_Zuordnung, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CAkteur_Zuordnung') + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='xmlns:nsPlanPro="http://www.plan-pro.org/modell/PlanPro/1.10.0" xmlns:nsBasisobjekte="http://www.plan-pro.org/modell/Basisobjekte/1.10.0" ', name_='CAkteur_Zuordnung', fromsubclass_=False, pretty_print=True): + super(CAkteur_Zuordnung, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for Anhang_Dokumentation_ in self.Anhang_Dokumentation: + namespaceprefix_ = self.Anhang_Dokumentation_nsprefix_ + ':' if (UseCapturedNS_ and self.Anhang_Dokumentation_nsprefix_) else '' + Anhang_Dokumentation_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Anhang_Dokumentation', pretty_print=pretty_print) + if self.Datum is not None: + namespaceprefix_ = self.Datum_nsprefix_ + ':' if (UseCapturedNS_ and self.Datum_nsprefix_) else '' + self.Datum.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Datum', pretty_print=pretty_print) + if self.Handelnder is not None: + namespaceprefix_ = self.Handelnder_nsprefix_ + ':' if (UseCapturedNS_ and self.Handelnder_nsprefix_) else '' + self.Handelnder.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Handelnder', pretty_print=pretty_print) + if self.Ident_Rolle is not None: + namespaceprefix_ = self.Ident_Rolle_nsprefix_ + ':' if (UseCapturedNS_ and self.Ident_Rolle_nsprefix_) else '' + self.Ident_Rolle.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Ident_Rolle', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CAkteur_Zuordnung, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Anhang_Dokumentation': + obj_ = CAnhang.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Anhang_Dokumentation.append(obj_) + obj_.original_tagname_ = 'Anhang_Dokumentation' + elif nodeName_ == 'Datum': + obj_ = TCDatum.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Datum = obj_ + obj_.original_tagname_ = 'Datum' + elif nodeName_ == 'Handelnder': + obj_ = CAkteur.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Handelnder = obj_ + obj_.original_tagname_ = 'Handelnder' + elif nodeName_ == 'Ident_Rolle': + obj_ = TCIdent_Rolle.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Ident_Rolle = obj_ + obj_.original_tagname_ = 'Ident_Rolle' + super(CAkteur_Zuordnung, self)._buildChildren(child_, node, nodeName_, True) +# end class CAkteur_Zuordnung + + +class TCVerantwortliche_Stelle_DB(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCVerantwortliche_Stelle_DB"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TVerantwortliche_Stelle_DB(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCVerantwortliche_Stelle_DB) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCVerantwortliche_Stelle_DB.subclass: + return TCVerantwortliche_Stelle_DB.subclass(*args_, **kwargs_) + else: + return TCVerantwortliche_Stelle_DB(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TVerantwortliche_Stelle_DB(self, value): + result = True + # Validate type TVerantwortliche_Stelle_DB, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TVerantwortliche_Stelle_DB_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TVerantwortliche_Stelle_DB_patterns_, )) + result = False + return result + validate_TVerantwortliche_Stelle_DB_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCVerantwortliche_Stelle_DB, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='xmlns:nsPlanPro="http://www.plan-pro.org/modell/PlanPro/1.10.0"', name_='TCVerantwortliche_Stelle_DB', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCVerantwortliche_Stelle_DB') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCVerantwortliche_Stelle_DB': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCVerantwortliche_Stelle_DB') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCVerantwortliche_Stelle_DB', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TCVerantwortliche_Stelle_DB'): + super(TCVerantwortliche_Stelle_DB, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCVerantwortliche_Stelle_DB') + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='xmlns:nsPlanPro="http://www.plan-pro.org/modell/PlanPro/1.10.0"', name_='TCVerantwortliche_Stelle_DB', fromsubclass_=False, pretty_print=True): + super(TCVerantwortliche_Stelle_DB, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCVerantwortliche_Stelle_DB, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TVerantwortliche_Stelle_DB + self.validate_TVerantwortliche_Stelle_DB(self.Wert) + super(TCVerantwortliche_Stelle_DB, self)._buildChildren(child_, node, nodeName_, True) +# end class TCVerantwortliche_Stelle_DB + + +class TCBauphase(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCBauphase"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TBauphase(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCBauphase) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCBauphase.subclass: + return TCBauphase.subclass(*args_, **kwargs_) + else: + return TCBauphase(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TBauphase(self, value): + result = True + # Validate type TBauphase, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TBauphase_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TBauphase_patterns_, )) + result = False + return result + validate_TBauphase_patterns_ = [['^(.{1,50})$'], ['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCBauphase, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='xmlns:nsPlanPro="http://www.plan-pro.org/modell/PlanPro/1.10.0"', name_='TCBauphase', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCBauphase') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCBauphase': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBauphase') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCBauphase', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TCBauphase'): + super(TCBauphase, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBauphase') + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='xmlns:nsPlanPro="http://www.plan-pro.org/modell/PlanPro/1.10.0"', name_='TCBauphase', fromsubclass_=False, pretty_print=True): + super(TCBauphase, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCBauphase, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TBauphase + self.validate_TBauphase(self.Wert) + super(TCBauphase, self)._buildChildren(child_, node, nodeName_, True) +# end class TCBauphase + + +class TCPlanung_G_Art_Besonders(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCPlanung_G_Art_Besonders"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMPlanung_G_Art_Besonders(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCPlanung_G_Art_Besonders) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCPlanung_G_Art_Besonders.subclass: + return TCPlanung_G_Art_Besonders.subclass(*args_, **kwargs_) + else: + return TCPlanung_G_Art_Besonders(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMPlanung_G_Art_Besonders(self, value): + result = True + # Validate type ENUMPlanung_G_Art_Besonders, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['Bestandsdigitalisierung_Geo_Topo', 'Bestandsdigitalisierung_LST', 'Geodaten', 'sonstige', 'Verbindungsknoten', 'Versionshebung'] + 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 ENUMPlanung_G_Art_Besonders' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCPlanung_G_Art_Besonders, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='xmlns:nsPlanPro="http://www.plan-pro.org/modell/PlanPro/1.10.0"', name_='TCPlanung_G_Art_Besonders', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCPlanung_G_Art_Besonders') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCPlanung_G_Art_Besonders': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCPlanung_G_Art_Besonders') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCPlanung_G_Art_Besonders', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TCPlanung_G_Art_Besonders'): + super(TCPlanung_G_Art_Besonders, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCPlanung_G_Art_Besonders') + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='xmlns:nsPlanPro="http://www.plan-pro.org/modell/PlanPro/1.10.0"', name_='TCPlanung_G_Art_Besonders', fromsubclass_=False, pretty_print=True): + super(TCPlanung_G_Art_Besonders, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCPlanung_G_Art_Besonders, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMPlanung_G_Art_Besonders + self.validate_ENUMPlanung_G_Art_Besonders(self.Wert) + super(TCPlanung_G_Art_Besonders, self)._buildChildren(child_, node, nodeName_, True) +# end class TCPlanung_G_Art_Besonders + + +class TCName_Akteur(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCName_Akteur"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TName_Akteur(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCName_Akteur) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCName_Akteur.subclass: + return TCName_Akteur.subclass(*args_, **kwargs_) + else: + return TCName_Akteur(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TName_Akteur(self, value): + result = True + # Validate type TName_Akteur, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TName_Akteur_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TName_Akteur_patterns_, )) + result = False + return result + validate_TName_Akteur_patterns_ = [['^(.{1,35})$'], ['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCName_Akteur, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='xmlns:nsPlanPro="http://www.plan-pro.org/modell/PlanPro/1.10.0"', name_='TCName_Akteur', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCName_Akteur') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCName_Akteur': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCName_Akteur') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCName_Akteur', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TCName_Akteur'): + super(TCName_Akteur, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCName_Akteur') + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='xmlns:nsPlanPro="http://www.plan-pro.org/modell/PlanPro/1.10.0"', name_='TCName_Akteur', fromsubclass_=False, pretty_print=True): + super(TCName_Akteur, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCName_Akteur, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TName_Akteur + self.validate_TName_Akteur(self.Wert) + super(TCName_Akteur, self)._buildChildren(child_, node, nodeName_, True) +# end class TCName_Akteur + + +class TCReferenz_Vergleich_Besonders(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCReferenz_Vergleich_Besonders"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TReferenz_Vergleich_Besonders(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCReferenz_Vergleich_Besonders) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCReferenz_Vergleich_Besonders.subclass: + return TCReferenz_Vergleich_Besonders.subclass(*args_, **kwargs_) + else: + return TCReferenz_Vergleich_Besonders(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TReferenz_Vergleich_Besonders(self, value): + result = True + # Validate type TReferenz_Vergleich_Besonders, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TReferenz_Vergleich_Besonders_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TReferenz_Vergleich_Besonders_patterns_, )) + result = False + return result + validate_TReferenz_Vergleich_Besonders_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCReferenz_Vergleich_Besonders, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='xmlns:nsPlanPro="http://www.plan-pro.org/modell/PlanPro/1.10.0"', name_='TCReferenz_Vergleich_Besonders', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCReferenz_Vergleich_Besonders') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCReferenz_Vergleich_Besonders': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCReferenz_Vergleich_Besonders') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCReferenz_Vergleich_Besonders', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TCReferenz_Vergleich_Besonders'): + super(TCReferenz_Vergleich_Besonders, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCReferenz_Vergleich_Besonders') + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='xmlns:nsPlanPro="http://www.plan-pro.org/modell/PlanPro/1.10.0"', name_='TCReferenz_Vergleich_Besonders', fromsubclass_=False, pretty_print=True): + super(TCReferenz_Vergleich_Besonders, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCReferenz_Vergleich_Besonders, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TReferenz_Vergleich_Besonders + self.validate_TReferenz_Vergleich_Besonders(self.Wert) + super(TCReferenz_Vergleich_Besonders, self)._buildChildren(child_, node, nodeName_, True) +# end class TCReferenz_Vergleich_Besonders + + +class TCStrecke_Abschnitt(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCStrecke_Abschnitt"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TStrecke_Abschnitt(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCStrecke_Abschnitt) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCStrecke_Abschnitt.subclass: + return TCStrecke_Abschnitt.subclass(*args_, **kwargs_) + else: + return TCStrecke_Abschnitt(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TStrecke_Abschnitt(self, value): + result = True + # Validate type TStrecke_Abschnitt, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TStrecke_Abschnitt_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TStrecke_Abschnitt_patterns_, )) + result = False + return result + validate_TStrecke_Abschnitt_patterns_ = [['^(.{1,50})$'], ['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCStrecke_Abschnitt, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='xmlns:nsPlanPro="http://www.plan-pro.org/modell/PlanPro/1.10.0"', name_='TCStrecke_Abschnitt', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCStrecke_Abschnitt') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCStrecke_Abschnitt': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCStrecke_Abschnitt') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCStrecke_Abschnitt', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TCStrecke_Abschnitt'): + super(TCStrecke_Abschnitt, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCStrecke_Abschnitt') + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='xmlns:nsPlanPro="http://www.plan-pro.org/modell/PlanPro/1.10.0"', name_='TCStrecke_Abschnitt', fromsubclass_=False, pretty_print=True): + super(TCStrecke_Abschnitt, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCStrecke_Abschnitt, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TStrecke_Abschnitt + self.validate_TStrecke_Abschnitt(self.Wert) + super(TCStrecke_Abschnitt, self)._buildChildren(child_, node, nodeName_, True) +# end class TCStrecke_Abschnitt + + +class TCProjekt_Nummer(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCProjekt_Nummer"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TProjekt_Nummer(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCProjekt_Nummer) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCProjekt_Nummer.subclass: + return TCProjekt_Nummer.subclass(*args_, **kwargs_) + else: + return TCProjekt_Nummer(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TProjekt_Nummer(self, value): + result = True + # Validate type TProjekt_Nummer, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TProjekt_Nummer_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TProjekt_Nummer_patterns_, )) + result = False + return result + validate_TProjekt_Nummer_patterns_ = [['^(.{1,20})$'], ['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCProjekt_Nummer, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='xmlns:nsPlanPro="http://www.plan-pro.org/modell/PlanPro/1.10.0"', name_='TCProjekt_Nummer', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCProjekt_Nummer') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCProjekt_Nummer': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCProjekt_Nummer') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCProjekt_Nummer', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TCProjekt_Nummer'): + super(TCProjekt_Nummer, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCProjekt_Nummer') + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='xmlns:nsPlanPro="http://www.plan-pro.org/modell/PlanPro/1.10.0"', name_='TCProjekt_Nummer', fromsubclass_=False, pretty_print=True): + super(TCProjekt_Nummer, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCProjekt_Nummer, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TProjekt_Nummer + self.validate_TProjekt_Nummer(self.Wert) + super(TCProjekt_Nummer, self)._buildChildren(child_, node, nodeName_, True) +# end class TCProjekt_Nummer + + +class TCErzeugung_Zeitstempel(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCErzeugung_Zeitstempel"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + if isinstance(Wert, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Wert, '%Y-%m-%dT%H:%M:%S') + else: + initvalue_ = Wert + self.Wert = initvalue_ + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCErzeugung_Zeitstempel) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCErzeugung_Zeitstempel.subclass: + return TCErzeugung_Zeitstempel.subclass(*args_, **kwargs_) + else: + return TCErzeugung_Zeitstempel(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def has__content(self): + if ( + self.Wert is not None or + super(TCErzeugung_Zeitstempel, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='xmlns:nsPlanPro="http://www.plan-pro.org/modell/PlanPro/1.10.0"', name_='TCErzeugung_Zeitstempel', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCErzeugung_Zeitstempel') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCErzeugung_Zeitstempel': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCErzeugung_Zeitstempel') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCErzeugung_Zeitstempel', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TCErzeugung_Zeitstempel'): + super(TCErzeugung_Zeitstempel, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCErzeugung_Zeitstempel') + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='xmlns:nsPlanPro="http://www.plan-pro.org/modell/PlanPro/1.10.0"', name_='TCErzeugung_Zeitstempel', fromsubclass_=False, pretty_print=True): + super(TCErzeugung_Zeitstempel, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_datetime(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCErzeugung_Zeitstempel, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + sval_ = child_.text + dval_ = self.gds_parse_datetime(sval_) + self.Wert = dval_ + self.Wert_nsprefix_ = child_.prefix + super(TCErzeugung_Zeitstempel, self)._buildChildren(child_, node, nodeName_, True) +# end class TCErzeugung_Zeitstempel + + +class CPlanung_Einzel(CUr_Objekt): + """CPlanung_Einzel -- Angabe und Zuordnung von Daten, die f + ü + r eine Einzelplanung innerhalb einer definierten Planungsgruppe gelten. + Die Attribute des Objekts Planung_Einzel werden zum Teil w + ä + hrend der Erstellung der beauftragten Planung bef + ü + llt. Mit der Weiterschaltung des jeweiligen Planungsstatus k + ö + nnen im Rahmen nachfolgender Prozessschritte (z. B. Planpr + ü + fung) weitere Attribute bef + ü + llt werden. + Anhang_Erlaeuterungsbericht -- Zur Planung geh + ö + render Erl + ä + uterungsbericht, welcher als *.pdf der Planung angeh + ä + ngt wird. + DB-Regelwerk + Bisher ohne eindeutige Darstellung. + Anhang_Material_Besonders -- Anhang zur Angabe von Besonderheiten, die von der Signalbauindustrie bei der Materialisierung beachtet werden m + ü + ssen, z. B. beigestellte bzw. wiederverwendete Materialien. + DB-Regelwerk + Bisher ohne eindeutige Darstellung. + Anhang_VzG -- Das bei der Erstellung der Planung zu Grunde gelegte VzG des Zielzustandes f + ü + r die Strecken im Planungsbereich. + Das VzG wird als *.pdf der Planung angeh + ä + ngt. + Das Ausgabedatum des VzG ist in die Dateibezeichnung aufzunehmen, da auch unterj + ä + hrig aktualisierte VzG herausgegeben werden k + ö + nnen. + DB-Regelwerk + Bisher ohne eindeutige Abbildung. + ID_Ausgabe_Fachdaten -- Verweis auf die konkrete Ausgabe der Fachdaten des LST-Datenmodells. + DB Regelwerk + Bisher keine Abbildung, da Neuerung mit PlanPro. + LST_Objekte_Planungsbereich -- ID-Verweise auf alle Objekte im Planungsbereich. + Referenz_Planung_Basis -- Referenz auf eine Planung Einzel mit dem Ausgabestand, der als Grundlage f + ü + r die Erstellung der aktuellen Planung_Einzel verwendet wurde. + Erg + ä + nzende Beschreibung zum Umgang im PlanPro-Planungsprozess + Bei einer Planung der Eigenschaft Planung E Art = Bestandsdigitalisierung_Geo_Topo ist keine Referenz_Planung_Basis vorhanden. Gleiches gilt f + ü + r Planungen der Art Bestandsdigitalisierung_LST, Geodaten oder Bauzustand, sofern zuvor keine separaten Planungsdaten erzeugt wurden. Alle anderen Planungen verf + ü + gen + ü + ber eine Referenz_Planung_Basis, + ü + ber deren Verlinkung weitere Angaben im Schriftfeld gef + ü + llt werden k + ö + nnen (Ersteller, Bauzustand). + DB-Regelwerk + Bisher keine eindeutige Abbildung. + Herleitbar aus Schriftfeldeintr + ä + gen gem + ä + ß + Ril 886.0102 einschlie + ß + lich Erl + ä + uterungen, insbesondere + Ä + nderungsindex/-historie sowie aufbauendem Ausgabestand. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CUr_Objekt + def __init__(self, Identitaet=None, Anhang_Erlaeuterungsbericht=None, Anhang_Material_Besonders=None, Anhang_VzG=None, ID_Ausgabe_Fachdaten=None, LST_Objekte_Planungsbereich=None, Planung_E_Allg=None, Planung_E_Ausgabe_Besonders=None, Planung_E_Handlung=None, Referenz_Planung_Basis=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CPlanung_Einzel"), self).__init__(Identitaet, **kwargs_) + if Anhang_Erlaeuterungsbericht is None: + self.Anhang_Erlaeuterungsbericht = [] + else: + self.Anhang_Erlaeuterungsbericht = Anhang_Erlaeuterungsbericht + self.Anhang_Erlaeuterungsbericht_nsprefix_ = None + if Anhang_Material_Besonders is None: + self.Anhang_Material_Besonders = [] + else: + self.Anhang_Material_Besonders = Anhang_Material_Besonders + self.Anhang_Material_Besonders_nsprefix_ = None + if Anhang_VzG is None: + self.Anhang_VzG = [] + else: + self.Anhang_VzG = Anhang_VzG + self.Anhang_VzG_nsprefix_ = None + self.ID_Ausgabe_Fachdaten = ID_Ausgabe_Fachdaten + self.ID_Ausgabe_Fachdaten_nsprefix_ = None + self.LST_Objekte_Planungsbereich = LST_Objekte_Planungsbereich + self.LST_Objekte_Planungsbereich_nsprefix_ = None + self.Planung_E_Allg = Planung_E_Allg + self.Planung_E_Allg_nsprefix_ = None + self.Planung_E_Ausgabe_Besonders = Planung_E_Ausgabe_Besonders + self.Planung_E_Ausgabe_Besonders_nsprefix_ = None + self.Planung_E_Handlung = Planung_E_Handlung + self.Planung_E_Handlung_nsprefix_ = None + self.Referenz_Planung_Basis = Referenz_Planung_Basis + self.Referenz_Planung_Basis_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CPlanung_Einzel) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CPlanung_Einzel.subclass: + return CPlanung_Einzel.subclass(*args_, **kwargs_) + else: + return CPlanung_Einzel(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Anhang_Erlaeuterungsbericht(self): + return self.Anhang_Erlaeuterungsbericht + def set_Anhang_Erlaeuterungsbericht(self, Anhang_Erlaeuterungsbericht): + self.Anhang_Erlaeuterungsbericht = Anhang_Erlaeuterungsbericht + def add_Anhang_Erlaeuterungsbericht(self, value): + self.Anhang_Erlaeuterungsbericht.append(value) + def insert_Anhang_Erlaeuterungsbericht_at(self, index, value): + self.Anhang_Erlaeuterungsbericht.insert(index, value) + def replace_Anhang_Erlaeuterungsbericht_at(self, index, value): + self.Anhang_Erlaeuterungsbericht[index] = value + def get_Anhang_Material_Besonders(self): + return self.Anhang_Material_Besonders + def set_Anhang_Material_Besonders(self, Anhang_Material_Besonders): + self.Anhang_Material_Besonders = Anhang_Material_Besonders + def add_Anhang_Material_Besonders(self, value): + self.Anhang_Material_Besonders.append(value) + def insert_Anhang_Material_Besonders_at(self, index, value): + self.Anhang_Material_Besonders.insert(index, value) + def replace_Anhang_Material_Besonders_at(self, index, value): + self.Anhang_Material_Besonders[index] = value + def get_Anhang_VzG(self): + return self.Anhang_VzG + def set_Anhang_VzG(self, Anhang_VzG): + self.Anhang_VzG = Anhang_VzG + def add_Anhang_VzG(self, value): + self.Anhang_VzG.append(value) + def insert_Anhang_VzG_at(self, index, value): + self.Anhang_VzG.insert(index, value) + def replace_Anhang_VzG_at(self, index, value): + self.Anhang_VzG[index] = value + def get_ID_Ausgabe_Fachdaten(self): + return self.ID_Ausgabe_Fachdaten + def set_ID_Ausgabe_Fachdaten(self, ID_Ausgabe_Fachdaten): + self.ID_Ausgabe_Fachdaten = ID_Ausgabe_Fachdaten + def get_LST_Objekte_Planungsbereich(self): + return self.LST_Objekte_Planungsbereich + def set_LST_Objekte_Planungsbereich(self, LST_Objekte_Planungsbereich): + self.LST_Objekte_Planungsbereich = LST_Objekte_Planungsbereich + def get_Planung_E_Allg(self): + return self.Planung_E_Allg + def set_Planung_E_Allg(self, Planung_E_Allg): + self.Planung_E_Allg = Planung_E_Allg + def get_Planung_E_Ausgabe_Besonders(self): + return self.Planung_E_Ausgabe_Besonders + def set_Planung_E_Ausgabe_Besonders(self, Planung_E_Ausgabe_Besonders): + self.Planung_E_Ausgabe_Besonders = Planung_E_Ausgabe_Besonders + def get_Planung_E_Handlung(self): + return self.Planung_E_Handlung + def set_Planung_E_Handlung(self, Planung_E_Handlung): + self.Planung_E_Handlung = Planung_E_Handlung + def get_Referenz_Planung_Basis(self): + return self.Referenz_Planung_Basis + def set_Referenz_Planung_Basis(self, Referenz_Planung_Basis): + self.Referenz_Planung_Basis = Referenz_Planung_Basis + def has__content(self): + if ( + self.Anhang_Erlaeuterungsbericht or + self.Anhang_Material_Besonders or + self.Anhang_VzG or + self.ID_Ausgabe_Fachdaten is not None or + self.LST_Objekte_Planungsbereich is not None or + self.Planung_E_Allg is not None or + self.Planung_E_Ausgabe_Besonders is not None or + self.Planung_E_Handlung is not None or + self.Referenz_Planung_Basis is not None or + super(CPlanung_Einzel, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='xmlns:nsPlanPro="http://www.plan-pro.org/modell/PlanPro/1.10.0" xmlns:nsBasisobjekte="http://www.plan-pro.org/modell/Basisobjekte/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CPlanung_Einzel', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CPlanung_Einzel') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CPlanung_Einzel': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CPlanung_Einzel') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CPlanung_Einzel', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CPlanung_Einzel'): + super(CPlanung_Einzel, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CPlanung_Einzel') + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='xmlns:nsPlanPro="http://www.plan-pro.org/modell/PlanPro/1.10.0" xmlns:nsBasisobjekte="http://www.plan-pro.org/modell/Basisobjekte/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CPlanung_Einzel', fromsubclass_=False, pretty_print=True): + super(CPlanung_Einzel, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for Anhang_Erlaeuterungsbericht_ in self.Anhang_Erlaeuterungsbericht: + namespaceprefix_ = self.Anhang_Erlaeuterungsbericht_nsprefix_ + ':' if (UseCapturedNS_ and self.Anhang_Erlaeuterungsbericht_nsprefix_) else '' + Anhang_Erlaeuterungsbericht_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Anhang_Erlaeuterungsbericht', pretty_print=pretty_print) + for Anhang_Material_Besonders_ in self.Anhang_Material_Besonders: + namespaceprefix_ = self.Anhang_Material_Besonders_nsprefix_ + ':' if (UseCapturedNS_ and self.Anhang_Material_Besonders_nsprefix_) else '' + Anhang_Material_Besonders_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Anhang_Material_Besonders', pretty_print=pretty_print) + for Anhang_VzG_ in self.Anhang_VzG: + namespaceprefix_ = self.Anhang_VzG_nsprefix_ + ':' if (UseCapturedNS_ and self.Anhang_VzG_nsprefix_) else '' + Anhang_VzG_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Anhang_VzG', pretty_print=pretty_print) + if self.ID_Ausgabe_Fachdaten is not None: + namespaceprefix_ = self.ID_Ausgabe_Fachdaten_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Ausgabe_Fachdaten_nsprefix_) else '' + self.ID_Ausgabe_Fachdaten.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Ausgabe_Fachdaten', pretty_print=pretty_print) + if self.LST_Objekte_Planungsbereich is not None: + namespaceprefix_ = self.LST_Objekte_Planungsbereich_nsprefix_ + ':' if (UseCapturedNS_ and self.LST_Objekte_Planungsbereich_nsprefix_) else '' + self.LST_Objekte_Planungsbereich.export(outfile, level, namespaceprefix_, namespacedef_='', name_='LST_Objekte_Planungsbereich', pretty_print=pretty_print) + if self.Planung_E_Allg is not None: + namespaceprefix_ = self.Planung_E_Allg_nsprefix_ + ':' if (UseCapturedNS_ and self.Planung_E_Allg_nsprefix_) else '' + self.Planung_E_Allg.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Planung_E_Allg', pretty_print=pretty_print) + if self.Planung_E_Ausgabe_Besonders is not None: + namespaceprefix_ = self.Planung_E_Ausgabe_Besonders_nsprefix_ + ':' if (UseCapturedNS_ and self.Planung_E_Ausgabe_Besonders_nsprefix_) else '' + self.Planung_E_Ausgabe_Besonders.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Planung_E_Ausgabe_Besonders', pretty_print=pretty_print) + if self.Planung_E_Handlung is not None: + namespaceprefix_ = self.Planung_E_Handlung_nsprefix_ + ':' if (UseCapturedNS_ and self.Planung_E_Handlung_nsprefix_) else '' + self.Planung_E_Handlung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Planung_E_Handlung', pretty_print=pretty_print) + if self.Referenz_Planung_Basis is not None: + namespaceprefix_ = self.Referenz_Planung_Basis_nsprefix_ + ':' if (UseCapturedNS_ and self.Referenz_Planung_Basis_nsprefix_) else '' + self.Referenz_Planung_Basis.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Referenz_Planung_Basis', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CPlanung_Einzel, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Anhang_Erlaeuterungsbericht': + obj_ = CAnhang.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Anhang_Erlaeuterungsbericht.append(obj_) + obj_.original_tagname_ = 'Anhang_Erlaeuterungsbericht' + elif nodeName_ == 'Anhang_Material_Besonders': + obj_ = CAnhang.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Anhang_Material_Besonders.append(obj_) + obj_.original_tagname_ = 'Anhang_Material_Besonders' + elif nodeName_ == 'Anhang_VzG': + obj_ = CAnhang.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Anhang_VzG.append(obj_) + obj_.original_tagname_ = 'Anhang_VzG' + elif nodeName_ == 'ID_Ausgabe_Fachdaten': + obj_ = TCID_Ausgabe_Fachdaten_ohne_Proxy.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Ausgabe_Fachdaten = obj_ + obj_.original_tagname_ = 'ID_Ausgabe_Fachdaten' + elif nodeName_ == 'LST_Objekte_Planungsbereich': + obj_ = CLST_Objekte_Planungsbereich.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.LST_Objekte_Planungsbereich = obj_ + obj_.original_tagname_ = 'LST_Objekte_Planungsbereich' + elif nodeName_ == 'Planung_E_Allg': + obj_ = CPlanung_E_Allg.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Planung_E_Allg = obj_ + obj_.original_tagname_ = 'Planung_E_Allg' + elif nodeName_ == 'Planung_E_Ausgabe_Besonders': + obj_ = CPlanung_E_Ausgabe_Besonders.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Planung_E_Ausgabe_Besonders = obj_ + obj_.original_tagname_ = 'Planung_E_Ausgabe_Besonders' + elif nodeName_ == 'Planung_E_Handlung': + obj_ = CPlanung_E_Handlung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Planung_E_Handlung = obj_ + obj_.original_tagname_ = 'Planung_E_Handlung' + elif nodeName_ == 'Referenz_Planung_Basis': + obj_ = TCReferenz_Planung_Basis.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Referenz_Planung_Basis = obj_ + obj_.original_tagname_ = 'Referenz_Planung_Basis' + super(CPlanung_Einzel, self)._buildChildren(child_, node, nodeName_, True) +# end class CPlanung_Einzel + + +class TCName_Organisation(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCName_Organisation"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TName_Organisation(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCName_Organisation) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCName_Organisation.subclass: + return TCName_Organisation.subclass(*args_, **kwargs_) + else: + return TCName_Organisation(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TName_Organisation(self, value): + result = True + # Validate type TName_Organisation, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TName_Organisation_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TName_Organisation_patterns_, )) + result = False + return result + validate_TName_Organisation_patterns_ = [['^(.{1,30})$'], ['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCName_Organisation, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='xmlns:nsPlanPro="http://www.plan-pro.org/modell/PlanPro/1.10.0"', name_='TCName_Organisation', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCName_Organisation') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCName_Organisation': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCName_Organisation') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCName_Organisation', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TCName_Organisation'): + super(TCName_Organisation, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCName_Organisation') + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='xmlns:nsPlanPro="http://www.plan-pro.org/modell/PlanPro/1.10.0"', name_='TCName_Organisation', fromsubclass_=False, pretty_print=True): + super(TCName_Organisation, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCName_Organisation, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TName_Organisation + self.validate_TName_Organisation(self.Wert) + super(TCName_Organisation, self)._buildChildren(child_, node, nodeName_, True) +# end class TCName_Organisation + + +class CPlanung_Projekt(CUr_Objekt): + """CPlanung_Projekt -- Erm + ö + glicht die globale Angabe und Zuordnung von organisatorischen und inhaltlichen Daten, die f + ü + r alle Planungsgruppen eines Planungsprojekts gleicherma + ß + en gelten. + Ein ~ enth + ä + lt mindestens eine Planungsgruppe. + DB-Regelwerk + Bisher keine eindeutige Abbildung als Schriftfeldeintrag gem + ä + ß + Ril 886.0102. + LST_Planung_Gruppe -- Einbindung des Objekts Planung_Gruppe in das Objekt Planung_Projekt. + DB Regelwerk + Bisher keine Abbildung, da Neuerung mit PlanPro. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CUr_Objekt + def __init__(self, Identitaet=None, LST_Planung_Gruppe=None, Planung_P_Allg=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CPlanung_Projekt"), self).__init__(Identitaet, **kwargs_) + if LST_Planung_Gruppe is None: + self.LST_Planung_Gruppe = [] + else: + self.LST_Planung_Gruppe = LST_Planung_Gruppe + self.LST_Planung_Gruppe_nsprefix_ = None + self.Planung_P_Allg = Planung_P_Allg + self.Planung_P_Allg_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CPlanung_Projekt) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CPlanung_Projekt.subclass: + return CPlanung_Projekt.subclass(*args_, **kwargs_) + else: + return CPlanung_Projekt(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_LST_Planung_Gruppe(self): + return self.LST_Planung_Gruppe + def set_LST_Planung_Gruppe(self, LST_Planung_Gruppe): + self.LST_Planung_Gruppe = LST_Planung_Gruppe + def add_LST_Planung_Gruppe(self, value): + self.LST_Planung_Gruppe.append(value) + def insert_LST_Planung_Gruppe_at(self, index, value): + self.LST_Planung_Gruppe.insert(index, value) + def replace_LST_Planung_Gruppe_at(self, index, value): + self.LST_Planung_Gruppe[index] = value + def get_Planung_P_Allg(self): + return self.Planung_P_Allg + def set_Planung_P_Allg(self, Planung_P_Allg): + self.Planung_P_Allg = Planung_P_Allg + def has__content(self): + if ( + self.LST_Planung_Gruppe or + self.Planung_P_Allg is not None or + super(CPlanung_Projekt, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='xmlns:nsPlanPro="http://www.plan-pro.org/modell/PlanPro/1.10.0"', name_='CPlanung_Projekt', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CPlanung_Projekt') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CPlanung_Projekt': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CPlanung_Projekt') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CPlanung_Projekt', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CPlanung_Projekt'): + super(CPlanung_Projekt, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CPlanung_Projekt') + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='xmlns:nsPlanPro="http://www.plan-pro.org/modell/PlanPro/1.10.0"', name_='CPlanung_Projekt', fromsubclass_=False, pretty_print=True): + super(CPlanung_Projekt, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for LST_Planung_Gruppe_ in self.LST_Planung_Gruppe: + namespaceprefix_ = self.LST_Planung_Gruppe_nsprefix_ + ':' if (UseCapturedNS_ and self.LST_Planung_Gruppe_nsprefix_) else '' + LST_Planung_Gruppe_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='LST_Planung_Gruppe', pretty_print=pretty_print) + if self.Planung_P_Allg is not None: + namespaceprefix_ = self.Planung_P_Allg_nsprefix_ + ':' if (UseCapturedNS_ and self.Planung_P_Allg_nsprefix_) else '' + self.Planung_P_Allg.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Planung_P_Allg', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CPlanung_Projekt, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'LST_Planung_Gruppe': + obj_ = CPlanung_Gruppe.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.LST_Planung_Gruppe.append(obj_) + obj_.original_tagname_ = 'LST_Planung_Gruppe' + elif nodeName_ == 'Planung_P_Allg': + obj_ = CPlanung_P_Allg.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Planung_P_Allg = obj_ + obj_.original_tagname_ = 'Planung_P_Allg' + super(CPlanung_Projekt, self)._buildChildren(child_, node, nodeName_, True) +# end class CPlanung_Projekt + + +class TCPlanung_Phase(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCPlanung_Phase"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMPlanung_Phase(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCPlanung_Phase) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCPlanung_Phase.subclass: + return TCPlanung_Phase.subclass(*args_, **kwargs_) + else: + return TCPlanung_Phase(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMPlanung_Phase(self, value): + result = True + # Validate type ENUMPlanung_Phase, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['EP', 'PT_1', 'PT_2', 'sonstige', 'VP'] + 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 ENUMPlanung_Phase' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCPlanung_Phase, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='xmlns:nsPlanPro="http://www.plan-pro.org/modell/PlanPro/1.10.0"', name_='TCPlanung_Phase', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCPlanung_Phase') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCPlanung_Phase': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCPlanung_Phase') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCPlanung_Phase', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TCPlanung_Phase'): + super(TCPlanung_Phase, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCPlanung_Phase') + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='xmlns:nsPlanPro="http://www.plan-pro.org/modell/PlanPro/1.10.0"', name_='TCPlanung_Phase', fromsubclass_=False, pretty_print=True): + super(TCPlanung_Phase, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCPlanung_Phase, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMPlanung_Phase + self.validate_ENUMPlanung_Phase(self.Wert) + super(TCPlanung_Phase, self)._buildChildren(child_, node, nodeName_, True) +# end class TCPlanung_Phase + + +class TCWerkzeug_Version(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCWerkzeug_Version"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TWerkzeug_Version(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCWerkzeug_Version) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCWerkzeug_Version.subclass: + return TCWerkzeug_Version.subclass(*args_, **kwargs_) + else: + return TCWerkzeug_Version(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TWerkzeug_Version(self, value): + result = True + # Validate type TWerkzeug_Version, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TWerkzeug_Version_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TWerkzeug_Version_patterns_, )) + result = False + return result + validate_TWerkzeug_Version_patterns_ = [['^(.{1,30})$'], ['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCWerkzeug_Version, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='xmlns:nsPlanPro="http://www.plan-pro.org/modell/PlanPro/1.10.0"', name_='TCWerkzeug_Version', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCWerkzeug_Version') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCWerkzeug_Version': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCWerkzeug_Version') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCWerkzeug_Version', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TCWerkzeug_Version'): + super(TCWerkzeug_Version, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCWerkzeug_Version') + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='xmlns:nsPlanPro="http://www.plan-pro.org/modell/PlanPro/1.10.0"', name_='TCWerkzeug_Version', fromsubclass_=False, pretty_print=True): + super(TCWerkzeug_Version, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCWerkzeug_Version, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TWerkzeug_Version + self.validate_TWerkzeug_Version(self.Wert) + super(TCWerkzeug_Version, self)._buildChildren(child_, node, nodeName_, True) +# end class TCWerkzeug_Version + + +class TCBauzustand_Kurzbezeichnung(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCBauzustand_Kurzbezeichnung"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TBauzustand_Kurzbezeichnung(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCBauzustand_Kurzbezeichnung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCBauzustand_Kurzbezeichnung.subclass: + return TCBauzustand_Kurzbezeichnung.subclass(*args_, **kwargs_) + else: + return TCBauzustand_Kurzbezeichnung(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TBauzustand_Kurzbezeichnung(self, value): + result = True + # Validate type TBauzustand_Kurzbezeichnung, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TBauzustand_Kurzbezeichnung_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TBauzustand_Kurzbezeichnung_patterns_, )) + result = False + return result + validate_TBauzustand_Kurzbezeichnung_patterns_ = [['^([A-Z,a-z,0-9]{1,15})$'], ['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCBauzustand_Kurzbezeichnung, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='xmlns:nsPlanPro="http://www.plan-pro.org/modell/PlanPro/1.10.0"', name_='TCBauzustand_Kurzbezeichnung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCBauzustand_Kurzbezeichnung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCBauzustand_Kurzbezeichnung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBauzustand_Kurzbezeichnung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCBauzustand_Kurzbezeichnung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TCBauzustand_Kurzbezeichnung'): + super(TCBauzustand_Kurzbezeichnung, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBauzustand_Kurzbezeichnung') + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='xmlns:nsPlanPro="http://www.plan-pro.org/modell/PlanPro/1.10.0"', name_='TCBauzustand_Kurzbezeichnung', fromsubclass_=False, pretty_print=True): + super(TCBauzustand_Kurzbezeichnung, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCBauzustand_Kurzbezeichnung, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TBauzustand_Kurzbezeichnung + self.validate_TBauzustand_Kurzbezeichnung(self.Wert) + super(TCBauzustand_Kurzbezeichnung, self)._buildChildren(child_, node, nodeName_, True) +# end class TCBauzustand_Kurzbezeichnung + + +class TCBezeichnung_Unteranlage(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCBezeichnung_Unteranlage"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TBezeichnung_Unteranlage(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCBezeichnung_Unteranlage) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCBezeichnung_Unteranlage.subclass: + return TCBezeichnung_Unteranlage.subclass(*args_, **kwargs_) + else: + return TCBezeichnung_Unteranlage(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TBezeichnung_Unteranlage(self, value): + result = True + # Validate type TBezeichnung_Unteranlage, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TBezeichnung_Unteranlage_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TBezeichnung_Unteranlage_patterns_, )) + result = False + return result + validate_TBezeichnung_Unteranlage_patterns_ = [['^(.{1,35})$'], ['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCBezeichnung_Unteranlage, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='xmlns:nsPlanPro="http://www.plan-pro.org/modell/PlanPro/1.10.0"', name_='TCBezeichnung_Unteranlage', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCBezeichnung_Unteranlage') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCBezeichnung_Unteranlage': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBezeichnung_Unteranlage') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCBezeichnung_Unteranlage', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TCBezeichnung_Unteranlage'): + super(TCBezeichnung_Unteranlage, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBezeichnung_Unteranlage') + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='xmlns:nsPlanPro="http://www.plan-pro.org/modell/PlanPro/1.10.0"', name_='TCBezeichnung_Unteranlage', fromsubclass_=False, pretty_print=True): + super(TCBezeichnung_Unteranlage, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCBezeichnung_Unteranlage, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TBezeichnung_Unteranlage + self.validate_TBezeichnung_Unteranlage(self.Wert) + super(TCBezeichnung_Unteranlage, self)._buildChildren(child_, node, nodeName_, True) +# end class TCBezeichnung_Unteranlage + + +class TCPlanPro_XSD_Version(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCPlanPro_XSD_Version"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TPlanPro_XSD_Version(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCPlanPro_XSD_Version) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCPlanPro_XSD_Version.subclass: + return TCPlanPro_XSD_Version.subclass(*args_, **kwargs_) + else: + return TCPlanPro_XSD_Version(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TPlanPro_XSD_Version(self, value): + result = True + # Validate type TPlanPro_XSD_Version, a restriction on nsBasisTypen:TFreiText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TPlanPro_XSD_Version_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TPlanPro_XSD_Version_patterns_, )) + result = False + return result + validate_TPlanPro_XSD_Version_patterns_ = [['^((0|([1-9][0-9]{0,}))\\.(0|([1-9][0-9]{0,}))\\.(0|([1-9][0-9]{0,}))(\\.(0|([1-9][0-9]{0,})))?)$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCPlanPro_XSD_Version, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='xmlns:nsPlanPro="http://www.plan-pro.org/modell/PlanPro/1.10.0"', name_='TCPlanPro_XSD_Version', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCPlanPro_XSD_Version') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCPlanPro_XSD_Version': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCPlanPro_XSD_Version') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCPlanPro_XSD_Version', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TCPlanPro_XSD_Version'): + super(TCPlanPro_XSD_Version, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCPlanPro_XSD_Version') + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='xmlns:nsPlanPro="http://www.plan-pro.org/modell/PlanPro/1.10.0"', name_='TCPlanPro_XSD_Version', fromsubclass_=False, pretty_print=True): + super(TCPlanPro_XSD_Version, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCPlanPro_XSD_Version, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TPlanPro_XSD_Version + self.validate_TPlanPro_XSD_Version(self.Wert) + super(TCPlanPro_XSD_Version, self)._buildChildren(child_, node, nodeName_, True) +# end class TCPlanPro_XSD_Version + + +class TCTelefonnummer(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCTelefonnummer"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TTelefonnummer(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCTelefonnummer) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCTelefonnummer.subclass: + return TCTelefonnummer.subclass(*args_, **kwargs_) + else: + return TCTelefonnummer(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TTelefonnummer(self, value): + result = True + # Validate type TTelefonnummer, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TTelefonnummer_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TTelefonnummer_patterns_, )) + result = False + return result + validate_TTelefonnummer_patterns_ = [['^(.{1,30})$'], ['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCTelefonnummer, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='xmlns:nsPlanPro="http://www.plan-pro.org/modell/PlanPro/1.10.0"', name_='TCTelefonnummer', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCTelefonnummer') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCTelefonnummer': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCTelefonnummer') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCTelefonnummer', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TCTelefonnummer'): + super(TCTelefonnummer, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCTelefonnummer') + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='xmlns:nsPlanPro="http://www.plan-pro.org/modell/PlanPro/1.10.0"', name_='TCTelefonnummer', fromsubclass_=False, pretty_print=True): + super(TCTelefonnummer, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCTelefonnummer, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TTelefonnummer + self.validate_TTelefonnummer(self.Wert) + super(TCTelefonnummer, self)._buildChildren(child_, node, nodeName_, True) +# end class TCTelefonnummer + + +class TCIdent_Rolle(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCIdent_Rolle"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TText(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCIdent_Rolle) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCIdent_Rolle.subclass: + return TCIdent_Rolle.subclass(*args_, **kwargs_) + else: + return TCIdent_Rolle(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TText(self, value): + result = True + # Validate type TText, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TText_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TText_patterns_, )) + result = False + return result + validate_TText_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCIdent_Rolle, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='xmlns:nsPlanPro="http://www.plan-pro.org/modell/PlanPro/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCIdent_Rolle', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCIdent_Rolle') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCIdent_Rolle': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCIdent_Rolle') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCIdent_Rolle', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TCIdent_Rolle'): + super(TCIdent_Rolle, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCIdent_Rolle') + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='xmlns:nsPlanPro="http://www.plan-pro.org/modell/PlanPro/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='TCIdent_Rolle', fromsubclass_=False, pretty_print=True): + super(TCIdent_Rolle, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCIdent_Rolle, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TText + self.validate_TText(self.Wert) + super(TCIdent_Rolle, self)._buildChildren(child_, node, nodeName_, True) +# end class TCIdent_Rolle + + +class TCBezeichnung_Planung_Projekt(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCBezeichnung_Planung_Projekt"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TBezeichnung_Planung_Projekt(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCBezeichnung_Planung_Projekt) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCBezeichnung_Planung_Projekt.subclass: + return TCBezeichnung_Planung_Projekt.subclass(*args_, **kwargs_) + else: + return TCBezeichnung_Planung_Projekt(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TBezeichnung_Planung_Projekt(self, value): + result = True + # Validate type TBezeichnung_Planung_Projekt, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TBezeichnung_Planung_Projekt_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TBezeichnung_Planung_Projekt_patterns_, )) + result = False + return result + validate_TBezeichnung_Planung_Projekt_patterns_ = [['^(.{1,150})$'], ['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCBezeichnung_Planung_Projekt, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='xmlns:nsPlanPro="http://www.plan-pro.org/modell/PlanPro/1.10.0"', name_='TCBezeichnung_Planung_Projekt', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCBezeichnung_Planung_Projekt') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCBezeichnung_Planung_Projekt': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBezeichnung_Planung_Projekt') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCBezeichnung_Planung_Projekt', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TCBezeichnung_Planung_Projekt'): + super(TCBezeichnung_Planung_Projekt, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBezeichnung_Planung_Projekt') + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='xmlns:nsPlanPro="http://www.plan-pro.org/modell/PlanPro/1.10.0"', name_='TCBezeichnung_Planung_Projekt', fromsubclass_=False, pretty_print=True): + super(TCBezeichnung_Planung_Projekt, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCBezeichnung_Planung_Projekt, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TBezeichnung_Planung_Projekt + self.validate_TBezeichnung_Planung_Projekt(self.Wert) + super(TCBezeichnung_Planung_Projekt, self)._buildChildren(child_, node, nodeName_, True) +# end class TCBezeichnung_Planung_Projekt + + +class TCBauabschnitt(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCBauabschnitt"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TBauabschnitt(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCBauabschnitt) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCBauabschnitt.subclass: + return TCBauabschnitt.subclass(*args_, **kwargs_) + else: + return TCBauabschnitt(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TBauabschnitt(self, value): + result = True + # Validate type TBauabschnitt, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TBauabschnitt_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TBauabschnitt_patterns_, )) + result = False + return result + validate_TBauabschnitt_patterns_ = [['^(.{1,50})$'], ['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCBauabschnitt, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='xmlns:nsPlanPro="http://www.plan-pro.org/modell/PlanPro/1.10.0"', name_='TCBauabschnitt', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCBauabschnitt') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCBauabschnitt': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBauabschnitt') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCBauabschnitt', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TCBauabschnitt'): + super(TCBauabschnitt, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCBauabschnitt') + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='xmlns:nsPlanPro="http://www.plan-pro.org/modell/PlanPro/1.10.0"', name_='TCBauabschnitt', fromsubclass_=False, pretty_print=True): + super(TCBauabschnitt, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCBauabschnitt, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TBauabschnitt + self.validate_TBauabschnitt(self.Wert) + super(TCBauabschnitt, self)._buildChildren(child_, node, nodeName_, True) +# end class TCBauabschnitt + + +class TCAdresse_PLZ_Ort(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCAdresse_PLZ_Ort"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TAdresse_PLZ_Ort(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCAdresse_PLZ_Ort) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCAdresse_PLZ_Ort.subclass: + return TCAdresse_PLZ_Ort.subclass(*args_, **kwargs_) + else: + return TCAdresse_PLZ_Ort(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TAdresse_PLZ_Ort(self, value): + result = True + # Validate type TAdresse_PLZ_Ort, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TAdresse_PLZ_Ort_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TAdresse_PLZ_Ort_patterns_, )) + result = False + return result + validate_TAdresse_PLZ_Ort_patterns_ = [['^(.{1,50})$'], ['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCAdresse_PLZ_Ort, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='xmlns:nsPlanPro="http://www.plan-pro.org/modell/PlanPro/1.10.0"', name_='TCAdresse_PLZ_Ort', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCAdresse_PLZ_Ort') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCAdresse_PLZ_Ort': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCAdresse_PLZ_Ort') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCAdresse_PLZ_Ort', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TCAdresse_PLZ_Ort'): + super(TCAdresse_PLZ_Ort, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCAdresse_PLZ_Ort') + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='xmlns:nsPlanPro="http://www.plan-pro.org/modell/PlanPro/1.10.0"', name_='TCAdresse_PLZ_Ort', fromsubclass_=False, pretty_print=True): + super(TCAdresse_PLZ_Ort, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCAdresse_PLZ_Ort, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TAdresse_PLZ_Ort + self.validate_TAdresse_PLZ_Ort(self.Wert) + super(TCAdresse_PLZ_Ort, self)._buildChildren(child_, node, nodeName_, True) +# end class TCAdresse_PLZ_Ort + + +class TCFuehrende_Oertlichkeit(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCFuehrende_Oertlichkeit"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TFuehrende_Oertlichkeit(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCFuehrende_Oertlichkeit) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCFuehrende_Oertlichkeit.subclass: + return TCFuehrende_Oertlichkeit.subclass(*args_, **kwargs_) + else: + return TCFuehrende_Oertlichkeit(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TFuehrende_Oertlichkeit(self, value): + result = True + # Validate type TFuehrende_Oertlichkeit, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TFuehrende_Oertlichkeit_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TFuehrende_Oertlichkeit_patterns_, )) + result = False + return result + validate_TFuehrende_Oertlichkeit_patterns_ = [['^([A-Z][A-Z0-9 ]{1,4})$'], ['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCFuehrende_Oertlichkeit, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='xmlns:nsPlanPro="http://www.plan-pro.org/modell/PlanPro/1.10.0"', name_='TCFuehrende_Oertlichkeit', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCFuehrende_Oertlichkeit') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCFuehrende_Oertlichkeit': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCFuehrende_Oertlichkeit') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCFuehrende_Oertlichkeit', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TCFuehrende_Oertlichkeit'): + super(TCFuehrende_Oertlichkeit, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCFuehrende_Oertlichkeit') + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='xmlns:nsPlanPro="http://www.plan-pro.org/modell/PlanPro/1.10.0"', name_='TCFuehrende_Oertlichkeit', fromsubclass_=False, pretty_print=True): + super(TCFuehrende_Oertlichkeit, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCFuehrende_Oertlichkeit, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TFuehrende_Oertlichkeit + self.validate_TFuehrende_Oertlichkeit(self.Wert) + super(TCFuehrende_Oertlichkeit, self)._buildChildren(child_, node, nodeName_, True) +# end class TCFuehrende_Oertlichkeit + + +class TCStrecke_Nummer(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCStrecke_Nummer"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TStrecke_Nummer(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCStrecke_Nummer) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCStrecke_Nummer.subclass: + return TCStrecke_Nummer.subclass(*args_, **kwargs_) + else: + return TCStrecke_Nummer(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TStrecke_Nummer(self, value): + result = True + # Validate type TStrecke_Nummer, a restriction on nsBasisTypen:TZeichenkette. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TStrecke_Nummer_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TStrecke_Nummer_patterns_, )) + result = False + return result + validate_TStrecke_Nummer_patterns_ = [['^([0-9]{4})$'], ['^([a-zA-Z_0-9]{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCStrecke_Nummer, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='xmlns:nsPlanPro="http://www.plan-pro.org/modell/PlanPro/1.10.0"', name_='TCStrecke_Nummer', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCStrecke_Nummer') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCStrecke_Nummer': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCStrecke_Nummer') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCStrecke_Nummer', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TCStrecke_Nummer'): + super(TCStrecke_Nummer, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCStrecke_Nummer') + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='xmlns:nsPlanPro="http://www.plan-pro.org/modell/PlanPro/1.10.0"', name_='TCStrecke_Nummer', fromsubclass_=False, pretty_print=True): + super(TCStrecke_Nummer, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCStrecke_Nummer, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TStrecke_Nummer + self.validate_TStrecke_Nummer(self.Wert) + super(TCStrecke_Nummer, self)._buildChildren(child_, node, nodeName_, True) +# end class TCStrecke_Nummer + + +class TCInformativ(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCInformativ"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCInformativ) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCInformativ.subclass: + return TCInformativ.subclass(*args_, **kwargs_) + else: + return TCInformativ(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def has__content(self): + if ( + self.Wert is not None or + super(TCInformativ, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='xmlns:nsPlanPro="http://www.plan-pro.org/modell/PlanPro/1.10.0"', name_='TCInformativ', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCInformativ') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCInformativ': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCInformativ') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCInformativ', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TCInformativ'): + super(TCInformativ, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCInformativ') + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='xmlns:nsPlanPro="http://www.plan-pro.org/modell/PlanPro/1.10.0"', name_='TCInformativ', fromsubclass_=False, pretty_print=True): + super(TCInformativ, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_boolean(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCInformativ, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + sval_ = child_.text + ival_ = self.gds_parse_boolean(sval_, node, 'Wert') + ival_ = self.gds_validate_boolean(ival_, node, 'Wert') + self.Wert = ival_ + self.Wert_nsprefix_ = child_.prefix + super(TCInformativ, self)._buildChildren(child_, node, nodeName_, True) +# end class TCInformativ + + +class TCWerkzeug_Name(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCWerkzeug_Name"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TWerkzeug_Name(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCWerkzeug_Name) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCWerkzeug_Name.subclass: + return TCWerkzeug_Name.subclass(*args_, **kwargs_) + else: + return TCWerkzeug_Name(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TWerkzeug_Name(self, value): + result = True + # Validate type TWerkzeug_Name, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TWerkzeug_Name_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TWerkzeug_Name_patterns_, )) + result = False + return result + validate_TWerkzeug_Name_patterns_ = [['^(.{1,30})$'], ['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCWerkzeug_Name, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='xmlns:nsPlanPro="http://www.plan-pro.org/modell/PlanPro/1.10.0"', name_='TCWerkzeug_Name', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCWerkzeug_Name') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCWerkzeug_Name': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCWerkzeug_Name') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCWerkzeug_Name', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TCWerkzeug_Name'): + super(TCWerkzeug_Name, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCWerkzeug_Name') + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='xmlns:nsPlanPro="http://www.plan-pro.org/modell/PlanPro/1.10.0"', name_='TCWerkzeug_Name', fromsubclass_=False, pretty_print=True): + super(TCWerkzeug_Name, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCWerkzeug_Name, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TWerkzeug_Name + self.validate_TWerkzeug_Name(self.Wert) + super(TCWerkzeug_Name, self)._buildChildren(child_, node, nodeName_, True) +# end class TCWerkzeug_Name + + +class TCIndex_Ausgabe(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCIndex_Ausgabe"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TIndex_Ausgabe(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCIndex_Ausgabe) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCIndex_Ausgabe.subclass: + return TCIndex_Ausgabe.subclass(*args_, **kwargs_) + else: + return TCIndex_Ausgabe(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TIndex_Ausgabe(self, value): + result = True + # Validate type TIndex_Ausgabe, 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 not self.gds_validate_simple_patterns( + self.validate_TIndex_Ausgabe_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TIndex_Ausgabe_patterns_, )) + result = False + return result + validate_TIndex_Ausgabe_patterns_ = [['^([0-9]{2})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCIndex_Ausgabe, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='xmlns:nsPlanPro="http://www.plan-pro.org/modell/PlanPro/1.10.0"', name_='TCIndex_Ausgabe', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCIndex_Ausgabe') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCIndex_Ausgabe': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCIndex_Ausgabe') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCIndex_Ausgabe', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TCIndex_Ausgabe'): + super(TCIndex_Ausgabe, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCIndex_Ausgabe') + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='xmlns:nsPlanPro="http://www.plan-pro.org/modell/PlanPro/1.10.0"', name_='TCIndex_Ausgabe', fromsubclass_=False, pretty_print=True): + super(TCIndex_Ausgabe, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_decimal(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCIndex_Ausgabe, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert' and child_.text: + sval_ = child_.text + fval_ = self.gds_parse_decimal(sval_, node, 'Wert') + fval_ = self.gds_validate_decimal(fval_, node, 'Wert') + self.Wert = fval_ + self.Wert_nsprefix_ = child_.prefix + # validate type TIndex_Ausgabe + self.validate_TIndex_Ausgabe(self.Wert) + super(TCIndex_Ausgabe, self)._buildChildren(child_, node, nodeName_, True) +# end class TCIndex_Ausgabe + + +class TCDatum_Abschluss_Gruppe(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCDatum_Abschluss_Gruppe"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + if isinstance(Wert, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Wert, '%Y-%m-%d').date() + else: + initvalue_ = Wert + self.Wert = initvalue_ + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCDatum_Abschluss_Gruppe) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCDatum_Abschluss_Gruppe.subclass: + return TCDatum_Abschluss_Gruppe.subclass(*args_, **kwargs_) + else: + return TCDatum_Abschluss_Gruppe(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def has__content(self): + if ( + self.Wert is not None or + super(TCDatum_Abschluss_Gruppe, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='xmlns:nsPlanPro="http://www.plan-pro.org/modell/PlanPro/1.10.0"', name_='TCDatum_Abschluss_Gruppe', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCDatum_Abschluss_Gruppe') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCDatum_Abschluss_Gruppe': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCDatum_Abschluss_Gruppe') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCDatum_Abschluss_Gruppe', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TCDatum_Abschluss_Gruppe'): + super(TCDatum_Abschluss_Gruppe, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCDatum_Abschluss_Gruppe') + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='xmlns:nsPlanPro="http://www.plan-pro.org/modell/PlanPro/1.10.0"', name_='TCDatum_Abschluss_Gruppe', fromsubclass_=False, pretty_print=True): + super(TCDatum_Abschluss_Gruppe, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_date(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCDatum_Abschluss_Gruppe, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + sval_ = child_.text + dval_ = self.gds_parse_date(sval_) + self.Wert = dval_ + self.Wert_nsprefix_ = child_.prefix + super(TCDatum_Abschluss_Gruppe, self)._buildChildren(child_, node, nodeName_, True) +# end class TCDatum_Abschluss_Gruppe + + +class CAkteur(CUr_Objekt): + """CAkteur -- Am PlanPro-Planungsprozess beteiligter Akteur. + In PlanPro werden der Name und Kontaktdaten des Akteurs erfasst. Einschr + ä + nkungen hinsichtlich der zul + ä + ssigen Rolle des Akteurs sind durch entsprechende Attributbezeichnungen und -beschreibungen ersichtlich. + DB-Regelwerk Schriftfeldeintrag gem + ä + ß + Ril 886.0102 + Kontaktdaten -- Kontaktdaten des Akteurs zur Unternehmenszuordnung. + DB-Regelwerk + Bisher keine Abbildung als Schriftfeldeintrag gem + ä + ß + Ril 886.0102. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CUr_Objekt + def __init__(self, Identitaet=None, Akteur_Allg=None, Kontaktdaten=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CAkteur"), self).__init__(Identitaet, **kwargs_) + self.Akteur_Allg = Akteur_Allg + self.Akteur_Allg_nsprefix_ = None + self.Kontaktdaten = Kontaktdaten + self.Kontaktdaten_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CAkteur) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CAkteur.subclass: + return CAkteur.subclass(*args_, **kwargs_) + else: + return CAkteur(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Akteur_Allg(self): + return self.Akteur_Allg + def set_Akteur_Allg(self, Akteur_Allg): + self.Akteur_Allg = Akteur_Allg + def get_Kontaktdaten(self): + return self.Kontaktdaten + def set_Kontaktdaten(self, Kontaktdaten): + self.Kontaktdaten = Kontaktdaten + def has__content(self): + if ( + self.Akteur_Allg is not None or + self.Kontaktdaten is not None or + super(CAkteur, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='xmlns:nsPlanPro="http://www.plan-pro.org/modell/PlanPro/1.10.0"', name_='CAkteur', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CAkteur') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CAkteur': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CAkteur') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CAkteur', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='CAkteur'): + super(CAkteur, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CAkteur') + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='xmlns:nsPlanPro="http://www.plan-pro.org/modell/PlanPro/1.10.0"', name_='CAkteur', fromsubclass_=False, pretty_print=True): + super(CAkteur, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Akteur_Allg is not None: + namespaceprefix_ = self.Akteur_Allg_nsprefix_ + ':' if (UseCapturedNS_ and self.Akteur_Allg_nsprefix_) else '' + self.Akteur_Allg.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Akteur_Allg', pretty_print=pretty_print) + if self.Kontaktdaten is not None: + namespaceprefix_ = self.Kontaktdaten_nsprefix_ + ':' if (UseCapturedNS_ and self.Kontaktdaten_nsprefix_) else '' + self.Kontaktdaten.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Kontaktdaten', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CAkteur, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Akteur_Allg': + obj_ = CAkteur_Allg.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Akteur_Allg = obj_ + obj_.original_tagname_ = 'Akteur_Allg' + elif nodeName_ == 'Kontaktdaten': + obj_ = COrganisation.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Kontaktdaten = obj_ + obj_.original_tagname_ = 'Kontaktdaten' + super(CAkteur, self)._buildChildren(child_, node, nodeName_, True) +# end class CAkteur + + +class TCDatum_Abschluss_Projekt(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCDatum_Abschluss_Projekt"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + if isinstance(Wert, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Wert, '%Y-%m-%d').date() + else: + initvalue_ = Wert + self.Wert = initvalue_ + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCDatum_Abschluss_Projekt) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCDatum_Abschluss_Projekt.subclass: + return TCDatum_Abschluss_Projekt.subclass(*args_, **kwargs_) + else: + return TCDatum_Abschluss_Projekt(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def has__content(self): + if ( + self.Wert is not None or + super(TCDatum_Abschluss_Projekt, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='xmlns:nsPlanPro="http://www.plan-pro.org/modell/PlanPro/1.10.0"', name_='TCDatum_Abschluss_Projekt', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCDatum_Abschluss_Projekt') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCDatum_Abschluss_Projekt': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCDatum_Abschluss_Projekt') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCDatum_Abschluss_Projekt', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TCDatum_Abschluss_Projekt'): + super(TCDatum_Abschluss_Projekt, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCDatum_Abschluss_Projekt') + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='xmlns:nsPlanPro="http://www.plan-pro.org/modell/PlanPro/1.10.0"', name_='TCDatum_Abschluss_Projekt', fromsubclass_=False, pretty_print=True): + super(TCDatum_Abschluss_Projekt, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_date(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCDatum_Abschluss_Projekt, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + sval_ = child_.text + dval_ = self.gds_parse_date(sval_) + self.Wert = dval_ + self.Wert_nsprefix_ = child_.prefix + super(TCDatum_Abschluss_Projekt, self)._buildChildren(child_, node, nodeName_, True) +# end class TCDatum_Abschluss_Projekt + + +class TCDatum_Abschluss_Einzel(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCDatum_Abschluss_Einzel"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + if isinstance(Wert, BaseStrType_): + initvalue_ = datetime_.datetime.strptime(Wert, '%Y-%m-%d').date() + else: + initvalue_ = Wert + self.Wert = initvalue_ + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCDatum_Abschluss_Einzel) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCDatum_Abschluss_Einzel.subclass: + return TCDatum_Abschluss_Einzel.subclass(*args_, **kwargs_) + else: + return TCDatum_Abschluss_Einzel(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def has__content(self): + if ( + self.Wert is not None or + super(TCDatum_Abschluss_Einzel, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='xmlns:nsPlanPro="http://www.plan-pro.org/modell/PlanPro/1.10.0"', name_='TCDatum_Abschluss_Einzel', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCDatum_Abschluss_Einzel') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCDatum_Abschluss_Einzel': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCDatum_Abschluss_Einzel') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCDatum_Abschluss_Einzel', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TCDatum_Abschluss_Einzel'): + super(TCDatum_Abschluss_Einzel, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCDatum_Abschluss_Einzel') + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='xmlns:nsPlanPro="http://www.plan-pro.org/modell/PlanPro/1.10.0"', name_='TCDatum_Abschluss_Einzel', fromsubclass_=False, pretty_print=True): + super(TCDatum_Abschluss_Einzel, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_format_date(self.Wert, input_name='Wert'), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCDatum_Abschluss_Einzel, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + sval_ = child_.text + dval_ = self.gds_parse_date(sval_) + self.Wert = dval_ + self.Wert_nsprefix_ = child_.prefix + super(TCDatum_Abschluss_Einzel, self)._buildChildren(child_, node, nodeName_, True) +# end class TCDatum_Abschluss_Einzel + + +class TCReferenz_Planung_Basis(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCReferenz_Planung_Basis"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_TReferenz_Planung_Basis(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCReferenz_Planung_Basis) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCReferenz_Planung_Basis.subclass: + return TCReferenz_Planung_Basis.subclass(*args_, **kwargs_) + else: + return TCReferenz_Planung_Basis(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_TReferenz_Planung_Basis(self, value): + result = True + # Validate type TReferenz_Planung_Basis, a restriction on nsBasisTypen:TText. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.gds_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_TReferenz_Planung_Basis_patterns_, value): + self.gds_collector_.add_message('Value "%s" does not match xsd pattern restrictions: %s' % (encode_str_2_3(value), self.validate_TReferenz_Planung_Basis_patterns_, )) + result = False + return result + validate_TReferenz_Planung_Basis_patterns_ = [['^(.{1,250})$']] + def has__content(self): + if ( + self.Wert is not None or + super(TCReferenz_Planung_Basis, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='xmlns:nsPlanPro="http://www.plan-pro.org/modell/PlanPro/1.10.0"', name_='TCReferenz_Planung_Basis', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCReferenz_Planung_Basis') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCReferenz_Planung_Basis': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCReferenz_Planung_Basis') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCReferenz_Planung_Basis', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TCReferenz_Planung_Basis'): + super(TCReferenz_Planung_Basis, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCReferenz_Planung_Basis') + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='xmlns:nsPlanPro="http://www.plan-pro.org/modell/PlanPro/1.10.0"', name_='TCReferenz_Planung_Basis', fromsubclass_=False, pretty_print=True): + super(TCReferenz_Planung_Basis, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCReferenz_Planung_Basis, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type TReferenz_Planung_Basis + self.validate_TReferenz_Planung_Basis(self.Wert) + super(TCReferenz_Planung_Basis, self)._buildChildren(child_, node, nodeName_, True) +# end class TCReferenz_Planung_Basis + + +class TCUntergewerk_Art(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCUntergewerk_Art"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMUntergewerk_Art(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCUntergewerk_Art) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCUntergewerk_Art.subclass: + return TCUntergewerk_Art.subclass(*args_, **kwargs_) + else: + return TCUntergewerk_Art(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMUntergewerk_Art(self, value): + result = True + # Validate type ENUMUntergewerk_Art, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['ATO', 'Bedienung ETCS', 'Bedienung Fdl BZ', 'Bedienung Fdl ESTW-ZE', 'BÜ', 'ESTW', 'ETCS', 'Geo', 'sonstige', 'ZL', 'ZLV-Bus', 'ZN'] + 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 ENUMUntergewerk_Art' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCUntergewerk_Art, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='xmlns:nsPlanPro="http://www.plan-pro.org/modell/PlanPro/1.10.0"', name_='TCUntergewerk_Art', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCUntergewerk_Art') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCUntergewerk_Art': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCUntergewerk_Art') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCUntergewerk_Art', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TCUntergewerk_Art'): + super(TCUntergewerk_Art, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCUntergewerk_Art') + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='xmlns:nsPlanPro="http://www.plan-pro.org/modell/PlanPro/1.10.0"', name_='TCUntergewerk_Art', fromsubclass_=False, pretty_print=True): + super(TCUntergewerk_Art, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCUntergewerk_Art, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMUntergewerk_Art + self.validate_ENUMUntergewerk_Art(self.Wert) + super(TCUntergewerk_Art, self)._buildChildren(child_, node, nodeName_, True) +# end class TCUntergewerk_Art + + +class TCKoordinatensystem_BB(CBasisAttribut): + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBasisAttribut + def __init__(self, ID_Bearbeitungsvermerk=None, Wert=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("TCKoordinatensystem_BB"), self).__init__(ID_Bearbeitungsvermerk, **kwargs_) + self.Wert = Wert + self.validate_ENUMKoordinatensystem(self.Wert) + self.Wert_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, TCKoordinatensystem_BB) + if subclass is not None: + return subclass(*args_, **kwargs_) + if TCKoordinatensystem_BB.subclass: + return TCKoordinatensystem_BB.subclass(*args_, **kwargs_) + else: + return TCKoordinatensystem_BB(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Wert(self): + return self.Wert + def set_Wert(self, Wert): + self.Wert = Wert + def validate_ENUMKoordinatensystem(self, value): + result = True + # Validate type ENUMKoordinatensystem, a restriction on xs:string. + if value is not None and Validate_simpletypes_ and self.gds_collector_ is not None: + if not isinstance(value, str): + lineno = self.gds_get_node_lineno_() + self.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 = ['DB_Ref', 'sonstige', 'WGS84'] + 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 ENUMKoordinatensystem' % {"value" : encode_str_2_3(value), "lineno": lineno} ) + result = False + return result + def has__content(self): + if ( + self.Wert is not None or + super(TCKoordinatensystem_BB, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='', namespacedef_='xmlns:nsPlanPro="http://www.plan-pro.org/modell/PlanPro/1.10.0"', name_='TCKoordinatensystem_BB', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('TCKoordinatensystem_BB') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'TCKoordinatensystem_BB': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCKoordinatensystem_BB') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='TCKoordinatensystem_BB', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='', name_='TCKoordinatensystem_BB'): + super(TCKoordinatensystem_BB, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='TCKoordinatensystem_BB') + def _exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='xmlns:nsPlanPro="http://www.plan-pro.org/modell/PlanPro/1.10.0"', name_='TCKoordinatensystem_BB', fromsubclass_=False, pretty_print=True): + super(TCKoordinatensystem_BB, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Wert is not None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.Wert), input_name='Wert')), namespaceprefix_ , eol_)) + if self.Wert is None: + namespaceprefix_ = self.Wert_nsprefix_ + ':' if (UseCapturedNS_ and self.Wert_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%sWert xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"/>%s' % (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): + super(TCKoordinatensystem_BB, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Wert': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'Wert') + value_ = self.gds_validate_string(value_, node, 'Wert') + self.Wert = value_ + self.Wert_nsprefix_ = child_.prefix + # validate type ENUMKoordinatensystem + self.validate_ENUMKoordinatensystem(self.Wert) + super(TCKoordinatensystem_BB, self)._buildChildren(child_, node, nodeName_, True) +# end class TCKoordinatensystem_BB + + +class CATO_Timing_Point(CPunkt_Objekt): + """CATO_Timing_Point -- Definierter Punkt in den Infrastrukturdaten f + ü + r ATO (Segment Profile), an dem betriebliche Vorgaben definiert werden k + ö + nnen. Diese betrieblichen Vorgaben werden entweder direkt aus dem Fahrplan abgeleitet oder durch dispositive Handlungen definiert, z. B. Betriebshalte oder Verkehrshalte einf + ü + gen oder auslassen, Beschleunigen oder Verlangsamung der Fahrt (fr + ü + here/sp + ä + tere Zeit f + ü + r die Erreichung des Timing Points) und + ü + ber das Journey Profile an ATO-OB kommandiert. + Dar + ü + ber hinaus kann an einem Timing Point die geplante betriebliche Fahrplanlage eines Zuges mit der tats + ä + chlichen betrieblichen Lage des Zuges verglichen werden. + Die Position des TP im Segment Profile muss + ü + ber die Topologie ermittelt werden. Der TP besitzt keine Wirkrichtung. + ID_Signal -- Verweis auf das Signal, zu dem der Timing Point geh + ö + rt. Timing Points an weiteren Infrastrukturelementen oder -punkten (z.B. Fahrzeitmesspunkte in der Mitte von Betriebsstellen) k + ö + nnen projektspezifisch durch die betriebliche Infrastrukturplanung in der BAst ATO vorgegeben werden. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CPunkt_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, Punkt_Objekt_Strecke=None, Punkt_Objekt_TOP_Kante=None, ATO_Timing_Point_Allg=None, Bezeichnung=None, ID_Signal=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CATO_Timing_Point"), self).__init__(Identitaet, Basis_Objekt_Allg, ID_Bearbeitungsvermerk, ID_Oertlichkeit_Ausgabe, Objektreferenzen, Punkt_Objekt_Strecke, Punkt_Objekt_TOP_Kante, **kwargs_) + self.ATO_Timing_Point_Allg = ATO_Timing_Point_Allg + self.ATO_Timing_Point_Allg_nsprefix_ = None + self.Bezeichnung = Bezeichnung + self.Bezeichnung_nsprefix_ = None + self.ID_Signal = ID_Signal + self.ID_Signal_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CATO_Timing_Point) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CATO_Timing_Point.subclass: + return CATO_Timing_Point.subclass(*args_, **kwargs_) + else: + return CATO_Timing_Point(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_ATO_Timing_Point_Allg(self): + return self.ATO_Timing_Point_Allg + def set_ATO_Timing_Point_Allg(self, ATO_Timing_Point_Allg): + self.ATO_Timing_Point_Allg = ATO_Timing_Point_Allg + def get_Bezeichnung(self): + return self.Bezeichnung + def set_Bezeichnung(self, Bezeichnung): + self.Bezeichnung = Bezeichnung + def get_ID_Signal(self): + return self.ID_Signal + def set_ID_Signal(self, ID_Signal): + self.ID_Signal = ID_Signal + def has__content(self): + if ( + self.ATO_Timing_Point_Allg is not None or + self.Bezeichnung is not None or + self.ID_Signal is not None or + super(CATO_Timing_Point, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsATO:', namespacedef_='xmlns:nsATO="http://www.plan-pro.org/modell/ATO/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CATO_Timing_Point', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CATO_Timing_Point') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CATO_Timing_Point': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CATO_Timing_Point') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CATO_Timing_Point', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsATO:', name_='CATO_Timing_Point'): + super(CATO_Timing_Point, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CATO_Timing_Point') + def _exportChildren(self, outfile, level, namespaceprefix_='nsATO:', namespacedef_='xmlns:nsATO="http://www.plan-pro.org/modell/ATO/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CATO_Timing_Point', fromsubclass_=False, pretty_print=True): + super(CATO_Timing_Point, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.ATO_Timing_Point_Allg is not None: + namespaceprefix_ = self.ATO_Timing_Point_Allg_nsprefix_ + ':' if (UseCapturedNS_ and self.ATO_Timing_Point_Allg_nsprefix_) else '' + self.ATO_Timing_Point_Allg.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ATO_Timing_Point_Allg', pretty_print=pretty_print) + if self.Bezeichnung is not None: + namespaceprefix_ = self.Bezeichnung_nsprefix_ + ':' if (UseCapturedNS_ and self.Bezeichnung_nsprefix_) else '' + self.Bezeichnung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Bezeichnung', pretty_print=pretty_print) + if self.ID_Signal is not None: + namespaceprefix_ = self.ID_Signal_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Signal_nsprefix_) else '' + self.ID_Signal.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Signal', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CATO_Timing_Point, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ATO_Timing_Point_Allg': + obj_ = CATO_Timing_Point_Allg.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ATO_Timing_Point_Allg = obj_ + obj_.original_tagname_ = 'ATO_Timing_Point_Allg' + elif nodeName_ == 'Bezeichnung': + obj_ = CATO_Timing_Point_Bezeichnung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Bezeichnung = obj_ + obj_.original_tagname_ = 'Bezeichnung' + elif nodeName_ == 'ID_Signal': + obj_ = TCID_Signal_ohne_Proxy.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Signal = obj_ + obj_.original_tagname_ = 'ID_Signal' + super(CATO_Timing_Point, self)._buildChildren(child_, node, nodeName_, True) +# end class CATO_Timing_Point + + +class CStell_Bereich(CBereich_Objekt): + """CStell_Bereich -- Bereich_Objekt, mit dem ein Stellbereich beschrieben wird. Ein Stellbereich wird immer von einer AEA (Top) gesteuert. Grenzen des Stellbereichs sind Haupt-, Sperr- oder virtuelle Signale oder Gleisabschl + ü + sse. Jedes Hauptgleis muss einem Stellbereich zugeordnet sein. + Zusatzinformation_Stellwerk -- Erg + ä + nzende Information zur Beschreibung des Stellbereichs. + Bezeichnung_Stellwerk -- Bezeichnung des Stellwerks, sofern kein Verweis auf eine Aussenelementansteuerung m + ö + glich ist (z. B. \"Relaisstellwerk xyz\"). + ID_Aussenelementansteuerung -- Verweis auf die Top-Au + ß + enelementansteuerung (Au + ß + enelementansteuerung, die mit einer ESTW Zentraleinheit verbunden ist). + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBereich_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, Bereich_Objekt_Teilbereich=None, Zusatzinformation_Stellwerk=None, Bezeichnung_Stellwerk=None, ID_Aussenelementansteuerung=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CStell_Bereich"), self).__init__(Identitaet, Basis_Objekt_Allg, ID_Bearbeitungsvermerk, ID_Oertlichkeit_Ausgabe, Objektreferenzen, Bereich_Objekt_Teilbereich, **kwargs_) + self.Zusatzinformation_Stellwerk = Zusatzinformation_Stellwerk + self.Zusatzinformation_Stellwerk_nsprefix_ = None + self.Bezeichnung_Stellwerk = Bezeichnung_Stellwerk + self.Bezeichnung_Stellwerk_nsprefix_ = None + self.ID_Aussenelementansteuerung = ID_Aussenelementansteuerung + self.ID_Aussenelementansteuerung_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CStell_Bereich) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CStell_Bereich.subclass: + return CStell_Bereich.subclass(*args_, **kwargs_) + else: + return CStell_Bereich(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Zusatzinformation_Stellwerk(self): + return self.Zusatzinformation_Stellwerk + def set_Zusatzinformation_Stellwerk(self, Zusatzinformation_Stellwerk): + self.Zusatzinformation_Stellwerk = Zusatzinformation_Stellwerk + def get_Bezeichnung_Stellwerk(self): + return self.Bezeichnung_Stellwerk + def set_Bezeichnung_Stellwerk(self, Bezeichnung_Stellwerk): + self.Bezeichnung_Stellwerk = Bezeichnung_Stellwerk + def get_ID_Aussenelementansteuerung(self): + return self.ID_Aussenelementansteuerung + def set_ID_Aussenelementansteuerung(self, ID_Aussenelementansteuerung): + self.ID_Aussenelementansteuerung = ID_Aussenelementansteuerung + def has__content(self): + if ( + self.Zusatzinformation_Stellwerk is not None or + self.Bezeichnung_Stellwerk is not None or + self.ID_Aussenelementansteuerung is not None or + super(CStell_Bereich, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsAnsteuerung_Element:', namespacedef_='xmlns:nsAnsteuerung_Element="http://www.plan-pro.org/modell/Ansteuerung_Element/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CStell_Bereich', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CStell_Bereich') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CStell_Bereich': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CStell_Bereich') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CStell_Bereich', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsAnsteuerung_Element:', name_='CStell_Bereich'): + super(CStell_Bereich, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CStell_Bereich') + def _exportChildren(self, outfile, level, namespaceprefix_='nsAnsteuerung_Element:', namespacedef_='xmlns:nsAnsteuerung_Element="http://www.plan-pro.org/modell/Ansteuerung_Element/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CStell_Bereich', fromsubclass_=False, pretty_print=True): + super(CStell_Bereich, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Zusatzinformation_Stellwerk is not None: + namespaceprefix_ = self.Zusatzinformation_Stellwerk_nsprefix_ + ':' if (UseCapturedNS_ and self.Zusatzinformation_Stellwerk_nsprefix_) else '' + self.Zusatzinformation_Stellwerk.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Zusatzinformation_Stellwerk', pretty_print=pretty_print) + if self.Bezeichnung_Stellwerk is not None: + namespaceprefix_ = self.Bezeichnung_Stellwerk_nsprefix_ + ':' if (UseCapturedNS_ and self.Bezeichnung_Stellwerk_nsprefix_) else '' + self.Bezeichnung_Stellwerk.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Bezeichnung_Stellwerk', pretty_print=pretty_print) + if self.ID_Aussenelementansteuerung is not None: + namespaceprefix_ = self.ID_Aussenelementansteuerung_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Aussenelementansteuerung_nsprefix_) else '' + self.ID_Aussenelementansteuerung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Aussenelementansteuerung', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CStell_Bereich, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Zusatzinformation_Stellwerk': + obj_ = TCZusatzinformation_Stellwerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Zusatzinformation_Stellwerk = obj_ + obj_.original_tagname_ = 'Zusatzinformation_Stellwerk' + elif nodeName_ == 'Bezeichnung_Stellwerk': + obj_ = TCBezeichnung_Stellwerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Bezeichnung_Stellwerk = obj_ + obj_.original_tagname_ = 'Bezeichnung_Stellwerk' + elif nodeName_ == 'ID_Aussenelementansteuerung': + obj_ = TCID_Aussenelementansteuerung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Aussenelementansteuerung = obj_ + obj_.original_tagname_ = 'ID_Aussenelementansteuerung' + super(CStell_Bereich, self)._buildChildren(child_, node, nodeName_, True) +# end class CStell_Bereich + + +class CBahnsteig_Zugang(CPunkt_Objekt): + """CBahnsteig_Zugang -- Zugangspunkt der Reisenden zum Bahnsteig. Es wird jeweils die Mitte der Linie angegeben, auf der der Zugangsweg auf den Bahnsteig st + ö + ß + t. F + ü + r die Verwendung im Sicherungstechnischen Lageplan w + ä + hrend der Bearbeitung wurde ein neues Symbol erschaffen. Dieses soll im endg + ü + ltigen Lageplan nicht erscheinen. Der Zugang ist in der LST-Planung f + ü + r die INA-Berechnung relevant. Hierbei wird der Punkt auf der Bahnsteigkante ben + ö + tigt, an der der Zustrom der Reisenden erfolgt. Dieser Punkt wird im Datenmodell nicht abgespeichert, er kann aus Bahnsteig_Zugang hergeleitet werden. DB-Regelwerk Nennung des Zugangs im INA-Erhebungsbogen, Verortung erfolgt bisher nicht + ID_Bahnsteig_Anlage -- Zuordnung einer Bahnsteigkante oder eines Bahnsteigzugangs zu einer Bahnsteiganlage. DB-Regelwerk Zusammenhang wird aus der Darstellung im sicherungstechnischen Lageplan ersichtlich + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CPunkt_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, Punkt_Objekt_Strecke=None, Punkt_Objekt_TOP_Kante=None, Bahnsteig_Zugang_Allg=None, ID_Bahnsteig_Anlage=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CBahnsteig_Zugang"), self).__init__(Identitaet, Basis_Objekt_Allg, ID_Bearbeitungsvermerk, ID_Oertlichkeit_Ausgabe, Objektreferenzen, Punkt_Objekt_Strecke, Punkt_Objekt_TOP_Kante, **kwargs_) + self.Bahnsteig_Zugang_Allg = Bahnsteig_Zugang_Allg + self.Bahnsteig_Zugang_Allg_nsprefix_ = None + self.ID_Bahnsteig_Anlage = ID_Bahnsteig_Anlage + self.ID_Bahnsteig_Anlage_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CBahnsteig_Zugang) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CBahnsteig_Zugang.subclass: + return CBahnsteig_Zugang.subclass(*args_, **kwargs_) + else: + return CBahnsteig_Zugang(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Bahnsteig_Zugang_Allg(self): + return self.Bahnsteig_Zugang_Allg + def set_Bahnsteig_Zugang_Allg(self, Bahnsteig_Zugang_Allg): + self.Bahnsteig_Zugang_Allg = Bahnsteig_Zugang_Allg + def get_ID_Bahnsteig_Anlage(self): + return self.ID_Bahnsteig_Anlage + def set_ID_Bahnsteig_Anlage(self, ID_Bahnsteig_Anlage): + self.ID_Bahnsteig_Anlage = ID_Bahnsteig_Anlage + def has__content(self): + if ( + self.Bahnsteig_Zugang_Allg is not None or + self.ID_Bahnsteig_Anlage is not None or + super(CBahnsteig_Zugang, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBahnsteig:', namespacedef_='xmlns:nsBahnsteig="http://www.plan-pro.org/modell/Bahnsteig/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CBahnsteig_Zugang', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CBahnsteig_Zugang') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CBahnsteig_Zugang': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CBahnsteig_Zugang') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CBahnsteig_Zugang', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBahnsteig:', name_='CBahnsteig_Zugang'): + super(CBahnsteig_Zugang, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CBahnsteig_Zugang') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBahnsteig:', namespacedef_='xmlns:nsBahnsteig="http://www.plan-pro.org/modell/Bahnsteig/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CBahnsteig_Zugang', fromsubclass_=False, pretty_print=True): + super(CBahnsteig_Zugang, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Bahnsteig_Zugang_Allg is not None: + namespaceprefix_ = self.Bahnsteig_Zugang_Allg_nsprefix_ + ':' if (UseCapturedNS_ and self.Bahnsteig_Zugang_Allg_nsprefix_) else '' + self.Bahnsteig_Zugang_Allg.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Bahnsteig_Zugang_Allg', pretty_print=pretty_print) + if self.ID_Bahnsteig_Anlage is not None: + namespaceprefix_ = self.ID_Bahnsteig_Anlage_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bahnsteig_Anlage_nsprefix_) else '' + self.ID_Bahnsteig_Anlage.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bahnsteig_Anlage', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CBahnsteig_Zugang, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Bahnsteig_Zugang_Allg': + obj_ = CBahnsteig_Zugang_Allg.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Bahnsteig_Zugang_Allg = obj_ + obj_.original_tagname_ = 'Bahnsteig_Zugang_Allg' + elif nodeName_ == 'ID_Bahnsteig_Anlage': + obj_ = TCID_Bahnsteig_Anlage.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bahnsteig_Anlage = obj_ + obj_.original_tagname_ = 'ID_Bahnsteig_Anlage' + super(CBahnsteig_Zugang, self)._buildChildren(child_, node, nodeName_, True) +# end class CBahnsteig_Zugang + + +class CBahnsteig_Kante(CBereich_Objekt): + """CBahnsteig_Kante -- Parallel zum Gleis verlaufende Kante eines Bahnsteigs, die f + ü + r den Fahrgastwechsel nutzbar ist. F + ü + r die LST-Planung sind Beginn und Ende der genutzten Bahnsteigkante z. B. f + ü + r die Zugbeeinflussung (PZB 90) sowie die Festlegung von Signalstandorten und Gefahrpunkten ma + ß + gebend. Die Baul + ä + nge der Bahnsteigkante wird im Datenmodell durch die L + ä + nge des Bereichsobjekts Bahnsteig_Kante abgebildet. Eventuell daran anschlie + ß + ende Tiefbauobjekte (auch stillgelegte Bahnsteigbereiche) k + ö + nnen als Ingenieurbauwerke (momentan noch nicht modelliert) abgebildet werden. DB-Regelwerk Darstellung einer Doppellinie im sicherungstechnischen Lageplan + Bezeichnung -- Attributgruppe zur Bezeichnung von Stell- und sonstigen Elementen. Sofern ausreichend, wird an dieser Stelle + ü + ber Vererbung die Basisattributgruppe Bezeichnung Element eingebunden. Ist die Abbildung mit den Attributen der Basisattributgruppe nicht m + ö + glich (z. B. wegen spezieller Patternvorgabe) oder nicht sinnvoll (z. B. weil eine Unterscheidung nach Bezeichnung_Lageplan_..., Bezeichnung_Tabelle und Bezeichnung_Aussenanlage (Pflichtattribute!) nicht notwendig ist), werden in der Attributgruppe Bezeichnung entsprechende objektspezifische Bezeichnungsattribute modelliert. Diese sind nach dem Schema Bezeichnung_[Objektname] zu benennen. Zudem ist es m + ö + glich, gleichzeitig die Basisattributgruppe Bezeichnung Element und objektspezifische Attribute einzubinden. Siehe auch Bildung der Bezeichnungen. DB-Regelwerk Sicherungstechnischer Lage- und + Ü + bersichtsplan, B + Ü + -Lageplan Planungstabellen + ID_Bahnsteig_Anlage -- Zuordnung einer Bahnsteigkante oder eines Bahnsteigzugangs zu einer Bahnsteiganlage. DB-Regelwerk Zusammenhang wird aus der Darstellung im sicherungstechnischen Lageplan ersichtlich + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBereich_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, Bereich_Objekt_Teilbereich=None, Bahnsteig_Kante_Allg=None, Bezeichnung=None, ID_Bahnsteig_Anlage=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CBahnsteig_Kante"), self).__init__(Identitaet, Basis_Objekt_Allg, ID_Bearbeitungsvermerk, ID_Oertlichkeit_Ausgabe, Objektreferenzen, Bereich_Objekt_Teilbereich, **kwargs_) + self.Bahnsteig_Kante_Allg = Bahnsteig_Kante_Allg + self.Bahnsteig_Kante_Allg_nsprefix_ = None + self.Bezeichnung = Bezeichnung + self.Bezeichnung_nsprefix_ = None + self.ID_Bahnsteig_Anlage = ID_Bahnsteig_Anlage + self.ID_Bahnsteig_Anlage_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CBahnsteig_Kante) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CBahnsteig_Kante.subclass: + return CBahnsteig_Kante.subclass(*args_, **kwargs_) + else: + return CBahnsteig_Kante(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Bahnsteig_Kante_Allg(self): + return self.Bahnsteig_Kante_Allg + def set_Bahnsteig_Kante_Allg(self, Bahnsteig_Kante_Allg): + self.Bahnsteig_Kante_Allg = Bahnsteig_Kante_Allg + def get_Bezeichnung(self): + return self.Bezeichnung + def set_Bezeichnung(self, Bezeichnung): + self.Bezeichnung = Bezeichnung + def get_ID_Bahnsteig_Anlage(self): + return self.ID_Bahnsteig_Anlage + def set_ID_Bahnsteig_Anlage(self, ID_Bahnsteig_Anlage): + self.ID_Bahnsteig_Anlage = ID_Bahnsteig_Anlage + def has__content(self): + if ( + self.Bahnsteig_Kante_Allg is not None or + self.Bezeichnung is not None or + self.ID_Bahnsteig_Anlage is not None or + super(CBahnsteig_Kante, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBahnsteig:', namespacedef_='xmlns:nsBahnsteig="http://www.plan-pro.org/modell/Bahnsteig/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CBahnsteig_Kante', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CBahnsteig_Kante') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CBahnsteig_Kante': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CBahnsteig_Kante') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CBahnsteig_Kante', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBahnsteig:', name_='CBahnsteig_Kante'): + super(CBahnsteig_Kante, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CBahnsteig_Kante') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBahnsteig:', namespacedef_='xmlns:nsBahnsteig="http://www.plan-pro.org/modell/Bahnsteig/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CBahnsteig_Kante', fromsubclass_=False, pretty_print=True): + super(CBahnsteig_Kante, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Bahnsteig_Kante_Allg is not None: + namespaceprefix_ = self.Bahnsteig_Kante_Allg_nsprefix_ + ':' if (UseCapturedNS_ and self.Bahnsteig_Kante_Allg_nsprefix_) else '' + self.Bahnsteig_Kante_Allg.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Bahnsteig_Kante_Allg', pretty_print=pretty_print) + if self.Bezeichnung is not None: + namespaceprefix_ = self.Bezeichnung_nsprefix_ + ':' if (UseCapturedNS_ and self.Bezeichnung_nsprefix_) else '' + self.Bezeichnung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Bezeichnung', pretty_print=pretty_print) + if self.ID_Bahnsteig_Anlage is not None: + namespaceprefix_ = self.ID_Bahnsteig_Anlage_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bahnsteig_Anlage_nsprefix_) else '' + self.ID_Bahnsteig_Anlage.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bahnsteig_Anlage', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CBahnsteig_Kante, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Bahnsteig_Kante_Allg': + obj_ = CBahnsteig_Kante_Allg.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Bahnsteig_Kante_Allg = obj_ + obj_.original_tagname_ = 'Bahnsteig_Kante_Allg' + elif nodeName_ == 'Bezeichnung': + obj_ = CBahnsteig_Kante_Bezeichnung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Bezeichnung = obj_ + obj_.original_tagname_ = 'Bezeichnung' + elif nodeName_ == 'ID_Bahnsteig_Anlage': + obj_ = TCID_Bahnsteig_Anlage.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bahnsteig_Anlage = obj_ + obj_.original_tagname_ = 'ID_Bahnsteig_Anlage' + super(CBahnsteig_Kante, self)._buildChildren(child_, node, nodeName_, True) +# end class CBahnsteig_Kante + + +class CBahnsteig_Dach(CBereich_Objekt): + """CBahnsteig_Dach -- Bahnsteigkanten-bezogene Abbildung der Bahnsteig- + Ü + berdachung. Die Angabe ist im INA-Erhebungsbogen erforderlich. + ID_Bahnsteig_Kante -- Verweis auf die Bahnsteigkante, zu der die + Ü + berdachung geh + ö + rt. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBereich_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, Bereich_Objekt_Teilbereich=None, ID_Bahnsteig_Kante=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CBahnsteig_Dach"), self).__init__(Identitaet, Basis_Objekt_Allg, ID_Bearbeitungsvermerk, ID_Oertlichkeit_Ausgabe, Objektreferenzen, Bereich_Objekt_Teilbereich, **kwargs_) + self.ID_Bahnsteig_Kante = ID_Bahnsteig_Kante + self.ID_Bahnsteig_Kante_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CBahnsteig_Dach) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CBahnsteig_Dach.subclass: + return CBahnsteig_Dach.subclass(*args_, **kwargs_) + else: + return CBahnsteig_Dach(*args_, **kwargs_) + factory = staticmethod(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_Bahnsteig_Kante(self): + return self.ID_Bahnsteig_Kante + def set_ID_Bahnsteig_Kante(self, ID_Bahnsteig_Kante): + self.ID_Bahnsteig_Kante = ID_Bahnsteig_Kante + def has__content(self): + if ( + self.ID_Bahnsteig_Kante is not None or + super(CBahnsteig_Dach, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBahnsteig:', namespacedef_='xmlns:nsBahnsteig="http://www.plan-pro.org/modell/Bahnsteig/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CBahnsteig_Dach', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CBahnsteig_Dach') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CBahnsteig_Dach': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CBahnsteig_Dach') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CBahnsteig_Dach', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBahnsteig:', name_='CBahnsteig_Dach'): + super(CBahnsteig_Dach, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CBahnsteig_Dach') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBahnsteig:', namespacedef_='xmlns:nsBahnsteig="http://www.plan-pro.org/modell/Bahnsteig/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CBahnsteig_Dach', fromsubclass_=False, pretty_print=True): + super(CBahnsteig_Dach, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.ID_Bahnsteig_Kante is not None: + namespaceprefix_ = self.ID_Bahnsteig_Kante_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bahnsteig_Kante_nsprefix_) else '' + self.ID_Bahnsteig_Kante.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bahnsteig_Kante', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CBahnsteig_Dach, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Bahnsteig_Kante': + obj_ = TCID_Bahnsteig_Kante_ohne_Proxy.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bahnsteig_Kante = obj_ + obj_.original_tagname_ = 'ID_Bahnsteig_Kante' + super(CBahnsteig_Dach, self)._buildChildren(child_, node, nodeName_, True) +# end class CBahnsteig_Dach + + +class CZUB_Bereichsgrenze(CPunkt_Objekt): + """CZUB_Bereichsgrenze -- Grenze des Ausr + ü + stungsbereichs eines Zugbeeinflussungssystems oder RBC-Grenze bei L2. Auch im Lastenheft bzw. Planungsregelwerk als Ausstieg definierte Bereichsgrenzen werden im Datenmodell generell als Einstieg abgebildet. Sp + ä + ter Einstieg wird nicht abgebildet. Bei bedingtem Einstieg und Oder-Verkn + ü + pfung von Weichenlagen m + ü + ssen verschiedene Instanzen von ZUB_Bereichsgrenze angelegt werden. + ID_Oertlichkeit -- Ma + ß + gebende + Ö + rtlichkeit des Stellbereichs, in dem sich die Bereichsgrenze befindet. + ZUB_Bereichsgrenze_Nach_Ohne -- Bei + Ü + bergang von L2 nach OHNE handelt es sich stets um einen harten Ausstieg. Bei einem harten Ausstieg erfolgt keine Ank + ü + ndigung durch das RBC. + ZUB_Bereichsgrenze_Nach_Sonstige -- Ü + bergang in ein Class-B-Zugbeeinflussungssystem. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CPunkt_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, Punkt_Objekt_Strecke=None, Punkt_Objekt_TOP_Kante=None, Bezeichnung=None, ID_Oertlichkeit=None, ZUB_Bereichsgrenze_Allg=None, ZUB_Bereichsgrenze_Nach_ESG=None, ZUB_Bereichsgrenze_Nach_GNT=None, ZUB_Bereichsgrenze_Nach_L2=None, ZUB_Bereichsgrenze_Nach_LZB=None, ZUB_Bereichsgrenze_Nach_Ohne=None, ZUB_Bereichsgrenze_Nach_PZB=None, ZUB_Bereichsgrenze_Nach_Sonstige=None, ZUB_Bereichsgrenze_Nach_ZBS=None, ZUB_Bgrenze_RBC_Wechsel=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CZUB_Bereichsgrenze"), self).__init__(Identitaet, Basis_Objekt_Allg, ID_Bearbeitungsvermerk, ID_Oertlichkeit_Ausgabe, Objektreferenzen, Punkt_Objekt_Strecke, Punkt_Objekt_TOP_Kante, **kwargs_) + self.Bezeichnung = Bezeichnung + self.Bezeichnung_nsprefix_ = None + self.ID_Oertlichkeit = ID_Oertlichkeit + self.ID_Oertlichkeit_nsprefix_ = None + self.ZUB_Bereichsgrenze_Allg = ZUB_Bereichsgrenze_Allg + self.ZUB_Bereichsgrenze_Allg_nsprefix_ = None + if ZUB_Bereichsgrenze_Nach_ESG is None: + self.ZUB_Bereichsgrenze_Nach_ESG = [] + else: + self.ZUB_Bereichsgrenze_Nach_ESG = ZUB_Bereichsgrenze_Nach_ESG + self.ZUB_Bereichsgrenze_Nach_ESG_nsprefix_ = None + if ZUB_Bereichsgrenze_Nach_GNT is None: + self.ZUB_Bereichsgrenze_Nach_GNT = [] + else: + self.ZUB_Bereichsgrenze_Nach_GNT = ZUB_Bereichsgrenze_Nach_GNT + self.ZUB_Bereichsgrenze_Nach_GNT_nsprefix_ = None + if ZUB_Bereichsgrenze_Nach_L2 is None: + self.ZUB_Bereichsgrenze_Nach_L2 = [] + else: + self.ZUB_Bereichsgrenze_Nach_L2 = ZUB_Bereichsgrenze_Nach_L2 + self.ZUB_Bereichsgrenze_Nach_L2_nsprefix_ = None + if ZUB_Bereichsgrenze_Nach_LZB is None: + self.ZUB_Bereichsgrenze_Nach_LZB = [] + else: + self.ZUB_Bereichsgrenze_Nach_LZB = ZUB_Bereichsgrenze_Nach_LZB + self.ZUB_Bereichsgrenze_Nach_LZB_nsprefix_ = None + if ZUB_Bereichsgrenze_Nach_Ohne is None: + self.ZUB_Bereichsgrenze_Nach_Ohne = [] + else: + self.ZUB_Bereichsgrenze_Nach_Ohne = ZUB_Bereichsgrenze_Nach_Ohne + self.ZUB_Bereichsgrenze_Nach_Ohne_nsprefix_ = None + if ZUB_Bereichsgrenze_Nach_PZB is None: + self.ZUB_Bereichsgrenze_Nach_PZB = [] + else: + self.ZUB_Bereichsgrenze_Nach_PZB = ZUB_Bereichsgrenze_Nach_PZB + self.ZUB_Bereichsgrenze_Nach_PZB_nsprefix_ = None + if ZUB_Bereichsgrenze_Nach_Sonstige is None: + self.ZUB_Bereichsgrenze_Nach_Sonstige = [] + else: + self.ZUB_Bereichsgrenze_Nach_Sonstige = ZUB_Bereichsgrenze_Nach_Sonstige + self.ZUB_Bereichsgrenze_Nach_Sonstige_nsprefix_ = None + if ZUB_Bereichsgrenze_Nach_ZBS is None: + self.ZUB_Bereichsgrenze_Nach_ZBS = [] + else: + self.ZUB_Bereichsgrenze_Nach_ZBS = ZUB_Bereichsgrenze_Nach_ZBS + self.ZUB_Bereichsgrenze_Nach_ZBS_nsprefix_ = None + if ZUB_Bgrenze_RBC_Wechsel is None: + self.ZUB_Bgrenze_RBC_Wechsel = [] + else: + self.ZUB_Bgrenze_RBC_Wechsel = ZUB_Bgrenze_RBC_Wechsel + self.ZUB_Bgrenze_RBC_Wechsel_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CZUB_Bereichsgrenze) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CZUB_Bereichsgrenze.subclass: + return CZUB_Bereichsgrenze.subclass(*args_, **kwargs_) + else: + return CZUB_Bereichsgrenze(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Bezeichnung(self): + return self.Bezeichnung + def set_Bezeichnung(self, Bezeichnung): + self.Bezeichnung = Bezeichnung + def get_ID_Oertlichkeit(self): + return self.ID_Oertlichkeit + def set_ID_Oertlichkeit(self, ID_Oertlichkeit): + self.ID_Oertlichkeit = ID_Oertlichkeit + def get_ZUB_Bereichsgrenze_Allg(self): + return self.ZUB_Bereichsgrenze_Allg + def set_ZUB_Bereichsgrenze_Allg(self, ZUB_Bereichsgrenze_Allg): + self.ZUB_Bereichsgrenze_Allg = ZUB_Bereichsgrenze_Allg + def get_ZUB_Bereichsgrenze_Nach_ESG(self): + return self.ZUB_Bereichsgrenze_Nach_ESG + def set_ZUB_Bereichsgrenze_Nach_ESG(self, ZUB_Bereichsgrenze_Nach_ESG): + self.ZUB_Bereichsgrenze_Nach_ESG = ZUB_Bereichsgrenze_Nach_ESG + def add_ZUB_Bereichsgrenze_Nach_ESG(self, value): + self.ZUB_Bereichsgrenze_Nach_ESG.append(value) + def insert_ZUB_Bereichsgrenze_Nach_ESG_at(self, index, value): + self.ZUB_Bereichsgrenze_Nach_ESG.insert(index, value) + def replace_ZUB_Bereichsgrenze_Nach_ESG_at(self, index, value): + self.ZUB_Bereichsgrenze_Nach_ESG[index] = value + def get_ZUB_Bereichsgrenze_Nach_GNT(self): + return self.ZUB_Bereichsgrenze_Nach_GNT + def set_ZUB_Bereichsgrenze_Nach_GNT(self, ZUB_Bereichsgrenze_Nach_GNT): + self.ZUB_Bereichsgrenze_Nach_GNT = ZUB_Bereichsgrenze_Nach_GNT + def add_ZUB_Bereichsgrenze_Nach_GNT(self, value): + self.ZUB_Bereichsgrenze_Nach_GNT.append(value) + def insert_ZUB_Bereichsgrenze_Nach_GNT_at(self, index, value): + self.ZUB_Bereichsgrenze_Nach_GNT.insert(index, value) + def replace_ZUB_Bereichsgrenze_Nach_GNT_at(self, index, value): + self.ZUB_Bereichsgrenze_Nach_GNT[index] = value + def get_ZUB_Bereichsgrenze_Nach_L2(self): + return self.ZUB_Bereichsgrenze_Nach_L2 + def set_ZUB_Bereichsgrenze_Nach_L2(self, ZUB_Bereichsgrenze_Nach_L2): + self.ZUB_Bereichsgrenze_Nach_L2 = ZUB_Bereichsgrenze_Nach_L2 + def add_ZUB_Bereichsgrenze_Nach_L2(self, value): + self.ZUB_Bereichsgrenze_Nach_L2.append(value) + def insert_ZUB_Bereichsgrenze_Nach_L2_at(self, index, value): + self.ZUB_Bereichsgrenze_Nach_L2.insert(index, value) + def replace_ZUB_Bereichsgrenze_Nach_L2_at(self, index, value): + self.ZUB_Bereichsgrenze_Nach_L2[index] = value + def get_ZUB_Bereichsgrenze_Nach_LZB(self): + return self.ZUB_Bereichsgrenze_Nach_LZB + def set_ZUB_Bereichsgrenze_Nach_LZB(self, ZUB_Bereichsgrenze_Nach_LZB): + self.ZUB_Bereichsgrenze_Nach_LZB = ZUB_Bereichsgrenze_Nach_LZB + def add_ZUB_Bereichsgrenze_Nach_LZB(self, value): + self.ZUB_Bereichsgrenze_Nach_LZB.append(value) + def insert_ZUB_Bereichsgrenze_Nach_LZB_at(self, index, value): + self.ZUB_Bereichsgrenze_Nach_LZB.insert(index, value) + def replace_ZUB_Bereichsgrenze_Nach_LZB_at(self, index, value): + self.ZUB_Bereichsgrenze_Nach_LZB[index] = value + def get_ZUB_Bereichsgrenze_Nach_Ohne(self): + return self.ZUB_Bereichsgrenze_Nach_Ohne + def set_ZUB_Bereichsgrenze_Nach_Ohne(self, ZUB_Bereichsgrenze_Nach_Ohne): + self.ZUB_Bereichsgrenze_Nach_Ohne = ZUB_Bereichsgrenze_Nach_Ohne + def add_ZUB_Bereichsgrenze_Nach_Ohne(self, value): + self.ZUB_Bereichsgrenze_Nach_Ohne.append(value) + def insert_ZUB_Bereichsgrenze_Nach_Ohne_at(self, index, value): + self.ZUB_Bereichsgrenze_Nach_Ohne.insert(index, value) + def replace_ZUB_Bereichsgrenze_Nach_Ohne_at(self, index, value): + self.ZUB_Bereichsgrenze_Nach_Ohne[index] = value + def get_ZUB_Bereichsgrenze_Nach_PZB(self): + return self.ZUB_Bereichsgrenze_Nach_PZB + def set_ZUB_Bereichsgrenze_Nach_PZB(self, ZUB_Bereichsgrenze_Nach_PZB): + self.ZUB_Bereichsgrenze_Nach_PZB = ZUB_Bereichsgrenze_Nach_PZB + def add_ZUB_Bereichsgrenze_Nach_PZB(self, value): + self.ZUB_Bereichsgrenze_Nach_PZB.append(value) + def insert_ZUB_Bereichsgrenze_Nach_PZB_at(self, index, value): + self.ZUB_Bereichsgrenze_Nach_PZB.insert(index, value) + def replace_ZUB_Bereichsgrenze_Nach_PZB_at(self, index, value): + self.ZUB_Bereichsgrenze_Nach_PZB[index] = value + def get_ZUB_Bereichsgrenze_Nach_Sonstige(self): + return self.ZUB_Bereichsgrenze_Nach_Sonstige + def set_ZUB_Bereichsgrenze_Nach_Sonstige(self, ZUB_Bereichsgrenze_Nach_Sonstige): + self.ZUB_Bereichsgrenze_Nach_Sonstige = ZUB_Bereichsgrenze_Nach_Sonstige + def add_ZUB_Bereichsgrenze_Nach_Sonstige(self, value): + self.ZUB_Bereichsgrenze_Nach_Sonstige.append(value) + def insert_ZUB_Bereichsgrenze_Nach_Sonstige_at(self, index, value): + self.ZUB_Bereichsgrenze_Nach_Sonstige.insert(index, value) + def replace_ZUB_Bereichsgrenze_Nach_Sonstige_at(self, index, value): + self.ZUB_Bereichsgrenze_Nach_Sonstige[index] = value + def get_ZUB_Bereichsgrenze_Nach_ZBS(self): + return self.ZUB_Bereichsgrenze_Nach_ZBS + def set_ZUB_Bereichsgrenze_Nach_ZBS(self, ZUB_Bereichsgrenze_Nach_ZBS): + self.ZUB_Bereichsgrenze_Nach_ZBS = ZUB_Bereichsgrenze_Nach_ZBS + def add_ZUB_Bereichsgrenze_Nach_ZBS(self, value): + self.ZUB_Bereichsgrenze_Nach_ZBS.append(value) + def insert_ZUB_Bereichsgrenze_Nach_ZBS_at(self, index, value): + self.ZUB_Bereichsgrenze_Nach_ZBS.insert(index, value) + def replace_ZUB_Bereichsgrenze_Nach_ZBS_at(self, index, value): + self.ZUB_Bereichsgrenze_Nach_ZBS[index] = value + def get_ZUB_Bgrenze_RBC_Wechsel(self): + return self.ZUB_Bgrenze_RBC_Wechsel + def set_ZUB_Bgrenze_RBC_Wechsel(self, ZUB_Bgrenze_RBC_Wechsel): + self.ZUB_Bgrenze_RBC_Wechsel = ZUB_Bgrenze_RBC_Wechsel + def add_ZUB_Bgrenze_RBC_Wechsel(self, value): + self.ZUB_Bgrenze_RBC_Wechsel.append(value) + def insert_ZUB_Bgrenze_RBC_Wechsel_at(self, index, value): + self.ZUB_Bgrenze_RBC_Wechsel.insert(index, value) + def replace_ZUB_Bgrenze_RBC_Wechsel_at(self, index, value): + self.ZUB_Bgrenze_RBC_Wechsel[index] = value + def has__content(self): + if ( + self.Bezeichnung is not None or + self.ID_Oertlichkeit is not None or + self.ZUB_Bereichsgrenze_Allg is not None or + self.ZUB_Bereichsgrenze_Nach_ESG or + self.ZUB_Bereichsgrenze_Nach_GNT or + self.ZUB_Bereichsgrenze_Nach_L2 or + self.ZUB_Bereichsgrenze_Nach_LZB or + self.ZUB_Bereichsgrenze_Nach_Ohne or + self.ZUB_Bereichsgrenze_Nach_PZB or + self.ZUB_Bereichsgrenze_Nach_Sonstige or + self.ZUB_Bereichsgrenze_Nach_ZBS or + self.ZUB_Bgrenze_RBC_Wechsel or + super(CZUB_Bereichsgrenze, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CZUB_Bereichsgrenze', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CZUB_Bereichsgrenze') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CZUB_Bereichsgrenze': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CZUB_Bereichsgrenze') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CZUB_Bereichsgrenze', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='CZUB_Bereichsgrenze'): + super(CZUB_Bereichsgrenze, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CZUB_Bereichsgrenze') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CZUB_Bereichsgrenze', fromsubclass_=False, pretty_print=True): + super(CZUB_Bereichsgrenze, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Bezeichnung is not None: + namespaceprefix_ = self.Bezeichnung_nsprefix_ + ':' if (UseCapturedNS_ and self.Bezeichnung_nsprefix_) else '' + self.Bezeichnung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Bezeichnung', pretty_print=pretty_print) + if self.ID_Oertlichkeit is not None: + namespaceprefix_ = self.ID_Oertlichkeit_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Oertlichkeit_nsprefix_) else '' + self.ID_Oertlichkeit.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Oertlichkeit', pretty_print=pretty_print) + if self.ZUB_Bereichsgrenze_Allg is not None: + namespaceprefix_ = self.ZUB_Bereichsgrenze_Allg_nsprefix_ + ':' if (UseCapturedNS_ and self.ZUB_Bereichsgrenze_Allg_nsprefix_) else '' + self.ZUB_Bereichsgrenze_Allg.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ZUB_Bereichsgrenze_Allg', pretty_print=pretty_print) + for ZUB_Bereichsgrenze_Nach_ESG_ in self.ZUB_Bereichsgrenze_Nach_ESG: + namespaceprefix_ = self.ZUB_Bereichsgrenze_Nach_ESG_nsprefix_ + ':' if (UseCapturedNS_ and self.ZUB_Bereichsgrenze_Nach_ESG_nsprefix_) else '' + ZUB_Bereichsgrenze_Nach_ESG_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ZUB_Bereichsgrenze_Nach_ESG', pretty_print=pretty_print) + for ZUB_Bereichsgrenze_Nach_GNT_ in self.ZUB_Bereichsgrenze_Nach_GNT: + namespaceprefix_ = self.ZUB_Bereichsgrenze_Nach_GNT_nsprefix_ + ':' if (UseCapturedNS_ and self.ZUB_Bereichsgrenze_Nach_GNT_nsprefix_) else '' + ZUB_Bereichsgrenze_Nach_GNT_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ZUB_Bereichsgrenze_Nach_GNT', pretty_print=pretty_print) + for ZUB_Bereichsgrenze_Nach_L2_ in self.ZUB_Bereichsgrenze_Nach_L2: + namespaceprefix_ = self.ZUB_Bereichsgrenze_Nach_L2_nsprefix_ + ':' if (UseCapturedNS_ and self.ZUB_Bereichsgrenze_Nach_L2_nsprefix_) else '' + ZUB_Bereichsgrenze_Nach_L2_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ZUB_Bereichsgrenze_Nach_L2', pretty_print=pretty_print) + for ZUB_Bereichsgrenze_Nach_LZB_ in self.ZUB_Bereichsgrenze_Nach_LZB: + namespaceprefix_ = self.ZUB_Bereichsgrenze_Nach_LZB_nsprefix_ + ':' if (UseCapturedNS_ and self.ZUB_Bereichsgrenze_Nach_LZB_nsprefix_) else '' + ZUB_Bereichsgrenze_Nach_LZB_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ZUB_Bereichsgrenze_Nach_LZB', pretty_print=pretty_print) + for ZUB_Bereichsgrenze_Nach_Ohne_ in self.ZUB_Bereichsgrenze_Nach_Ohne: + namespaceprefix_ = self.ZUB_Bereichsgrenze_Nach_Ohne_nsprefix_ + ':' if (UseCapturedNS_ and self.ZUB_Bereichsgrenze_Nach_Ohne_nsprefix_) else '' + ZUB_Bereichsgrenze_Nach_Ohne_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ZUB_Bereichsgrenze_Nach_Ohne', pretty_print=pretty_print) + for ZUB_Bereichsgrenze_Nach_PZB_ in self.ZUB_Bereichsgrenze_Nach_PZB: + namespaceprefix_ = self.ZUB_Bereichsgrenze_Nach_PZB_nsprefix_ + ':' if (UseCapturedNS_ and self.ZUB_Bereichsgrenze_Nach_PZB_nsprefix_) else '' + ZUB_Bereichsgrenze_Nach_PZB_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ZUB_Bereichsgrenze_Nach_PZB', pretty_print=pretty_print) + for ZUB_Bereichsgrenze_Nach_Sonstige_ in self.ZUB_Bereichsgrenze_Nach_Sonstige: + namespaceprefix_ = self.ZUB_Bereichsgrenze_Nach_Sonstige_nsprefix_ + ':' if (UseCapturedNS_ and self.ZUB_Bereichsgrenze_Nach_Sonstige_nsprefix_) else '' + ZUB_Bereichsgrenze_Nach_Sonstige_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ZUB_Bereichsgrenze_Nach_Sonstige', pretty_print=pretty_print) + for ZUB_Bereichsgrenze_Nach_ZBS_ in self.ZUB_Bereichsgrenze_Nach_ZBS: + namespaceprefix_ = self.ZUB_Bereichsgrenze_Nach_ZBS_nsprefix_ + ':' if (UseCapturedNS_ and self.ZUB_Bereichsgrenze_Nach_ZBS_nsprefix_) else '' + ZUB_Bereichsgrenze_Nach_ZBS_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ZUB_Bereichsgrenze_Nach_ZBS', pretty_print=pretty_print) + for ZUB_Bgrenze_RBC_Wechsel_ in self.ZUB_Bgrenze_RBC_Wechsel: + namespaceprefix_ = self.ZUB_Bgrenze_RBC_Wechsel_nsprefix_ + ':' if (UseCapturedNS_ and self.ZUB_Bgrenze_RBC_Wechsel_nsprefix_) else '' + ZUB_Bgrenze_RBC_Wechsel_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ZUB_Bgrenze_RBC_Wechsel', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CZUB_Bereichsgrenze, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Bezeichnung': + obj_ = CZUB_Bereichsgrenze_Bezeichnung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Bezeichnung = obj_ + obj_.original_tagname_ = 'Bezeichnung' + elif nodeName_ == 'ID_Oertlichkeit': + obj_ = TCID_Oertlichkeit_Proxy.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Oertlichkeit = obj_ + obj_.original_tagname_ = 'ID_Oertlichkeit' + elif nodeName_ == 'ZUB_Bereichsgrenze_Allg': + obj_ = CZUB_Bereichsgrenze_Allg.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ZUB_Bereichsgrenze_Allg = obj_ + obj_.original_tagname_ = 'ZUB_Bereichsgrenze_Allg' + elif nodeName_ == 'ZUB_Bereichsgrenze_Nach_ESG': + obj_ = CZUB_Bereichsgrenze_Nach_ESG.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ZUB_Bereichsgrenze_Nach_ESG.append(obj_) + obj_.original_tagname_ = 'ZUB_Bereichsgrenze_Nach_ESG' + elif nodeName_ == 'ZUB_Bereichsgrenze_Nach_GNT': + obj_ = CZUB_Bereichsgrenze_Nach_GNT.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ZUB_Bereichsgrenze_Nach_GNT.append(obj_) + obj_.original_tagname_ = 'ZUB_Bereichsgrenze_Nach_GNT' + elif nodeName_ == 'ZUB_Bereichsgrenze_Nach_L2': + obj_ = CZUB_Bereichsgrenze_Nach_L2.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ZUB_Bereichsgrenze_Nach_L2.append(obj_) + obj_.original_tagname_ = 'ZUB_Bereichsgrenze_Nach_L2' + elif nodeName_ == 'ZUB_Bereichsgrenze_Nach_LZB': + obj_ = CZUB_Bereichsgrenze_Nach_LZB.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ZUB_Bereichsgrenze_Nach_LZB.append(obj_) + obj_.original_tagname_ = 'ZUB_Bereichsgrenze_Nach_LZB' + elif nodeName_ == 'ZUB_Bereichsgrenze_Nach_Ohne': + obj_ = CZUB_Bereichsgrenze_Nach_Ohne.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ZUB_Bereichsgrenze_Nach_Ohne.append(obj_) + obj_.original_tagname_ = 'ZUB_Bereichsgrenze_Nach_Ohne' + elif nodeName_ == 'ZUB_Bereichsgrenze_Nach_PZB': + obj_ = CZUB_Bereichsgrenze_Nach_PZB.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ZUB_Bereichsgrenze_Nach_PZB.append(obj_) + obj_.original_tagname_ = 'ZUB_Bereichsgrenze_Nach_PZB' + elif nodeName_ == 'ZUB_Bereichsgrenze_Nach_Sonstige': + obj_ = CZUB_Bereichsgrenze_Nach_Sonstige.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ZUB_Bereichsgrenze_Nach_Sonstige.append(obj_) + obj_.original_tagname_ = 'ZUB_Bereichsgrenze_Nach_Sonstige' + elif nodeName_ == 'ZUB_Bereichsgrenze_Nach_ZBS': + obj_ = CZUB_Bereichsgrenze_Nach_ZBS.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ZUB_Bereichsgrenze_Nach_ZBS.append(obj_) + obj_.original_tagname_ = 'ZUB_Bereichsgrenze_Nach_ZBS' + elif nodeName_ == 'ZUB_Bgrenze_RBC_Wechsel': + obj_ = CZUB_Bgrenze_RBC_Wechsel.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ZUB_Bgrenze_RBC_Wechsel.append(obj_) + obj_.original_tagname_ = 'ZUB_Bgrenze_RBC_Wechsel' + super(CZUB_Bereichsgrenze, self)._buildChildren(child_, node, nodeName_, True) +# end class CZUB_Bereichsgrenze + + +class CZUB_Streckeneigenschaft(CBereich_Objekt): + """CZUB_Streckeneigenschaft -- Bereich mit einheitlicher Ausr + ü + stung von Zugbeeinflussungssystem(en) oder Kennzeichnung eines besonderen Bereichs (z. B. gro + ß + es Metallteil), der im Rahmen einer Balisen-Planung zu ber + ü + cksichtigen ist. + Sofern in einem Bereich richtungsbezogen unterschiedliche Zugbeeinflussungssysteme genutzt werden (Grenzbereich), sind daf + ü + r richtungsbezogene Bereichsobjekte anzulegen. + Hinweis f + ü + r Planungswerkzeuge: Die Definition des Bereichsobjekts ZUB_Streckeneigenschaft richtet sich nach dem Punktobjekt ZUB_Bereichsgrenze. + Oberstrombegrenzung_Gueterzug -- Oberstrombegrenzung f + ü + r G + ü + terz + ü + ge in A. Planungsunterst + ü + tzung: Beim Anlegen des Bereichs soll ein gleichartiger Bereich f + ü + r Reisez + ü + ge angeboten werden. + Oberstrombegrenzung_Reisezug -- Oberstrombegrenzung f + ü + r Reisez + ü + ge in A. Planungsunterst + ü + tzung: Beim Anlegen des Bereichs soll ein gleichartiger Bereich f + ü + r G + ü + terz + ü + ge angeboten werden. + Verbot_Anhalten -- Anhalteverbot mit n + ä + herer + ö + rtlicher Beschreibung (z. B. Bezeichnung des Tunnels). + Verbot_Regenerative_Bremse -- Nutzungsverbot der regenerativen Bremse. + Verbot_WB_Art -- Nutzungsverbot der Wirbelstrombremse, abh + ä + ngig von der Art der Bremsung. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBereich_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, Bereich_Objekt_Teilbereich=None, Bezeichnung=None, Metallteil=None, Oberstrombegrenzung_Gueterzug=None, Oberstrombegrenzung_Reisezug=None, Verbot_Anhalten=None, Verbot_Regenerative_Bremse=None, Verbot_WB_Art=None, ZUB_SE_Ausruestung=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CZUB_Streckeneigenschaft"), self).__init__(Identitaet, Basis_Objekt_Allg, ID_Bearbeitungsvermerk, ID_Oertlichkeit_Ausgabe, Objektreferenzen, Bereich_Objekt_Teilbereich, **kwargs_) + self.Bezeichnung = Bezeichnung + self.Bezeichnung_nsprefix_ = None + self.Metallteil = Metallteil + self.Metallteil_nsprefix_ = None + self.Oberstrombegrenzung_Gueterzug = Oberstrombegrenzung_Gueterzug + self.Oberstrombegrenzung_Gueterzug_nsprefix_ = None + self.Oberstrombegrenzung_Reisezug = Oberstrombegrenzung_Reisezug + self.Oberstrombegrenzung_Reisezug_nsprefix_ = None + self.Verbot_Anhalten = Verbot_Anhalten + self.Verbot_Anhalten_nsprefix_ = None + self.Verbot_Regenerative_Bremse = Verbot_Regenerative_Bremse + self.Verbot_Regenerative_Bremse_nsprefix_ = None + self.Verbot_WB_Art = Verbot_WB_Art + self.Verbot_WB_Art_nsprefix_ = None + self.ZUB_SE_Ausruestung = ZUB_SE_Ausruestung + self.ZUB_SE_Ausruestung_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CZUB_Streckeneigenschaft) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CZUB_Streckeneigenschaft.subclass: + return CZUB_Streckeneigenschaft.subclass(*args_, **kwargs_) + else: + return CZUB_Streckeneigenschaft(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Bezeichnung(self): + return self.Bezeichnung + def set_Bezeichnung(self, Bezeichnung): + self.Bezeichnung = Bezeichnung + def get_Metallteil(self): + return self.Metallteil + def set_Metallteil(self, Metallteil): + self.Metallteil = Metallteil + def get_Oberstrombegrenzung_Gueterzug(self): + return self.Oberstrombegrenzung_Gueterzug + def set_Oberstrombegrenzung_Gueterzug(self, Oberstrombegrenzung_Gueterzug): + self.Oberstrombegrenzung_Gueterzug = Oberstrombegrenzung_Gueterzug + def get_Oberstrombegrenzung_Reisezug(self): + return self.Oberstrombegrenzung_Reisezug + def set_Oberstrombegrenzung_Reisezug(self, Oberstrombegrenzung_Reisezug): + self.Oberstrombegrenzung_Reisezug = Oberstrombegrenzung_Reisezug + def get_Verbot_Anhalten(self): + return self.Verbot_Anhalten + def set_Verbot_Anhalten(self, Verbot_Anhalten): + self.Verbot_Anhalten = Verbot_Anhalten + def get_Verbot_Regenerative_Bremse(self): + return self.Verbot_Regenerative_Bremse + def set_Verbot_Regenerative_Bremse(self, Verbot_Regenerative_Bremse): + self.Verbot_Regenerative_Bremse = Verbot_Regenerative_Bremse + def get_Verbot_WB_Art(self): + return self.Verbot_WB_Art + def set_Verbot_WB_Art(self, Verbot_WB_Art): + self.Verbot_WB_Art = Verbot_WB_Art + def get_ZUB_SE_Ausruestung(self): + return self.ZUB_SE_Ausruestung + def set_ZUB_SE_Ausruestung(self, ZUB_SE_Ausruestung): + self.ZUB_SE_Ausruestung = ZUB_SE_Ausruestung + def has__content(self): + if ( + self.Bezeichnung is not None or + self.Metallteil is not None or + self.Oberstrombegrenzung_Gueterzug is not None or + self.Oberstrombegrenzung_Reisezug is not None or + self.Verbot_Anhalten is not None or + self.Verbot_Regenerative_Bremse is not None or + self.Verbot_WB_Art is not None or + self.ZUB_SE_Ausruestung is not None or + super(CZUB_Streckeneigenschaft, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='CZUB_Streckeneigenschaft', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CZUB_Streckeneigenschaft') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CZUB_Streckeneigenschaft': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CZUB_Streckeneigenschaft') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CZUB_Streckeneigenschaft', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='CZUB_Streckeneigenschaft'): + super(CZUB_Streckeneigenschaft, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CZUB_Streckeneigenschaft') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0"', name_='CZUB_Streckeneigenschaft', fromsubclass_=False, pretty_print=True): + super(CZUB_Streckeneigenschaft, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Bezeichnung is not None: + namespaceprefix_ = self.Bezeichnung_nsprefix_ + ':' if (UseCapturedNS_ and self.Bezeichnung_nsprefix_) else '' + self.Bezeichnung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Bezeichnung', pretty_print=pretty_print) + if self.Metallteil is not None: + namespaceprefix_ = self.Metallteil_nsprefix_ + ':' if (UseCapturedNS_ and self.Metallteil_nsprefix_) else '' + self.Metallteil.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Metallteil', pretty_print=pretty_print) + if self.Oberstrombegrenzung_Gueterzug is not None: + namespaceprefix_ = self.Oberstrombegrenzung_Gueterzug_nsprefix_ + ':' if (UseCapturedNS_ and self.Oberstrombegrenzung_Gueterzug_nsprefix_) else '' + self.Oberstrombegrenzung_Gueterzug.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Oberstrombegrenzung_Gueterzug', pretty_print=pretty_print) + if self.Oberstrombegrenzung_Reisezug is not None: + namespaceprefix_ = self.Oberstrombegrenzung_Reisezug_nsprefix_ + ':' if (UseCapturedNS_ and self.Oberstrombegrenzung_Reisezug_nsprefix_) else '' + self.Oberstrombegrenzung_Reisezug.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Oberstrombegrenzung_Reisezug', pretty_print=pretty_print) + if self.Verbot_Anhalten is not None: + namespaceprefix_ = self.Verbot_Anhalten_nsprefix_ + ':' if (UseCapturedNS_ and self.Verbot_Anhalten_nsprefix_) else '' + self.Verbot_Anhalten.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Verbot_Anhalten', pretty_print=pretty_print) + if self.Verbot_Regenerative_Bremse is not None: + namespaceprefix_ = self.Verbot_Regenerative_Bremse_nsprefix_ + ':' if (UseCapturedNS_ and self.Verbot_Regenerative_Bremse_nsprefix_) else '' + self.Verbot_Regenerative_Bremse.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Verbot_Regenerative_Bremse', pretty_print=pretty_print) + if self.Verbot_WB_Art is not None: + namespaceprefix_ = self.Verbot_WB_Art_nsprefix_ + ':' if (UseCapturedNS_ and self.Verbot_WB_Art_nsprefix_) else '' + self.Verbot_WB_Art.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Verbot_WB_Art', pretty_print=pretty_print) + if self.ZUB_SE_Ausruestung is not None: + namespaceprefix_ = self.ZUB_SE_Ausruestung_nsprefix_ + ':' if (UseCapturedNS_ and self.ZUB_SE_Ausruestung_nsprefix_) else '' + self.ZUB_SE_Ausruestung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ZUB_SE_Ausruestung', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CZUB_Streckeneigenschaft, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Bezeichnung': + obj_ = CZUB_Streckeneigenschaft_Bezeichnung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Bezeichnung = obj_ + obj_.original_tagname_ = 'Bezeichnung' + elif nodeName_ == 'Metallteil': + obj_ = CMetallteil.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Metallteil = obj_ + obj_.original_tagname_ = 'Metallteil' + elif nodeName_ == 'Oberstrombegrenzung_Gueterzug': + obj_ = TCOberstrombegrenzung_Gueterzug.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Oberstrombegrenzung_Gueterzug = obj_ + obj_.original_tagname_ = 'Oberstrombegrenzung_Gueterzug' + elif nodeName_ == 'Oberstrombegrenzung_Reisezug': + obj_ = TCOberstrombegrenzung_Reisezug.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Oberstrombegrenzung_Reisezug = obj_ + obj_.original_tagname_ = 'Oberstrombegrenzung_Reisezug' + elif nodeName_ == 'Verbot_Anhalten': + obj_ = TCVerbot_Anhalten.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Verbot_Anhalten = obj_ + obj_.original_tagname_ = 'Verbot_Anhalten' + elif nodeName_ == 'Verbot_Regenerative_Bremse': + obj_ = TCVerbot_Regenerative_Bremse.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Verbot_Regenerative_Bremse = obj_ + obj_.original_tagname_ = 'Verbot_Regenerative_Bremse' + elif nodeName_ == 'Verbot_WB_Art': + obj_ = TCVerbot_WB_Art.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Verbot_WB_Art = obj_ + obj_.original_tagname_ = 'Verbot_WB_Art' + elif nodeName_ == 'ZUB_SE_Ausruestung': + obj_ = CZUB_SE_Ausruestung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ZUB_SE_Ausruestung = obj_ + obj_.original_tagname_ = 'ZUB_SE_Ausruestung' + super(CZUB_Streckeneigenschaft, self)._buildChildren(child_, node, nodeName_, True) +# end class CZUB_Streckeneigenschaft + + +class CDatenpunkt(CPunkt_Objekt): + """CDatenpunkt -- Beeinflussungspunkt bestehend aus einer Einzelbalise oder Balisengruppe und ggf. einer LEU. In europ + ä + ischen Spezifikationen wird der Begriff \"Balisengruppe\" auch synonym f + ü + r \"Datenpunkt\" verwendet. Ein ungesteuerter Datenpunkt besteht ausschlie + ß + lich aus ungesteuerten Balisen (Festdatenbalisen). Die Attributgruppe DP_Typ_GESG darf nur ausgew + ä + hlt werden, wenn ausschlie + ß + lich ESG-Telegramme enthalten sind. + DP_ETCS_Adresse -- Bei ESG optional (nur, wenn DP in mehreren Anwendungssystemen verwendet wird), bei allen anderen Anwendungssystemen Pflicht. + ID_RBC -- Verweis auf die RBC, denen der Datenpunkt bekannt ist. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CPunkt_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, Punkt_Objekt_Strecke=None, Punkt_Objekt_TOP_Kante=None, Datenpunkt_Allg=None, Datenpunkt_Einmesspunkt=None, DP_Bezug_Funktional=None, DP_ETCS_Adresse=None, DP_Typ=None, ID_RBC=None, LEU_Steuernde=None, DP_Telegramm=None, DP_Telegramm_ESG=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CDatenpunkt"), self).__init__(Identitaet, Basis_Objekt_Allg, ID_Bearbeitungsvermerk, ID_Oertlichkeit_Ausgabe, Objektreferenzen, Punkt_Objekt_Strecke, Punkt_Objekt_TOP_Kante, **kwargs_) + self.Datenpunkt_Allg = Datenpunkt_Allg + self.Datenpunkt_Allg_nsprefix_ = None + self.Datenpunkt_Einmesspunkt = Datenpunkt_Einmesspunkt + self.Datenpunkt_Einmesspunkt_nsprefix_ = None + self.DP_Bezug_Funktional = DP_Bezug_Funktional + self.DP_Bezug_Funktional_nsprefix_ = None + self.DP_ETCS_Adresse = DP_ETCS_Adresse + self.DP_ETCS_Adresse_nsprefix_ = None + if DP_Typ is None: + self.DP_Typ = [] + else: + self.DP_Typ = DP_Typ + self.DP_Typ_nsprefix_ = None + if ID_RBC is None: + self.ID_RBC = [] + else: + self.ID_RBC = ID_RBC + self.ID_RBC_nsprefix_ = None + self.LEU_Steuernde = LEU_Steuernde + self.LEU_Steuernde_nsprefix_ = None + if DP_Telegramm is None: + self.DP_Telegramm = [] + else: + self.DP_Telegramm = DP_Telegramm + self.DP_Telegramm_nsprefix_ = None + if DP_Telegramm_ESG is None: + self.DP_Telegramm_ESG = [] + else: + self.DP_Telegramm_ESG = DP_Telegramm_ESG + self.DP_Telegramm_ESG_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CDatenpunkt) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CDatenpunkt.subclass: + return CDatenpunkt.subclass(*args_, **kwargs_) + else: + return CDatenpunkt(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Datenpunkt_Allg(self): + return self.Datenpunkt_Allg + def set_Datenpunkt_Allg(self, Datenpunkt_Allg): + self.Datenpunkt_Allg = Datenpunkt_Allg + def get_Datenpunkt_Einmesspunkt(self): + return self.Datenpunkt_Einmesspunkt + def set_Datenpunkt_Einmesspunkt(self, Datenpunkt_Einmesspunkt): + self.Datenpunkt_Einmesspunkt = Datenpunkt_Einmesspunkt + def get_DP_Bezug_Funktional(self): + return self.DP_Bezug_Funktional + def set_DP_Bezug_Funktional(self, DP_Bezug_Funktional): + self.DP_Bezug_Funktional = DP_Bezug_Funktional + def get_DP_ETCS_Adresse(self): + return self.DP_ETCS_Adresse + def set_DP_ETCS_Adresse(self, DP_ETCS_Adresse): + self.DP_ETCS_Adresse = DP_ETCS_Adresse + def get_DP_Typ(self): + return self.DP_Typ + def set_DP_Typ(self, DP_Typ): + self.DP_Typ = DP_Typ + def add_DP_Typ(self, value): + self.DP_Typ.append(value) + def insert_DP_Typ_at(self, index, value): + self.DP_Typ.insert(index, value) + def replace_DP_Typ_at(self, index, value): + self.DP_Typ[index] = value + def get_ID_RBC(self): + return self.ID_RBC + def set_ID_RBC(self, ID_RBC): + self.ID_RBC = ID_RBC + def add_ID_RBC(self, value): + self.ID_RBC.append(value) + def insert_ID_RBC_at(self, index, value): + self.ID_RBC.insert(index, value) + def replace_ID_RBC_at(self, index, value): + self.ID_RBC[index] = value + def get_LEU_Steuernde(self): + return self.LEU_Steuernde + def set_LEU_Steuernde(self, LEU_Steuernde): + self.LEU_Steuernde = LEU_Steuernde + def get_DP_Telegramm(self): + return self.DP_Telegramm + def set_DP_Telegramm(self, DP_Telegramm): + self.DP_Telegramm = DP_Telegramm + def add_DP_Telegramm(self, value): + self.DP_Telegramm.append(value) + def insert_DP_Telegramm_at(self, index, value): + self.DP_Telegramm.insert(index, value) + def replace_DP_Telegramm_at(self, index, value): + self.DP_Telegramm[index] = value + def get_DP_Telegramm_ESG(self): + return self.DP_Telegramm_ESG + def set_DP_Telegramm_ESG(self, DP_Telegramm_ESG): + self.DP_Telegramm_ESG = DP_Telegramm_ESG + def add_DP_Telegramm_ESG(self, value): + self.DP_Telegramm_ESG.append(value) + def insert_DP_Telegramm_ESG_at(self, index, value): + self.DP_Telegramm_ESG.insert(index, value) + def replace_DP_Telegramm_ESG_at(self, index, value): + self.DP_Telegramm_ESG[index] = value + def has__content(self): + if ( + self.Datenpunkt_Allg is not None or + self.Datenpunkt_Einmesspunkt is not None or + self.DP_Bezug_Funktional is not None or + self.DP_ETCS_Adresse is not None or + self.DP_Typ or + self.ID_RBC or + self.LEU_Steuernde is not None or + self.DP_Telegramm or + self.DP_Telegramm_ESG or + super(CDatenpunkt, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CDatenpunkt', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CDatenpunkt') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CDatenpunkt': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CDatenpunkt') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CDatenpunkt', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBalisentechnik_ETCS:', name_='CDatenpunkt'): + super(CDatenpunkt, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CDatenpunkt') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBalisentechnik_ETCS:', namespacedef_='xmlns:nsBalisentechnik_ETCS="http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CDatenpunkt', fromsubclass_=False, pretty_print=True): + super(CDatenpunkt, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Datenpunkt_Allg is not None: + namespaceprefix_ = self.Datenpunkt_Allg_nsprefix_ + ':' if (UseCapturedNS_ and self.Datenpunkt_Allg_nsprefix_) else '' + self.Datenpunkt_Allg.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Datenpunkt_Allg', pretty_print=pretty_print) + if self.Datenpunkt_Einmesspunkt is not None: + namespaceprefix_ = self.Datenpunkt_Einmesspunkt_nsprefix_ + ':' if (UseCapturedNS_ and self.Datenpunkt_Einmesspunkt_nsprefix_) else '' + self.Datenpunkt_Einmesspunkt.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Datenpunkt_Einmesspunkt', pretty_print=pretty_print) + if self.DP_Bezug_Funktional is not None: + namespaceprefix_ = self.DP_Bezug_Funktional_nsprefix_ + ':' if (UseCapturedNS_ and self.DP_Bezug_Funktional_nsprefix_) else '' + self.DP_Bezug_Funktional.export(outfile, level, namespaceprefix_, namespacedef_='', name_='DP_Bezug_Funktional', pretty_print=pretty_print) + if self.DP_ETCS_Adresse is not None: + namespaceprefix_ = self.DP_ETCS_Adresse_nsprefix_ + ':' if (UseCapturedNS_ and self.DP_ETCS_Adresse_nsprefix_) else '' + self.DP_ETCS_Adresse.export(outfile, level, namespaceprefix_, namespacedef_='', name_='DP_ETCS_Adresse', pretty_print=pretty_print) + for DP_Typ_ in self.DP_Typ: + namespaceprefix_ = self.DP_Typ_nsprefix_ + ':' if (UseCapturedNS_ and self.DP_Typ_nsprefix_) else '' + DP_Typ_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='DP_Typ', pretty_print=pretty_print) + for ID_RBC_ in self.ID_RBC: + namespaceprefix_ = self.ID_RBC_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_RBC_nsprefix_) else '' + ID_RBC_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_RBC', pretty_print=pretty_print) + if self.LEU_Steuernde is not None: + namespaceprefix_ = self.LEU_Steuernde_nsprefix_ + ':' if (UseCapturedNS_ and self.LEU_Steuernde_nsprefix_) else '' + self.LEU_Steuernde.export(outfile, level, namespaceprefix_, namespacedef_='', name_='LEU_Steuernde', pretty_print=pretty_print) + for DP_Telegramm_ in self.DP_Telegramm: + namespaceprefix_ = self.DP_Telegramm_nsprefix_ + ':' if (UseCapturedNS_ and self.DP_Telegramm_nsprefix_) else '' + DP_Telegramm_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='DP_Telegramm', pretty_print=pretty_print) + for DP_Telegramm_ESG_ in self.DP_Telegramm_ESG: + namespaceprefix_ = self.DP_Telegramm_ESG_nsprefix_ + ':' if (UseCapturedNS_ and self.DP_Telegramm_ESG_nsprefix_) else '' + DP_Telegramm_ESG_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='DP_Telegramm_ESG', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CDatenpunkt, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Datenpunkt_Allg': + obj_ = CDatenpunkt_Allg.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Datenpunkt_Allg = obj_ + obj_.original_tagname_ = 'Datenpunkt_Allg' + elif nodeName_ == 'Datenpunkt_Einmesspunkt': + obj_ = CDatenpunkt_Einmesspunkt.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Datenpunkt_Einmesspunkt = obj_ + obj_.original_tagname_ = 'Datenpunkt_Einmesspunkt' + elif nodeName_ == 'DP_Bezug_Funktional': + obj_ = CDP_Bezug_Funktional.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.DP_Bezug_Funktional = obj_ + obj_.original_tagname_ = 'DP_Bezug_Funktional' + elif nodeName_ == 'DP_ETCS_Adresse': + obj_ = CDP_ETCS_Adresse.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.DP_ETCS_Adresse = obj_ + obj_.original_tagname_ = 'DP_ETCS_Adresse' + elif nodeName_ == 'DP_Typ': + obj_ = CDP_Typ.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.DP_Typ.append(obj_) + obj_.original_tagname_ = 'DP_Typ' + elif nodeName_ == 'ID_RBC': + obj_ = TCID_RBC.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_RBC.append(obj_) + obj_.original_tagname_ = 'ID_RBC' + elif nodeName_ == 'LEU_Steuernde': + obj_ = CLEU_Steuernde.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.LEU_Steuernde = obj_ + obj_.original_tagname_ = 'LEU_Steuernde' + elif nodeName_ == 'DP_Telegramm': + obj_ = CDP_Telegramm.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.DP_Telegramm.append(obj_) + obj_.original_tagname_ = 'DP_Telegramm' + elif nodeName_ == 'DP_Telegramm_ESG': + obj_ = CDP_Telegramm_ESG.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.DP_Telegramm_ESG.append(obj_) + obj_.original_tagname_ = 'DP_Telegramm_ESG' + super(CDatenpunkt, self)._buildChildren(child_, node, nodeName_, True) +# end class CDatenpunkt + + +class CBUE_Anlage(CPunkt_Objekt): + """CBUE_Anlage -- Beschreibung der baulichen Anlage des Bahn + ü + bergangs (B + Ü + ) einschlie + ß + lich der technischen Sicherung, sofern vorhanden. Zurzeit beschr + ä + nken sich die Angaben auf den im Lageplan darzustellenden Teil des B + Ü + . Zu einem sp + ä + teren Zeitpunkt werden die spezifischen B + Ü + -Sicherungsanlagen wie Lichtzeichen, Andreaskreuze, Schrankenantriebe, Belag im B + Ü + -Bereich etc. in das Modell aufgenommen. Gleiches gilt f + ü + r die Einschaltstreckenberechnung sowie die Beeinflussungsberechnung. Das Objekt wird auf den Kreuzungspunkt (in der Mitte der kreuzenden Stra + ß + e) verortet; damit ergibt sich die sogenannte B + Ü + -Mitte gem + ä + ß + Einschaltstreckenberechnung. DB-Regelwerk F + ü + r die Planung von Bahn + ü + berg + ä + ngen gelten folgende Regelwerke: 815 819.12xx Die konkreten Bez + ü + ge zum Regelwerk werden in den einzelnen Attributen angegeben. + Bezeichnung -- Attributgruppe zur Bezeichnung von Stell- und sonstigen Elementen. Sofern ausreichend, wird an dieser Stelle + ü + ber Vererbung die Basisattributgruppe Bezeichnung Element eingebunden. Ist die Abbildung mit den Attributen der Basisattributgruppe nicht m + ö + glich (z. B. wegen spezieller Patternvorgabe) oder nicht sinnvoll (z. B. weil eine Unterscheidung nach Bezeichnung_Lageplan_..., Bezeichnung_Tabelle und Bezeichnung_Aussenanlage (Pflichtattribute!) nicht notwendig ist), werden in der Attributgruppe Bezeichnung entsprechende objektspezifische Bezeichnungsattribute modelliert. Diese sind nach dem Schema Bezeichnung_[Objektname] zu benennen. Zudem ist es m + ö + glich, gleichzeitig die Basisattributgruppe Bezeichnung Element und objektspezifische Attribute einzubinden. Siehe auch Bildung der Bezeichnungen. DB-Regelwerk Sicherungstechnischer Lage- und + Ü + bersichtsplan, B + Ü + -Lageplan Planungstabellen + ID_AEA_BUE_Anschaltung -- Verweis auf die Aussenelementansteuerung, von der die B + Ü + -Anlage gesteuert/geschaltet wird. + ID_BUE_Schnittstelle -- Verweis auf die Schnittstelle zwischen B + Ü + und ESTW, die f + ü + r diese B + Ü + -Anlage erforderlich ist. Der Verweis wird nur f + ü + r technisch gesicherte Bahn + ü + berg + ä + nge mit Abh + ä + ngigkeit zu einem Stellwerk bef + ü + ltt (Hp, F + ü + sowie Kombinationen aus beiden). + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CPunkt_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, Punkt_Objekt_Strecke=None, Punkt_Objekt_TOP_Kante=None, Bezeichnung=None, BUE_Anlage_Allg=None, ID_AEA_BUE_Anschaltung=None, ID_BUE_Schnittstelle=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CBUE_Anlage"), self).__init__(Identitaet, Basis_Objekt_Allg, ID_Bearbeitungsvermerk, ID_Oertlichkeit_Ausgabe, Objektreferenzen, Punkt_Objekt_Strecke, Punkt_Objekt_TOP_Kante, **kwargs_) + self.Bezeichnung = Bezeichnung + self.Bezeichnung_nsprefix_ = None + self.BUE_Anlage_Allg = BUE_Anlage_Allg + self.BUE_Anlage_Allg_nsprefix_ = None + self.ID_AEA_BUE_Anschaltung = ID_AEA_BUE_Anschaltung + self.ID_AEA_BUE_Anschaltung_nsprefix_ = None + self.ID_BUE_Schnittstelle = ID_BUE_Schnittstelle + self.ID_BUE_Schnittstelle_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CBUE_Anlage) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CBUE_Anlage.subclass: + return CBUE_Anlage.subclass(*args_, **kwargs_) + else: + return CBUE_Anlage(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Bezeichnung(self): + return self.Bezeichnung + def set_Bezeichnung(self, Bezeichnung): + self.Bezeichnung = Bezeichnung + def get_BUE_Anlage_Allg(self): + return self.BUE_Anlage_Allg + def set_BUE_Anlage_Allg(self, BUE_Anlage_Allg): + self.BUE_Anlage_Allg = BUE_Anlage_Allg + def get_ID_AEA_BUE_Anschaltung(self): + return self.ID_AEA_BUE_Anschaltung + def set_ID_AEA_BUE_Anschaltung(self, ID_AEA_BUE_Anschaltung): + self.ID_AEA_BUE_Anschaltung = ID_AEA_BUE_Anschaltung + def get_ID_BUE_Schnittstelle(self): + return self.ID_BUE_Schnittstelle + def set_ID_BUE_Schnittstelle(self, ID_BUE_Schnittstelle): + self.ID_BUE_Schnittstelle = ID_BUE_Schnittstelle + def has__content(self): + if ( + self.Bezeichnung is not None or + self.BUE_Anlage_Allg is not None or + self.ID_AEA_BUE_Anschaltung is not None or + self.ID_BUE_Schnittstelle is not None or + super(CBUE_Anlage, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CBUE_Anlage', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CBUE_Anlage') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CBUE_Anlage': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CBUE_Anlage') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CBUE_Anlage', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBahnuebergang:', name_='CBUE_Anlage'): + super(CBUE_Anlage, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CBUE_Anlage') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CBUE_Anlage', fromsubclass_=False, pretty_print=True): + super(CBUE_Anlage, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Bezeichnung is not None: + namespaceprefix_ = self.Bezeichnung_nsprefix_ + ':' if (UseCapturedNS_ and self.Bezeichnung_nsprefix_) else '' + self.Bezeichnung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Bezeichnung', pretty_print=pretty_print) + if self.BUE_Anlage_Allg is not None: + namespaceprefix_ = self.BUE_Anlage_Allg_nsprefix_ + ':' if (UseCapturedNS_ and self.BUE_Anlage_Allg_nsprefix_) else '' + self.BUE_Anlage_Allg.export(outfile, level, namespaceprefix_, namespacedef_='', name_='BUE_Anlage_Allg', pretty_print=pretty_print) + if self.ID_AEA_BUE_Anschaltung is not None: + namespaceprefix_ = self.ID_AEA_BUE_Anschaltung_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_AEA_BUE_Anschaltung_nsprefix_) else '' + self.ID_AEA_BUE_Anschaltung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_AEA_BUE_Anschaltung', pretty_print=pretty_print) + if self.ID_BUE_Schnittstelle is not None: + namespaceprefix_ = self.ID_BUE_Schnittstelle_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_BUE_Schnittstelle_nsprefix_) else '' + self.ID_BUE_Schnittstelle.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_BUE_Schnittstelle', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CBUE_Anlage, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Bezeichnung': + obj_ = CBezeichnung_Element.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Bezeichnung = obj_ + obj_.original_tagname_ = 'Bezeichnung' + elif nodeName_ == 'BUE_Anlage_Allg': + obj_ = CBUE_Anlage_Allg.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.BUE_Anlage_Allg = obj_ + obj_.original_tagname_ = 'BUE_Anlage_Allg' + elif nodeName_ == 'ID_AEA_BUE_Anschaltung': + obj_ = TCID_Aussenelementansteuerung_ohne_Proxy.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_AEA_BUE_Anschaltung = obj_ + obj_.original_tagname_ = 'ID_AEA_BUE_Anschaltung' + elif nodeName_ == 'ID_BUE_Schnittstelle': + obj_ = TCID_BUE_Schnittstelle.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_BUE_Schnittstelle = obj_ + obj_.original_tagname_ = 'ID_BUE_Schnittstelle' + super(CBUE_Anlage, self)._buildChildren(child_, node, nodeName_, True) +# end class CBUE_Anlage + + +class CBUE_Gleisbezogener_Gefahrraum(CBereich_Objekt): + """CBUE_Gleisbezogener_Gefahrraum -- Bereichsobjekt, das den Gefahrraum eines B + Ü + f + ü + r ein Gleis abbildet. Die Grenzen des Bereichsobjektes liegen jeweils auf dem Schnittpunkt zwischen Gefahrraumkante und zugeh + ö + rigem Gleis. Die zugeh + ö + rigen Ein- und Ausschaltelemente verweisen auf die jeweilige Grenze des Bereichsobjektes. F + ü + r jedes Gleis am B + Ü + ist ein solches Objekt vorzusehen. Somit hat ein B + Ü + bzw. eine BUE Anlage immer genauso viele Instanzen von BUE_Gleisbezogener_Gefahrraum wie B + Ü + -Gleise. Zu einem sp + ä + teren Zeitpunkt werden ggf. weitere, Gefahrraum-spezifische Angaben erg + ä + nzt. DB-Regelwerk 819.1210 7 (1)-(3) + Ersatzstecker_Gleisbezogen -- Ein Sensor- bzw. EGL-Ersatzstecker ist vorzusehen, der die Gleisschaltmittel zur Einschaltung des B + Ü + f + ü + r dieses B + Ü + -Gleis au + ß + er Betrieb setzt und damit eine Einschaltung des B + Ü + verhindert (z. B. f + ü + r Baugleis). Das Attribut kann nur den Wert \"true\" annehmen. + Gleis_Am_Bue -- Bezeichnung des B + Ü + -Gleises. Die Bezeichnung wird in alphabetisch aufsteigender Reihenfolge vergeben, beginnend bei \"a\". Bei mehrgleisigen Strecken + ü + ber einen B + Ü + wird das in aufsteigender km-Richtung rechts liegende Gleis mit \"a\" bezeichnet; das daneben liegende (Gegen)Gleis mit \"b\" usw. Diese \"Kennung\" ist Bestandteil der Bezeichnung der Anrueckmelder und Einschaltkontakte (sofern vorhanden) sowie der Ausschaltkontakte des B + Ü + . DB-Regelwerk Das Planungsdatum ist im Regelwerk der DB AG nicht eindeutig beschrieben. Es geht aus dem Eingabebl + ä + ttern der Einschaltstreckenberechnung hervor. + ID_BUE_Anlage -- Verweis auf die BUE Anlage, zu der der Gefahrraum zugeh + ö + rig ist. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBereich_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, Bereich_Objekt_Teilbereich=None, Ersatzstecker_Gleisbezogen=None, Gleis_Am_Bue=None, ID_BUE_Anlage=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CBUE_Gleisbezogener_Gefahrraum"), self).__init__(Identitaet, Basis_Objekt_Allg, ID_Bearbeitungsvermerk, ID_Oertlichkeit_Ausgabe, Objektreferenzen, Bereich_Objekt_Teilbereich, **kwargs_) + self.Ersatzstecker_Gleisbezogen = Ersatzstecker_Gleisbezogen + self.Ersatzstecker_Gleisbezogen_nsprefix_ = None + self.Gleis_Am_Bue = Gleis_Am_Bue + self.Gleis_Am_Bue_nsprefix_ = None + self.ID_BUE_Anlage = ID_BUE_Anlage + self.ID_BUE_Anlage_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CBUE_Gleisbezogener_Gefahrraum) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CBUE_Gleisbezogener_Gefahrraum.subclass: + return CBUE_Gleisbezogener_Gefahrraum.subclass(*args_, **kwargs_) + else: + return CBUE_Gleisbezogener_Gefahrraum(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Ersatzstecker_Gleisbezogen(self): + return self.Ersatzstecker_Gleisbezogen + def set_Ersatzstecker_Gleisbezogen(self, Ersatzstecker_Gleisbezogen): + self.Ersatzstecker_Gleisbezogen = Ersatzstecker_Gleisbezogen + def get_Gleis_Am_Bue(self): + return self.Gleis_Am_Bue + def set_Gleis_Am_Bue(self, Gleis_Am_Bue): + self.Gleis_Am_Bue = Gleis_Am_Bue + def get_ID_BUE_Anlage(self): + return self.ID_BUE_Anlage + def set_ID_BUE_Anlage(self, ID_BUE_Anlage): + self.ID_BUE_Anlage = ID_BUE_Anlage + def has__content(self): + if ( + self.Ersatzstecker_Gleisbezogen is not None or + self.Gleis_Am_Bue is not None or + self.ID_BUE_Anlage is not None or + super(CBUE_Gleisbezogener_Gefahrraum, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CBUE_Gleisbezogener_Gefahrraum', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CBUE_Gleisbezogener_Gefahrraum') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CBUE_Gleisbezogener_Gefahrraum': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CBUE_Gleisbezogener_Gefahrraum') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CBUE_Gleisbezogener_Gefahrraum', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBahnuebergang:', name_='CBUE_Gleisbezogener_Gefahrraum'): + super(CBUE_Gleisbezogener_Gefahrraum, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CBUE_Gleisbezogener_Gefahrraum') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CBUE_Gleisbezogener_Gefahrraum', fromsubclass_=False, pretty_print=True): + super(CBUE_Gleisbezogener_Gefahrraum, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Ersatzstecker_Gleisbezogen is not None: + namespaceprefix_ = self.Ersatzstecker_Gleisbezogen_nsprefix_ + ':' if (UseCapturedNS_ and self.Ersatzstecker_Gleisbezogen_nsprefix_) else '' + self.Ersatzstecker_Gleisbezogen.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Ersatzstecker_Gleisbezogen', pretty_print=pretty_print) + if self.Gleis_Am_Bue is not None: + namespaceprefix_ = self.Gleis_Am_Bue_nsprefix_ + ':' if (UseCapturedNS_ and self.Gleis_Am_Bue_nsprefix_) else '' + self.Gleis_Am_Bue.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Gleis_Am_Bue', pretty_print=pretty_print) + if self.ID_BUE_Anlage is not None: + namespaceprefix_ = self.ID_BUE_Anlage_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_BUE_Anlage_nsprefix_) else '' + self.ID_BUE_Anlage.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_BUE_Anlage', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CBUE_Gleisbezogener_Gefahrraum, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Ersatzstecker_Gleisbezogen': + obj_ = TCErsatzstecker_Gleisbezogen.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Ersatzstecker_Gleisbezogen = obj_ + obj_.original_tagname_ = 'Ersatzstecker_Gleisbezogen' + elif nodeName_ == 'Gleis_Am_Bue': + obj_ = TCGleis_Am_Bue.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Gleis_Am_Bue = obj_ + obj_.original_tagname_ = 'Gleis_Am_Bue' + elif nodeName_ == 'ID_BUE_Anlage': + obj_ = TCID_BUE_Anlage.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_BUE_Anlage = obj_ + obj_.original_tagname_ = 'ID_BUE_Anlage' + super(CBUE_Gleisbezogener_Gefahrraum, self)._buildChildren(child_, node, nodeName_, True) +# end class CBUE_Gleisbezogener_Gefahrraum + + +class CBUE_Kante(CPunkt_Objekt): + """CBUE_Kante -- Gleisbezogene Abbildung der B + Ü + -Kante zur Berechnung des Sicherheitsabstands bei Hp-gedeckten Bahn + ü + berg + ä + ngen. + ID_BUE_Anlage -- Verweis auf die zugeh + ö + rige B + Ü + -Anlage. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CPunkt_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, Punkt_Objekt_Strecke=None, Punkt_Objekt_TOP_Kante=None, ID_BUE_Anlage=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CBUE_Kante"), self).__init__(Identitaet, Basis_Objekt_Allg, ID_Bearbeitungsvermerk, ID_Oertlichkeit_Ausgabe, Objektreferenzen, Punkt_Objekt_Strecke, Punkt_Objekt_TOP_Kante, **kwargs_) + self.ID_BUE_Anlage = ID_BUE_Anlage + self.ID_BUE_Anlage_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CBUE_Kante) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CBUE_Kante.subclass: + return CBUE_Kante.subclass(*args_, **kwargs_) + else: + return CBUE_Kante(*args_, **kwargs_) + factory = staticmethod(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_BUE_Anlage(self): + return self.ID_BUE_Anlage + def set_ID_BUE_Anlage(self, ID_BUE_Anlage): + self.ID_BUE_Anlage = ID_BUE_Anlage + def has__content(self): + if ( + self.ID_BUE_Anlage is not None or + super(CBUE_Kante, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CBUE_Kante', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CBUE_Kante') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CBUE_Kante': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CBUE_Kante') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CBUE_Kante', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBahnuebergang:', name_='CBUE_Kante'): + super(CBUE_Kante, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CBUE_Kante') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CBUE_Kante', fromsubclass_=False, pretty_print=True): + super(CBUE_Kante, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.ID_BUE_Anlage is not None: + namespaceprefix_ = self.ID_BUE_Anlage_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_BUE_Anlage_nsprefix_) else '' + self.ID_BUE_Anlage.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_BUE_Anlage', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CBUE_Kante, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_BUE_Anlage': + obj_ = TCID_BUE_Anlage_ohne_Proxy.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_BUE_Anlage = obj_ + obj_.original_tagname_ = 'ID_BUE_Anlage' + super(CBUE_Kante, self)._buildChildren(child_, node, nodeName_, True) +# end class CBUE_Kante + + +class CGFR_Tripelspiegel(CPunkt_Objekt): + """CGFR_Tripelspiegel -- Ortungshilfe f + ü + r GFR-Anlagen der Firma Honeywell. + ID_GFR_Anlage -- Verweis auf die zugeh + ö + rige GFR-Anlage. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CPunkt_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, Punkt_Objekt_Strecke=None, Punkt_Objekt_TOP_Kante=None, Bezeichnung=None, GFR_Tripelspiegel_Allg=None, ID_GFR_Anlage=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CGFR_Tripelspiegel"), self).__init__(Identitaet, Basis_Objekt_Allg, ID_Bearbeitungsvermerk, ID_Oertlichkeit_Ausgabe, Objektreferenzen, Punkt_Objekt_Strecke, Punkt_Objekt_TOP_Kante, **kwargs_) + self.Bezeichnung = Bezeichnung + self.Bezeichnung_nsprefix_ = None + self.GFR_Tripelspiegel_Allg = GFR_Tripelspiegel_Allg + self.GFR_Tripelspiegel_Allg_nsprefix_ = None + self.ID_GFR_Anlage = ID_GFR_Anlage + self.ID_GFR_Anlage_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CGFR_Tripelspiegel) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CGFR_Tripelspiegel.subclass: + return CGFR_Tripelspiegel.subclass(*args_, **kwargs_) + else: + return CGFR_Tripelspiegel(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Bezeichnung(self): + return self.Bezeichnung + def set_Bezeichnung(self, Bezeichnung): + self.Bezeichnung = Bezeichnung + def get_GFR_Tripelspiegel_Allg(self): + return self.GFR_Tripelspiegel_Allg + def set_GFR_Tripelspiegel_Allg(self, GFR_Tripelspiegel_Allg): + self.GFR_Tripelspiegel_Allg = GFR_Tripelspiegel_Allg + def get_ID_GFR_Anlage(self): + return self.ID_GFR_Anlage + def set_ID_GFR_Anlage(self, ID_GFR_Anlage): + self.ID_GFR_Anlage = ID_GFR_Anlage + def has__content(self): + if ( + self.Bezeichnung is not None or + self.GFR_Tripelspiegel_Allg is not None or + self.ID_GFR_Anlage is not None or + super(CGFR_Tripelspiegel, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CGFR_Tripelspiegel', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CGFR_Tripelspiegel') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CGFR_Tripelspiegel': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CGFR_Tripelspiegel') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CGFR_Tripelspiegel', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBahnuebergang:', name_='CGFR_Tripelspiegel'): + super(CGFR_Tripelspiegel, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CGFR_Tripelspiegel') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CGFR_Tripelspiegel', fromsubclass_=False, pretty_print=True): + super(CGFR_Tripelspiegel, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Bezeichnung is not None: + namespaceprefix_ = self.Bezeichnung_nsprefix_ + ':' if (UseCapturedNS_ and self.Bezeichnung_nsprefix_) else '' + self.Bezeichnung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Bezeichnung', pretty_print=pretty_print) + if self.GFR_Tripelspiegel_Allg is not None: + namespaceprefix_ = self.GFR_Tripelspiegel_Allg_nsprefix_ + ':' if (UseCapturedNS_ and self.GFR_Tripelspiegel_Allg_nsprefix_) else '' + self.GFR_Tripelspiegel_Allg.export(outfile, level, namespaceprefix_, namespacedef_='', name_='GFR_Tripelspiegel_Allg', pretty_print=pretty_print) + if self.ID_GFR_Anlage is not None: + namespaceprefix_ = self.ID_GFR_Anlage_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_GFR_Anlage_nsprefix_) else '' + self.ID_GFR_Anlage.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_GFR_Anlage', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CGFR_Tripelspiegel, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Bezeichnung': + obj_ = CGFR_Tripelspiegel_Bezeichnung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Bezeichnung = obj_ + obj_.original_tagname_ = 'Bezeichnung' + elif nodeName_ == 'GFR_Tripelspiegel_Allg': + obj_ = CGFR_Tripelspiegel_Allg.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.GFR_Tripelspiegel_Allg = obj_ + obj_.original_tagname_ = 'GFR_Tripelspiegel_Allg' + elif nodeName_ == 'ID_GFR_Anlage': + obj_ = TCID_GFR_Anlage_ohne_Proxy.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_GFR_Anlage = obj_ + obj_.original_tagname_ = 'ID_GFR_Anlage' + super(CGFR_Tripelspiegel, self)._buildChildren(child_, node, nodeName_, True) +# end class CGFR_Tripelspiegel + + +class CBUE_Gefahrraum_Eckpunkt(CPunkt_Objekt): + """CBUE_Gefahrraum_Eckpunkt -- Eckpunkt des B + Ü + -Gefahrraums. + ID_BUE_Anlage -- Verweis auf die zugeh + ö + rige B + Ü + -Anlage + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CPunkt_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, Punkt_Objekt_Strecke=None, Punkt_Objekt_TOP_Kante=None, Bezeichnung=None, ID_BUE_Anlage=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CBUE_Gefahrraum_Eckpunkt"), self).__init__(Identitaet, Basis_Objekt_Allg, ID_Bearbeitungsvermerk, ID_Oertlichkeit_Ausgabe, Objektreferenzen, Punkt_Objekt_Strecke, Punkt_Objekt_TOP_Kante, **kwargs_) + self.Bezeichnung = Bezeichnung + self.Bezeichnung_nsprefix_ = None + self.ID_BUE_Anlage = ID_BUE_Anlage + self.ID_BUE_Anlage_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CBUE_Gefahrraum_Eckpunkt) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CBUE_Gefahrraum_Eckpunkt.subclass: + return CBUE_Gefahrraum_Eckpunkt.subclass(*args_, **kwargs_) + else: + return CBUE_Gefahrraum_Eckpunkt(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Bezeichnung(self): + return self.Bezeichnung + def set_Bezeichnung(self, Bezeichnung): + self.Bezeichnung = Bezeichnung + def get_ID_BUE_Anlage(self): + return self.ID_BUE_Anlage + def set_ID_BUE_Anlage(self, ID_BUE_Anlage): + self.ID_BUE_Anlage = ID_BUE_Anlage + def has__content(self): + if ( + self.Bezeichnung is not None or + self.ID_BUE_Anlage is not None or + super(CBUE_Gefahrraum_Eckpunkt, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CBUE_Gefahrraum_Eckpunkt', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CBUE_Gefahrraum_Eckpunkt') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CBUE_Gefahrraum_Eckpunkt': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CBUE_Gefahrraum_Eckpunkt') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CBUE_Gefahrraum_Eckpunkt', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBahnuebergang:', name_='CBUE_Gefahrraum_Eckpunkt'): + super(CBUE_Gefahrraum_Eckpunkt, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CBUE_Gefahrraum_Eckpunkt') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CBUE_Gefahrraum_Eckpunkt', fromsubclass_=False, pretty_print=True): + super(CBUE_Gefahrraum_Eckpunkt, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Bezeichnung is not None: + namespaceprefix_ = self.Bezeichnung_nsprefix_ + ':' if (UseCapturedNS_ and self.Bezeichnung_nsprefix_) else '' + self.Bezeichnung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Bezeichnung', pretty_print=pretty_print) + if self.ID_BUE_Anlage is not None: + namespaceprefix_ = self.ID_BUE_Anlage_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_BUE_Anlage_nsprefix_) else '' + self.ID_BUE_Anlage.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_BUE_Anlage', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CBUE_Gefahrraum_Eckpunkt, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Bezeichnung': + obj_ = CBUE_Gefahrraum_Eckpunkt_Bezeichnung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Bezeichnung = obj_ + obj_.original_tagname_ = 'Bezeichnung' + elif nodeName_ == 'ID_BUE_Anlage': + obj_ = TCID_BUE_Anlage_ohne_Proxy.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_BUE_Anlage = obj_ + obj_.original_tagname_ = 'ID_BUE_Anlage' + super(CBUE_Gefahrraum_Eckpunkt, self)._buildChildren(child_, node, nodeName_, True) +# end class CBUE_Gefahrraum_Eckpunkt + + +class CSchrankenantrieb(CPunkt_Objekt): + """CSchrankenantrieb -- Abbildung von Schrankenantrieben f + ü + r Bahn + ü + berg + ä + nge. + ID_BUE_Anlage -- Verweis auf die B + Ü + -Anlage, zu der der Schrankenantrieb geh + ö + rt. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CPunkt_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, Punkt_Objekt_Strecke=None, Punkt_Objekt_TOP_Kante=None, Bezeichnung=None, ID_BUE_Anlage=None, SA_Schrankenbaum=None, Schrankenantrieb_Allg=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CSchrankenantrieb"), self).__init__(Identitaet, Basis_Objekt_Allg, ID_Bearbeitungsvermerk, ID_Oertlichkeit_Ausgabe, Objektreferenzen, Punkt_Objekt_Strecke, Punkt_Objekt_TOP_Kante, **kwargs_) + self.Bezeichnung = Bezeichnung + self.Bezeichnung_nsprefix_ = None + self.ID_BUE_Anlage = ID_BUE_Anlage + self.ID_BUE_Anlage_nsprefix_ = None + self.SA_Schrankenbaum = SA_Schrankenbaum + self.SA_Schrankenbaum_nsprefix_ = None + self.Schrankenantrieb_Allg = Schrankenantrieb_Allg + self.Schrankenantrieb_Allg_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CSchrankenantrieb) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CSchrankenantrieb.subclass: + return CSchrankenantrieb.subclass(*args_, **kwargs_) + else: + return CSchrankenantrieb(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Bezeichnung(self): + return self.Bezeichnung + def set_Bezeichnung(self, Bezeichnung): + self.Bezeichnung = Bezeichnung + def get_ID_BUE_Anlage(self): + return self.ID_BUE_Anlage + def set_ID_BUE_Anlage(self, ID_BUE_Anlage): + self.ID_BUE_Anlage = ID_BUE_Anlage + def get_SA_Schrankenbaum(self): + return self.SA_Schrankenbaum + def set_SA_Schrankenbaum(self, SA_Schrankenbaum): + self.SA_Schrankenbaum = SA_Schrankenbaum + def get_Schrankenantrieb_Allg(self): + return self.Schrankenantrieb_Allg + def set_Schrankenantrieb_Allg(self, Schrankenantrieb_Allg): + self.Schrankenantrieb_Allg = Schrankenantrieb_Allg + def has__content(self): + if ( + self.Bezeichnung is not None or + self.ID_BUE_Anlage is not None or + self.SA_Schrankenbaum is not None or + self.Schrankenantrieb_Allg is not None or + super(CSchrankenantrieb, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CSchrankenantrieb', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CSchrankenantrieb') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CSchrankenantrieb': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CSchrankenantrieb') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CSchrankenantrieb', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsBahnuebergang:', name_='CSchrankenantrieb'): + super(CSchrankenantrieb, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CSchrankenantrieb') + def _exportChildren(self, outfile, level, namespaceprefix_='nsBahnuebergang:', namespacedef_='xmlns:nsBahnuebergang="http://www.plan-pro.org/modell/Bahnuebergang/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CSchrankenantrieb', fromsubclass_=False, pretty_print=True): + super(CSchrankenantrieb, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Bezeichnung is not None: + namespaceprefix_ = self.Bezeichnung_nsprefix_ + ':' if (UseCapturedNS_ and self.Bezeichnung_nsprefix_) else '' + self.Bezeichnung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Bezeichnung', pretty_print=pretty_print) + if self.ID_BUE_Anlage is not None: + namespaceprefix_ = self.ID_BUE_Anlage_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_BUE_Anlage_nsprefix_) else '' + self.ID_BUE_Anlage.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_BUE_Anlage', pretty_print=pretty_print) + if self.SA_Schrankenbaum is not None: + namespaceprefix_ = self.SA_Schrankenbaum_nsprefix_ + ':' if (UseCapturedNS_ and self.SA_Schrankenbaum_nsprefix_) else '' + self.SA_Schrankenbaum.export(outfile, level, namespaceprefix_, namespacedef_='', name_='SA_Schrankenbaum', pretty_print=pretty_print) + if self.Schrankenantrieb_Allg is not None: + namespaceprefix_ = self.Schrankenantrieb_Allg_nsprefix_ + ':' if (UseCapturedNS_ and self.Schrankenantrieb_Allg_nsprefix_) else '' + self.Schrankenantrieb_Allg.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Schrankenantrieb_Allg', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CSchrankenantrieb, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Bezeichnung': + obj_ = CSchrankenantrieb_Bezeichnung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Bezeichnung = obj_ + obj_.original_tagname_ = 'Bezeichnung' + elif nodeName_ == 'ID_BUE_Anlage': + obj_ = TCID_BUE_Anlage_ohne_Proxy.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_BUE_Anlage = obj_ + obj_.original_tagname_ = 'ID_BUE_Anlage' + elif nodeName_ == 'SA_Schrankenbaum': + obj_ = CSA_Schrankenbaum.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.SA_Schrankenbaum = obj_ + obj_.original_tagname_ = 'SA_Schrankenbaum' + elif nodeName_ == 'Schrankenantrieb_Allg': + obj_ = CSchrankenantrieb_Allg.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Schrankenantrieb_Allg = obj_ + obj_.original_tagname_ = 'Schrankenantrieb_Allg' + super(CSchrankenantrieb, self)._buildChildren(child_, node, nodeName_, True) +# end class CSchrankenantrieb + + +class CZugeinwirkung(CPunkt_Objekt): + """CZugeinwirkung -- Technische Anlage, die durch die punktuelle Einwirkung eines Zuges einen Schaltvorgang ausl + ö + sen kann. Bei B + Ü + SA werden Ein- und Ausschaltpunkte sowie Kontakte f + ü + r die Wirksamkeitsschaltung in Abh + ä + ngigkeit vom Hersteller auf verschiedene Art ausgebildet: Die Hersteller Scheidt\u0026amp;Bachmann sowie PintschBamag verwenden als Zugeinwirkung Fahrzeugsensoren in Form von 8-f + ö + rmig verlegten Schleifen im Gleis. Einschaltpunkte und Kontakte f + ü + r die Wirksamkeitsschaltung werden im Regelfall aus zwei Schleifen, Ausschaltpunkte aus einer Schleife gebildet. Nur im Ausnahmefall werden beim Hersteller PintschBamag Einschaltpunkte mit drei Schleifen errichtet. Der Hersteller Siemens AG verwendet dagegen Achsz + ä + hlern vergleichbare sogenannte Doppelsensoren. F + ü + r das Modell werden, unabh + ä + ngig von der herstellerspezifischen Ausbildung, Ein-und Ausschaltpunkte sowie Kontakte der Wirksamkeitsschaltung grunds + ä + tzlich als EINE Zugeinwirkung betrachtet. DB-Regelwerk Typspezifische Planungshinweise und Technische Mitteilungen; Planungsdaten: Sicherungstechnischer Lageplan, B + Ü + -Lageplan, Gleisfreimeldeplan. + Bezeichnung -- Attributgruppe zur Bezeichnung von Stell- und sonstigen Elementen. Sofern ausreichend, wird an dieser Stelle + ü + ber Vererbung die Basisattributgruppe Bezeichnung Element eingebunden. Ist die Abbildung mit den Attributen der Basisattributgruppe nicht m + ö + glich (z. B. wegen spezieller Patternvorgabe) oder nicht sinnvoll (z. B. weil eine Unterscheidung nach Bezeichnung_Lageplan_..., Bezeichnung_Tabelle und Bezeichnung_Aussenanlage (Pflichtattribute!) nicht notwendig ist), werden in der Attributgruppe Bezeichnung entsprechende objektspezifische Bezeichnungsattribute modelliert. Diese sind nach dem Schema Bezeichnung_[Objektname] zu benennen. Zudem ist es m + ö + glich, gleichzeitig die Basisattributgruppe Bezeichnung Element und objektspezifische Attribute einzubinden. Siehe auch Bildung der Bezeichnungen. DB-Regelwerk Sicherungstechnischer Lage- und + Ü + bersichtsplan, B + Ü + -Lageplan Planungstabellen + ID_Bezugspunkt -- Verweis auf das Punkt Objekt, dass f + ü + r die Positionierung der Freimeldeabschnittsgrenze (FMA_Komponente) bzw. der Zugeinwirkung ma + ß + gebend ist. F + ü + r alle Arten von Freimeldeabschnittsgrenzen bzw. Zugeinwirkungen anzugeben, f + ü + r die ein Bezugspunkt existiert, zu dem ein vorgeschriebener Abstand erforderlich ist. Typische Bezugspunkte sind Signal, Weichen-Komponente und Gleissperren-Komponente. DB-Regelwerk bei Achsz + ä + hlpunkten: Achsz + ä + hltabelle, Spalte 17; bei anderen Freimeldeabschnittsgrenzen und Zugeinwirkungen: h + ä + ufig aus einer Abstandsangabe im Sicherungstechnischen Lageplan / B + Ü + -Lageplan erkennbar. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CPunkt_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, Punkt_Objekt_Strecke=None, Punkt_Objekt_TOP_Kante=None, Bezeichnung=None, ID_Bezugspunkt=None, Zugeinwirkung_Allg=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CZugeinwirkung"), self).__init__(Identitaet, Basis_Objekt_Allg, ID_Bearbeitungsvermerk, ID_Oertlichkeit_Ausgabe, Objektreferenzen, Punkt_Objekt_Strecke, Punkt_Objekt_TOP_Kante, **kwargs_) + self.Bezeichnung = Bezeichnung + self.Bezeichnung_nsprefix_ = None + self.ID_Bezugspunkt = ID_Bezugspunkt + self.ID_Bezugspunkt_nsprefix_ = None + self.Zugeinwirkung_Allg = Zugeinwirkung_Allg + self.Zugeinwirkung_Allg_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CZugeinwirkung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CZugeinwirkung.subclass: + return CZugeinwirkung.subclass(*args_, **kwargs_) + else: + return CZugeinwirkung(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Bezeichnung(self): + return self.Bezeichnung + def set_Bezeichnung(self, Bezeichnung): + self.Bezeichnung = Bezeichnung + def get_ID_Bezugspunkt(self): + return self.ID_Bezugspunkt + def set_ID_Bezugspunkt(self, ID_Bezugspunkt): + self.ID_Bezugspunkt = ID_Bezugspunkt + def get_Zugeinwirkung_Allg(self): + return self.Zugeinwirkung_Allg + def set_Zugeinwirkung_Allg(self, Zugeinwirkung_Allg): + self.Zugeinwirkung_Allg = Zugeinwirkung_Allg + def has__content(self): + if ( + self.Bezeichnung is not None or + self.ID_Bezugspunkt is not None or + self.Zugeinwirkung_Allg is not None or + super(CZugeinwirkung, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsOrtung:', namespacedef_='xmlns:nsOrtung="http://www.plan-pro.org/modell/Ortung/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CZugeinwirkung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CZugeinwirkung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CZugeinwirkung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CZugeinwirkung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CZugeinwirkung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsOrtung:', name_='CZugeinwirkung'): + super(CZugeinwirkung, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CZugeinwirkung') + def _exportChildren(self, outfile, level, namespaceprefix_='nsOrtung:', namespacedef_='xmlns:nsOrtung="http://www.plan-pro.org/modell/Ortung/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CZugeinwirkung', fromsubclass_=False, pretty_print=True): + super(CZugeinwirkung, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Bezeichnung is not None: + namespaceprefix_ = self.Bezeichnung_nsprefix_ + ':' if (UseCapturedNS_ and self.Bezeichnung_nsprefix_) else '' + self.Bezeichnung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Bezeichnung', pretty_print=pretty_print) + if self.ID_Bezugspunkt is not None: + namespaceprefix_ = self.ID_Bezugspunkt_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bezugspunkt_nsprefix_) else '' + self.ID_Bezugspunkt.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bezugspunkt', pretty_print=pretty_print) + if self.Zugeinwirkung_Allg is not None: + namespaceprefix_ = self.Zugeinwirkung_Allg_nsprefix_ + ':' if (UseCapturedNS_ and self.Zugeinwirkung_Allg_nsprefix_) else '' + self.Zugeinwirkung_Allg.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Zugeinwirkung_Allg', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CZugeinwirkung, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Bezeichnung': + obj_ = CBezeichnung_Element.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Bezeichnung = obj_ + obj_.original_tagname_ = 'Bezeichnung' + elif nodeName_ == 'ID_Bezugspunkt': + obj_ = TCID_Markanter_Punkt.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bezugspunkt = obj_ + obj_.original_tagname_ = 'ID_Bezugspunkt' + elif nodeName_ == 'Zugeinwirkung_Allg': + obj_ = CZugeinwirkung_Allg.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Zugeinwirkung_Allg = obj_ + obj_.original_tagname_ = 'Zugeinwirkung_Allg' + super(CZugeinwirkung, self)._buildChildren(child_, node, nodeName_, True) +# end class CZugeinwirkung + + +class CFMA_Element(CPunkt_Objekt): + """CFMA_Element -- Erg + ä + nzung einer FMA Komponente bei Gleisstromkreisen um die Bauelemente zur Ein- und Ausspeisung. FMA_Elemente werden rechts und/oder links der FMA_Komponente direkt den angrenzenden FMA_Anlagen zugewiesen. Das Objekt ist bei Achsz + ä + hlpunkten nicht erforderlich. DB-Regelwerk Typspezifische Planungshinweise und Technische Mitteilungen; Planungsdaten: Sicherungstechnischer Lageplan, B + Ü + -Lageplan, Gleisisolierplan, Freimeldetabelle. + ID_FMA_Anlage -- Verweis auf die zugeh + ö + rige Freimeldeabschnitts-Anlage (FMA_Anlage). Einer FMA_Anlage k + ö + nnen maximal vier Freimeldeabschnittelemente, davon genau eine Einspeisung und maximal drei Ausspeisungen zugeordnet werden. DB-Regelwerk Sicherungstechnischer Lageplan, B + Ü + -Lageplan, Gleisfreimeldeplan. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CPunkt_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, Punkt_Objekt_Strecke=None, Punkt_Objekt_TOP_Kante=None, FMA_Element_Allg=None, FMA_Element_Anschluss=None, ID_FMA_Anlage=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CFMA_Element"), self).__init__(Identitaet, Basis_Objekt_Allg, ID_Bearbeitungsvermerk, ID_Oertlichkeit_Ausgabe, Objektreferenzen, Punkt_Objekt_Strecke, Punkt_Objekt_TOP_Kante, **kwargs_) + self.FMA_Element_Allg = FMA_Element_Allg + self.FMA_Element_Allg_nsprefix_ = None + self.FMA_Element_Anschluss = FMA_Element_Anschluss + self.FMA_Element_Anschluss_nsprefix_ = None + self.ID_FMA_Anlage = ID_FMA_Anlage + self.ID_FMA_Anlage_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CFMA_Element) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CFMA_Element.subclass: + return CFMA_Element.subclass(*args_, **kwargs_) + else: + return CFMA_Element(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_FMA_Element_Allg(self): + return self.FMA_Element_Allg + def set_FMA_Element_Allg(self, FMA_Element_Allg): + self.FMA_Element_Allg = FMA_Element_Allg + def get_FMA_Element_Anschluss(self): + return self.FMA_Element_Anschluss + def set_FMA_Element_Anschluss(self, FMA_Element_Anschluss): + self.FMA_Element_Anschluss = FMA_Element_Anschluss + def get_ID_FMA_Anlage(self): + return self.ID_FMA_Anlage + def set_ID_FMA_Anlage(self, ID_FMA_Anlage): + self.ID_FMA_Anlage = ID_FMA_Anlage + def has__content(self): + if ( + self.FMA_Element_Allg is not None or + self.FMA_Element_Anschluss is not None or + self.ID_FMA_Anlage is not None or + super(CFMA_Element, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsOrtung:', namespacedef_='xmlns:nsOrtung="http://www.plan-pro.org/modell/Ortung/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CFMA_Element', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CFMA_Element') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CFMA_Element': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CFMA_Element') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CFMA_Element', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsOrtung:', name_='CFMA_Element'): + super(CFMA_Element, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CFMA_Element') + def _exportChildren(self, outfile, level, namespaceprefix_='nsOrtung:', namespacedef_='xmlns:nsOrtung="http://www.plan-pro.org/modell/Ortung/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CFMA_Element', fromsubclass_=False, pretty_print=True): + super(CFMA_Element, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.FMA_Element_Allg is not None: + namespaceprefix_ = self.FMA_Element_Allg_nsprefix_ + ':' if (UseCapturedNS_ and self.FMA_Element_Allg_nsprefix_) else '' + self.FMA_Element_Allg.export(outfile, level, namespaceprefix_, namespacedef_='', name_='FMA_Element_Allg', pretty_print=pretty_print) + if self.FMA_Element_Anschluss is not None: + namespaceprefix_ = self.FMA_Element_Anschluss_nsprefix_ + ':' if (UseCapturedNS_ and self.FMA_Element_Anschluss_nsprefix_) else '' + self.FMA_Element_Anschluss.export(outfile, level, namespaceprefix_, namespacedef_='', name_='FMA_Element_Anschluss', pretty_print=pretty_print) + if self.ID_FMA_Anlage is not None: + namespaceprefix_ = self.ID_FMA_Anlage_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_FMA_Anlage_nsprefix_) else '' + self.ID_FMA_Anlage.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_FMA_Anlage', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CFMA_Element, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'FMA_Element_Allg': + obj_ = CFMA_Element_Allg.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.FMA_Element_Allg = obj_ + obj_.original_tagname_ = 'FMA_Element_Allg' + elif nodeName_ == 'FMA_Element_Anschluss': + obj_ = CFMA_Element_Anschluss.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.FMA_Element_Anschluss = obj_ + obj_.original_tagname_ = 'FMA_Element_Anschluss' + elif nodeName_ == 'ID_FMA_Anlage': + obj_ = TCID_FMA_Anlage.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_FMA_Anlage = obj_ + obj_.original_tagname_ = 'ID_FMA_Anlage' + super(CFMA_Element, self)._buildChildren(child_, node, nodeName_, True) +# end class CFMA_Element + + +class CFMA_Komponente(CPunkt_Objekt): + """CFMA_Komponente -- Freimeldeabschnittsgrenze (Isoliersto + ß + , elektrischer Sto + ß + , Achsz + ä + hlpunkt). Die FMA_Komponente wird dem Punkt im Gleis zugeordnet, bis zu dem die Erkennung einer Belegung gem + ä + ß + Anwendungsrichtlinien als gesichert gilt. Die zu den zugeh + ö + rigen Gleisabschnitten geh + ö + renden Bereichsobjekte Gleis Abschnitt m + ü + ssen deshalb exakt an diesem Punktobjekt enden. Zur Ermittlung der seitlichen Lage einer FMA_Komponente siehe Modellierung Gleisfreimeldung. Eine FMA_Komponente kann nur an einer Seite mindestens einen Freimeldeabschnitt oder beidseitig jeweils mindestens einen Freimeldeabschnitt begrenzen. Bei + ü + berlappenden Freimeldeabschnittsgrenzen (z.B. am + Ü + bergang von FTGS- zu Achsz + ä + hl- Gleisfreimeldeanlagen) ist jede Freimeldeabschnittsgrenze f + ü + r sich als FMA_Komponente zu erfassen. Direkt auf H + ö + he, rechts und/oder links der Freimeldeabschnittsgrenze k + ö + nnen sich technische Anlagen f + ü + r die Gleisfreimeldung befinden, siehe dazu FMA Element. Das Befahren einer FMA_Komponente kann auch weitere Schaltvorg + ä + nge ausl + ö + sen, siehe dazu Schaltmittel Zuordnung. DB-Regelwerk Typspezifische Planungshinweise und Technische Mitteilungen; Planungsdaten: Sicherungstechnischer Lageplan, B + Ü + -Lageplan; Achsz + ä + hl + ü + bersichtsplan; Freimeldetabelle; Achsz + ä + hltabelle. + Bezeichnung -- Attributgruppe zur Bezeichnung von Stell- und sonstigen Elementen. Sofern ausreichend, wird an dieser Stelle + ü + ber Vererbung die Basisattributgruppe Bezeichnung Element eingebunden. Ist die Abbildung mit den Attributen der Basisattributgruppe nicht m + ö + glich (z. B. wegen spezieller Patternvorgabe) oder nicht sinnvoll (z. B. weil eine Unterscheidung nach Bezeichnung_Lageplan_..., Bezeichnung_Tabelle und Bezeichnung_Aussenanlage (Pflichtattribute!) nicht notwendig ist), werden in der Attributgruppe Bezeichnung entsprechende objektspezifische Bezeichnungsattribute modelliert. Diese sind nach dem Schema Bezeichnung_[Objektname] zu benennen. Zudem ist es m + ö + glich, gleichzeitig die Basisattributgruppe Bezeichnung Element und objektspezifische Attribute einzubinden. Siehe auch Bildung der Bezeichnungen. DB-Regelwerk Sicherungstechnischer Lage- und + Ü + bersichtsplan, B + Ü + -Lageplan Planungstabellen + ID_Bezugspunkt -- Verweis auf das Punkt Objekt, dass f + ü + r die Positionierung der Freimeldeabschnittsgrenze (FMA_Komponente) bzw. der Zugeinwirkung ma + ß + gebend ist. F + ü + r alle Arten von Freimeldeabschnittsgrenzen bzw. Zugeinwirkungen anzugeben, f + ü + r die ein Bezugspunkt existiert, zu dem ein vorgeschriebener Abstand erforderlich ist. Typische Bezugspunkte sind Signal, Weichen-Komponente und Gleissperren-Komponente. DB-Regelwerk bei Achsz + ä + hlpunkten: Achsz + ä + hltabelle, Spalte 17; bei anderen Freimeldeabschnittsgrenzen und Zugeinwirkungen: h + ä + ufig aus einer Abstandsangabe im Sicherungstechnischen Lageplan / B + Ü + -Lageplan erkennbar. + ID_FMAgrenze -- Verweis auf einen Freimeldeabschnitt, der durch diese Freimeldeabschnittsgrenze begrenzt wird. Der Verweis kann mehrfach verwendet werden, wenn mehrere Freimeldeabschnitte durch eine Freimeldeabschnittsgrenze begrenzt werden. DB-Regelwerk Planungsdaten: Angabe nur bei Achsz + ä + hlern + ü + blich, dort in der Achsz + ä + hltabelle. + FMA_Komponente_Art -- Art der Freimeldeabschnittsgrenze. Dieses Attribut wird mit Ausnahme der Achsz + ä + hltechnik f + ü + r alle Arten von Gleisfreimeldungen eingetragen. Je nach Art der Freimeldeanlage und + ö + rtlicher Lage ist die Angabe dieses Attributs ausreichend oder es m + ü + ssen zur weiteren Detaillierung Objekte FMA Element hinzugef + ü + gt werden. Grunds + ä + tzlich sind alle FMA_Komponenten zentrale Anlagenteile. Inwieweit sie beidseitig genutzt werden, ergibt sich aus der Art und Lage der angrenzenden FMA_Anlagen. Das Attribut wird im bisherigen PT 1 im Gleisisolierplan (oder bei einfachen Verh + ä + ltnissen im Signallageplan) dargestellt. DB-Regelwerk Planungsdaten: Sicherungstechnischer Lageplan, B + Ü + -Lageplan, Gleisfreimeldeplan. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CPunkt_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, Punkt_Objekt_Strecke=None, Punkt_Objekt_TOP_Kante=None, Bezeichnung=None, ID_Bezugspunkt=None, ID_FMAgrenze=None, FMA_Komponente_Achszaehlpunkt=None, FMA_Komponente_Art=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CFMA_Komponente"), self).__init__(Identitaet, Basis_Objekt_Allg, ID_Bearbeitungsvermerk, ID_Oertlichkeit_Ausgabe, Objektreferenzen, Punkt_Objekt_Strecke, Punkt_Objekt_TOP_Kante, **kwargs_) + self.Bezeichnung = Bezeichnung + self.Bezeichnung_nsprefix_ = None + self.ID_Bezugspunkt = ID_Bezugspunkt + self.ID_Bezugspunkt_nsprefix_ = None + if ID_FMAgrenze is None: + self.ID_FMAgrenze = [] + else: + self.ID_FMAgrenze = ID_FMAgrenze + self.ID_FMAgrenze_nsprefix_ = None + self.FMA_Komponente_Achszaehlpunkt = FMA_Komponente_Achszaehlpunkt + self.FMA_Komponente_Achszaehlpunkt_nsprefix_ = None + self.FMA_Komponente_Art = FMA_Komponente_Art + self.FMA_Komponente_Art_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CFMA_Komponente) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CFMA_Komponente.subclass: + return CFMA_Komponente.subclass(*args_, **kwargs_) + else: + return CFMA_Komponente(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Bezeichnung(self): + return self.Bezeichnung + def set_Bezeichnung(self, Bezeichnung): + self.Bezeichnung = Bezeichnung + def get_ID_Bezugspunkt(self): + return self.ID_Bezugspunkt + def set_ID_Bezugspunkt(self, ID_Bezugspunkt): + self.ID_Bezugspunkt = ID_Bezugspunkt + def get_ID_FMAgrenze(self): + return self.ID_FMAgrenze + def set_ID_FMAgrenze(self, ID_FMAgrenze): + self.ID_FMAgrenze = ID_FMAgrenze + def add_ID_FMAgrenze(self, value): + self.ID_FMAgrenze.append(value) + def insert_ID_FMAgrenze_at(self, index, value): + self.ID_FMAgrenze.insert(index, value) + def replace_ID_FMAgrenze_at(self, index, value): + self.ID_FMAgrenze[index] = value + def get_FMA_Komponente_Achszaehlpunkt(self): + return self.FMA_Komponente_Achszaehlpunkt + def set_FMA_Komponente_Achszaehlpunkt(self, FMA_Komponente_Achszaehlpunkt): + self.FMA_Komponente_Achszaehlpunkt = FMA_Komponente_Achszaehlpunkt + def get_FMA_Komponente_Art(self): + return self.FMA_Komponente_Art + def set_FMA_Komponente_Art(self, FMA_Komponente_Art): + self.FMA_Komponente_Art = FMA_Komponente_Art + def has__content(self): + if ( + self.Bezeichnung is not None or + self.ID_Bezugspunkt is not None or + self.ID_FMAgrenze or + self.FMA_Komponente_Achszaehlpunkt is not None or + self.FMA_Komponente_Art is not None or + super(CFMA_Komponente, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsOrtung:', namespacedef_='xmlns:nsOrtung="http://www.plan-pro.org/modell/Ortung/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CFMA_Komponente', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CFMA_Komponente') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CFMA_Komponente': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CFMA_Komponente') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CFMA_Komponente', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsOrtung:', name_='CFMA_Komponente'): + super(CFMA_Komponente, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CFMA_Komponente') + def _exportChildren(self, outfile, level, namespaceprefix_='nsOrtung:', namespacedef_='xmlns:nsOrtung="http://www.plan-pro.org/modell/Ortung/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CFMA_Komponente', fromsubclass_=False, pretty_print=True): + super(CFMA_Komponente, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Bezeichnung is not None: + namespaceprefix_ = self.Bezeichnung_nsprefix_ + ':' if (UseCapturedNS_ and self.Bezeichnung_nsprefix_) else '' + self.Bezeichnung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Bezeichnung', pretty_print=pretty_print) + if self.ID_Bezugspunkt is not None: + namespaceprefix_ = self.ID_Bezugspunkt_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Bezugspunkt_nsprefix_) else '' + self.ID_Bezugspunkt.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Bezugspunkt', pretty_print=pretty_print) + for ID_FMAgrenze_ in self.ID_FMAgrenze: + namespaceprefix_ = self.ID_FMAgrenze_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_FMAgrenze_nsprefix_) else '' + ID_FMAgrenze_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_FMAgrenze', pretty_print=pretty_print) + if self.FMA_Komponente_Achszaehlpunkt is not None: + namespaceprefix_ = self.FMA_Komponente_Achszaehlpunkt_nsprefix_ + ':' if (UseCapturedNS_ and self.FMA_Komponente_Achszaehlpunkt_nsprefix_) else '' + self.FMA_Komponente_Achszaehlpunkt.export(outfile, level, namespaceprefix_, namespacedef_='', name_='FMA_Komponente_Achszaehlpunkt', pretty_print=pretty_print) + if self.FMA_Komponente_Art is not None: + namespaceprefix_ = self.FMA_Komponente_Art_nsprefix_ + ':' if (UseCapturedNS_ and self.FMA_Komponente_Art_nsprefix_) else '' + self.FMA_Komponente_Art.export(outfile, level, namespaceprefix_, namespacedef_='', name_='FMA_Komponente_Art', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CFMA_Komponente, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Bezeichnung': + obj_ = CBezeichnung_Element.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Bezeichnung = obj_ + obj_.original_tagname_ = 'Bezeichnung' + elif nodeName_ == 'ID_Bezugspunkt': + obj_ = TCID_Markanter_Punkt.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Bezugspunkt = obj_ + obj_.original_tagname_ = 'ID_Bezugspunkt' + elif nodeName_ == 'ID_FMAgrenze': + obj_ = TCID_FMA_Anlage.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_FMAgrenze.append(obj_) + obj_.original_tagname_ = 'ID_FMAgrenze' + elif nodeName_ == 'FMA_Komponente_Achszaehlpunkt': + obj_ = CFMA_Komponente_Achszaehlpunkt.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.FMA_Komponente_Achszaehlpunkt = obj_ + obj_.original_tagname_ = 'FMA_Komponente_Achszaehlpunkt' + elif nodeName_ == 'FMA_Komponente_Art': + obj_ = TCFMA_Komponente_Art.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.FMA_Komponente_Art = obj_ + obj_.original_tagname_ = 'FMA_Komponente_Art' + super(CFMA_Komponente, self)._buildChildren(child_, node, nodeName_, True) +# end class CFMA_Komponente + + +class CSonstiger_Punkt(CPunkt_Objekt): + """CSonstiger_Punkt -- Nicht durch ein anderes Punkt Objekt festgelegter Markanter Punkt. Das Objekt Sonstiger_Punkt wird durch den LST-Planer angelegt, wenn kein bereits existierendes Punkt Objekt f + ü + r die Beschreibung des Markanten Punktes zur Verf + ü + gung steht. Insbesondere handelt es sich dabei um: Beginn eines Bahnsteigs, Kante eines Gefahrraums am B + Ü + , Zugschluss bzw. -spitze, Beginn des zu deckenden Bereichs einer Deckungsstelle (z. B. bewegliche Br + ü + cke), sonstige Punkte (z. B. Merkpfahl, Laternenmast). DB-Regelwerk Siehe Markanter Punkt. + ID_Beginn_Bereich -- Zeiger auf das Bereich Objekt Bahnsteig Kante, BUE Gleisbezogener Gefahrraum oder ZUB Streckeneigenschaft, dessen Beginn bzw. Ende das Punkt Objekt Sonstiger Punkt abbildet. DB-Regelwerk Durchrutschwegtabelle, Spalte 2: \"Durchrutschweg - bis\" + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CPunkt_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, Punkt_Objekt_Strecke=None, Punkt_Objekt_TOP_Kante=None, ID_Beginn_Bereich=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CSonstiger_Punkt"), self).__init__(Identitaet, Basis_Objekt_Allg, ID_Bearbeitungsvermerk, ID_Oertlichkeit_Ausgabe, Objektreferenzen, Punkt_Objekt_Strecke, Punkt_Objekt_TOP_Kante, **kwargs_) + self.ID_Beginn_Bereich = ID_Beginn_Bereich + self.ID_Beginn_Bereich_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CSonstiger_Punkt) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CSonstiger_Punkt.subclass: + return CSonstiger_Punkt.subclass(*args_, **kwargs_) + else: + return CSonstiger_Punkt(*args_, **kwargs_) + factory = staticmethod(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_Beginn_Bereich(self): + return self.ID_Beginn_Bereich + def set_ID_Beginn_Bereich(self, ID_Beginn_Bereich): + self.ID_Beginn_Bereich = ID_Beginn_Bereich + def has__content(self): + if ( + self.ID_Beginn_Bereich is not None or + super(CSonstiger_Punkt, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsFahrstrasse:', namespacedef_='xmlns:nsFahrstrasse="http://www.plan-pro.org/modell/Fahrstrasse/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CSonstiger_Punkt', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CSonstiger_Punkt') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CSonstiger_Punkt': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CSonstiger_Punkt') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CSonstiger_Punkt', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsFahrstrasse:', name_='CSonstiger_Punkt'): + super(CSonstiger_Punkt, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CSonstiger_Punkt') + def _exportChildren(self, outfile, level, namespaceprefix_='nsFahrstrasse:', namespacedef_='xmlns:nsFahrstrasse="http://www.plan-pro.org/modell/Fahrstrasse/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CSonstiger_Punkt', fromsubclass_=False, pretty_print=True): + super(CSonstiger_Punkt, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.ID_Beginn_Bereich is not None: + namespaceprefix_ = self.ID_Beginn_Bereich_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Beginn_Bereich_nsprefix_) else '' + self.ID_Beginn_Bereich.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Beginn_Bereich', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CSonstiger_Punkt, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Beginn_Bereich': + obj_ = TCID_Beginn_Bereich.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Beginn_Bereich = obj_ + obj_.original_tagname_ = 'ID_Beginn_Bereich' + super(CSonstiger_Punkt, self)._buildChildren(child_, node, nodeName_, True) +# end class CSonstiger_Punkt + + +class CFstr_Fahrweg(CBereich_Objekt): + """CFstr_Fahrweg -- Unverzweigter Bereich auf dem Gleisnetz, der als Grundlage f + ü + r den befahrenen Teil bzw. den Durchrutschweg einer Fahrstra + ß + e dient. Der Start befindet sich immer an einem Signal, das Ziel beim befahrenen Teil an einem Signal, beim Durchrutschweg (bzw. Gefahrpunktabstand) an einem markanten Punkt. F + ü + r Zug- und Rangierstra + ß + en mit gleichem Fahrweg kann die gleiche Instanz von Fstr_Fahrweg verwendet werden; Ausnahmen siehe Fstr Abhaengigkeit. Hinweis zur Modellierung beim Durchrutschweg, wenn der Markante Punkt eine Weichenspitze ist: L + ä + uft ein Durchrutschweg spitz auf eine Weiche zu und die Spitze dieser Weiche ist das Ende des Durchrutschwegs, dann endet das Bereichsobjekt Fstr_Fahrweg am Ende der Kante vor der Spitze der Weiche, ist der markante Punkt das Punktobjekt W_Kr_Gsp_Komponente, was auf anschlie + ß + enden Kanten verweist. Damit liegen das Ende des Bereichsobjekts und der markante Punkt auf verschiedenen Kanten (jeweils mit Abstand 0 zum Knoten), dennoch beschreiben sie geografisch den gleichen Punkt. DB-Regelwerk Im heutigen Planungswerk findet sich der Weg nur implizit durch die Angabe f + ü + r den befahrenen Teil von Start, Ziel und Entscheidungsweichen in der Zug- bzw. Rangierstra + ß + entabelle, f + ü + r den Durchrutschweg und Gefahrpunktabstand von Start und Ziel und allen Weichen in der Durchrutschweg- bzw. Gefahrpunkttabelle. + Fstr_V_Hg -- Geschwindigkeit, die bei Zugstra + ß + en mit diesem befahrenen Teil ohne Einschr + ä + nkung durch Zs 3 gefahren w + ü + rde (Geschwindigkeit der Strecke). Das Attribut ist nur sinnvoll f + ü + llbar, wenn auf dem zugeh + ö + rigen Fahrweg eine Zugstra + ß + e existiert, deren Befahrung mit Fahrtstellung eines Hauptsignals zugelassen wird. Es ist also nicht sinnvoll f + ü + llbar bei Instanzen von Fstr_Fahrweg, die nur von Rangierstra + ß + en, Gefahrpunktabst + ä + nden, Durchrutschwegen oder Hilfszugstra + ß + en verwendet werden. Siehe auch Bildung der Signalbegriffe. + ID_Start -- Startpunkt von Fstr Fahrweg. Das Signal muss ein Haupt-, Sperrsignal oder ein Bedienpunkt sein. DB-Regelwerk Zugstra + ß + entabelle: erster Bestandteil der Bezeichnung der Fstr; Durchrutschwegtabelle, Spalte 1: \"von Signal\". + ID_Ziel -- Zielpunkt von Fstr Fahrweg. Der Zielpunkt besteht beim befahrenen Teil aus einem Signal mit der Auspr + ä + gung Hauptsignal, Sperrsignal oder Bedienpunkt, beim Durchrutschweg aus einem markanten Punkt. DB-Regelwerk Befahrener Teil: In der Fahrstra + ß + entabelle genanntes Ziel der Fahrstra + ß + e; Durchrutschweg: Durchrutschwegtabelle, Spalte 2 \"bis\". + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBereich_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, Bereich_Objekt_Teilbereich=None, Fstr_V_Hg=None, ID_Start=None, ID_Ziel=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CFstr_Fahrweg"), self).__init__(Identitaet, Basis_Objekt_Allg, ID_Bearbeitungsvermerk, ID_Oertlichkeit_Ausgabe, Objektreferenzen, Bereich_Objekt_Teilbereich, **kwargs_) + self.Fstr_V_Hg = Fstr_V_Hg + self.Fstr_V_Hg_nsprefix_ = None + self.ID_Start = ID_Start + self.ID_Start_nsprefix_ = None + self.ID_Ziel = ID_Ziel + self.ID_Ziel_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CFstr_Fahrweg) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CFstr_Fahrweg.subclass: + return CFstr_Fahrweg.subclass(*args_, **kwargs_) + else: + return CFstr_Fahrweg(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Fstr_V_Hg(self): + return self.Fstr_V_Hg + def set_Fstr_V_Hg(self, Fstr_V_Hg): + self.Fstr_V_Hg = Fstr_V_Hg + def get_ID_Start(self): + return self.ID_Start + def set_ID_Start(self, ID_Start): + self.ID_Start = ID_Start + def get_ID_Ziel(self): + return self.ID_Ziel + def set_ID_Ziel(self, ID_Ziel): + self.ID_Ziel = ID_Ziel + def has__content(self): + if ( + self.Fstr_V_Hg is not None or + self.ID_Start is not None or + self.ID_Ziel is not None or + super(CFstr_Fahrweg, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsFahrstrasse:', namespacedef_='xmlns:nsFahrstrasse="http://www.plan-pro.org/modell/Fahrstrasse/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CFstr_Fahrweg', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CFstr_Fahrweg') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CFstr_Fahrweg': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CFstr_Fahrweg') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CFstr_Fahrweg', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsFahrstrasse:', name_='CFstr_Fahrweg'): + super(CFstr_Fahrweg, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CFstr_Fahrweg') + def _exportChildren(self, outfile, level, namespaceprefix_='nsFahrstrasse:', namespacedef_='xmlns:nsFahrstrasse="http://www.plan-pro.org/modell/Fahrstrasse/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CFstr_Fahrweg', fromsubclass_=False, pretty_print=True): + super(CFstr_Fahrweg, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Fstr_V_Hg is not None: + namespaceprefix_ = self.Fstr_V_Hg_nsprefix_ + ':' if (UseCapturedNS_ and self.Fstr_V_Hg_nsprefix_) else '' + self.Fstr_V_Hg.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Fstr_V_Hg', pretty_print=pretty_print) + if self.ID_Start is not None: + namespaceprefix_ = self.ID_Start_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Start_nsprefix_) else '' + self.ID_Start.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Start', pretty_print=pretty_print) + if self.ID_Ziel is not None: + namespaceprefix_ = self.ID_Ziel_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Ziel_nsprefix_) else '' + self.ID_Ziel.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Ziel', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CFstr_Fahrweg, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Fstr_V_Hg': + obj_ = TCFstr_V_Hg.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Fstr_V_Hg = obj_ + obj_.original_tagname_ = 'Fstr_V_Hg' + elif nodeName_ == 'ID_Start': + obj_ = TCID_Signal.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Start = obj_ + obj_.original_tagname_ = 'ID_Start' + elif nodeName_ == 'ID_Ziel': + obj_ = TCID_Ziel.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Ziel = obj_ + obj_.original_tagname_ = 'ID_Ziel' + super(CFstr_Fahrweg, self)._buildChildren(child_, node, nodeName_, True) +# end class CFstr_Fahrweg + + +class CGeschwindigkeitsprofil(CBereich_Objekt): + """CGeschwindigkeitsprofil -- Zul + ä + ssige Geschwindigkeit der Strecke, bei ETCS auch au + ß + erhalb der durchgehenden Hauptgleise. Das Geschwindigkeitsprofil wird zusammengesetzt aus Bereichen mit konstanten Geschwindigkeiten. Es kann in unterschiedlichen Arten (z. B. NeiTec, ETCS) ausgepr + ä + gt sein. F + ü + r jede Art wird ein separates Geschwindigkeitsprofil angelegt. \"Geschwindigkeitsband\" ist ein Synonym f + ü + r Geschwindigkeitsprofil. Unabh + ä + ngig vom Geschwindigkeitsprofil k + ö + nnen in Elementen (Weiche, Gleisabschnitt) eigene Geschwindigkeiten hinterlegt sein. Je nach Anwendung wird + ü + ber die G + ü + ltigkeit der in den Elementen hinterlegten Geschwindigkeit oder der des Geschwindigkeitsprofils entschieden. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBereich_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, Bereich_Objekt_Teilbereich=None, Geschwindigkeitsprofil_Allg=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CGeschwindigkeitsprofil"), self).__init__(Identitaet, Basis_Objekt_Allg, ID_Bearbeitungsvermerk, ID_Oertlichkeit_Ausgabe, Objektreferenzen, Bereich_Objekt_Teilbereich, **kwargs_) + self.Geschwindigkeitsprofil_Allg = Geschwindigkeitsprofil_Allg + self.Geschwindigkeitsprofil_Allg_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CGeschwindigkeitsprofil) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CGeschwindigkeitsprofil.subclass: + return CGeschwindigkeitsprofil.subclass(*args_, **kwargs_) + else: + return CGeschwindigkeitsprofil(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Geschwindigkeitsprofil_Allg(self): + return self.Geschwindigkeitsprofil_Allg + def set_Geschwindigkeitsprofil_Allg(self, Geschwindigkeitsprofil_Allg): + self.Geschwindigkeitsprofil_Allg = Geschwindigkeitsprofil_Allg + def has__content(self): + if ( + self.Geschwindigkeitsprofil_Allg is not None or + super(CGeschwindigkeitsprofil, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsGeodaten:', namespacedef_='xmlns:nsGeodaten="http://www.plan-pro.org/modell/Geodaten/1.10.0"', name_='CGeschwindigkeitsprofil', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CGeschwindigkeitsprofil') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CGeschwindigkeitsprofil': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CGeschwindigkeitsprofil') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CGeschwindigkeitsprofil', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsGeodaten:', name_='CGeschwindigkeitsprofil'): + super(CGeschwindigkeitsprofil, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CGeschwindigkeitsprofil') + def _exportChildren(self, outfile, level, namespaceprefix_='nsGeodaten:', namespacedef_='xmlns:nsGeodaten="http://www.plan-pro.org/modell/Geodaten/1.10.0"', name_='CGeschwindigkeitsprofil', fromsubclass_=False, pretty_print=True): + super(CGeschwindigkeitsprofil, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Geschwindigkeitsprofil_Allg is not None: + namespaceprefix_ = self.Geschwindigkeitsprofil_Allg_nsprefix_ + ':' if (UseCapturedNS_ and self.Geschwindigkeitsprofil_Allg_nsprefix_) else '' + self.Geschwindigkeitsprofil_Allg.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Geschwindigkeitsprofil_Allg', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CGeschwindigkeitsprofil, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Geschwindigkeitsprofil_Allg': + obj_ = CGeschwindigkeitsprofil_Allg.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Geschwindigkeitsprofil_Allg = obj_ + obj_.original_tagname_ = 'Geschwindigkeitsprofil_Allg' + super(CGeschwindigkeitsprofil, self)._buildChildren(child_, node, nodeName_, True) +# end class CGeschwindigkeitsprofil + + +class CUeberhoehung(CPunkt_Objekt): + """CUeberhoehung -- Ö + rtlicher H + ö + henunterschied beider Schienen eines Gleises in Querrichtung. Die + Ü + berh + ö + hung ist eine Querneigung eines Gleises in einem Bogen an einem Punkt im Gleis. Es wird immer die bogen + ä + u + ß + ere Schiene + ü + berh + ö + ht. Ein H + ö + henpunkt, der unmittelbar auf einem Anfang oder Ende eines Weichenschenkels liegt (TOP_Kante, mit Anschluss_A oder Anschluss_B als Links oder Rechts) ist auf die TOP_Kante der Spitze dieser Weiche zu verorten. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CPunkt_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, Punkt_Objekt_Strecke=None, Punkt_Objekt_TOP_Kante=None, Ueberhoehung_Allg=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CUeberhoehung"), self).__init__(Identitaet, Basis_Objekt_Allg, ID_Bearbeitungsvermerk, ID_Oertlichkeit_Ausgabe, Objektreferenzen, Punkt_Objekt_Strecke, Punkt_Objekt_TOP_Kante, **kwargs_) + self.Ueberhoehung_Allg = Ueberhoehung_Allg + self.Ueberhoehung_Allg_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CUeberhoehung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CUeberhoehung.subclass: + return CUeberhoehung.subclass(*args_, **kwargs_) + else: + return CUeberhoehung(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Ueberhoehung_Allg(self): + return self.Ueberhoehung_Allg + def set_Ueberhoehung_Allg(self, Ueberhoehung_Allg): + self.Ueberhoehung_Allg = Ueberhoehung_Allg + def has__content(self): + if ( + self.Ueberhoehung_Allg is not None or + super(CUeberhoehung, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsGeodaten:', namespacedef_='xmlns:nsGeodaten="http://www.plan-pro.org/modell/Geodaten/1.10.0"', name_='CUeberhoehung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CUeberhoehung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CUeberhoehung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CUeberhoehung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CUeberhoehung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsGeodaten:', name_='CUeberhoehung'): + super(CUeberhoehung, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CUeberhoehung') + def _exportChildren(self, outfile, level, namespaceprefix_='nsGeodaten:', namespacedef_='xmlns:nsGeodaten="http://www.plan-pro.org/modell/Geodaten/1.10.0"', name_='CUeberhoehung', fromsubclass_=False, pretty_print=True): + super(CUeberhoehung, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Ueberhoehung_Allg is not None: + namespaceprefix_ = self.Ueberhoehung_Allg_nsprefix_ + ':' if (UseCapturedNS_ and self.Ueberhoehung_Allg_nsprefix_) else '' + self.Ueberhoehung_Allg.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Ueberhoehung_Allg', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CUeberhoehung, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Ueberhoehung_Allg': + obj_ = CUeberhoehung_Allg.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Ueberhoehung_Allg = obj_ + obj_.original_tagname_ = 'Ueberhoehung_Allg' + super(CUeberhoehung, self)._buildChildren(child_, node, nodeName_, True) +# end class CUeberhoehung + + +class CHoehenpunkt(CPunkt_Objekt): + """CHoehenpunkt -- Ö + rtliche H + ö + he des Bezugspunkts in Metern gem + ä + ß + H + ö + hensystem. Liegt der H + ö + henpunkt innerhalb des zugeh + ö + rigen Gleises, entf + ä + llt die Angabe eines seitlichen Abstands bzw. einer seitlichen Lage. Wird ein seitlicher Abstand ungleich 0.000 angegeben, so handelt es sich um einen sonstigen H + ö + henpunkt, der nicht die H + ö + henlage des Gleises angibt. Ein H + ö + henpunkt, der unmittelbar auf einem Anfang oder Ende eines Weichenschenkels liegt (TOP_Kante, mit Anschluss_A oder Anschluss_B als Links oder Rechts) ist auf die TOP_Kante der Spitze dieser Weiche zu verorten. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CPunkt_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, Punkt_Objekt_Strecke=None, Punkt_Objekt_TOP_Kante=None, Hoehenpunkt_Allg=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CHoehenpunkt"), self).__init__(Identitaet, Basis_Objekt_Allg, ID_Bearbeitungsvermerk, ID_Oertlichkeit_Ausgabe, Objektreferenzen, Punkt_Objekt_Strecke, Punkt_Objekt_TOP_Kante, **kwargs_) + self.Hoehenpunkt_Allg = Hoehenpunkt_Allg + self.Hoehenpunkt_Allg_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CHoehenpunkt) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CHoehenpunkt.subclass: + return CHoehenpunkt.subclass(*args_, **kwargs_) + else: + return CHoehenpunkt(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Hoehenpunkt_Allg(self): + return self.Hoehenpunkt_Allg + def set_Hoehenpunkt_Allg(self, Hoehenpunkt_Allg): + self.Hoehenpunkt_Allg = Hoehenpunkt_Allg + def has__content(self): + if ( + self.Hoehenpunkt_Allg is not None or + super(CHoehenpunkt, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsGeodaten:', namespacedef_='xmlns:nsGeodaten="http://www.plan-pro.org/modell/Geodaten/1.10.0"', name_='CHoehenpunkt', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CHoehenpunkt') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CHoehenpunkt': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CHoehenpunkt') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CHoehenpunkt', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsGeodaten:', name_='CHoehenpunkt'): + super(CHoehenpunkt, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CHoehenpunkt') + def _exportChildren(self, outfile, level, namespaceprefix_='nsGeodaten:', namespacedef_='xmlns:nsGeodaten="http://www.plan-pro.org/modell/Geodaten/1.10.0"', name_='CHoehenpunkt', fromsubclass_=False, pretty_print=True): + super(CHoehenpunkt, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Hoehenpunkt_Allg is not None: + namespaceprefix_ = self.Hoehenpunkt_Allg_nsprefix_ + ':' if (UseCapturedNS_ and self.Hoehenpunkt_Allg_nsprefix_) else '' + self.Hoehenpunkt_Allg.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Hoehenpunkt_Allg', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CHoehenpunkt, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Hoehenpunkt_Allg': + obj_ = CHoehenpunkt_Allg.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Hoehenpunkt_Allg = obj_ + obj_.original_tagname_ = 'Hoehenpunkt_Allg' + super(CHoehenpunkt, self)._buildChildren(child_, node, nodeName_, True) +# end class CHoehenpunkt + + +class CStrecke(CBereich_Objekt): + """CStrecke -- Topologische Darstellung der Kilometrierungsachse. Die topologische Kilometrierungsachse wird durch fortlaufende Aneinanderreihung von GEO-Kanten gebildet, die mittels ID GEO Art auf diese Strecke verweisen. + Bezeichnung -- Attributgruppe zur Bezeichnung von Stell- und sonstigen Elementen. Sofern ausreichend, wird an dieser Stelle + ü + ber Vererbung die Basisattributgruppe Bezeichnung Element eingebunden. Ist die Abbildung mit den Attributen der Basisattributgruppe nicht m + ö + glich (z. B. wegen spezieller Patternvorgabe) oder nicht sinnvoll (z. B. weil eine Unterscheidung nach Bezeichnung_Lageplan_..., Bezeichnung_Tabelle und Bezeichnung_Aussenanlage (Pflichtattribute!) nicht notwendig ist), werden in der Attributgruppe Bezeichnung entsprechende objektspezifische Bezeichnungsattribute modelliert. Diese sind nach dem Schema Bezeichnung_[Objektname] zu benennen. Zudem ist es m + ö + glich, gleichzeitig die Basisattributgruppe Bezeichnung Element und objektspezifische Attribute einzubinden. Siehe auch Bildung der Bezeichnungen. DB-Regelwerk Sicherungstechnischer Lage- und + Ü + bersichtsplan, B + Ü + -Lageplan Planungstabellen + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBereich_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, Bereich_Objekt_Teilbereich=None, Bezeichnung=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CStrecke"), self).__init__(Identitaet, Basis_Objekt_Allg, ID_Bearbeitungsvermerk, ID_Oertlichkeit_Ausgabe, Objektreferenzen, Bereich_Objekt_Teilbereich, **kwargs_) + self.Bezeichnung = Bezeichnung + self.Bezeichnung_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CStrecke) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CStrecke.subclass: + return CStrecke.subclass(*args_, **kwargs_) + else: + return CStrecke(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Bezeichnung(self): + return self.Bezeichnung + def set_Bezeichnung(self, Bezeichnung): + self.Bezeichnung = Bezeichnung + def has__content(self): + if ( + self.Bezeichnung is not None or + super(CStrecke, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsGeodaten:', namespacedef_='xmlns:nsGeodaten="http://www.plan-pro.org/modell/Geodaten/1.10.0"', name_='CStrecke', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CStrecke') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CStrecke': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CStrecke') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CStrecke', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsGeodaten:', name_='CStrecke'): + super(CStrecke, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CStrecke') + def _exportChildren(self, outfile, level, namespaceprefix_='nsGeodaten:', namespacedef_='xmlns:nsGeodaten="http://www.plan-pro.org/modell/Geodaten/1.10.0"', name_='CStrecke', fromsubclass_=False, pretty_print=True): + super(CStrecke, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Bezeichnung is not None: + namespaceprefix_ = self.Bezeichnung_nsprefix_ + ':' if (UseCapturedNS_ and self.Bezeichnung_nsprefix_) else '' + self.Bezeichnung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Bezeichnung', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CStrecke, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Bezeichnung': + obj_ = CStrecke_Bezeichnung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Bezeichnung = obj_ + obj_.original_tagname_ = 'Bezeichnung' + super(CStrecke, self)._buildChildren(child_, node, nodeName_, True) +# end class CStrecke + + +class CTechnischer_Punkt(CPunkt_Objekt): + """CTechnischer_Punkt -- Beschreibung sonstiger punktf + ö + rmiger Objekte im Datenmodell. Diese werde durch Fremdsysteme bereitgestellt oder w + ä + hrend einer Planung manuell erg + ä + nzt. Sie dienen nur zur Information f + ü + r planerische Entscheidungen. + TP_Art -- Art des technischen Punktes. Anhand der in der Planung entstehenden Erfahrungen wird die ENUM-Liste erweitert. + TP_Beschreibung -- Verbale Beschreibung oder Bezeichnung des technischen Punktes. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CPunkt_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, Punkt_Objekt_Strecke=None, Punkt_Objekt_TOP_Kante=None, TP_Art=None, TP_Beschreibung=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CTechnischer_Punkt"), self).__init__(Identitaet, Basis_Objekt_Allg, ID_Bearbeitungsvermerk, ID_Oertlichkeit_Ausgabe, Objektreferenzen, Punkt_Objekt_Strecke, Punkt_Objekt_TOP_Kante, **kwargs_) + self.TP_Art = TP_Art + self.TP_Art_nsprefix_ = None + self.TP_Beschreibung = TP_Beschreibung + self.TP_Beschreibung_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CTechnischer_Punkt) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CTechnischer_Punkt.subclass: + return CTechnischer_Punkt.subclass(*args_, **kwargs_) + else: + return CTechnischer_Punkt(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_TP_Art(self): + return self.TP_Art + def set_TP_Art(self, TP_Art): + self.TP_Art = TP_Art + def get_TP_Beschreibung(self): + return self.TP_Beschreibung + def set_TP_Beschreibung(self, TP_Beschreibung): + self.TP_Beschreibung = TP_Beschreibung + def has__content(self): + if ( + self.TP_Art is not None or + self.TP_Beschreibung is not None or + super(CTechnischer_Punkt, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsGeodaten:', namespacedef_='xmlns:nsGeodaten="http://www.plan-pro.org/modell/Geodaten/1.10.0"', name_='CTechnischer_Punkt', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CTechnischer_Punkt') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CTechnischer_Punkt': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CTechnischer_Punkt') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CTechnischer_Punkt', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsGeodaten:', name_='CTechnischer_Punkt'): + super(CTechnischer_Punkt, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CTechnischer_Punkt') + def _exportChildren(self, outfile, level, namespaceprefix_='nsGeodaten:', namespacedef_='xmlns:nsGeodaten="http://www.plan-pro.org/modell/Geodaten/1.10.0"', name_='CTechnischer_Punkt', fromsubclass_=False, pretty_print=True): + super(CTechnischer_Punkt, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.TP_Art is not None: + namespaceprefix_ = self.TP_Art_nsprefix_ + ':' if (UseCapturedNS_ and self.TP_Art_nsprefix_) else '' + self.TP_Art.export(outfile, level, namespaceprefix_, namespacedef_='', name_='TP_Art', pretty_print=pretty_print) + if self.TP_Beschreibung is not None: + namespaceprefix_ = self.TP_Beschreibung_nsprefix_ + ':' if (UseCapturedNS_ and self.TP_Beschreibung_nsprefix_) else '' + self.TP_Beschreibung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='TP_Beschreibung', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CTechnischer_Punkt, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'TP_Art': + obj_ = TCTP_Art.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.TP_Art = obj_ + obj_.original_tagname_ = 'TP_Art' + elif nodeName_ == 'TP_Beschreibung': + obj_ = TCTP_Beschreibung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.TP_Beschreibung = obj_ + obj_.original_tagname_ = 'TP_Beschreibung' + super(CTechnischer_Punkt, self)._buildChildren(child_, node, nodeName_, True) +# end class CTechnischer_Punkt + + +class CTechnischer_Bereich(CBereich_Objekt): + """CTechnischer_Bereich -- Beschreibung sonstiger bereichsf + ö + rmiger Objekte im Datenmodell. Diese werde durch Fremdsysteme bereitgestellt oder w + ä + hrend einer Planung manuell erg + ä + nzt. Sie dienen nur zur Information f + ü + r planerische Entscheidungen. + TB_Art -- Art des technischen Bereichs. Anhand der in der Planung entstehenden Erfahrungen wird die ENUM-Liste erweitert. + Schutzwand: bauliches Element in unmittelbarer N + ä + he des Gleises, das bei der Platzierung von Elementen zu ber + ü + cksichtigen ist (z. B. St + ü + tzmauer, Schallschutzwand). + TB_Beschreibung -- Verbale Beschreibung oder Bezeichnung des technischen Bereichs. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBereich_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, Bereich_Objekt_Teilbereich=None, TB_Art=None, TB_Beschreibung=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CTechnischer_Bereich"), self).__init__(Identitaet, Basis_Objekt_Allg, ID_Bearbeitungsvermerk, ID_Oertlichkeit_Ausgabe, Objektreferenzen, Bereich_Objekt_Teilbereich, **kwargs_) + self.TB_Art = TB_Art + self.TB_Art_nsprefix_ = None + self.TB_Beschreibung = TB_Beschreibung + self.TB_Beschreibung_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CTechnischer_Bereich) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CTechnischer_Bereich.subclass: + return CTechnischer_Bereich.subclass(*args_, **kwargs_) + else: + return CTechnischer_Bereich(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_TB_Art(self): + return self.TB_Art + def set_TB_Art(self, TB_Art): + self.TB_Art = TB_Art + def get_TB_Beschreibung(self): + return self.TB_Beschreibung + def set_TB_Beschreibung(self, TB_Beschreibung): + self.TB_Beschreibung = TB_Beschreibung + def has__content(self): + if ( + self.TB_Art is not None or + self.TB_Beschreibung is not None or + super(CTechnischer_Bereich, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsGeodaten:', namespacedef_='xmlns:nsGeodaten="http://www.plan-pro.org/modell/Geodaten/1.10.0"', name_='CTechnischer_Bereich', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CTechnischer_Bereich') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CTechnischer_Bereich': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CTechnischer_Bereich') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CTechnischer_Bereich', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsGeodaten:', name_='CTechnischer_Bereich'): + super(CTechnischer_Bereich, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CTechnischer_Bereich') + def _exportChildren(self, outfile, level, namespaceprefix_='nsGeodaten:', namespacedef_='xmlns:nsGeodaten="http://www.plan-pro.org/modell/Geodaten/1.10.0"', name_='CTechnischer_Bereich', fromsubclass_=False, pretty_print=True): + super(CTechnischer_Bereich, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.TB_Art is not None: + namespaceprefix_ = self.TB_Art_nsprefix_ + ':' if (UseCapturedNS_ and self.TB_Art_nsprefix_) else '' + self.TB_Art.export(outfile, level, namespaceprefix_, namespacedef_='', name_='TB_Art', pretty_print=pretty_print) + if self.TB_Beschreibung is not None: + namespaceprefix_ = self.TB_Beschreibung_nsprefix_ + ':' if (UseCapturedNS_ and self.TB_Beschreibung_nsprefix_) else '' + self.TB_Beschreibung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='TB_Beschreibung', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CTechnischer_Bereich, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'TB_Art': + obj_ = TCTB_Art.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.TB_Art = obj_ + obj_.original_tagname_ = 'TB_Art' + elif nodeName_ == 'TB_Beschreibung': + obj_ = TCTB_Beschreibung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.TB_Beschreibung = obj_ + obj_.original_tagname_ = 'TB_Beschreibung' + super(CTechnischer_Bereich, self)._buildChildren(child_, node, nodeName_, True) +# end class CTechnischer_Bereich + + +class CStrecke_Bremsweg(CBereich_Objekt): + """CStrecke_Bremsweg -- Bremswegabstand der Strecke als Eingangsgr + ö + ß + e f + ü + r die LST-Planung. Die Vorgabe erfolgt in der BAst. + Bremsweg -- Bremsweg als Grundlage f + ü + r die Dimesionierung der zugeh + ö + rigen Strecke. Bei Auswahl von \"sonstige\" ist ein Bearbeitungsvermerk mit entsprechenden Erl + ä + uterungen anzuf + ü + gen. + Strecke_Richtung -- Richtung der Strecke, f + ü + r die der Bremsweg vorgegeben ist. Die Richtung wird topologisch + ü + ber das Attribut Richtungsbezug (Bereich_Objekt) abgetragen. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBereich_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, Bereich_Objekt_Teilbereich=None, Bremsweg=None, Strecke_Richtung=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CStrecke_Bremsweg"), self).__init__(Identitaet, Basis_Objekt_Allg, ID_Bearbeitungsvermerk, ID_Oertlichkeit_Ausgabe, Objektreferenzen, Bereich_Objekt_Teilbereich, **kwargs_) + self.Bremsweg = Bremsweg + self.Bremsweg_nsprefix_ = None + self.Strecke_Richtung = Strecke_Richtung + self.Strecke_Richtung_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CStrecke_Bremsweg) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CStrecke_Bremsweg.subclass: + return CStrecke_Bremsweg.subclass(*args_, **kwargs_) + else: + return CStrecke_Bremsweg(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Bremsweg(self): + return self.Bremsweg + def set_Bremsweg(self, Bremsweg): + self.Bremsweg = Bremsweg + def get_Strecke_Richtung(self): + return self.Strecke_Richtung + def set_Strecke_Richtung(self, Strecke_Richtung): + self.Strecke_Richtung = Strecke_Richtung + def has__content(self): + if ( + self.Bremsweg is not None or + self.Strecke_Richtung is not None or + super(CStrecke_Bremsweg, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsGeodaten:', namespacedef_='xmlns:nsGeodaten="http://www.plan-pro.org/modell/Geodaten/1.10.0"', name_='CStrecke_Bremsweg', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CStrecke_Bremsweg') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CStrecke_Bremsweg': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CStrecke_Bremsweg') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CStrecke_Bremsweg', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsGeodaten:', name_='CStrecke_Bremsweg'): + super(CStrecke_Bremsweg, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CStrecke_Bremsweg') + def _exportChildren(self, outfile, level, namespaceprefix_='nsGeodaten:', namespacedef_='xmlns:nsGeodaten="http://www.plan-pro.org/modell/Geodaten/1.10.0"', name_='CStrecke_Bremsweg', fromsubclass_=False, pretty_print=True): + super(CStrecke_Bremsweg, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Bremsweg is not None: + namespaceprefix_ = self.Bremsweg_nsprefix_ + ':' if (UseCapturedNS_ and self.Bremsweg_nsprefix_) else '' + self.Bremsweg.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Bremsweg', pretty_print=pretty_print) + if self.Strecke_Richtung is not None: + namespaceprefix_ = self.Strecke_Richtung_nsprefix_ + ':' if (UseCapturedNS_ and self.Strecke_Richtung_nsprefix_) else '' + self.Strecke_Richtung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Strecke_Richtung', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CStrecke_Bremsweg, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Bremsweg': + obj_ = TCBremsweg.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Bremsweg = obj_ + obj_.original_tagname_ = 'Bremsweg' + elif nodeName_ == 'Strecke_Richtung': + obj_ = TCStrecke_Richtung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Strecke_Richtung = obj_ + obj_.original_tagname_ = 'Strecke_Richtung' + super(CStrecke_Bremsweg, self)._buildChildren(child_, node, nodeName_, True) +# end class CStrecke_Bremsweg + + +class CGleis_Abschluss(CPunkt_Objekt): + """CGleis_Abschluss -- St + ä + ndig vorhandenes Ende eines betrieblich nutzbaren Gleises (z. B. Prellbock oder Schwellenkreuz). Der Gleisabschluss ist ein Punkt Objekt. Die TOP Kante kann hinter dem Gleisabschluss bis zum baulichen Ende des Gleises weitergef + ü + hrt sein. Er wird auf den Punkt verortet, der die Grenze der m + ö + glichen Fahrzeugbewegung darstellt. Da das bauliche Ende konstruktiv hinter diesem Punkt liegt, f + ä + llt der Gleisabschluss in der Regel nicht mit einem TOP Knoten zusammen. Der Gleisabschluss ist vom klappbaren Prellbock (und anderen beweglichen Elementen) zu unterscheiden. Diese besonderen beweglichen Fahrwegelemente sind als Gleissperre mit einem erg + ä + nzenden Bearbeitungsvermerk zu planen. Der Gleisabschluss ist in der Regel auch Grenze eines Gleisabschnittes. Die Wirkrichtung entspricht der Richtung der m + ö + glichen Fahrzeugbewegung auf den Gleisabschluss. Der Gleisabschluss ist mittig angeordnet, sodass die Angabe des seitlichen Abstands bzw. der seitlichen Lage entf + ä + llt. + Gleis_Abschluss_Art -- Technische Ausbildung des Gleisabschlusses. Falls als ENUM-Wert \"sonstige\" angegeben wird, ist der Gleisabschluss mittels eines Bearbeitungsvermerks gesondert zu erl + ä + utern. Ein abklappbarer Prellbock ist ein bewegliches Fahwegelement und wird hier nicht modelliert. Das den Gleisabschluss kennzeichnende Signal wird als solches gesondert modelliert. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CPunkt_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, Punkt_Objekt_Strecke=None, Punkt_Objekt_TOP_Kante=None, Gleis_Abschluss_Art=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CGleis_Abschluss"), self).__init__(Identitaet, Basis_Objekt_Allg, ID_Bearbeitungsvermerk, ID_Oertlichkeit_Ausgabe, Objektreferenzen, Punkt_Objekt_Strecke, Punkt_Objekt_TOP_Kante, **kwargs_) + self.Gleis_Abschluss_Art = Gleis_Abschluss_Art + self.Gleis_Abschluss_Art_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CGleis_Abschluss) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CGleis_Abschluss.subclass: + return CGleis_Abschluss.subclass(*args_, **kwargs_) + else: + return CGleis_Abschluss(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Gleis_Abschluss_Art(self): + return self.Gleis_Abschluss_Art + def set_Gleis_Abschluss_Art(self, Gleis_Abschluss_Art): + self.Gleis_Abschluss_Art = Gleis_Abschluss_Art + def has__content(self): + if ( + self.Gleis_Abschluss_Art is not None or + super(CGleis_Abschluss, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsWeichen_und_Gleissperren:', namespacedef_='xmlns:nsWeichen_und_Gleissperren="http://www.plan-pro.org/modell/Weichen_und_Gleissperren/1.10.0"', name_='CGleis_Abschluss', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CGleis_Abschluss') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CGleis_Abschluss': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CGleis_Abschluss') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CGleis_Abschluss', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsWeichen_und_Gleissperren:', name_='CGleis_Abschluss'): + super(CGleis_Abschluss, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CGleis_Abschluss') + def _exportChildren(self, outfile, level, namespaceprefix_='nsWeichen_und_Gleissperren:', namespacedef_='xmlns:nsWeichen_und_Gleissperren="http://www.plan-pro.org/modell/Weichen_und_Gleissperren/1.10.0"', name_='CGleis_Abschluss', fromsubclass_=False, pretty_print=True): + super(CGleis_Abschluss, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Gleis_Abschluss_Art is not None: + namespaceprefix_ = self.Gleis_Abschluss_Art_nsprefix_ + ':' if (UseCapturedNS_ and self.Gleis_Abschluss_Art_nsprefix_) else '' + self.Gleis_Abschluss_Art.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Gleis_Abschluss_Art', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CGleis_Abschluss, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Gleis_Abschluss_Art': + obj_ = TCGleis_Abschluss_Art.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Gleis_Abschluss_Art = obj_ + obj_.original_tagname_ = 'Gleis_Abschluss_Art' + super(CGleis_Abschluss, self)._buildChildren(child_, node, nodeName_, True) +# end class CGleis_Abschluss + + +class CW_Kr_Gsp_Komponente(CPunkt_Objekt): + """CW_Kr_Gsp_Komponente -- Einzelner Teil der Weichenanlage (Zungenpaar) oder konstruktiver Mittelpunkt einer Kreuzung in Form von 2 Kreuzungsseiten. Mit Hilfe der W_Kr_Gsp_Komponente als punktf + ö + rmiges Objekt wird die Verkn + ü + pfung mit dem Knoten im Topologischen Modell hergestellt. Als Zuordnungspunkte f + ü + r die Topologie und die Topographie werden Weichenknoten definiert. Die Verortung der Weichenkomponente ist in f + ü + r die typischen Anwendungsf + ä + lle in der Modellierung Weichen dargestellt. Bei einfachen Weichen entspricht der Weichenknoten dem Weichenanfang. Bei EKW und DKW entspricht der Weichenknoten dem Anfang der entsprechenden Zungenpaare (auch hier einheitlich als Weichenanfang bezeichnet). Bei einer Kreuzung wird der Mittelpunkt der Kreuzung als Weichenknoten verwendet. Beide Kreuzungsseiten werden jeweils auf die beiden sich kreuzenden TOP-Kanten verortet. Der Mittelpunkt einer Kreuzung ist kein TOP-Knoten und kein GEO-Knoten. Bei Gleissperren wird die Lage des Entgleisungsschuhs verortet. + Ü + ber die Seitliche Lage im Punkt Objekt wird die Schiene bestimmt, an der der Entgleisungsschuh angebracht ist. Die seitliche Lage wird im Bezug auf die Richtung der TOP_Kante angegeben und stellt nicht die Entgleisungsrichtung dar! Wenn die Weichenkomponente mit einem nicht mechanisch mit der Weiche verbundenen (Weichen-)Signal (z. B. R + ü + ckfallweichensignal, Weichenlagemelder) ausger + ü + stet werden soll, erfolgt die Modellierung dieses Signals als ein gesondertes Objekt Signal. Auf dieses Signal wird von W Kr Anlage (wenn die Anlage ein Signal hat) bzw. W Kr Gsp Element (wenn mehrere Elemete vorhanden sind und diese unterschiedliche Signale haben) verwiesen. Der Weichelagemelder einer DKW wird von den beiden W_Kr_Gsp_Element gesteuert, aber in einem Signal angezeigt. Er wird deshalb nur als ein Signal in der Weichenanlage modelliert. Ein mit der Weichenkomponente mechanisch verbundenes Weichensignal wird gem + ä + ß + Regelzeichnung errichtet, wenn das Attribut Weichensignal gesetzt ist. Es wird dann kein gesondertes Signal modelliert. Siehe auch Modellierung Weichen. Die im Glossar mit (E) gekennzeichneten Attribute Radius_L und Radius_R sollen nicht mehr bef + ü + llt werden, da ein k + ü + nftiger Entfall vorgesehen ist. + Austausch_Antriebe -- Angabe, ob die vorhandenen Antriebe ausgetauscht werden soll (true). Der Wert \"false\" wird nicht verwendet. + ID_Regelzeichnung -- Verweis auf ein Objekt Regelzeichnung. F + ü + r Weichen, Kreuzungen und Gleissperren werden die Regelzeichnungen der Gruppe S73xx.yy verwendet. Die Regelzeichnung wird f + ü + r die W_Kr_Gsp_Komponente angegeben und enth + ä + lt u. a. auch die Anordnung der Antriebe und Endlagenpr + ü + fer. Die Lage ist durch unterschiedliche Bilder in der Regelzeichnung spezifiziert, so dass auch das Bild mit angegeben werden muss. Nur dann, wenn in einer Regelzeichnung mehrere Komponenten zusammengefasst sind (z. B. bei der DKW und der gekuppelten Gleissperre), wird der Eintrag bei W Kr Gsp Element vorgenommen. + ID_W_Kr_Gsp_Element -- Verweis auf das zugeh + ö + rige Weichen-, Kreuzungs- oder Gleissperrenelement. + Besonderes_Fahrwegelement -- Abbildung besonderer Fahrwegelemente wie Wehrkammtertor, bewegliche Br + ü + cke oder abklappbarer Prellbock. + Kreuzung -- Fahrwegelement, an dem sich zwei Gleise h + ö + hengleich kreuzen, ohne dass ein + Ü + bergang zwischen den Gleisen m + ö + glich ist. Einfache Kreuzungen sind in der Regel nicht stellbar. Kreuzungen, die einen besonders spitzen Winkel haben (Kreuzungen mit beweglichen Doppelherzst + ü + ckspitzen, auch Flachkreuzung genannt) sind stellbar und besitzen mindestens einen, vorzugsweise zwei gleichlaufende Antriebe + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CPunkt_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, Punkt_Objekt_Strecke=None, Punkt_Objekt_TOP_Kante=None, Austausch_Antriebe=None, ID_Regelzeichnung=None, ID_W_Kr_Gsp_Element=None, Besonderes_Fahrwegelement=None, Entgleisungsschuh=None, Kreuzung=None, Zungenpaar=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CW_Kr_Gsp_Komponente"), self).__init__(Identitaet, Basis_Objekt_Allg, ID_Bearbeitungsvermerk, ID_Oertlichkeit_Ausgabe, Objektreferenzen, Punkt_Objekt_Strecke, Punkt_Objekt_TOP_Kante, **kwargs_) + self.Austausch_Antriebe = Austausch_Antriebe + self.Austausch_Antriebe_nsprefix_ = None + if ID_Regelzeichnung is None: + self.ID_Regelzeichnung = [] + else: + self.ID_Regelzeichnung = ID_Regelzeichnung + self.ID_Regelzeichnung_nsprefix_ = None + self.ID_W_Kr_Gsp_Element = ID_W_Kr_Gsp_Element + self.ID_W_Kr_Gsp_Element_nsprefix_ = None + self.Besonderes_Fahrwegelement = Besonderes_Fahrwegelement + self.Besonderes_Fahrwegelement_nsprefix_ = None + self.Entgleisungsschuh = Entgleisungsschuh + self.Entgleisungsschuh_nsprefix_ = None + self.Kreuzung = Kreuzung + self.Kreuzung_nsprefix_ = None + self.Zungenpaar = Zungenpaar + self.Zungenpaar_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CW_Kr_Gsp_Komponente) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CW_Kr_Gsp_Komponente.subclass: + return CW_Kr_Gsp_Komponente.subclass(*args_, **kwargs_) + else: + return CW_Kr_Gsp_Komponente(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Austausch_Antriebe(self): + return self.Austausch_Antriebe + def set_Austausch_Antriebe(self, Austausch_Antriebe): + self.Austausch_Antriebe = Austausch_Antriebe + def get_ID_Regelzeichnung(self): + return self.ID_Regelzeichnung + def set_ID_Regelzeichnung(self, ID_Regelzeichnung): + self.ID_Regelzeichnung = ID_Regelzeichnung + def add_ID_Regelzeichnung(self, value): + self.ID_Regelzeichnung.append(value) + def insert_ID_Regelzeichnung_at(self, index, value): + self.ID_Regelzeichnung.insert(index, value) + def replace_ID_Regelzeichnung_at(self, index, value): + self.ID_Regelzeichnung[index] = value + def get_ID_W_Kr_Gsp_Element(self): + return self.ID_W_Kr_Gsp_Element + def set_ID_W_Kr_Gsp_Element(self, ID_W_Kr_Gsp_Element): + self.ID_W_Kr_Gsp_Element = ID_W_Kr_Gsp_Element + def get_Besonderes_Fahrwegelement(self): + return self.Besonderes_Fahrwegelement + def set_Besonderes_Fahrwegelement(self, Besonderes_Fahrwegelement): + self.Besonderes_Fahrwegelement = Besonderes_Fahrwegelement + def get_Entgleisungsschuh(self): + return self.Entgleisungsschuh + def set_Entgleisungsschuh(self, Entgleisungsschuh): + self.Entgleisungsschuh = Entgleisungsschuh + def get_Kreuzung(self): + return self.Kreuzung + def set_Kreuzung(self, Kreuzung): + self.Kreuzung = Kreuzung + def get_Zungenpaar(self): + return self.Zungenpaar + def set_Zungenpaar(self, Zungenpaar): + self.Zungenpaar = Zungenpaar + def has__content(self): + if ( + self.Austausch_Antriebe is not None or + self.ID_Regelzeichnung or + self.ID_W_Kr_Gsp_Element is not None or + self.Besonderes_Fahrwegelement is not None or + self.Entgleisungsschuh is not None or + self.Kreuzung is not None or + self.Zungenpaar is not None or + super(CW_Kr_Gsp_Komponente, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsWeichen_und_Gleissperren:', namespacedef_='xmlns:nsWeichen_und_Gleissperren="http://www.plan-pro.org/modell/Weichen_und_Gleissperren/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CW_Kr_Gsp_Komponente', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CW_Kr_Gsp_Komponente') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CW_Kr_Gsp_Komponente': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CW_Kr_Gsp_Komponente') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CW_Kr_Gsp_Komponente', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsWeichen_und_Gleissperren:', name_='CW_Kr_Gsp_Komponente'): + super(CW_Kr_Gsp_Komponente, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CW_Kr_Gsp_Komponente') + def _exportChildren(self, outfile, level, namespaceprefix_='nsWeichen_und_Gleissperren:', namespacedef_='xmlns:nsWeichen_und_Gleissperren="http://www.plan-pro.org/modell/Weichen_und_Gleissperren/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CW_Kr_Gsp_Komponente', fromsubclass_=False, pretty_print=True): + super(CW_Kr_Gsp_Komponente, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Austausch_Antriebe is not None: + namespaceprefix_ = self.Austausch_Antriebe_nsprefix_ + ':' if (UseCapturedNS_ and self.Austausch_Antriebe_nsprefix_) else '' + self.Austausch_Antriebe.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Austausch_Antriebe', pretty_print=pretty_print) + for ID_Regelzeichnung_ in self.ID_Regelzeichnung: + namespaceprefix_ = self.ID_Regelzeichnung_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Regelzeichnung_nsprefix_) else '' + ID_Regelzeichnung_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Regelzeichnung', pretty_print=pretty_print) + if self.ID_W_Kr_Gsp_Element is not None: + namespaceprefix_ = self.ID_W_Kr_Gsp_Element_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_W_Kr_Gsp_Element_nsprefix_) else '' + self.ID_W_Kr_Gsp_Element.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_W_Kr_Gsp_Element', pretty_print=pretty_print) + if self.Besonderes_Fahrwegelement is not None: + namespaceprefix_ = self.Besonderes_Fahrwegelement_nsprefix_ + ':' if (UseCapturedNS_ and self.Besonderes_Fahrwegelement_nsprefix_) else '' + self.Besonderes_Fahrwegelement.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Besonderes_Fahrwegelement', pretty_print=pretty_print) + if self.Entgleisungsschuh is not None: + namespaceprefix_ = self.Entgleisungsschuh_nsprefix_ + ':' if (UseCapturedNS_ and self.Entgleisungsschuh_nsprefix_) else '' + self.Entgleisungsschuh.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Entgleisungsschuh', pretty_print=pretty_print) + if self.Kreuzung is not None: + namespaceprefix_ = self.Kreuzung_nsprefix_ + ':' if (UseCapturedNS_ and self.Kreuzung_nsprefix_) else '' + self.Kreuzung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Kreuzung', pretty_print=pretty_print) + if self.Zungenpaar is not None: + namespaceprefix_ = self.Zungenpaar_nsprefix_ + ':' if (UseCapturedNS_ and self.Zungenpaar_nsprefix_) else '' + self.Zungenpaar.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Zungenpaar', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CW_Kr_Gsp_Komponente, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Austausch_Antriebe': + obj_ = TCAustausch_Antriebe.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Austausch_Antriebe = obj_ + obj_.original_tagname_ = 'Austausch_Antriebe' + elif nodeName_ == 'ID_Regelzeichnung': + obj_ = TCID_Regelzeichnung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Regelzeichnung.append(obj_) + obj_.original_tagname_ = 'ID_Regelzeichnung' + elif nodeName_ == 'ID_W_Kr_Gsp_Element': + obj_ = TCID_W_Kr_Gsp_Element.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_W_Kr_Gsp_Element = obj_ + obj_.original_tagname_ = 'ID_W_Kr_Gsp_Element' + elif nodeName_ == 'Besonderes_Fahrwegelement': + obj_ = TCBesonderes_Fahrwegelement.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Besonderes_Fahrwegelement = obj_ + obj_.original_tagname_ = 'Besonderes_Fahrwegelement' + elif nodeName_ == 'Entgleisungsschuh': + obj_ = CEntgleisungsschuh.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Entgleisungsschuh = obj_ + obj_.original_tagname_ = 'Entgleisungsschuh' + elif nodeName_ == 'Kreuzung': + obj_ = CKreuzung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Kreuzung = obj_ + obj_.original_tagname_ = 'Kreuzung' + elif nodeName_ == 'Zungenpaar': + obj_ = CZungenpaar.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Zungenpaar = obj_ + obj_.original_tagname_ = 'Zungenpaar' + super(CW_Kr_Gsp_Komponente, self)._buildChildren(child_, node, nodeName_, True) +# end class CW_Kr_Gsp_Komponente + + +class CGleis_Lichtraum(CBereich_Objekt): + """CGleis_Lichtraum -- Bereich, in dem besondere Lichtraumbedingungen vorhanden sind. Es werden nur die Bereiche angegeben, in denen von der EBO abweichende und LST-relevante Lichtraumbedingungen vorhanden oder zu beachten sind. + Lichtraumprofil -- Bezeichnung des von der EBO abweichenden Lichtraumprofils. Bei Auswahl des ENUM-Werts \"sonstige\" ist mittels Bearbeitungsvermerk eine Profilzeichnung als Anhang beizulegen. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBereich_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, Bereich_Objekt_Teilbereich=None, Lichtraumprofil=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CGleis_Lichtraum"), self).__init__(Identitaet, Basis_Objekt_Allg, ID_Bearbeitungsvermerk, ID_Oertlichkeit_Ausgabe, Objektreferenzen, Bereich_Objekt_Teilbereich, **kwargs_) + self.Lichtraumprofil = Lichtraumprofil + self.Lichtraumprofil_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CGleis_Lichtraum) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CGleis_Lichtraum.subclass: + return CGleis_Lichtraum.subclass(*args_, **kwargs_) + else: + return CGleis_Lichtraum(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Lichtraumprofil(self): + return self.Lichtraumprofil + def set_Lichtraumprofil(self, Lichtraumprofil): + self.Lichtraumprofil = Lichtraumprofil + def has__content(self): + if ( + self.Lichtraumprofil is not None or + super(CGleis_Lichtraum, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsGleis:', namespacedef_='xmlns:nsGleis="http://www.plan-pro.org/modell/Gleis/1.10.0"', name_='CGleis_Lichtraum', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CGleis_Lichtraum') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CGleis_Lichtraum': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CGleis_Lichtraum') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CGleis_Lichtraum', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsGleis:', name_='CGleis_Lichtraum'): + super(CGleis_Lichtraum, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CGleis_Lichtraum') + def _exportChildren(self, outfile, level, namespaceprefix_='nsGleis:', namespacedef_='xmlns:nsGleis="http://www.plan-pro.org/modell/Gleis/1.10.0"', name_='CGleis_Lichtraum', fromsubclass_=False, pretty_print=True): + super(CGleis_Lichtraum, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Lichtraumprofil is not None: + namespaceprefix_ = self.Lichtraumprofil_nsprefix_ + ':' if (UseCapturedNS_ and self.Lichtraumprofil_nsprefix_) else '' + self.Lichtraumprofil.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Lichtraumprofil', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CGleis_Lichtraum, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Lichtraumprofil': + obj_ = TCLichtraumprofil.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Lichtraumprofil = obj_ + obj_.original_tagname_ = 'Lichtraumprofil' + super(CGleis_Lichtraum, self)._buildChildren(child_, node, nodeName_, True) +# end class CGleis_Lichtraum + + +class CGleis_Schaltgruppe(CBereich_Objekt): + """CGleis_Schaltgruppe -- Einzeln schaltbarer Abschnitt einer Fahrleitungsanlage, der mit Fahrstrom versorgt wird. Das Objekt wird vom Grundsatz dem + Ü + bersichtsplan mit Schaltanweisung (Ebs + ü + ) des elektrotechnischen Dienstes entnommen. Zur Beschreibung von Fahrleitungsschaltgruppen in der ESTW-Logik zum Zwecke der Merkhinweiseingabe f + ü + r Befahrbarkeitssperren sind die betroffenen Gleisabschnitte zu beachten. Die Grenzen einer Schaltgruppe m + ü + ssen nicht mit den Grenzen der Gleisabschnitte + ü + bereinstimmen. Wenn ein angeschnittener Gleisabschnitt vorhanden ist, wird dieser in der Befahrbarkeitssperre ber + ü + cksichtigt. Die Schaltgruppen k + ö + nnen sich dann auch + ü + berlagern. In der Regel sollten + Ü + berlagerungen von Schaltgruppen vermieden werden, indem ein Gleisabschnitt nur einer Schaltgruppe zugeordnet wird. Zwischen Bereichen verschiedener Schaltgruppen k + ö + nnen aus vorgenanntem Grund auch L + ü + cken sein. F + ü + r Schaltgruppen, die verschiedenen Fahrstromsystemen zugeordnet werden k + ö + nnen (Systemwechselstellen), ist f + ü + r jedes Fahrstromsystem je eine Instanz mit gleichem Elementnamen und gleichen Bereichsgrenzen anzulegen. Die Zuordnung der Schaltgruppen zu den Gleisabschnitten erfolgt + ü + ber die topologischen Kanten als ein Bereichsobjekt. + Bezeichnung -- Attributgruppe zur Bezeichnung von Stell- und sonstigen Elementen. Sofern ausreichend, wird an dieser Stelle + ü + ber Vererbung die Basisattributgruppe Bezeichnung Element eingebunden. Ist die Abbildung mit den Attributen der Basisattributgruppe nicht m + ö + glich (z. B. wegen spezieller Patternvorgabe) oder nicht sinnvoll (z. B. weil eine Unterscheidung nach Bezeichnung_Lageplan_..., Bezeichnung_Tabelle und Bezeichnung_Aussenanlage (Pflichtattribute!) nicht notwendig ist), werden in der Attributgruppe Bezeichnung entsprechende objektspezifische Bezeichnungsattribute modelliert. Diese sind nach dem Schema Bezeichnung_[Objektname] zu benennen. Zudem ist es m + ö + glich, gleichzeitig die Basisattributgruppe Bezeichnung Element und objektspezifische Attribute einzubinden. Siehe auch Bildung der Bezeichnungen. DB-Regelwerk Sicherungstechnischer Lage- und + Ü + bersichtsplan, B + Ü + -Lageplan Planungstabellen + Fahrstrom -- Angabe des f + ü + r die Schaltgruppe verwendeten Fahrstromsystems. Falls als ENUM-Wert \"sonstige\" angegeben wird, ist das Fahrstromsystem mittels eines Bearbeitungsvermerks gesondert zu erl + ä + utern. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBereich_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, Bereich_Objekt_Teilbereich=None, Bezeichnung=None, Fahrstrom=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CGleis_Schaltgruppe"), self).__init__(Identitaet, Basis_Objekt_Allg, ID_Bearbeitungsvermerk, ID_Oertlichkeit_Ausgabe, Objektreferenzen, Bereich_Objekt_Teilbereich, **kwargs_) + self.Bezeichnung = Bezeichnung + self.Bezeichnung_nsprefix_ = None + self.Fahrstrom = Fahrstrom + self.Fahrstrom_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CGleis_Schaltgruppe) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CGleis_Schaltgruppe.subclass: + return CGleis_Schaltgruppe.subclass(*args_, **kwargs_) + else: + return CGleis_Schaltgruppe(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Bezeichnung(self): + return self.Bezeichnung + def set_Bezeichnung(self, Bezeichnung): + self.Bezeichnung = Bezeichnung + def get_Fahrstrom(self): + return self.Fahrstrom + def set_Fahrstrom(self, Fahrstrom): + self.Fahrstrom = Fahrstrom + def has__content(self): + if ( + self.Bezeichnung is not None or + self.Fahrstrom is not None or + super(CGleis_Schaltgruppe, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsGleis:', namespacedef_='xmlns:nsGleis="http://www.plan-pro.org/modell/Gleis/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='CGleis_Schaltgruppe', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CGleis_Schaltgruppe') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CGleis_Schaltgruppe': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CGleis_Schaltgruppe') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CGleis_Schaltgruppe', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsGleis:', name_='CGleis_Schaltgruppe'): + super(CGleis_Schaltgruppe, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CGleis_Schaltgruppe') + def _exportChildren(self, outfile, level, namespaceprefix_='nsGleis:', namespacedef_='xmlns:nsGleis="http://www.plan-pro.org/modell/Gleis/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='CGleis_Schaltgruppe', fromsubclass_=False, pretty_print=True): + super(CGleis_Schaltgruppe, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Bezeichnung is not None: + namespaceprefix_ = self.Bezeichnung_nsprefix_ + ':' if (UseCapturedNS_ and self.Bezeichnung_nsprefix_) else '' + self.Bezeichnung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Bezeichnung', pretty_print=pretty_print) + if self.Fahrstrom is not None: + namespaceprefix_ = self.Fahrstrom_nsprefix_ + ':' if (UseCapturedNS_ and self.Fahrstrom_nsprefix_) else '' + self.Fahrstrom.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Fahrstrom', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CGleis_Schaltgruppe, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Bezeichnung': + obj_ = CBezeichnung_Element.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Bezeichnung = obj_ + obj_.original_tagname_ = 'Bezeichnung' + elif nodeName_ == 'Fahrstrom': + obj_ = TCFahrstrom.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Fahrstrom = obj_ + obj_.original_tagname_ = 'Fahrstrom' + super(CGleis_Schaltgruppe, self)._buildChildren(child_, node, nodeName_, True) +# end class CGleis_Schaltgruppe + + +class CGleis_Baubereich(CBereich_Objekt): + """CGleis_Baubereich -- Markierung eines Gleisbereiches als Baubereich. Mit diesem Objekt wird der Bereich markiert, der w + ä + hrend einer Planung als Baubereich verwendet wird. Die Topologie des Baubereiches und die verorteten Objekte bleiben erhalten. + Baubereich_Art -- Kennzeichnung der Art des Baubereichs zur Darstellung in der Planung. ausgebaut: Tempor + ä + r ausgebautes Gleis, das aus Zweckm + ä + ß + igkeitsgr + ü + nden (z. B. f + ü + r Verortung von Objekten) noch in den Planungs- bzw. Bestandsdaten mitgef + ü + hrt werden muss. Baugleis: Umsetzung der durch die Baubetriebsplanung vorgegebene besondere Eigenschaft eines Gleises oder Teil eines Gleises als Baugleis im PT 1. Die Eigenschaft ~ ist genau und nur dann anzuwenden, wenn daraus folgend oder in Zusammenhang damit stehend Ma + ß + nahmen resultieren, die in sicherungstechnischen Planungen dargestellt werden m + ü + ssen. Die Erkl + ä + rung zum Baugleis kann in diesem Fall auch nicht ohne + Ä + nderung des sicherungstechnischen Zustands zur + ü + ckgenommen werden. Erkl + ä + rung und R + ü + cknahme der Erkl + ä + rung zum Baugleis mit rein betrieblichen Konsequenzen, insbesondere in Zeitr + ä + umen kleiner als die zugeh + ö + rigen sicherungstechnischen Bauzust + ä + nde, sind hingegen in PlanPro nicht abzubilden. [gem + ä + ß + Ril 408.0471, Ril 408.1471, Ril 408.1488] gesperrt: Sicherungstechnisch gesperrtes Gleis mit definierter Begrenzung. Erg + ä + nzende Beschreibung f + ü + r PlanPro: Die betreffenden Gleise m + ü + ssen im Rahmen der AP PT 1 (oder Bestandsdigitalisierung) als gesperrt markiert werden. Eine Aufhebung der Sperrung des Gleises kann nur mit einer neuen Planung (AP PT 1) erfolgen. Bei Auswahl von \"sonstige\" ist ein Bearbeitungsvermerk mit entsprechenden Erl + ä + uterungen anzuf + ü + gen. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBereich_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, Bereich_Objekt_Teilbereich=None, Baubereich_Art=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CGleis_Baubereich"), self).__init__(Identitaet, Basis_Objekt_Allg, ID_Bearbeitungsvermerk, ID_Oertlichkeit_Ausgabe, Objektreferenzen, Bereich_Objekt_Teilbereich, **kwargs_) + self.Baubereich_Art = Baubereich_Art + self.Baubereich_Art_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CGleis_Baubereich) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CGleis_Baubereich.subclass: + return CGleis_Baubereich.subclass(*args_, **kwargs_) + else: + return CGleis_Baubereich(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Baubereich_Art(self): + return self.Baubereich_Art + def set_Baubereich_Art(self, Baubereich_Art): + self.Baubereich_Art = Baubereich_Art + def has__content(self): + if ( + self.Baubereich_Art is not None or + super(CGleis_Baubereich, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsGleis:', namespacedef_='xmlns:nsGleis="http://www.plan-pro.org/modell/Gleis/1.10.0"', name_='CGleis_Baubereich', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CGleis_Baubereich') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CGleis_Baubereich': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CGleis_Baubereich') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CGleis_Baubereich', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsGleis:', name_='CGleis_Baubereich'): + super(CGleis_Baubereich, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CGleis_Baubereich') + def _exportChildren(self, outfile, level, namespaceprefix_='nsGleis:', namespacedef_='xmlns:nsGleis="http://www.plan-pro.org/modell/Gleis/1.10.0"', name_='CGleis_Baubereich', fromsubclass_=False, pretty_print=True): + super(CGleis_Baubereich, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Baubereich_Art is not None: + namespaceprefix_ = self.Baubereich_Art_nsprefix_ + ':' if (UseCapturedNS_ and self.Baubereich_Art_nsprefix_) else '' + self.Baubereich_Art.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Baubereich_Art', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CGleis_Baubereich, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Baubereich_Art': + obj_ = TCBaubereich_Art.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Baubereich_Art = obj_ + obj_.original_tagname_ = 'Baubereich_Art' + super(CGleis_Baubereich, self)._buildChildren(child_, node, nodeName_, True) +# end class CGleis_Baubereich + + +class CGleis_Abschnitt(CBereich_Objekt): + """CGleis_Abschnitt -- Abschnitt eines Gleises, welcher als kleinste Einheit betrieblich und technisch verwendet wird. Der Gleisabschnitt wird im Allgemeinen durch zwei Enden begrenzt. Wenn in diesem Gleisabschnitt Weichen, Kreuzungen oder Kreuzungsweichen enthalten sind, entstehen weitere Enden. Diese werden in der Regel nur dann definiert, wenn technische Anlagen zur Gleisfreimeldung vorhanden sind. Der Begriff Weichenabschnitt wird wegen Mehrdeutigkeit im Modell nicht verwendet. Ein Gleisabschnitt kann mittels technischer Anlagen (abgebildet im Objekt FMA Anlage) auf Freisein + ü + berwacht werden. Der Gleisabschnitt als Bereich_Objekt muss an seinen Grenzen genau mit dem Punkt_Objekt FMA Element + ü + bereinstimmen. Rundungsfehler bei der Berechnung sind zu beachten! + Bezeichnung -- Attributgruppe zur Bezeichnung von Stell- und sonstigen Elementen. Sofern ausreichend, wird an dieser Stelle + ü + ber Vererbung die Basisattributgruppe Bezeichnung Element eingebunden. Ist die Abbildung mit den Attributen der Basisattributgruppe nicht m + ö + glich (z. B. wegen spezieller Patternvorgabe) oder nicht sinnvoll (z. B. weil eine Unterscheidung nach Bezeichnung_Lageplan_..., Bezeichnung_Tabelle und Bezeichnung_Aussenanlage (Pflichtattribute!) nicht notwendig ist), werden in der Attributgruppe Bezeichnung entsprechende objektspezifische Bezeichnungsattribute modelliert. Diese sind nach dem Schema Bezeichnung_[Objektname] zu benennen. Zudem ist es m + ö + glich, gleichzeitig die Basisattributgruppe Bezeichnung Element und objektspezifische Attribute einzubinden. Siehe auch Bildung der Bezeichnungen. DB-Regelwerk Sicherungstechnischer Lage- und + Ü + bersichtsplan, B + Ü + -Lageplan Planungstabellen + Geschwindigkeit -- Geschwindigkeit, die f + ü + r einen Gleisabschnitt festgelegt wird, um die Signalisierung f + ü + r Zugfahrten zu beeinflussen. Das Attribut wird nur dann verwendet, wenn die zu signalisierende Geschwindigkeit nicht + ü + ber andere Objekte (z. B. Weichen) abgebildet werden kann. Die Geschwindigkeit ist nicht richtungsabh + ä + ngig und nicht die VzG-Geschwindigkeit. Siehe auch Bildung der Signalbegriffe. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBereich_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, Bereich_Objekt_Teilbereich=None, Bezeichnung=None, Geschwindigkeit=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CGleis_Abschnitt"), self).__init__(Identitaet, Basis_Objekt_Allg, ID_Bearbeitungsvermerk, ID_Oertlichkeit_Ausgabe, Objektreferenzen, Bereich_Objekt_Teilbereich, **kwargs_) + self.Bezeichnung = Bezeichnung + self.Bezeichnung_nsprefix_ = None + self.Geschwindigkeit = Geschwindigkeit + self.Geschwindigkeit_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CGleis_Abschnitt) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CGleis_Abschnitt.subclass: + return CGleis_Abschnitt.subclass(*args_, **kwargs_) + else: + return CGleis_Abschnitt(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Bezeichnung(self): + return self.Bezeichnung + def set_Bezeichnung(self, Bezeichnung): + self.Bezeichnung = Bezeichnung + def get_Geschwindigkeit(self): + return self.Geschwindigkeit + def set_Geschwindigkeit(self, Geschwindigkeit): + self.Geschwindigkeit = Geschwindigkeit + def has__content(self): + if ( + self.Bezeichnung is not None or + self.Geschwindigkeit is not None or + super(CGleis_Abschnitt, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsGleis:', namespacedef_='xmlns:nsGleis="http://www.plan-pro.org/modell/Gleis/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='CGleis_Abschnitt', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CGleis_Abschnitt') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CGleis_Abschnitt': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CGleis_Abschnitt') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CGleis_Abschnitt', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsGleis:', name_='CGleis_Abschnitt'): + super(CGleis_Abschnitt, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CGleis_Abschnitt') + def _exportChildren(self, outfile, level, namespaceprefix_='nsGleis:', namespacedef_='xmlns:nsGleis="http://www.plan-pro.org/modell/Gleis/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='CGleis_Abschnitt', fromsubclass_=False, pretty_print=True): + super(CGleis_Abschnitt, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Bezeichnung is not None: + namespaceprefix_ = self.Bezeichnung_nsprefix_ + ':' if (UseCapturedNS_ and self.Bezeichnung_nsprefix_) else '' + self.Bezeichnung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Bezeichnung', pretty_print=pretty_print) + if self.Geschwindigkeit is not None: + namespaceprefix_ = self.Geschwindigkeit_nsprefix_ + ':' if (UseCapturedNS_ and self.Geschwindigkeit_nsprefix_) else '' + self.Geschwindigkeit.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Geschwindigkeit', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CGleis_Abschnitt, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Bezeichnung': + obj_ = CBezeichnung_Element.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Bezeichnung = obj_ + obj_.original_tagname_ = 'Bezeichnung' + elif nodeName_ == 'Geschwindigkeit': + obj_ = TCGeschwindigkeit.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Geschwindigkeit = obj_ + obj_.original_tagname_ = 'Geschwindigkeit' + super(CGleis_Abschnitt, self)._buildChildren(child_, node, nodeName_, True) +# end class CGleis_Abschnitt + + +class CGleis_Bezeichnung(CBereich_Objekt): + """CGleis_Bezeichnung -- Tr + ä + ger der betrieblichen Bezeichnung eines Gleises. Ein Gleis erh + ä + lt dann eine Bezeichnung, wenn es f + ü + r die betriebliche Nutzung ben + ö + tigt wird. Topologische Knoten (z. B. Weichen) unterbrechen nicht die Gleisbezeichnung. F + ü + r die durchgehenden Hauptgleise in einem Bahnhof wird das Bereichsobjekt f + ü + r das Gleis in der Regel von einem Einfahrsignal bis zum Einfahrsignal der Gegenrichtung modelliert. Wenn das Gleis hinsichtlich der betrieblichen Bezeichnung geteilt ist (z.B. Gleis 1 und Gleis 21) sind getrennte Bereichsobjekte f + ü + r diese Gleise anzulegen. Weitere Bezeichnungen von Bahnhofsgleisen werden in der Regel zwischen topologischen Knoten gebildet, wobei auch weitere Knoten enthalten sein k + ö + nnen. Gleise, die aus betrieblicher Sicht keine Bezeichnung ben + ö + tigen (z. B. Gleisverbindungen), erhalten keine Gleisbezeichnung. Streckengleise werden in der Regel zwischen den Bahnhofsgrenzen (ggf. auch andere Zugmeldestellen) durchgehend bezeichnet. Die Klammersetzung der Bezeichnung von Streckengleisen ist Bestandteil der Bezeichnung das Steckengleises. + Bezeichnung -- Attributgruppe zur Bezeichnung von Stell- und sonstigen Elementen. Sofern ausreichend, wird an dieser Stelle + ü + ber Vererbung die Basisattributgruppe Bezeichnung Element eingebunden. Ist die Abbildung mit den Attributen der Basisattributgruppe nicht m + ö + glich (z. B. wegen spezieller Patternvorgabe) oder nicht sinnvoll (z. B. weil eine Unterscheidung nach Bezeichnung_Lageplan_..., Bezeichnung_Tabelle und Bezeichnung_Aussenanlage (Pflichtattribute!) nicht notwendig ist), werden in der Attributgruppe Bezeichnung entsprechende objektspezifische Bezeichnungsattribute modelliert. Diese sind nach dem Schema Bezeichnung_[Objektname] zu benennen. Zudem ist es m + ö + glich, gleichzeitig die Basisattributgruppe Bezeichnung Element und objektspezifische Attribute einzubinden. Siehe auch Bildung der Bezeichnungen. DB-Regelwerk Sicherungstechnischer Lage- und + Ü + bersichtsplan, B + Ü + -Lageplan Planungstabellen + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBereich_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, Bereich_Objekt_Teilbereich=None, Bezeichnung=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CGleis_Bezeichnung"), self).__init__(Identitaet, Basis_Objekt_Allg, ID_Bearbeitungsvermerk, ID_Oertlichkeit_Ausgabe, Objektreferenzen, Bereich_Objekt_Teilbereich, **kwargs_) + self.Bezeichnung = Bezeichnung + self.Bezeichnung_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CGleis_Bezeichnung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CGleis_Bezeichnung.subclass: + return CGleis_Bezeichnung.subclass(*args_, **kwargs_) + else: + return CGleis_Bezeichnung(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Bezeichnung(self): + return self.Bezeichnung + def set_Bezeichnung(self, Bezeichnung): + self.Bezeichnung = Bezeichnung + def has__content(self): + if ( + self.Bezeichnung is not None or + super(CGleis_Bezeichnung, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsGleis:', namespacedef_='xmlns:nsGleis="http://www.plan-pro.org/modell/Gleis/1.10.0"', name_='CGleis_Bezeichnung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CGleis_Bezeichnung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CGleis_Bezeichnung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CGleis_Bezeichnung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CGleis_Bezeichnung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsGleis:', name_='CGleis_Bezeichnung'): + super(CGleis_Bezeichnung, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CGleis_Bezeichnung') + def _exportChildren(self, outfile, level, namespaceprefix_='nsGleis:', namespacedef_='xmlns:nsGleis="http://www.plan-pro.org/modell/Gleis/1.10.0"', name_='CGleis_Bezeichnung', fromsubclass_=False, pretty_print=True): + super(CGleis_Bezeichnung, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Bezeichnung is not None: + namespaceprefix_ = self.Bezeichnung_nsprefix_ + ':' if (UseCapturedNS_ and self.Bezeichnung_nsprefix_) else '' + self.Bezeichnung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Bezeichnung', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CGleis_Bezeichnung, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Bezeichnung': + obj_ = CGleis_Bezeichnung_Bezeichnung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Bezeichnung = obj_ + obj_.original_tagname_ = 'Bezeichnung' + super(CGleis_Bezeichnung, self)._buildChildren(child_, node, nodeName_, True) +# end class CGleis_Bezeichnung + + +class CGleis_Fahrbahn(CBereich_Objekt): + """CGleis_Fahrbahn -- Bereich, in dem eine besondere Fahrbahnkonstruktion vorhanden ist, die f + ü + r die Leit- und Sicherungstechnik relevant ist (z. B. Feste Fahrbahn). + Konstruktion -- LST-relevante Fahrbahneigenschaft (z. B. Feste Fahrbahn). + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBereich_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, Bereich_Objekt_Teilbereich=None, Konstruktion=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CGleis_Fahrbahn"), self).__init__(Identitaet, Basis_Objekt_Allg, ID_Bearbeitungsvermerk, ID_Oertlichkeit_Ausgabe, Objektreferenzen, Bereich_Objekt_Teilbereich, **kwargs_) + self.Konstruktion = Konstruktion + self.Konstruktion_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CGleis_Fahrbahn) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CGleis_Fahrbahn.subclass: + return CGleis_Fahrbahn.subclass(*args_, **kwargs_) + else: + return CGleis_Fahrbahn(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Konstruktion(self): + return self.Konstruktion + def set_Konstruktion(self, Konstruktion): + self.Konstruktion = Konstruktion + def has__content(self): + if ( + self.Konstruktion is not None or + super(CGleis_Fahrbahn, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsGleis:', namespacedef_='xmlns:nsGleis="http://www.plan-pro.org/modell/Gleis/1.10.0"', name_='CGleis_Fahrbahn', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CGleis_Fahrbahn') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CGleis_Fahrbahn': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CGleis_Fahrbahn') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CGleis_Fahrbahn', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsGleis:', name_='CGleis_Fahrbahn'): + super(CGleis_Fahrbahn, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CGleis_Fahrbahn') + def _exportChildren(self, outfile, level, namespaceprefix_='nsGleis:', namespacedef_='xmlns:nsGleis="http://www.plan-pro.org/modell/Gleis/1.10.0"', name_='CGleis_Fahrbahn', fromsubclass_=False, pretty_print=True): + super(CGleis_Fahrbahn, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Konstruktion is not None: + namespaceprefix_ = self.Konstruktion_nsprefix_ + ':' if (UseCapturedNS_ and self.Konstruktion_nsprefix_) else '' + self.Konstruktion.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Konstruktion', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CGleis_Fahrbahn, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Konstruktion': + obj_ = TCKonstruktion.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Konstruktion = obj_ + obj_.original_tagname_ = 'Konstruktion' + super(CGleis_Fahrbahn, self)._buildChildren(child_, node, nodeName_, True) +# end class CGleis_Fahrbahn + + +class CGleis_Art(CBereich_Objekt): + """CGleis_Art -- Klassifizierung des Gleises aus betrieblicher Sicht. Es erfolgt die Unterscheidung in Haupt- und Nebengleise in einem Bahnhof, sowie die Abgrenzung von Strecken und Anschlussgleisen. + Gleisart -- Betriebliche Einordnung des Gleises. Aus einer Liste erfolgt die Auswahl der Gleisart. Falls eine abweichende Gleisart vorhanden ist, ist \"sonstige\" auszuw + ä + hlen und mit einem Bearbeitungsvermerk zu erl + ä + utern. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CBereich_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, Bereich_Objekt_Teilbereich=None, Gleisart=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CGleis_Art"), self).__init__(Identitaet, Basis_Objekt_Allg, ID_Bearbeitungsvermerk, ID_Oertlichkeit_Ausgabe, Objektreferenzen, Bereich_Objekt_Teilbereich, **kwargs_) + self.Gleisart = Gleisart + self.Gleisart_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CGleis_Art) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CGleis_Art.subclass: + return CGleis_Art.subclass(*args_, **kwargs_) + else: + return CGleis_Art(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Gleisart(self): + return self.Gleisart + def set_Gleisart(self, Gleisart): + self.Gleisart = Gleisart + def has__content(self): + if ( + self.Gleisart is not None or + super(CGleis_Art, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsGleis:', namespacedef_='xmlns:nsGleis="http://www.plan-pro.org/modell/Gleis/1.10.0"', name_='CGleis_Art', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CGleis_Art') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CGleis_Art': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CGleis_Art') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CGleis_Art', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsGleis:', name_='CGleis_Art'): + super(CGleis_Art, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CGleis_Art') + def _exportChildren(self, outfile, level, namespaceprefix_='nsGleis:', namespacedef_='xmlns:nsGleis="http://www.plan-pro.org/modell/Gleis/1.10.0"', name_='CGleis_Art', fromsubclass_=False, pretty_print=True): + super(CGleis_Art, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Gleisart is not None: + namespaceprefix_ = self.Gleisart_nsprefix_ + ':' if (UseCapturedNS_ and self.Gleisart_nsprefix_) else '' + self.Gleisart.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Gleisart', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CGleis_Art, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Gleisart': + obj_ = TCGleisart.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Gleisart = obj_ + obj_.original_tagname_ = 'Gleisart' + super(CGleis_Art, self)._buildChildren(child_, node, nodeName_, True) +# end class CGleis_Art + + +class CPZB_Element(CPunkt_Objekt): + """CPZB_Element -- (Bau)Art, Umfang und Funktionen der punktf + ö + rmigen Zugbeeinflussung. Unter dem PZB_Element werden sowohl einzelne Gleismagneten als auch die Geschwindigkeits + ü + berwachungseinrichtungen (G + Ü + - in der Literatur auch als Geschwindigkeitspr + ü + feinrichtungen - GPE bezeichnet) sowie dazugeh + ö + rige Eigenschaften und Parameter zusammenfassend dargestellt. DB-Regelwerk 819.1310 8 f + ü + r Gleismagnete 819.1310 9 f + ü + r G + Ü + In der Gleismagenttabelle finden sich die Angaben in den Zeilen 16 und 17 sowie 33 bis 35 f + ü + r G + Ü + und 29 bis 32 f + ü + r Gleismagnete. + Eine Instanz von PZB_Element bildet nur einen GM oder eine G + Ü + ab. + ID_PZB_Element_Zuordnung -- Verweis auf das Objekt PZB_Element_Zuordnung zur Angabe des Bezugspunkts bzw. der Bezugspunkte und ggf. bestehender Fahrstra + ß + en-Abh + ä + ngigkeiten. + PZB_Art -- Art des PZB-Elementes. + ID_Stellelement -- Verweis auf das Objekt Stellelement zur Zusammenfassung von Eigenschaften der Objekte BUE Schnittstelle, PZB Element, Schluesselsperre, Signal, W Kr Gsp Element. Das Stellelement enth + ä + lt Informationen + ü + ber den energetischen und logischen Anschluss der Objekte. F + ü + r das PZB Element ist der Verweis nicht zu f + ü + llen, wenn damit eine G + Ü + oder ein st + ä + ndig wirksamer Gleismagnet abgebildet wird. DB-Regelwerk Bisher ohne eindeutige Darstellung + ID_Unterbringung -- Verweis auf den physischen Ort der Unterbringung von Aussenelementansteuerung, Bedien Einrichtung Oertlich, Bedien Platz, ESTW Zentraleinheit, PZB Element, Schlosskombination, Schluesselsperre und ZN. F + ü + r das PZB Element wird der Verweis nur f + ü + r eine G + Ü + gef + ü + llt - mit der Bedeutung: G + Ü + -Schaltkasten. F + ü + r die ZN ist der Verweis optional, da im Planungswerkzeug ZN/ZL keine Bef + ü + llung aller der f + ü + r die Unterbringung notwendigen Attribute m + ö + glich ist. DB-Regelwerk Darstellung des Geb + ä + udes, der Bediens + ä + ule bzw. des Schaltkastens im sicherungstechnischen Lageplan nach Ril 819.9002 oder Beschreibung im Erl + ä + uterungsbericht. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CPunkt_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, Punkt_Objekt_Strecke=None, Punkt_Objekt_TOP_Kante=None, ID_PZB_Element_Zuordnung=None, PZB_Art=None, ID_Stellelement=None, ID_Unterbringung=None, PZB_Element_GM=None, PZB_Element_GUE=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CPZB_Element"), self).__init__(Identitaet, Basis_Objekt_Allg, ID_Bearbeitungsvermerk, ID_Oertlichkeit_Ausgabe, Objektreferenzen, Punkt_Objekt_Strecke, Punkt_Objekt_TOP_Kante, **kwargs_) + self.ID_PZB_Element_Zuordnung = ID_PZB_Element_Zuordnung + self.ID_PZB_Element_Zuordnung_nsprefix_ = None + self.PZB_Art = PZB_Art + self.PZB_Art_nsprefix_ = None + self.ID_Stellelement = ID_Stellelement + self.ID_Stellelement_nsprefix_ = None + self.ID_Unterbringung = ID_Unterbringung + self.ID_Unterbringung_nsprefix_ = None + self.PZB_Element_GM = PZB_Element_GM + self.PZB_Element_GM_nsprefix_ = None + self.PZB_Element_GUE = PZB_Element_GUE + self.PZB_Element_GUE_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CPZB_Element) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CPZB_Element.subclass: + return CPZB_Element.subclass(*args_, **kwargs_) + else: + return CPZB_Element(*args_, **kwargs_) + factory = staticmethod(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_PZB_Element_Zuordnung(self): + return self.ID_PZB_Element_Zuordnung + def set_ID_PZB_Element_Zuordnung(self, ID_PZB_Element_Zuordnung): + self.ID_PZB_Element_Zuordnung = ID_PZB_Element_Zuordnung + def get_PZB_Art(self): + return self.PZB_Art + def set_PZB_Art(self, PZB_Art): + self.PZB_Art = PZB_Art + def get_ID_Stellelement(self): + return self.ID_Stellelement + def set_ID_Stellelement(self, ID_Stellelement): + self.ID_Stellelement = ID_Stellelement + def get_ID_Unterbringung(self): + return self.ID_Unterbringung + def set_ID_Unterbringung(self, ID_Unterbringung): + self.ID_Unterbringung = ID_Unterbringung + def get_PZB_Element_GM(self): + return self.PZB_Element_GM + def set_PZB_Element_GM(self, PZB_Element_GM): + self.PZB_Element_GM = PZB_Element_GM + def get_PZB_Element_GUE(self): + return self.PZB_Element_GUE + def set_PZB_Element_GUE(self, PZB_Element_GUE): + self.PZB_Element_GUE = PZB_Element_GUE + def has__content(self): + if ( + self.ID_PZB_Element_Zuordnung is not None or + self.PZB_Art is not None or + self.ID_Stellelement is not None or + self.ID_Unterbringung is not None or + self.PZB_Element_GM is not None or + self.PZB_Element_GUE is not None or + super(CPZB_Element, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsPZB:', namespacedef_='xmlns:nsPZB="http://www.plan-pro.org/modell/PZB/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CPZB_Element', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CPZB_Element') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CPZB_Element': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CPZB_Element') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CPZB_Element', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsPZB:', name_='CPZB_Element'): + super(CPZB_Element, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CPZB_Element') + def _exportChildren(self, outfile, level, namespaceprefix_='nsPZB:', namespacedef_='xmlns:nsPZB="http://www.plan-pro.org/modell/PZB/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CPZB_Element', fromsubclass_=False, pretty_print=True): + super(CPZB_Element, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.ID_PZB_Element_Zuordnung is not None: + namespaceprefix_ = self.ID_PZB_Element_Zuordnung_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_PZB_Element_Zuordnung_nsprefix_) else '' + self.ID_PZB_Element_Zuordnung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_PZB_Element_Zuordnung', pretty_print=pretty_print) + if self.PZB_Art is not None: + namespaceprefix_ = self.PZB_Art_nsprefix_ + ':' if (UseCapturedNS_ and self.PZB_Art_nsprefix_) else '' + self.PZB_Art.export(outfile, level, namespaceprefix_, namespacedef_='', name_='PZB_Art', pretty_print=pretty_print) + if self.ID_Stellelement is not None: + namespaceprefix_ = self.ID_Stellelement_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Stellelement_nsprefix_) else '' + self.ID_Stellelement.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Stellelement', pretty_print=pretty_print) + if self.ID_Unterbringung is not None: + namespaceprefix_ = self.ID_Unterbringung_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Unterbringung_nsprefix_) else '' + self.ID_Unterbringung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Unterbringung', pretty_print=pretty_print) + if self.PZB_Element_GM is not None: + namespaceprefix_ = self.PZB_Element_GM_nsprefix_ + ':' if (UseCapturedNS_ and self.PZB_Element_GM_nsprefix_) else '' + self.PZB_Element_GM.export(outfile, level, namespaceprefix_, namespacedef_='', name_='PZB_Element_GM', pretty_print=pretty_print) + if self.PZB_Element_GUE is not None: + namespaceprefix_ = self.PZB_Element_GUE_nsprefix_ + ':' if (UseCapturedNS_ and self.PZB_Element_GUE_nsprefix_) else '' + self.PZB_Element_GUE.export(outfile, level, namespaceprefix_, namespacedef_='', name_='PZB_Element_GUE', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CPZB_Element, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_PZB_Element_Zuordnung': + obj_ = TCID_PZB_Element_Zuordnung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_PZB_Element_Zuordnung = obj_ + obj_.original_tagname_ = 'ID_PZB_Element_Zuordnung' + elif nodeName_ == 'PZB_Art': + obj_ = TCPZB_Art.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.PZB_Art = obj_ + obj_.original_tagname_ = 'PZB_Art' + elif nodeName_ == 'ID_Stellelement': + obj_ = TCID_Stellelement.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Stellelement = obj_ + obj_.original_tagname_ = 'ID_Stellelement' + elif nodeName_ == 'ID_Unterbringung': + obj_ = TCID_Unterbringung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Unterbringung = obj_ + obj_.original_tagname_ = 'ID_Unterbringung' + elif nodeName_ == 'PZB_Element_GM': + obj_ = CPZB_Element_GM.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.PZB_Element_GM = obj_ + obj_.original_tagname_ = 'PZB_Element_GM' + elif nodeName_ == 'PZB_Element_GUE': + obj_ = CPZB_Element_GUE.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.PZB_Element_GUE = obj_ + obj_.original_tagname_ = 'PZB_Element_GUE' + super(CPZB_Element, self)._buildChildren(child_, node, nodeName_, True) +# end class CPZB_Element + + +class CSignal(CPunkt_Objekt): + """CSignal -- Technische, punktf + ö + rmig verortete Einrichtung der Eisenbahninfrastruktur, die als Teil der Au + ß + enanlage einer Au + ß + enelement-Ansteuerung mit statischen oder dynamischen Signalbildern Anweisungen zur Fahrweise oder andere Verhaltensvorschriften an den Triebfahrzeugf + ü + hrer + ü + bermittelt oder als Teil der Innenanlage einer Au + ß + enelement-Ansteuerung mittels eines Bedienpunkts zur Behandlung von Fahrwegen als Start- oder Zielsignal dient. Steht ein Signal an einer Grenze zweier Bereiche, so ist es dem Bereich zuzuordnen, dem der vom Signal gedeckte Gleisabschnitt angeh + ö + rt. Das Objekt Signal beinhaltet zentrale Eigenschaften, die bei Signalen der Au + ß + enanlage in Signal-Befestigungen bzgl. der Konstruktion und in Signal-Rahmen bzgl. der zugeordneten Signalbegriffe erg + ä + nzt werden. Je nach Ausf + ü + hrung eines Signals der Au + ß + enanlage k + ö + nnen daf + ü + r mehrere Signal-Befestigungen erforderlich sein (z.B. \u0027Fundament\u0027 und \u0027Signalanordnung\u0027), daf + ü + r mehrere Signal-Rahmen erforderlich sein (z.B. \u0027Schirm\u0027, 2x\u0027Zusatzanzeiger\u0027 und \u0027Bezeichnungsschild\u0027) und / oder zeitgleich mehrere Signalbegriffe angezeigt werden, die zu diesem Zeitpunkt f + ü + r ein Gleis - meist nur in einer Fahrtrichtung - an einem Punkt g + ü + ltig sind und deren logische + Ü + berlagerung zur Handlungsanweisung f + ü + r den Triebfahrzeugf + ü + hrer wird. Signalbilder, die zwar einem gemeinsamen Punkt zugeordnet sind, aber keiner gemeinsamen logischen Interpretation bed + ü + rfen, werden unterschiedlichen Signalen zugeordnet. Kann ein Signal mehrere Signalbilder anzeigen, so werden diese in Gruppen (analog zur Konstruktion) zusammengefasst, jede dieser Gruppen bildet einen Signal-Rahmen. Zur ausf + ü + hrliche Beschreibung der Modellierung eines Signals s. Modellierung Signal. Besonderheiten zur Verortung von Signalen sind unter Punkt Objekt beschrieben. DB-Regelwerk 301, 819.02, Planungsdaten: Sicherungstechnischer Lageplan, statische Eigenschaften: Signaltabelle 1, dynamische Eigenschaften: Signaltabelle 2, vereinzelt sind einzelne Angaben auch anderen Fundorten zugeordnet, dies ist den jeweiligen Einzelbeitr + ä + gen zu entnehmen. + Bezeichnung -- Attributgruppe zur Bezeichnung von Stell- und sonstigen Elementen. Sofern ausreichend, wird an dieser Stelle + ü + ber Vererbung die Basisattributgruppe Bezeichnung Element eingebunden. Ist die Abbildung mit den Attributen der Basisattributgruppe nicht m + ö + glich (z. B. wegen spezieller Patternvorgabe) oder nicht sinnvoll (z. B. weil eine Unterscheidung nach Bezeichnung_Lageplan_..., Bezeichnung_Tabelle und Bezeichnung_Aussenanlage (Pflichtattribute!) nicht notwendig ist), werden in der Attributgruppe Bezeichnung entsprechende objektspezifische Bezeichnungsattribute modelliert. Diese sind nach dem Schema Bezeichnung_[Objektname] zu benennen. Zudem ist es m + ö + glich, gleichzeitig die Basisattributgruppe Bezeichnung Element und objektspezifische Attribute einzubinden. Siehe auch Bildung der Bezeichnungen. DB-Regelwerk Sicherungstechnischer Lage- und + Ü + bersichtsplan, B + Ü + -Lageplan Planungstabellen + PZB_Schutzstrecke_Soll -- Solll + ä + nge der PZB-Schutzstrecke eines Signals. Liegen mehrere Schutzstrecken vor (unterschiedliche Durchrutschwege), so wird hier die Solll + ä + nge zum ma + ß + gebenden PZB-Gefahrpunkt eingetragen. Ma + ß + gebend ist der PZB-Gefahrpunkt, der f + ü + r die Positionierung des Signals ausschlaggebend ist. DB-Regelwerk Im bisherigen PT1 ohne eindeutige Darstellung. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CPunkt_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, Punkt_Objekt_Strecke=None, Punkt_Objekt_TOP_Kante=None, Bezeichnung=None, PZB_Schutzstrecke_Soll=None, Signal_Fstr=None, Signal_Fstr_Aus_Inselgleis=None, Signal_Fstr_S=None, Signal_Fiktiv=None, Signal_Real=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CSignal"), self).__init__(Identitaet, Basis_Objekt_Allg, ID_Bearbeitungsvermerk, ID_Oertlichkeit_Ausgabe, Objektreferenzen, Punkt_Objekt_Strecke, Punkt_Objekt_TOP_Kante, **kwargs_) + self.Bezeichnung = Bezeichnung + self.Bezeichnung_nsprefix_ = None + self.PZB_Schutzstrecke_Soll = PZB_Schutzstrecke_Soll + self.PZB_Schutzstrecke_Soll_nsprefix_ = None + self.Signal_Fstr = Signal_Fstr + self.Signal_Fstr_nsprefix_ = None + self.Signal_Fstr_Aus_Inselgleis = Signal_Fstr_Aus_Inselgleis + self.Signal_Fstr_Aus_Inselgleis_nsprefix_ = None + self.Signal_Fstr_S = Signal_Fstr_S + self.Signal_Fstr_S_nsprefix_ = None + self.Signal_Fiktiv = Signal_Fiktiv + self.Signal_Fiktiv_nsprefix_ = None + self.Signal_Real = Signal_Real + self.Signal_Real_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CSignal) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CSignal.subclass: + return CSignal.subclass(*args_, **kwargs_) + else: + return CSignal(*args_, **kwargs_) + factory = staticmethod(factory) + def get_ns_prefix_(self): + return self.ns_prefix_ + def set_ns_prefix_(self, ns_prefix): + self.ns_prefix_ = ns_prefix + def get_Bezeichnung(self): + return self.Bezeichnung + def set_Bezeichnung(self, Bezeichnung): + self.Bezeichnung = Bezeichnung + def get_PZB_Schutzstrecke_Soll(self): + return self.PZB_Schutzstrecke_Soll + def set_PZB_Schutzstrecke_Soll(self, PZB_Schutzstrecke_Soll): + self.PZB_Schutzstrecke_Soll = PZB_Schutzstrecke_Soll + def get_Signal_Fstr(self): + return self.Signal_Fstr + def set_Signal_Fstr(self, Signal_Fstr): + self.Signal_Fstr = Signal_Fstr + def get_Signal_Fstr_Aus_Inselgleis(self): + return self.Signal_Fstr_Aus_Inselgleis + def set_Signal_Fstr_Aus_Inselgleis(self, Signal_Fstr_Aus_Inselgleis): + self.Signal_Fstr_Aus_Inselgleis = Signal_Fstr_Aus_Inselgleis + def get_Signal_Fstr_S(self): + return self.Signal_Fstr_S + def set_Signal_Fstr_S(self, Signal_Fstr_S): + self.Signal_Fstr_S = Signal_Fstr_S + def get_Signal_Fiktiv(self): + return self.Signal_Fiktiv + def set_Signal_Fiktiv(self, Signal_Fiktiv): + self.Signal_Fiktiv = Signal_Fiktiv + def get_Signal_Real(self): + return self.Signal_Real + def set_Signal_Real(self, Signal_Real): + self.Signal_Real = Signal_Real + def has__content(self): + if ( + self.Bezeichnung is not None or + self.PZB_Schutzstrecke_Soll is not None or + self.Signal_Fstr is not None or + self.Signal_Fstr_Aus_Inselgleis is not None or + self.Signal_Fstr_S is not None or + self.Signal_Fiktiv is not None or + self.Signal_Real is not None or + super(CSignal, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignale:', namespacedef_='xmlns:nsSignale="http://www.plan-pro.org/modell/Signale/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='CSignal', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CSignal') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CSignal': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CSignal') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CSignal', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignale:', name_='CSignal'): + super(CSignal, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CSignal') + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignale:', namespacedef_='xmlns:nsSignale="http://www.plan-pro.org/modell/Signale/1.10.0" xmlns:nsBasisTypen="http://www.plan-pro.org/modell/BasisTypen/1.10.0" ', name_='CSignal', fromsubclass_=False, pretty_print=True): + super(CSignal, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.Bezeichnung is not None: + namespaceprefix_ = self.Bezeichnung_nsprefix_ + ':' if (UseCapturedNS_ and self.Bezeichnung_nsprefix_) else '' + self.Bezeichnung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Bezeichnung', pretty_print=pretty_print) + if self.PZB_Schutzstrecke_Soll is not None: + namespaceprefix_ = self.PZB_Schutzstrecke_Soll_nsprefix_ + ':' if (UseCapturedNS_ and self.PZB_Schutzstrecke_Soll_nsprefix_) else '' + self.PZB_Schutzstrecke_Soll.export(outfile, level, namespaceprefix_, namespacedef_='', name_='PZB_Schutzstrecke_Soll', pretty_print=pretty_print) + if self.Signal_Fstr is not None: + namespaceprefix_ = self.Signal_Fstr_nsprefix_ + ':' if (UseCapturedNS_ and self.Signal_Fstr_nsprefix_) else '' + self.Signal_Fstr.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Signal_Fstr', pretty_print=pretty_print) + if self.Signal_Fstr_Aus_Inselgleis is not None: + namespaceprefix_ = self.Signal_Fstr_Aus_Inselgleis_nsprefix_ + ':' if (UseCapturedNS_ and self.Signal_Fstr_Aus_Inselgleis_nsprefix_) else '' + self.Signal_Fstr_Aus_Inselgleis.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Signal_Fstr_Aus_Inselgleis', pretty_print=pretty_print) + if self.Signal_Fstr_S is not None: + namespaceprefix_ = self.Signal_Fstr_S_nsprefix_ + ':' if (UseCapturedNS_ and self.Signal_Fstr_S_nsprefix_) else '' + self.Signal_Fstr_S.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Signal_Fstr_S', pretty_print=pretty_print) + if self.Signal_Fiktiv is not None: + namespaceprefix_ = self.Signal_Fiktiv_nsprefix_ + ':' if (UseCapturedNS_ and self.Signal_Fiktiv_nsprefix_) else '' + self.Signal_Fiktiv.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Signal_Fiktiv', pretty_print=pretty_print) + if self.Signal_Real is not None: + namespaceprefix_ = self.Signal_Real_nsprefix_ + ':' if (UseCapturedNS_ and self.Signal_Real_nsprefix_) else '' + self.Signal_Real.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Signal_Real', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CSignal, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'Bezeichnung': + obj_ = CBezeichnung_Element.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Bezeichnung = obj_ + obj_.original_tagname_ = 'Bezeichnung' + elif nodeName_ == 'PZB_Schutzstrecke_Soll': + obj_ = TCPZB_Schutzstrecke_Soll.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.PZB_Schutzstrecke_Soll = obj_ + obj_.original_tagname_ = 'PZB_Schutzstrecke_Soll' + elif nodeName_ == 'Signal_Fstr': + obj_ = CSignal_Fstr.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Signal_Fstr = obj_ + obj_.original_tagname_ = 'Signal_Fstr' + elif nodeName_ == 'Signal_Fstr_Aus_Inselgleis': + obj_ = CSignal_Fstr_Aus_Inselgleis.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Signal_Fstr_Aus_Inselgleis = obj_ + obj_.original_tagname_ = 'Signal_Fstr_Aus_Inselgleis' + elif nodeName_ == 'Signal_Fstr_S': + obj_ = CSignal_Fstr_S.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Signal_Fstr_S = obj_ + obj_.original_tagname_ = 'Signal_Fstr_S' + elif nodeName_ == 'Signal_Fiktiv': + obj_ = CSignal_Fiktiv.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Signal_Fiktiv = obj_ + obj_.original_tagname_ = 'Signal_Fiktiv' + elif nodeName_ == 'Signal_Real': + obj_ = CSignal_Real.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Signal_Real = obj_ + obj_.original_tagname_ = 'Signal_Real' + super(CSignal, self)._buildChildren(child_, node, nodeName_, True) +# end class CSignal + + +class CSignal_Befestigung(CPunkt_Objekt): + """CSignal_Befestigung -- Konstruktionselement, das der baulichen Aufnahme eines oder mehrerer Signalrahmen dient. Die konkreten konstruktiven Merkmale sind in einer (oder im Bedarfsfall mehreren) Regelzeichnung(en) enthalten, auf die jeweils ein GUID-Verweis zeigt. Bei Sonderkonstruktionen wird die Regelzeichnung durch die zugeh + ö + rigen Zulassungsdokumente ersetzt. Diese sind als Anhang mittels eines Bearbeitungsvermerks beizuf + ü + gen. Signalbefestigungen k + ö + nnen auch weitere Signalbefestigungen aufnehmen (z.B. tr + ä + gt ein Signalausleger eine Arbeitsb + ü + hne). Einer Signalbefestigung ist mindestens ein Objekt Signal Rahmen oder Signal Befestigung zugeordnet. Ausf + ü + hrliche Beschreibung s. Modellierung Signal. DB-Regelwerk Regelzeichnungen + ID_Regelzeichnung -- Verweis auf ein Objekt Regelzeichnung. F + ü + r Signale werden in der Regel die Regelzeichnungen der Gruppe S800x,yy verwendet, die die grunds + ä + tzliche Anordnung am Gleis beschreiben. Die angegebene Regelzeichnung wird mittels Parametern (z. B.: \"Bild\") weiter spezifiziert. Der Verweis kann mehrfach verwendet werden, wenn die Zuordnung mehrerer Regelzeichnungen explizit erforderlich ist. + ID_Befestigung_Bauwerk -- Verweis auf ein Nicht-LST-Objekt (OL-Mast, Br + ü + cke, St + ü + tzwand), an dem die Signalbefestigung befestigt ist. + ID_Signal_Befestigung -- Verweis auf ein zugeh + ö + riges Objekt Signal Befestigung. Zur Anwendung siehe Modellierung Signal. DB-Regelwerk Im bisherigen PT1 keine eindeutige Darstellung, oft aus den Eintr + ä + gen in der Signaltabelle1, Zeilen 4-6, 10, 13 und 24-28 zu erkennen. + + """ + __hash__ = GeneratedsSuper.__hash__ + subclass = None + superclass = CPunkt_Objekt + def __init__(self, Identitaet=None, Basis_Objekt_Allg=None, ID_Bearbeitungsvermerk=None, ID_Oertlichkeit_Ausgabe=None, Objektreferenzen=None, Punkt_Objekt_Strecke=None, Punkt_Objekt_TOP_Kante=None, ID_Regelzeichnung=None, Signal_Befestigung_Allg=None, ID_Befestigung_Bauwerk=None, ID_Signal_Befestigung=None, gds_collector_=None, **kwargs_): + self.gds_collector_ = gds_collector_ + self.gds_elementtree_node_ = None + self.original_tagname_ = None + self.parent_object_ = kwargs_.get('parent_object_') + self.ns_prefix_ = None + super(globals().get("CSignal_Befestigung"), self).__init__(Identitaet, Basis_Objekt_Allg, ID_Bearbeitungsvermerk, ID_Oertlichkeit_Ausgabe, Objektreferenzen, Punkt_Objekt_Strecke, Punkt_Objekt_TOP_Kante, **kwargs_) + if ID_Regelzeichnung is None: + self.ID_Regelzeichnung = [] + else: + self.ID_Regelzeichnung = ID_Regelzeichnung + self.ID_Regelzeichnung_nsprefix_ = None + self.Signal_Befestigung_Allg = Signal_Befestigung_Allg + self.Signal_Befestigung_Allg_nsprefix_ = None + self.ID_Befestigung_Bauwerk = ID_Befestigung_Bauwerk + self.ID_Befestigung_Bauwerk_nsprefix_ = None + self.ID_Signal_Befestigung = ID_Signal_Befestigung + self.ID_Signal_Befestigung_nsprefix_ = None + def factory(*args_, **kwargs_): + if CurrentSubclassModule_ is not None: + subclass = getSubclassFromModule_( + CurrentSubclassModule_, CSignal_Befestigung) + if subclass is not None: + return subclass(*args_, **kwargs_) + if CSignal_Befestigung.subclass: + return CSignal_Befestigung.subclass(*args_, **kwargs_) + else: + return CSignal_Befestigung(*args_, **kwargs_) + factory = staticmethod(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_Regelzeichnung(self): + return self.ID_Regelzeichnung + def set_ID_Regelzeichnung(self, ID_Regelzeichnung): + self.ID_Regelzeichnung = ID_Regelzeichnung + def add_ID_Regelzeichnung(self, value): + self.ID_Regelzeichnung.append(value) + def insert_ID_Regelzeichnung_at(self, index, value): + self.ID_Regelzeichnung.insert(index, value) + def replace_ID_Regelzeichnung_at(self, index, value): + self.ID_Regelzeichnung[index] = value + def get_Signal_Befestigung_Allg(self): + return self.Signal_Befestigung_Allg + def set_Signal_Befestigung_Allg(self, Signal_Befestigung_Allg): + self.Signal_Befestigung_Allg = Signal_Befestigung_Allg + def get_ID_Befestigung_Bauwerk(self): + return self.ID_Befestigung_Bauwerk + def set_ID_Befestigung_Bauwerk(self, ID_Befestigung_Bauwerk): + self.ID_Befestigung_Bauwerk = ID_Befestigung_Bauwerk + def get_ID_Signal_Befestigung(self): + return self.ID_Signal_Befestigung + def set_ID_Signal_Befestigung(self, ID_Signal_Befestigung): + self.ID_Signal_Befestigung = ID_Signal_Befestigung + def has__content(self): + if ( + self.ID_Regelzeichnung or + self.Signal_Befestigung_Allg is not None or + self.ID_Befestigung_Bauwerk is not None or + self.ID_Signal_Befestigung is not None or + super(CSignal_Befestigung, self).has__content() + ): + return True + else: + return False + def export(self, outfile, level, namespaceprefix_='nsSignale:', namespacedef_='xmlns:nsSignale="http://www.plan-pro.org/modell/Signale/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CSignal_Befestigung', pretty_print=True): + imported_ns_def_ = GenerateDSNamespaceDefs_.get('CSignal_Befestigung') + if imported_ns_def_ is not None: + namespacedef_ = imported_ns_def_ + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + if self.original_tagname_ is not None and name_ == 'CSignal_Befestigung': + name_ = self.original_tagname_ + if UseCapturedNS_ and self.ns_prefix_: + namespaceprefix_ = self.ns_prefix_ + ':' + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + already_processed = set() + self._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CSignal_Befestigung') + if self.has__content(): + outfile.write('>%s' % (eol_, )) + self._exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_='CSignal_Befestigung', pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('%s' % (namespaceprefix_, name_, eol_)) + else: + outfile.write('/>%s' % (eol_, )) + def _exportAttributes(self, outfile, level, already_processed, namespaceprefix_='nsSignale:', name_='CSignal_Befestigung'): + super(CSignal_Befestigung, self)._exportAttributes(outfile, level, already_processed, namespaceprefix_, name_='CSignal_Befestigung') + def _exportChildren(self, outfile, level, namespaceprefix_='nsSignale:', namespacedef_='xmlns:nsSignale="http://www.plan-pro.org/modell/Signale/1.10.0" xmlns:nsVerweise="http://www.plan-pro.org/modell/Verweise/1.10.0" ', name_='CSignal_Befestigung', fromsubclass_=False, pretty_print=True): + super(CSignal_Befestigung, self)._exportChildren(outfile, level, namespaceprefix_, namespacedef_, name_, True, pretty_print=pretty_print) + if pretty_print: + eol_ = '\n' + else: + eol_ = '' + for ID_Regelzeichnung_ in self.ID_Regelzeichnung: + namespaceprefix_ = self.ID_Regelzeichnung_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Regelzeichnung_nsprefix_) else '' + ID_Regelzeichnung_.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Regelzeichnung', pretty_print=pretty_print) + if self.Signal_Befestigung_Allg is not None: + namespaceprefix_ = self.Signal_Befestigung_Allg_nsprefix_ + ':' if (UseCapturedNS_ and self.Signal_Befestigung_Allg_nsprefix_) else '' + self.Signal_Befestigung_Allg.export(outfile, level, namespaceprefix_, namespacedef_='', name_='Signal_Befestigung_Allg', pretty_print=pretty_print) + if self.ID_Befestigung_Bauwerk is not None: + namespaceprefix_ = self.ID_Befestigung_Bauwerk_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Befestigung_Bauwerk_nsprefix_) else '' + self.ID_Befestigung_Bauwerk.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Befestigung_Bauwerk', pretty_print=pretty_print) + if self.ID_Signal_Befestigung is not None: + namespaceprefix_ = self.ID_Signal_Befestigung_nsprefix_ + ':' if (UseCapturedNS_ and self.ID_Signal_Befestigung_nsprefix_) else '' + self.ID_Signal_Befestigung.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ID_Signal_Befestigung', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + self.gds_collector_ = gds_collector_ + if SaveElementTreeNode: + self.gds_elementtree_node_ = node + already_processed = set() + self.ns_prefix_ = node.prefix + self._buildAttributes(node, node.attrib, already_processed) + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + self._buildChildren(child, node, nodeName_, gds_collector_=gds_collector_) + return self + def _buildAttributes(self, node, attrs, already_processed): + super(CSignal_Befestigung, self)._buildAttributes(node, attrs, already_processed) + def _buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collector_=None): + if nodeName_ == 'ID_Regelzeichnung': + obj_ = TCID_Regelzeichnung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Regelzeichnung.append(obj_) + obj_.original_tagname_ = 'ID_Regelzeichnung' + elif nodeName_ == 'Signal_Befestigung_Allg': + obj_ = CSignal_Befestigung_Allg.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.Signal_Befestigung_Allg = obj_ + obj_.original_tagname_ = 'Signal_Befestigung_Allg' + elif nodeName_ == 'ID_Befestigung_Bauwerk': + obj_ = TCID_Befestigung_Bauwerk.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Befestigung_Bauwerk = obj_ + obj_.original_tagname_ = 'ID_Befestigung_Bauwerk' + elif nodeName_ == 'ID_Signal_Befestigung': + obj_ = TCID_Signal_Befestigung.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.ID_Signal_Befestigung = obj_ + obj_.original_tagname_ = 'ID_Signal_Befestigung' + super(CSignal_Befestigung, self)._buildChildren(child_, node, nodeName_, True) +# end class CSignal_Befestigung + + +# +# End data representation classes. +# + + +GDSClassesMapping = { + 'PlanPro_Schnittstelle': CPlanPro_Schnittstelle, +} + + +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 = 'TCKoordinatensystem_BB' + rootClass = TCKoordinatensystem_BB + 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 = 'TCKoordinatensystem_BB' + rootClass = TCKoordinatensystem_BB + 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 = 'TCKoordinatensystem_BB' + rootClass = TCKoordinatensystem_BB + 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_='xmlns:nsPlanPro="http://www.plan-pro.org/modell/PlanPro/1.10.0"') + 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 = 'TCKoordinatensystem_BB' + rootClass = TCKoordinatensystem_BB + 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 model110 import *\n\n') + sys.stdout.write('import model110 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_ = { + "{http://www.plan-pro.org/modell/Ansteuerung_Element/1.10.0}TCHersteller": "TCHersteller20", + "{http://www.plan-pro.org/modell/Ansteuerung_Element/1.10.0}TCIP_Adressblock_Blau": "TCIP_Adressblock_Blau16", + "{http://www.plan-pro.org/modell/Ansteuerung_Element/1.10.0}TCIP_Adressblock_Blau_V4": "TCIP_Adressblock_Blau_V423", + "{http://www.plan-pro.org/modell/Ansteuerung_Element/1.10.0}TCIP_Adressblock_Blau_V6": "TCIP_Adressblock_Blau_V618", + "{http://www.plan-pro.org/modell/Ansteuerung_Element/1.10.0}TCIP_Adressblock_Grau": "TCIP_Adressblock_Grau22", + "{http://www.plan-pro.org/modell/Ansteuerung_Element/1.10.0}TCIP_Adressblock_Grau_V4": "TCIP_Adressblock_Grau_V417", + "{http://www.plan-pro.org/modell/Ansteuerung_Element/1.10.0}TCIP_Adressblock_Grau_V6": "TCIP_Adressblock_Grau_V619", + "{http://www.plan-pro.org/modell/Ansteuerung_Element/1.10.0}TCRegionalbereich": "TCRegionalbereich21", + "{http://www.plan-pro.org/modell/Ansteuerung_Element/1.10.0}TIP_Adressblock_Blau": "TIP_Adressblock_Blau27", + "{http://www.plan-pro.org/modell/Ansteuerung_Element/1.10.0}TIP_Adressblock_Blau_V4": "TIP_Adressblock_Blau_V429", + "{http://www.plan-pro.org/modell/Ansteuerung_Element/1.10.0}TIP_Adressblock_Blau_V6": "TIP_Adressblock_Blau_V628", + "{http://www.plan-pro.org/modell/Ansteuerung_Element/1.10.0}TIP_Adressblock_Grau": "TIP_Adressblock_Grau25", + "{http://www.plan-pro.org/modell/Ansteuerung_Element/1.10.0}TIP_Adressblock_Grau_V4": "TIP_Adressblock_Grau_V424", + "{http://www.plan-pro.org/modell/Ansteuerung_Element/1.10.0}TIP_Adressblock_Grau_V6": "TIP_Adressblock_Grau_V626", + "{http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0}TCAusrichtung": "TCAusrichtung9", + "{http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0}TCDateiname": "TCDateiname11", + "{http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0}TCHersteller": "TCHersteller13", + "{http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0}TCNeigung": "TCNeigung12", + "{http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0}TCPrioritaet": "TCPrioritaet10", + "{http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0}TCW_Lage": "TCW_Lage8", + "{http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0}TNeigung": "TNeigung15", + "{http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0}TPrioritaet": "TPrioritaet14", + "{http://www.plan-pro.org/modell/Bedienung/1.10.0}TCHersteller": "TCHersteller7", + "{http://www.plan-pro.org/modell/Bedienung/1.10.0}TCKennzahl": "TCKennzahl6", + "{http://www.plan-pro.org/modell/Block/1.10.0}TCBremsweg": "TCBremsweg5", + "{http://www.plan-pro.org/modell/Geodaten/1.10.0}TCGeschwindigkeit": "TCGeschwindigkeit3", + "{http://www.plan-pro.org/modell/Geodaten/1.10.0}TGeschwindigkeit": "TGeschwindigkeit4", + "{http://www.plan-pro.org/modell/Gleis/1.10.0}TFahrstrom": "TFahrstrom1", + "{http://www.plan-pro.org/modell/Gleis/1.10.0}TGeschwindigkeit": "TGeschwindigkeit2", + "{http://www.plan-pro.org/modell/PlanPro/1.10.0}TCStrecke_Km": "TCStrecke_Km30", + "{http://www.plan-pro.org/modell/PlanPro/1.10.0}TStrecke_Km": "TStrecke_Km31", +} + +# +# 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.plan-pro.org/modell/ATO/1.10.0': [('TNID_SP', 'ATO.xsd', 'ST'), + ('TAbstand_ATO_Halt_Vor_EoA', + 'ATO.xsd', + 'ST'), + ('TErreichungstoleranz', + 'ATO.xsd', + 'ST'), + ('THaltetoleranz', + 'ATO.xsd', + 'ST'), + ('TNID_ATOTS', 'ATO.xsd', 'ST'), + ('TNID_C_ATOTS', + 'ATO.xsd', + 'ST'), + ('TBezeichnung_ATO_TP', + 'ATO.xsd', + 'ST'), + ('TNID_TP', 'ATO.xsd', 'ST'), + ('CATO_Timing_Point_Bezeichnung', + 'ATO.xsd', + 'CT'), + ('CATO_Timing_Point_Allg', + 'ATO.xsd', + 'CT'), + ('CATO_TS_Instanz_Adresse', + 'ATO.xsd', + 'CT'), + ('TCErreichungstoleranz', + 'ATO.xsd', + 'CT'), + ('TCBezeichnung_ATO_TP', + 'ATO.xsd', + 'CT'), + ('TCNID_C_ATOTS ', + 'ATO.xsd', + 'CT'), + ('CATO_TS_Instanz', + 'ATO.xsd', + 'CT'), + ('TCNID_ATOTS', 'ATO.xsd', 'CT'), + ('CATO_Timing_Point', + 'ATO.xsd', + 'CT'), + ('CATO_Segment_Profile_Bezeichnung', + 'ATO.xsd', + 'CT'), + ('TCHaltetoleranz', + 'ATO.xsd', + 'CT'), + ('TCNID_TP', 'ATO.xsd', 'CT'), + ('TCAbstand_ATO_Halt_Vor_EoA', + 'ATO.xsd', + 'CT'), + ('TCNID_SP', 'ATO.xsd', 'CT'), + ('CATO_Segment_Profile', + 'ATO.xsd', + 'CT')], + 'http://www.plan-pro.org/modell/Ansteuerung_Element/1.10.0': [('ENUMMedium_Art', + 'Ansteuerung_Element.xsd', + 'ST'), + ('ENUMUnterbringung_Befestigung', + 'Ansteuerung_Element.xsd', + 'ST'), + ('TBezeichnung_Stellwerk', + 'Ansteuerung_Element.xsd', + 'ST'), + ('ENUMEV_Art', + 'Ansteuerung_Element.xsd', + 'ST'), + ('TBezeichnung_TSO', + 'Ansteuerung_Element.xsd', + 'ST'), + ('TIP_Adressblock_Grau_V4', + 'Ansteuerung_Element.xsd', + 'ST'), + ('TBezeichnung_AEA', + 'Ansteuerung_Element.xsd', + 'ST'), + ('TStandort_Beschreibung', + 'Ansteuerung_Element.xsd', + 'ST'), + ('ENUMUnterbringung_Art', + 'Ansteuerung_Element.xsd', + 'ST'), + ('ENUMTSO_Teilsystem_Art', + 'Ansteuerung_Element.xsd', + 'ST'), + ('TTechnik_Beschreibung', + 'Ansteuerung_Element.xsd', + 'ST'), + ('TUnterbringung_Polygonzug', + 'Ansteuerung_Element.xsd', + 'ST'), + ('TIP_Adressblock_Grau', + 'Ansteuerung_Element.xsd', + 'ST'), + ('TZusatzinformation_Stellwerk', + 'Ansteuerung_Element.xsd', + 'ST'), + ('ENUMBandbreite', + 'Ansteuerung_Element.xsd', + 'ST'), + ('TIP_Adressblock_Grau_V6', + 'Ansteuerung_Element.xsd', + 'ST'), + ('ENUMGFK_Kategorie', + 'Ansteuerung_Element.xsd', + 'ST'), + ('ENUMTechnik_Art', + 'Ansteuerung_Element.xsd', + 'ST'), + ('ENUMUebertragungsweg_Art', + 'Ansteuerung_Element.xsd', + 'ST'), + ('TIP_Adressblock_Blau', + 'Ansteuerung_Element.xsd', + 'ST'), + ('TIP_Adressblock_Blau_V6', + 'Ansteuerung_Element.xsd', + 'ST'), + ('TBezeichnung_ESTW_ZE', + 'Ansteuerung_Element.xsd', + 'ST'), + ('TBauart', + 'Ansteuerung_Element.xsd', + 'ST'), + ('ENUMAussenelementansteuerung_Art', + 'Ansteuerung_Element.xsd', + 'ST'), + ('ENUMNetz_Art', + 'Ansteuerung_Element.xsd', + 'ST'), + ('ENUMTueranschlag', + 'Ansteuerung_Element.xsd', + 'ST'), + ('TIP_Adressblock_Blau_V4', + 'Ansteuerung_Element.xsd', + 'ST'), + ('TCZusatzinformation_Stellwerk', + 'Ansteuerung_Element.xsd', + 'CT'), + ('TCGFK_Kategorie', + 'Ansteuerung_Element.xsd', + 'CT'), + ('TCBandbreite', + 'Ansteuerung_Element.xsd', + 'CT'), + ('CUebertragungsweg_Technik', + 'Ansteuerung_Element.xsd', + 'CT'), + ('TCMedium_Art', + 'Ansteuerung_Element.xsd', + 'CT'), + ('CESTW_Zentraleinheit', + 'Ansteuerung_Element.xsd', + 'CT'), + ('TCBezeichnung_TSO', + 'Ansteuerung_Element.xsd', + 'CT'), + ('TCIP_Adressblock_Blau', + 'Ansteuerung_Element.xsd', + 'CT'), + ('CTechnik_Standort_Bezeichnung', + 'Ansteuerung_Element.xsd', + 'CT'), + ('CTechnik_Standort', + 'Ansteuerung_Element.xsd', + 'CT'), + ('CESTW_ZE_Energieversorgung', + 'Ansteuerung_Element.xsd', + 'CT'), + ('CAEA_Allg', + 'Ansteuerung_Element.xsd', + 'CT'), + ('CUnterbringung', + 'Ansteuerung_Element.xsd', + 'CT'), + ('TCTechnik_Beschreibung', + 'Ansteuerung_Element.xsd', + 'CT'), + ('TCStandort_Beschreibung', + 'Ansteuerung_Element.xsd', + 'CT'), + ('TCBezeichnung_ESTW_ZE', + 'Ansteuerung_Element.xsd', + 'CT'), + ('TCAussenelementansteuerung_Art', + 'Ansteuerung_Element.xsd', + 'CT'), + ('TCTSO_Teilsystem_Art', + 'Ansteuerung_Element.xsd', + 'CT'), + ('CAussenelementansteuerung', + 'Ansteuerung_Element.xsd', + 'CT'), + ('CUnterbringung_Allg', + 'Ansteuerung_Element.xsd', + 'CT'), + ('CUebertragungsweg', + 'Ansteuerung_Element.xsd', + 'CT'), + ('TCEnergieversorgung_Art_Ersatz', + 'Ansteuerung_Element.xsd', + 'CT'), + ('TCIP_Adressblock_Grau_V4', + 'Ansteuerung_Element.xsd', + 'CT'), + ('TCNetz_Art', + 'Ansteuerung_Element.xsd', + 'CT'), + ('TCUnterbringung_Polygonzug', + 'Ansteuerung_Element.xsd', + 'CT'), + ('TCIP_Adressblock_Blau_V6', + 'Ansteuerung_Element.xsd', + 'CT'), + ('TCIP_Adressblock_Grau_V6', + 'Ansteuerung_Element.xsd', + 'CT'), + ('CESTW_Zentraleinheit_Bezeichnung', + 'Ansteuerung_Element.xsd', + 'CT'), + ('TCHersteller', + 'Ansteuerung_Element.xsd', + 'CT'), + ('CTSO_IP_AB_Teilsystem', + 'Ansteuerung_Element.xsd', + 'CT'), + ('TCUnterbringung_Art', + 'Ansteuerung_Element.xsd', + 'CT'), + ('TCRegionalbereich', + 'Ansteuerung_Element.xsd', + 'CT'), + ('CAEA_Energieversorgung', + 'Ansteuerung_Element.xsd', + 'CT'), + ('TCBezeichnung_AEA', + 'Ansteuerung_Element.xsd', + 'CT'), + ('TCBezeichnung_Stellwerk', + 'Ansteuerung_Element.xsd', + 'CT'), + ('CStell_Bereich', + 'Ansteuerung_Element.xsd', + 'CT'), + ('TCTueranschlag', + 'Ansteuerung_Element.xsd', + 'CT'), + ('CAEA_GFK_IP_Adressblock', + 'Ansteuerung_Element.xsd', + 'CT'), + ('TCTechnik_Art', + 'Ansteuerung_Element.xsd', + 'CT'), + ('TCBauart', + 'Ansteuerung_Element.xsd', + 'CT'), + ('TCEnergieversorgung_Art', + 'Ansteuerung_Element.xsd', + 'CT'), + ('CTSO_IP_Adressblock', + 'Ansteuerung_Element.xsd', + 'CT'), + ('TCIP_Adressblock_Grau', + 'Ansteuerung_Element.xsd', + 'CT'), + ('TCUebertragungsweg_Art', + 'Ansteuerung_Element.xsd', + 'CT'), + ('CAussenelementansteuerung_Bezeichnung', + 'Ansteuerung_Element.xsd', + 'CT'), + ('CStellelement', + 'Ansteuerung_Element.xsd', + 'CT'), + ('TCUnterbringung_Befestigung', + 'Ansteuerung_Element.xsd', + 'CT'), + ('CESTW_Zentraleinheit_Allg', + 'Ansteuerung_Element.xsd', + 'CT'), + ('TCIP_Adressblock_Blau_V4', + 'Ansteuerung_Element.xsd', + 'CT')], + 'http://www.plan-pro.org/modell/Bahnsteig/1.10.0': [('ENUMSystemhoehe', + 'Bahnsteig.xsd', + 'ST'), + ('TBezeichnung_Bahnsteig_Anlage', + 'Bahnsteig.xsd', + 'ST'), + ('ENUMBahnsteig_Zugang_Art', + 'Bahnsteig.xsd', + 'ST'), + ('TBezeichnung_Bahnsteig_Kante', + 'Bahnsteig.xsd', + 'ST'), + ('TLage_Zum_Gleis', + 'Bahnsteig.xsd', + 'ST'), + ('THauptzugang', + 'Bahnsteig.xsd', + 'ST'), + ('TCBahnsteig_Zugang_Art', + 'Bahnsteig.xsd', + 'CT'), + ('CBahnsteig_Zugang_Allg', + 'Bahnsteig.xsd', + 'CT'), + ('TCSystemhoehe', + 'Bahnsteig.xsd', + 'CT'), + ('TCHauptzugang', + 'Bahnsteig.xsd', + 'CT'), + ('TCBezeichnung_Bahnsteig_Anlage', + 'Bahnsteig.xsd', + 'CT'), + ('TCLage_Zum_Gleis', + 'Bahnsteig.xsd', + 'CT'), + ('CBahnsteig_Dach', + 'Bahnsteig.xsd', + 'CT'), + ('TCBezeichnung_Bahnsteig_Kante', + 'Bahnsteig.xsd', + 'CT'), + ('CBahnsteig_Anlage_Bezeichnung', + 'Bahnsteig.xsd', + 'CT'), + ('CBahnsteig_Kante', + 'Bahnsteig.xsd', + 'CT'), + ('CBahnsteig_Kante_Allg', + 'Bahnsteig.xsd', + 'CT'), + ('CBahnsteig_Zugang', + 'Bahnsteig.xsd', + 'CT'), + ('CBahnsteig_Kante_Bezeichnung', + 'Bahnsteig.xsd', + 'CT'), + ('CBahnsteig_Anlage', + 'Bahnsteig.xsd', + 'CT')], + 'http://www.plan-pro.org/modell/Bahnuebergang/1.10.0': [('ENUMMontage_Ausgleichsgewichte', + 'Bahnuebergang.xsd', + 'ST'), + ('TLieferlaenge', + 'Bahnuebergang.xsd', + 'ST'), + ('TSperrstrecke_Fussgaenger', + 'Bahnuebergang.xsd', + 'ST'), + ('TEinschaltverz_Gewaehlt', + 'Bahnuebergang.xsd', + 'ST'), + ('TSicherheitsabstand', + 'Bahnuebergang.xsd', + 'ST'), + ('TBlitzpfeil', + 'Bahnuebergang.xsd', + 'ST'), + ('TSchutzbuegel', + 'Bahnuebergang.xsd', + 'ST'), + ('ENUMKlassifizierung', + 'Bahnuebergang.xsd', + 'ST'), + ('TKontrastblende', + 'Bahnuebergang.xsd', + 'ST'), + ('TPegel', + 'Bahnuebergang.xsd', + 'ST'), + ('TTragkopf_Verstellbar', + 'Bahnuebergang.xsd', + 'ST'), + ('TBUE_Neigung', + 'Bahnuebergang.xsd', + 'ST'), + ('TMontagehoehe', + 'Bahnuebergang.xsd', + 'ST'), + ('TTeilsperrstrecke', + 'Bahnuebergang.xsd', + 'ST'), + ('TRaeumstrecke_DBK', + 'Bahnuebergang.xsd', + 'ST'), + ('TV_Min_Fussweg', + 'Bahnuebergang.xsd', + 'ST'), + ('TBUE_Nachlaufzeit', + 'Bahnuebergang.xsd', + 'ST'), + ('TV_Min_Schiene', + 'Bahnuebergang.xsd', + 'ST'), + ('TEinschaltverz_Errechnet', + 'Bahnuebergang.xsd', + 'ST'), + ('TBezeichnung_GFR_Tripelspiegel', + 'Bahnuebergang.xsd', + 'ST'), + ('ENUMHp_Ersatzstecker', + 'Bahnuebergang.xsd', + 'ST'), + ('ENUMOptik_Symbol', + 'Bahnuebergang.xsd', + 'ST'), + ('ENUMFuss_Radweg_Seite', + 'Bahnuebergang.xsd', + 'ST'), + ('TSperrlaenge', + 'Bahnuebergang.xsd', + 'ST'), + ('TPixel_Koordinate_X', + 'Bahnuebergang.xsd', + 'ST'), + ('TKreuzungswinkel', + 'Bahnuebergang.xsd', + 'ST'), + ('ENUMBUE_Funktionsueberwachung', + 'Bahnuebergang.xsd', + 'ST'), + ('TRaeumstrecke_DCK', + 'Bahnuebergang.xsd', + 'ST'), + ('ENUMBaumprofil', + 'Bahnuebergang.xsd', + 'ST'), + ('ENUMFue_Schaltfall', + 'Bahnuebergang.xsd', + 'ST'), + ('TRaeumstrecke_DAB', + 'Bahnuebergang.xsd', + 'ST'), + ('ENUMRichtungspfeil', + 'Bahnuebergang.xsd', + 'ST'), + ('TGleis_Am_Bue', + 'Bahnuebergang.xsd', + 'ST'), + ('TTeilvorgabezeit', + 'Bahnuebergang.xsd', + 'ST'), + ('TRaeumstrecke_DSK_Strich', + 'Bahnuebergang.xsd', + 'ST'), + ('TZusatzschild', + 'Bahnuebergang.xsd', + 'ST'), + ('TBezeichnung_BUE_GFR_Eckpunkt', + 'Bahnuebergang.xsd', + 'ST'), + ('TSignalverz_Errechnet', + 'Bahnuebergang.xsd', + 'ST'), + ('TSperrstrecke', + 'Bahnuebergang.xsd', + 'ST'), + ('TBUE_Vorlaufzeit', + 'Bahnuebergang.xsd', + 'ST'), + ('TBUE_Sicherungszeit', + 'Bahnuebergang.xsd', + 'ST'), + ('TVorgeschaltet', + 'Bahnuebergang.xsd', + 'ST'), + ('ENUMBUE_Handschalteinrichtung', + 'Bahnuebergang.xsd', + 'ST'), + ('TAkustik_Fussgaenger', + 'Bahnuebergang.xsd', + 'ST'), + ('TMontage_Besonders', + 'Bahnuebergang.xsd', + 'ST'), + ('ENUMLagerung', + 'Bahnuebergang.xsd', + 'ST'), + ('THaltezeit', + 'Bahnuebergang.xsd', + 'ST'), + ('TBaulast', + 'Bahnuebergang.xsd', + 'ST'), + ('TBezeichnung_Verkehrszeichen', + 'Bahnuebergang.xsd', + 'ST'), + ('TPixel_Koordinate_Y', + 'Bahnuebergang.xsd', + 'ST'), + ('TOptik_Durchmesser', + 'Bahnuebergang.xsd', + 'ST'), + ('TGFR_Typ', + 'Bahnuebergang.xsd', + 'ST'), + ('ENUMBUE_Technik', + 'Bahnuebergang.xsd', + 'ST'), + ('TRaeumstrecke', + 'Bahnuebergang.xsd', + 'ST'), + ('TFahrbahn_Befestigung_Gleis', + 'Bahnuebergang.xsd', + 'ST'), + ('TSignalverz_Gewaehlt', + 'Bahnuebergang.xsd', + 'ST'), + ('TAbstand_Gehweg_Fahrbahn', + 'Bahnuebergang.xsd', + 'ST'), + ('TAusrichtung_Winkel', + 'Bahnuebergang.xsd', + 'ST'), + ('TBez_Schrankenantrieb', + 'Bahnuebergang.xsd', + 'ST'), + ('TFahrbahn_Befestigung', + 'Bahnuebergang.xsd', + 'ST'), + ('TFahrbahn_Breite', + 'Bahnuebergang.xsd', + 'ST'), + ('ENUMBUE_Sicherungsart', + 'Bahnuebergang.xsd', + 'ST'), + ('ENUMBUE_Bauart', + 'Bahnuebergang.xsd', + 'ST'), + ('TSchaltgruppe', + 'Bahnuebergang.xsd', + 'ST'), + ('TBeeinflussung_Strassenverkehr', + 'Bahnuebergang.xsd', + 'ST'), + ('ENUMLFUE_Impuls', + 'Bahnuebergang.xsd', + 'ST'), + ('TGFR_Neigung', + 'Bahnuebergang.xsd', + 'ST'), + ('TZeitueberschreitungsmeldung', + 'Bahnuebergang.xsd', + 'ST'), + ('ENUMGFR_Art', + 'Bahnuebergang.xsd', + 'ST'), + ('TV_Max_Schiene', + 'Bahnuebergang.xsd', + 'ST'), + ('TV_Max_Strasse', + 'Bahnuebergang.xsd', + 'ST'), + ('TV_Min_Strasse', + 'Bahnuebergang.xsd', + 'ST'), + ('ENUMFuss_Radweg_Art', + 'Bahnuebergang.xsd', + 'ST'), + ('TWinkel_Alpha', + 'Bahnuebergang.xsd', + 'ST'), + ('TBUE_Strasse', + 'Bahnuebergang.xsd', + 'ST'), + ('TBezeichnung_GFR_Element', + 'Bahnuebergang.xsd', + 'ST'), + ('TCBezeichnung_GFR_Element', + 'Bahnuebergang.xsd', + 'CT'), + ('TCRaeumstrecke_DBK', + 'Bahnuebergang.xsd', + 'CT'), + ('CBUE_Einschaltung_Zuordnung', + 'Bahnuebergang.xsd', + 'CT'), + ('TCKlassifizierung', + 'Bahnuebergang.xsd', + 'CT'), + ('TCPixel_Koordinate_X', + 'Bahnuebergang.xsd', + 'CT'), + ('CBUE_Anlage_Strasse_Allg', + 'Bahnuebergang.xsd', + 'CT'), + ('CGFR_Element_Bezeichnung', + 'Bahnuebergang.xsd', + 'CT'), + ('TCLieferlaenge', + 'Bahnuebergang.xsd', + 'CT'), + ('TCRaeumstrecke_DSK_Strich', + 'Bahnuebergang.xsd', + 'CT'), + ('CBUE_Anlage_V', + 'Bahnuebergang.xsd', + 'CT'), + ('TCRaeumstrecke_DCK', + 'Bahnuebergang.xsd', + 'CT'), + ('CVerkehrszeichen_Allg', + 'Bahnuebergang.xsd', + 'CT'), + ('TCZeitueberschreitungsmeldung', + 'Bahnuebergang.xsd', + 'CT'), + ('TCV_Max_Strasse', + 'Bahnuebergang.xsd', + 'CT'), + ('TCBUE_Neigung', + 'Bahnuebergang.xsd', + 'CT'), + ('CBUE_Anlage_Allg', + 'Bahnuebergang.xsd', + 'CT'), + ('TCGitterbehang', + 'Bahnuebergang.xsd', + 'CT'), + ('TCEinschaltverz_Errechnet', + 'Bahnuebergang.xsd', + 'CT'), + ('TCGFR_Art', + 'Bahnuebergang.xsd', + 'CT'), + ('CBUE_Kreuzungsplan', + 'Bahnuebergang.xsd', + 'CT'), + ('TCGleis_Am_Bue', + 'Bahnuebergang.xsd', + 'CT'), + ('CVz_Sperrstrecke', + 'Bahnuebergang.xsd', + 'CT'), + ('CBUE_Bedien_Anz_Element_Allg', + 'Bahnuebergang.xsd', + 'CT'), + ('TCKurzzugschaltung', + 'Bahnuebergang.xsd', + 'CT'), + ('TCBUE_Nachlaufzeit', + 'Bahnuebergang.xsd', + 'CT'), + ('TCHaltezeit', + 'Bahnuebergang.xsd', + 'CT'), + ('CGFR_Element', + 'Bahnuebergang.xsd', + 'CT'), + ('TCBUE_Technik', + 'Bahnuebergang.xsd', + 'CT'), + ('TCTeilsperrstrecke', + 'Bahnuebergang.xsd', + 'CT'), + ('CGFR_Tripelspiegel_Allg', + 'Bahnuebergang.xsd', + 'CT'), + ('CBUE_Anlage_V_Allg', + 'Bahnuebergang.xsd', + 'CT'), + ('CGFR_Tripelspiegel_Bezeichnung', + 'Bahnuebergang.xsd', + 'CT'), + ('TCMontage_Ausgleichsgewichte', + 'Bahnuebergang.xsd', + 'CT'), + ('TCTragkopf_Verstellbar', + 'Bahnuebergang.xsd', + 'CT'), + ('TCWinkel_Alpha', + 'Bahnuebergang.xsd', + 'CT'), + ('TCKontrastblende', + 'Bahnuebergang.xsd', + 'CT'), + ('TCFuss_Radweg_Seite', + 'Bahnuebergang.xsd', + 'CT'), + ('TCBezeichnung_GFR_Tripelspiegel', + 'Bahnuebergang.xsd', + 'CT'), + ('CBUE_Anlage_Fuss_Rad', + 'Bahnuebergang.xsd', + 'CT'), + ('TCGFR_Neigung', + 'Bahnuebergang.xsd', + 'CT'), + ('TCBezeichnung_BUE_GFR_Eckpunkt', + 'Bahnuebergang.xsd', + 'CT'), + ('TCKreuzungswinkel', + 'Bahnuebergang.xsd', + 'CT'), + ('CBUE_Schnittstelle_Allg', + 'Bahnuebergang.xsd', + 'CT'), + ('TCV_Min_Fussweg', + 'Bahnuebergang.xsd', + 'CT'), + ('TCZusatzschild', + 'Bahnuebergang.xsd', + 'CT'), + ('TCMontagehoehe', + 'Bahnuebergang.xsd', + 'CT'), + ('TCBUE_Mit_GFR', + 'Bahnuebergang.xsd', + 'CT'), + ('CSchrankenantrieb', + 'Bahnuebergang.xsd', + 'CT'), + ('CBUE_Ausschaltung', + 'Bahnuebergang.xsd', + 'CT'), + ('TCBUE_Bauart', + 'Bahnuebergang.xsd', + 'CT'), + ('CBUE_Einschaltung_Hp', + 'Bahnuebergang.xsd', + 'CT'), + ('CVz_Sperrstrecke_Schranke', + 'Bahnuebergang.xsd', + 'CT'), + ('TCSicherheitsabstand', + 'Bahnuebergang.xsd', + 'CT'), + ('CVerkehrszeichen_Lz', + 'Bahnuebergang.xsd', + 'CT'), + ('CGFR_Anlage', + 'Bahnuebergang.xsd', + 'CT'), + ('TCSignalverz_Gewaehlt', + 'Bahnuebergang.xsd', + 'CT'), + ('TCErsatzstecker_Gleisbezogen', + 'Bahnuebergang.xsd', + 'CT'), + ('CBUE_Spezifisches_Signal', + 'Bahnuebergang.xsd', + 'CT'), + ('CBUE_Bedien_Anzeige_Element', + 'Bahnuebergang.xsd', + 'CT'), + ('CBUE_Gefahrraum_Eckpunkt', + 'Bahnuebergang.xsd', + 'CT'), + ('CVerkehrszeichen', + 'Bahnuebergang.xsd', + 'CT'), + ('TCAkustik_Fussgaenger', + 'Bahnuebergang.xsd', + 'CT'), + ('TCFahrbahn_Befestigung_Gleis', + 'Bahnuebergang.xsd', + 'CT'), + ('TCHp_Ersatzstecker', + 'Bahnuebergang.xsd', + 'CT'), + ('TCV_Min_Schiene', + 'Bahnuebergang.xsd', + 'CT'), + ('CBUE_Gefahrraum_Eckpunkt_Bezeichnung', + 'Bahnuebergang.xsd', + 'CT'), + ('CGFR_Tripelspiegel', + 'Bahnuebergang.xsd', + 'CT'), + ('TCBez_Schrankenantrieb', + 'Bahnuebergang.xsd', + 'CT'), + ('TCSchutzbuegel', + 'Bahnuebergang.xsd', + 'CT'), + ('CBUE_Abhaengigkeit_Fue', + 'Bahnuebergang.xsd', + 'CT'), + ('CSA_Schrankenbaum', + 'Bahnuebergang.xsd', + 'CT'), + ('CBUE_Kante', + 'Bahnuebergang.xsd', + 'CT'), + ('CSchrankenantrieb_Bezeichnung', + 'Bahnuebergang.xsd', + 'CT'), + ('TCLagerung_Art', + 'Bahnuebergang.xsd', + 'CT'), + ('TCSignalverz_Errechnet', + 'Bahnuebergang.xsd', + 'CT'), + ('TCSperrstrecke', + 'Bahnuebergang.xsd', + 'CT'), + ('CBUE_Schnittstelle', + 'Bahnuebergang.xsd', + 'CT'), + ('CBUE_Deckendes_Signal_Zuordnung', + 'Bahnuebergang.xsd', + 'CT'), + ('TCAusrichtung', + 'Bahnuebergang.xsd', + 'CT'), + ('CBUE_Gleisbezogener_Gefahrraum', + 'Bahnuebergang.xsd', + 'CT'), + ('TCMontage_Besonders', + 'Bahnuebergang.xsd', + 'CT'), + ('CSchrankenantrieb_Allg', + 'Bahnuebergang.xsd', + 'CT'), + ('TCEinschaltverz_Gewaehlt', + 'Bahnuebergang.xsd', + 'CT'), + ('TCBUE_Handschalteinrichtung', + 'Bahnuebergang.xsd', + 'CT'), + ('TCBUE_Strasse', + 'Bahnuebergang.xsd', + 'CT'), + ('TCPixel_Koordinate_Y', + 'Bahnuebergang.xsd', + 'CT'), + ('TCRaeumstrecke_DAB', + 'Bahnuebergang.xsd', + 'CT'), + ('CSchaltmittel_Fstr_Zuordnung', + 'Bahnuebergang.xsd', + 'CT'), + ('TCOptik_Symbolmaske', + 'Bahnuebergang.xsd', + 'CT'), + ('TCV_Min_Strasse', + 'Bahnuebergang.xsd', + 'CT'), + ('TCGFR_Typ', + 'Bahnuebergang.xsd', + 'CT'), + ('TCAbstand_Gehweg_Fahrbahn', + 'Bahnuebergang.xsd', + 'CT'), + ('TCSchaltgruppe', + 'Bahnuebergang.xsd', + 'CT'), + ('TCTeilvorgabezeit', + 'Bahnuebergang.xsd', + 'CT'), + ('TCBUE_Vorlaufzeit', + 'Bahnuebergang.xsd', + 'CT'), + ('TCBezeichnung_Verkehrszeichen', + 'Bahnuebergang.xsd', + 'CT'), + ('TCSperrstrecke_Fussgaenger', + 'Bahnuebergang.xsd', + 'CT'), + ('CBUE_Kreuzungsplan_Koordinaten', + 'Bahnuebergang.xsd', + 'CT'), + ('CVz_Sperrstrecke_Vorgeschaltet', + 'Bahnuebergang.xsd', + 'CT'), + ('TCStoerhalt_Haltfall', + 'Bahnuebergang.xsd', + 'CT'), + ('TCBeeinflussung_Strassenverkehr', + 'Bahnuebergang.xsd', + 'CT'), + ('TCBaulast', + 'Bahnuebergang.xsd', + 'CT'), + ('TCFahrbahn_Breite', + 'Bahnuebergang.xsd', + 'CT'), + ('CGFR_Anlage_Allg', + 'Bahnuebergang.xsd', + 'CT'), + ('CBUE_Anlage_Strasse', + 'Bahnuebergang.xsd', + 'CT'), + ('TCRaeumstrecke', + 'Bahnuebergang.xsd', + 'CT'), + ('TCOptik_Durchmesser', + 'Bahnuebergang.xsd', + 'CT'), + ('CVerkehrszeichen_Bezeichnung', + 'Bahnuebergang.xsd', + 'CT'), + ('CBUE_Anlage', + 'Bahnuebergang.xsd', + 'CT'), + ('CBUE_WS_Fstr_Zuordnung', + 'Bahnuebergang.xsd', + 'CT'), + ('TCBUE_Buestra', + 'Bahnuebergang.xsd', + 'CT'), + ('TCBlitzpfeil', + 'Bahnuebergang.xsd', + 'CT'), + ('TCFuss_Radweg_Art', + 'Bahnuebergang.xsd', + 'CT'), + ('CVerkehrszeichen_Andreaskreuz', + 'Bahnuebergang.xsd', + 'CT'), + ('TCPegel', + 'Bahnuebergang.xsd', + 'CT'), + ('TCHersteller', + 'Bahnuebergang.xsd', + 'CT'), + ('TCRichtungspfeil', + 'Bahnuebergang.xsd', + 'CT'), + ('TCStoerhalt_Merkhinweis', + 'Bahnuebergang.xsd', + 'CT'), + ('CBUE_Einschaltung', + 'Bahnuebergang.xsd', + 'CT'), + ('TCFahrbahn_Befestigung', + 'Bahnuebergang.xsd', + 'CT'), + ('TCBaumprofil', + 'Bahnuebergang.xsd', + 'CT'), + ('TCSperrlaenge', + 'Bahnuebergang.xsd', + 'CT'), + ('TCBUE_Sicherungsart', + 'Bahnuebergang.xsd', + 'CT'), + ('TCAusrichtung_Winkel', + 'Bahnuebergang.xsd', + 'CT'), + ('TCLFUE_Impuls', + 'Bahnuebergang.xsd', + 'CT'), + ('TCVorgeschaltet', + 'Bahnuebergang.xsd', + 'CT'), + ('TCAuto_Het', + 'Bahnuebergang.xsd', + 'CT'), + ('TCFue_Schaltfall', + 'Bahnuebergang.xsd', + 'CT'), + ('TCBUE_Funktionsueberwachung', + 'Bahnuebergang.xsd', + 'CT'), + ('TCV_Max_Schiene', + 'Bahnuebergang.xsd', + 'CT'), + ('TCBUE_Sicherungszeit', + 'Bahnuebergang.xsd', + 'CT')], + 'http://www.plan-pro.org/modell/Balisentechnik_ETCS/1.10.0': [('ENUMDP_Bezug_Funktional_Art', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('TZBS_La_Bereich_Distanz', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('ENUMFT_GNT_Punktart', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('TVerkuerzter_Abstand', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('TBez_Strecke_BTS_2', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('TRufnummer', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('TDatenpunkt_Laenge', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('TAbstand_Einmesspunkt', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('TGruppen_ID', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('TRBC_SRS_Version', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('TNennleistung', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('TVLA', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('TLaenge_Soll_Mind_150', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('TAnwendung_Sonst', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('TBalise_Geraetestand', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('ENUMDP_Typ_ZBS', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('TBezeichnung_LEU_Anlage', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('TVGR', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('ENUMVerwendung_Als_Rueckfall', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('TESG_Ind_Parameterwert', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('TVBC_Kennung', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('ENUMPosition', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('ENUMSBE', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('TMax_Leistung', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('TMetallteil_Laenge', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('ENUMETCS_Knoten_Art_Sonstige', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('TAusgang_Nr', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('TTelegramm_Index', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('ENUMEV_Modul_Art', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('TZBS_La_Bereich_Geschwindigkeit', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('TPrioritaet', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('TDP_Typ_ETCS', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('TMassgebende_Neigung_Mind_150', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('TDWeg_Intervall_50_200', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('TFabrikat', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('TFT_ETCS_L2_Typ', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('ENUMZBS_Reaktion', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('TUeberwachung_Laenge', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('TMax_Unterbrechungszeit', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('TETCS_System_Version', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('TETCS_Parametername', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('TKm_BTS_2', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('TOberstrombegrenzung_Gueterzug', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('ENUMM_LEVELTR', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('ENUMEinzeldatei_Art', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('TFT_ESG_Subtyp', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('TLEU_Schaltkasten_Typ', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('TLeistungsbedarf', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('TESG_Ind_Parameter', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('TLLA', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('ENUMFT_Hinweis_Funktion', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('TLink_Distanz', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('ENUMArt_Bedingung', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('TAbstand_Grenze_Bereich_C', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('TBez_ZUB_Bereichsgrenze', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('TSolllaenge_Mind_Sig', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('ENUMLEU_Art', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('TLaenge_Ausfuehrungsbereich', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('TVGR_2', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('TVZ', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('TVBC_Timer', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('TETCS_Par_Erlaeuterung', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('ENUMStandortangabe_Balisenschild', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('ENUMW_Anschluss', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('TDWeg_Intervall_200', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('TDatenpunkt_Beschreibung', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('TBez_Strecke_BTS_3', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('TESG_Ind_Erlaeuterung', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('TDelta_VLES', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('TBezeichnung_ZUB_SE', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('TDP_Typ_V_La', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('TAnzahl_Voll_LEU_Kalkuliert', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('TSpannung_Toleranz_Untere', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('ENUMDP_Link_Art', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('TSonstige_Standortangabe', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('TV_Start', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('TLEU_Modul_Geraetestand', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('ENUMDP_ATO', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('TAnordnung_Im_DP', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('TZBS_La_Bereich_Neigung', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('TAnlagenteil_Sonstige', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('TSchutzstrecke_Erforderlich', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('ENUMFT_ZBS_Typ', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('TKonfigurationskennung', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('TBezeichnung_ZUB', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('TLaenge_1', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('TETCS_Paketnummer', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('ENUMVerbot_WB_Art', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('TETCS_Gefahrpunktabstand_Abweichend', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('TDelta_VZES', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('TMassgebende_Neigung_Mind_Sig', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('TV_Zul_Strecke', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('TNeigung', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('ENUMSTZ', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('ENUMDP_Typ_Art', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('TVBC_NID_C', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('TBaseline_System_Version', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('ENUMDP_Typ_GNT', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('TUeberbrueckung_EV_Unterbrechung', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('TTelegrammnummer', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('TVorsignalabstand', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('ENUMDP_Typ_Trans', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('TLaenge_Gestufte_V_Signalisierung', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('ENUMDP_Typ_ESG', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('TZLA', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('TOberstrombegrenzung_Reisezug', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('ENUMNID_STM', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('TTBV_Tunnelbereich_Laenge', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('THinweis_Balisenbefestigung', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('TSystem_Vor_Grenze_Besonders', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('TAbstand_Datenpunkt_EH_EM_Folgesignal', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('ENUMAusstieg_ETCS_Sperre', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('TV_Ziel', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('TFT_ESG_Typ', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('TEV_Modul_Typ', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('TDelta_VGES', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('TL_ACKLEVELTR', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('ENUMSpannung_Art', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('TKm_BTS_3', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('TIndividualisierung_Weitere', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('TAnzeigetext', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('TFW_Teil_Nummer', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('TV_Befehl_Z', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('TV_Frei', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('TTextmeldung', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('TMassgebende_Neig_1', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('TDWeg_Intervall_50', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('ENUMBalisenhalter', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('TDP_Typ_Sonst', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('TSolllaenge_Mind_Sig_150', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('TLEU_Ausgang_Nr', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('TWirkrichtung_In_Datenpunkt', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('TText_Bedingung', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('TBedingung_Weichenlage', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('TNummer_Schaltkasten', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('TRekursion_2_Nr', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('TPosition_Sonstige', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('TMetallteil_Kategorie', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('TMassgebende_Neigung_Mind_Sig_150', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('TAbstand_Datenpunkt_EP_TPI', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('TETCS_Parameterwert', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('TUntergruppen_ID', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('TRekursion_Nr', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('TNID_TSR', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('TNID_RBC', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('TSpannung_Toleranz_Obere', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('TDateityp_Binaerdatei', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('TD_LEVELTR', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('TProjektierungsfall', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('TV_Befehl_R', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('TBezeichnung_ETCS_Kante', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('ENUMEnergie_Eingang_Art', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('TNID_C', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('TVerbot_Anhalten', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('TMassgebende_Neig_Schutzstrecke', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('TSRS_Version', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('TBez_Strecke_BTS_1', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('TNID_BG', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('TKm_BTS_1', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('TPort_Nr_Ausg_Physisch', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('TRBC_ETCS_System_Version', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('TAbstand_Bes_Langer_Einfahrweg', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('TVerwendung_Hilfe', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('TLEU_Modul_Typ', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('TLfd_Nr_Am_Bezugspunkt', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('TVGR_1', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('TZBS_La_Bereich_Laenge', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('TAbstand_Datenpunkt_TPI_Folgesignal', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('TSchutzstrecke_Vorhanden', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('TVerwendung', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('TModulnummer', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('TMontageabweichung', + 'Balisentechnik_ETCS.xsd', + 'ST'), + ('TCFT_Hinweis_Funktion', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('CZUB_Bereichsgrenze_Nach_PZB', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCRBC_ETCS_System_Version', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('CBgrenze_Nach_ZBS_Bed_Einstieg', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('CFT_ETCS_Trans_Merkmale', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCMetallteil_Kategorie', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCTelegramm_Index', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCDP_Typ_V_La', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCAnordnung_Im_DP', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('CEV_Modul_Physisch', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCSystem_Vor_Grenze', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCBalise_Geraetestand', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('CZUB_SE_Ausruestung', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCTelegrammnummer', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCOberstrombegrenzung_Gueterzug', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('CZiel_W_Element', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCBezeichnung_ZUB', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('CRBC', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('CDP_Telegramm_ESG', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('CDP_ETCS_Adresse', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCWirksam', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCETCS_Parametername', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('CBedingung_Besondere', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCLEU_Modul_Geraetestand', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCFT_ESG_Subtyp', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCFabrikat', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCDunkelschaltanstoss', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCArt_Bedingung', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCKonfigurationskennung', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCIndividualisierung_Weitere', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCPosition', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCVGR_2', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCDP_Bezug_Funktional_Art', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCRekursion_2_Nr', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCLaenge_Gestufte_V_Signalisierung', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('CZUB_Bereichsgrenze_Nach_LZB', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCAbstand_Datenpunkt_EP_TPI', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('CZUB_Bereichsgrenze_Nach_GNT', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCBedingung_Weichenlage', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCETCS_Gefahrpunktabstand_Abweichend', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCDatenpunkt_Laenge', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCLLA', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('CStart_W_Element', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('CFT_GNT_Merkmale', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCV_Befehl_Z', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCUeberbrueckung_EV_Unterbrechung', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCOberstrombegrenzung_Reisezug', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCNID_RBC', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCZBS_La_Bereich_Distanz', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCSpannung_Art', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCVerwendung_Als_Rueckfall', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCSchutzstrecke_Vorhanden', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('CETCS_W_Kr_MUKA', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCMax_Leistung', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('CLEU_Schaltkasten', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCMetallteil_Laenge', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCLaenge_Ausfuehrungsbereich', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('CZUB_Bereichsgrenze_Nach_L2_Von_ESG', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCV_Start', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('CBgrenze_Nach_PZB_Bed_Einstieg', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCPosition_Sonstige', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCVerbot_Anhalten', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCDP_Typ_GNT', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('CETCS_Signal', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('CBgrenze_Nach_LZB_Bed_Einstieg', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCDateityp_Binaerdatei', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCVZ', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('CDP_Typ_GZBS', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCDWeg_Intervall_50', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCKm_BTS_1', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCBalisenhalter', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCIst_Befahren', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCAbstand_Grenze_Bereich_C', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCDP_Typ_ETCS', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('CBedingung_Signal', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCLEU_Ausgang_Nr', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCVBC_Setzen', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('CBedingung_Weiche', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('CETCS_Signal_DWeg', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCRufnummer', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('CZUB_Bereichsgrenze_Nach_ESG', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCVerkuerzter_Abstand', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('CBedingung_Sonstige', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCW_Lage', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCHarter_Ausstieg_Aus_L2', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('CFT_ETCS_Trans_Paket_41', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('CETCS_W_Kr', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCTBV_Tunnelbereich_Laenge', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('CEV_Modul', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCMax_Unterbrechungszeit', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCFW_Teil_Nummer', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCDP_Verlinkt', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCM_LEVELTR', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('CFT_Fahrweg_Teil', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('CDP_Telegramm', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('CDatenpunkt_Einmesspunkt', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('CLEU_Modul_Allg', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCAnlagenteil_Sonstige', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('CDatenpunkt_Allg', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCNID_BG', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('CEV_Modul_Ausgang', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCSBE', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('CFT_ZBS_Merkmale_La', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('CBinaerdaten_Datei', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCSystem_Vor_Grenze_Besonders', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCDP_Typ_ESG', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCDP_Typ_Art', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCESG_Ind_Erlaeuterung', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCBez_Strecke_BTS_1', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('CBedingung_PZB', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('CZUB_Bereichsgrenze_Allg', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCBezeichnung_ZUB_SE', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCZBS_Reaktion', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCPort_Nr_Ausg_Physisch', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCSolllaenge_Mind_Sig_150', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCV_Frei', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCMontageabweichung', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCLEU_Modul_Art', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCZBS_La_Bereich_Laenge', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('CFT_Fahrweg_Teile', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('CLEU_Modul', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCV_Befehl_R', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('CBinaerdaten', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('CETCS_Signal_TBV', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCLaenge_1', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCAbstand_Einmesspunkt', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCVBC_Timer', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('CDP_Bezug_Funktional', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCNID_C', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCVBC_Kennung', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('CLEU_Anlage_Bezeichnung', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCLM_G', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCBez_Strecke_BTS_2', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCNennleistung', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCSTZ', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('CLEU_Modul_Bezeichnung', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCAbstand_Datenpunkt_TPI_Folgesignal', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('CETCS_Kante', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCMassgebende_Neig_Schutzstrecke', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('CDatenpunkt_Link', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('CESG_Spezifische_Merkmale', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('CETCS_Adresse', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('CDP_Typ_GETCS', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('CZBS_Merkmale', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCUntergruppen_ID', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCLEU_Anlage_Art', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCEinstieg_Erlaubt', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCNID_STM', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('CDP_Typ', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCBez_ZUB_Bereichsgrenze', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('CBalise', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('CDP_Typ_GTrans', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('CZUB_Bgrenze_RBC_Wechsel', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCDP_Link_Art', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCV_Zul_Strecke', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCFT_ZBS_Typ', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCModulnummer', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('CDP_Typ_GSonst', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCETCS_Parameterwert', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('CETCS_Knoten', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('CZBS_Schutzstrecke_Allg', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCMassgebende_Neigung_Mind_Sig', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCAnwendung_GNT', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCBaseline_System_Version', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('CProg_Datei_Gruppe', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCDP_Typ_ZBS', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCETCS_Paketnummer', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCVGR_1', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCNID_TSR', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCAnwendung_Sonst', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCSolllaenge_Mind_Sig', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCFT_GNT_Punktart', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCProjektierungsfall', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCAbstand_Datenpunkt_EH_EM_Folgesignal', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCVerwendung', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('CBalise_Allg', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('CZUB_Bereichsgrenze_Nach_ZBS', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCText_Bedingung', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCFT_ESG_Typ', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCNummer_Schaltkasten', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('CETCS_Signal_Allg', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCLink_Distanz', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCAusgang_Nr', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCEinzeldatei_Art', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCKm_BTS_2', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCDP_Typ_Sonst', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCSonstige_Standortangabe', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCBezeichnung_LEU_Anlage', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('CDatenpunkt', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('CLEU_Schaltkasten_Bezeichnung', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCDP_Typ_Trans', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCAbstand_Reduziert', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCV_Ziel', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCAusrichtung', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('CZUB_Bereichsgrenze_Bezeichnung', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('CRBC_Allg', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCESG_Ind_Parameter', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCBez_Strecke_BTS_3', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCVerbot_WB_Art', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCPrioritaet', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCMassgebende_Neig_1', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('CDP_Typ_GGNT', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCTextmeldung', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCVLA', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCLEU_Schaltkasten_Typ', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCVerbot_Regenerative_Bremse', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('CZUB_Streckeneigenschaft_Bezeichnung', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCSpannung_Toleranz_Obere', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCDateiname', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCAnwendungssystem', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCEinstieg_Ohne_Rueckw_Sig', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('CLEU_Schaltkasten_Energie', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCEingang_Gepuffert', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('CBgrenze_Nach_L2_Bed_Einstieg', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCSpannung_Toleranz_Untere', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCGruppen_ID', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCETCS_System_Version', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCEV_Modul_Typ', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCRBC_SRS_Version', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('CFT_ETCS_L2_Merkmale', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCHinweis_Balisenbefestigung', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCW_Anschluss', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('CZUB_Bereichsgrenze_Nach_Ohne', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCDaten', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('CZUB_Bereichsgrenze_Nach_Sonstige', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCZiel_Ist_Fahrwegende', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCZiel_DP_Ausrichtung', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCFT_ETCS_L2_Typ', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCBezeichnung_ETCS_Kante', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('CZBS_Signal_Signalabstand', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCMassgebende_Neigung_Mind_150', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('CETCS_Kante_Bezeichnung', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCLEU_Modul_Typ', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCDWeg_Intervall_50_200', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('CBgrenze_Nach_Ohne_Bed_Einstieg', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('CZUB_Streckeneigenschaft', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('CFT_Anschaltbedingung', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCNeigung', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCETCS_Knoten_Art_Sonstige', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('CZUB_Bereichsgrenze', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('CLEU_Anlage_Allg', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCAnzeigetext', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('CProg_Datei_Einzel', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCRekursion_Nr', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCDP_ATO', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCDWeg_Intervall_200', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('CZBS_Schutzstrecke', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCDelta_VLES', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCVerwendung_Hilfe', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('CFachtelegramm', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCUeberwachung_Laenge', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('CLEU_Steuernde', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('CEV_Modul_Eingang', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('CLEU_Schaltkasten_Position', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCWirkrichtung_In_Datenpunkt', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCSRS_Version', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCHersteller', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCDelta_VGES', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCVGR', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCAbstand_Bes_Langer_Einfahrweg', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('CBgrenze_Nach_ESG_Bed_Ausstieg', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('CLT_Binaerdaten', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('CFT_ZBS_Merkmale', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('CFT_ETCS_Trans_Paket_N', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('CKnoten_Auf_TOP_Kante', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('CFT_ESG_Merkmale', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCAnzahl_Voll_LEU_Kalkuliert', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCMassgebende_Neigung_Mind_Sig_150', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCTBV_Tunnelsignal', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCL_ACKLEVELTR', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCPrimaerquelle', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCLaenge_Soll_Mind_150', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCMastschild', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCVBC_NID_C', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCSchutzstrecke_Erforderlich', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCLeistungsbedarf', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCZBS_La_Bereich_Geschwindigkeit', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCAusstieg_ETCS_Sperre', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCUmfahrstrasse', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('CZUB_Bereichsgrenze_Nach_L2', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCTBV_Meldepunkt', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCEV_Modul_Art', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('CETCS_Richtungsanzeige', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('CLT_Binaerdatei_Hilfe', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCStandortangabe_Balisenschild', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCD_LEVELTR', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCEnergie_Eingang_Art', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('CLEU_Modul_Ausgang', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCZLA', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('CZBS_Signal', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCKm_BTS_3', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCDelta_VZES', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('CLEU_Anlage', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('CDP_Typ_GESG', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCESG_Ind_Parameterwert', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCZBS_La_Bereich_Neigung', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('CFT_Fahrweg_Teil_Allg', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCETCS_Par_Erlaeuterung', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCAnwendung_ESG', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('CEV_Modul_Virtuell', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('CESG_Individuelle_Merkmale', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCVorsignalabstand', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('CLuft_Telegramm', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('CMetallteil', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('CBgrenze_RBC_Wechsel_BTS_Kette', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCLfd_Nr_Am_Bezugspunkt', + 'Balisentechnik_ETCS.xsd', + 'CT'), + ('TCDatenpunkt_Beschreibung', + 'Balisentechnik_ETCS.xsd', + 'CT')], + 'http://www.plan-pro.org/modell/BasisTypen/1.10.0': [('TBezeichnung_Lageplan_Lang', + 'BasisTypen.xsd', + 'ST'), + ('TZeichenkette', + 'BasisTypen.xsd', + 'ST'), + ('TBremsweg', + 'BasisTypen.xsd', + 'ST'), + ('ENUMRegionalbereich', + 'BasisTypen.xsd', + 'ST'), + ('TMeter', + 'BasisTypen.xsd', + 'ST'), + ('TText', + 'BasisTypen.xsd', + 'ST'), + ('TBezeichnung_Aussenanlage', + 'BasisTypen.xsd', + 'ST'), + ('TVersion_Auslieferung', + 'BasisTypen.xsd', + 'ST'), + ('TOertlicher_Elementname', + 'BasisTypen.xsd', + 'ST'), + ('TFreiText', + 'BasisTypen.xsd', + 'ST'), + ('TGUID', + 'BasisTypen.xsd', + 'ST'), + ('TDatum_Auslieferung', + 'BasisTypen.xsd', + 'ST'), + ('TAnwendungssystem', + 'BasisTypen.xsd', + 'ST'), + ('ENUMBremsweg', + 'BasisTypen.xsd', + 'ST'), + ('TLinksRechts', + 'BasisTypen.xsd', + 'ST'), + ('TKennzahl', + 'BasisTypen.xsd', + 'ST'), + ('TRegionalbereich', + 'BasisTypen.xsd', + 'ST'), + ('ENUMPruefsumme_Art', + 'BasisTypen.xsd', + 'ST'), + ('THersteller', + 'BasisTypen.xsd', + 'ST'), + ('ENUMWirkrichtung', + 'BasisTypen.xsd', + 'ST'), + ('TObjektname', + 'BasisTypen.xsd', + 'ST'), + ('TSekunde', + 'BasisTypen.xsd', + 'ST'), + ('TWirkrichtung', + 'BasisTypen.xsd', + 'ST'), + ('TGeschwindigkeit', + 'BasisTypen.xsd', + 'ST'), + ('TKilometrierung', + 'BasisTypen.xsd', + 'ST'), + ('ENUMFahrstrom', + 'BasisTypen.xsd', + 'ST'), + ('TBezeichnung_Lageplan_Kurz', + 'BasisTypen.xsd', + 'ST'), + ('TBezeichnung_Tabelle', + 'BasisTypen.xsd', + 'ST'), + ('TFahrstrom', + 'BasisTypen.xsd', + 'ST'), + ('TDateiname', + 'BasisTypen.xsd', + 'ST'), + ('ENUMLinksRechts', + 'BasisTypen.xsd', + 'ST'), + ('ENUMAnwendungssystem', + 'BasisTypen.xsd', + 'ST'), + ('ENUMAusrichtung', + 'BasisTypen.xsd', + 'ST'), + ('TAusrichtung', + 'BasisTypen.xsd', + 'ST'), + ('TCBezeichnung_Lageplan_Kurz', + 'BasisTypen.xsd', + 'CT'), + ('TCBezeichnung_Lageplan_Lang', + 'BasisTypen.xsd', + 'CT'), + ('TCPruefsumme', + 'BasisTypen.xsd', + 'CT'), + ('CPruefmerkmale_Daten', + 'BasisTypen.xsd', + 'CT'), + ('CBasisAttribut', + 'BasisTypen.xsd', + 'CT'), + ('TCOertlicher_Elementname', + 'BasisTypen.xsd', + 'CT'), + ('TCBezeichnung_Tabelle', + 'BasisTypen.xsd', + 'CT'), + ('TCKennzahl', + 'BasisTypen.xsd', + 'CT'), + ('CBezeichnung_Element', + 'BasisTypen.xsd', + 'CT'), + ('TCDatum_Auslieferung', + 'BasisTypen.xsd', + 'CT'), + ('TCBezeichnung_Aussenanlage', + 'BasisTypen.xsd', + 'CT'), + ('TCID_Bearbeitungsvermerk', + 'BasisTypen.xsd', + 'CT'), + ('TCZeiger', + 'BasisTypen.xsd', + 'CT'), + ('TCVersion_Auslieferung', + 'BasisTypen.xsd', + 'CT'), + ('TCPruefsumme_Art', + 'BasisTypen.xsd', + 'CT')], + 'http://www.plan-pro.org/modell/Basisobjekte/1.10.0': [('TKommentar', + 'Basisobjekte.xsd', + 'ST'), + ('TLO_Seriennummer', + 'Basisobjekte.xsd', + 'ST'), + ('ENUMBestandsrelevanz', + 'Basisobjekte.xsd', + 'ST'), + ('TBV_Kategorie', + 'Basisobjekte.xsd', + 'ST'), + ('TLO_Ausgabestand', + 'Basisobjekte.xsd', + 'ST'), + ('TLO_Firmensachnummer', + 'Basisobjekte.xsd', + 'ST'), + ('ENUMBV_Darstellung_In_Plan', + 'Basisobjekte.xsd', + 'ST'), + ('ENUMLST_Objekt_Art', + 'Basisobjekte.xsd', + 'ST'), + ('TDB_GDI_Referenz', + 'Basisobjekte.xsd', + 'ST'), + ('TBeschreibung', + 'Basisobjekte.xsd', + 'ST'), + ('TRichtungsbezug', + 'Basisobjekte.xsd', + 'ST'), + ('ENUMRolle', + 'Basisobjekte.xsd', + 'ST'), + ('TStrecke_Km', + 'Basisobjekte.xsd', + 'ST'), + ('ENUMObjektzustand_Besonders', + 'Basisobjekte.xsd', + 'ST'), + ('TLO_EMA_Nr', + 'Basisobjekte.xsd', + 'ST'), + ('TLO_DB_Freigabe', + 'Basisobjekte.xsd', + 'ST'), + ('TSeitlicher_Abstand', + 'Basisobjekte.xsd', + 'ST'), + ('TIdentitaet', + 'Basisobjekte.xsd', + 'ST'), + ('TKurztext', + 'Basisobjekte.xsd', + 'ST'), + ('TAbstand', + 'Basisobjekte.xsd', + 'ST'), + ('TBegrenzung_B', + 'Basisobjekte.xsd', + 'ST'), + ('TSeitliche_Lage', + 'Basisobjekte.xsd', + 'ST'), + ('ENUMAnhang_Art', + 'Basisobjekte.xsd', + 'ST'), + ('TTechnischer_Platz', + 'Basisobjekte.xsd', + 'ST'), + ('ENUMDateityp', + 'Basisobjekte.xsd', + 'ST'), + ('TBegrenzung_A', + 'Basisobjekte.xsd', + 'ST'), + ('TCLO_Datum_Herstellung', + 'Basisobjekte.xsd', + 'CT'), + ('TCKommentar', + 'Basisobjekte.xsd', + 'CT'), + ('TCBV_Darstellung_In_Plan', + 'Basisobjekte.xsd', + 'CT'), + ('TCSeitliche_Lage', + 'Basisobjekte.xsd', + 'CT'), + ('CPunkt_Objekt', + 'Basisobjekte.xsd', + 'CT'), + ('TCZeit_Bearbeitungsvermerk', + 'Basisobjekte.xsd', + 'CT'), + ('TCDB_GDI_Referenz', + 'Basisobjekte.xsd', + 'CT'), + ('CUr_Objekt', + 'Basisobjekte.xsd', + 'CT'), + ('TCKm_Massgebend', + 'Basisobjekte.xsd', + 'CT'), + ('CLO_Material', + 'Basisobjekte.xsd', + 'CT'), + ('CProxy_Objekt', + 'Basisobjekte.xsd', + 'CT'), + ('CBasis_Objekt_Allg', + 'Basisobjekte.xsd', + 'CT'), + ('TCKurztext', + 'Basisobjekte.xsd', + 'CT'), + ('TCBegrenzung_A', + 'Basisobjekte.xsd', + 'CT'), + ('TCStrecke_Km', + 'Basisobjekte.xsd', + 'CT'), + ('TCBearbeitungsvermerk_Rolle', + 'Basisobjekte.xsd', + 'CT'), + ('TCDatum_Regelwerk', + 'Basisobjekte.xsd', + 'CT'), + ('CAnhang', + 'Basisobjekte.xsd', + 'CT'), + ('CBereich_Objekt_Teilbereich', + 'Basisobjekte.xsd', + 'CT'), + ('TCIdentitaet', + 'Basisobjekte.xsd', + 'CT'), + ('TCBegrenzung_B', + 'Basisobjekte.xsd', + 'CT'), + ('TCBestandsschutz', + 'Basisobjekte.xsd', + 'CT'), + ('TCAnhang_Art', + 'Basisobjekte.xsd', + 'CT'), + ('TCSeitlicher_Abstand', + 'Basisobjekte.xsd', + 'CT'), + ('CLieferobjekt', + 'Basisobjekte.xsd', + 'CT'), + ('TCLO_Seriennummer', + 'Basisobjekte.xsd', + 'CT'), + ('CBearbeitungsvermerk', + 'Basisobjekte.xsd', + 'CT'), + ('TCRichtungsbezug', + 'Basisobjekte.xsd', + 'CT'), + ('TCWirkrichtung', + 'Basisobjekte.xsd', + 'CT'), + ('TCLO_Ersatz', + 'Basisobjekte.xsd', + 'CT'), + ('CPunkt_Objekt_Strecke', + 'Basisobjekte.xsd', + 'CT'), + ('TCAbstand', + 'Basisobjekte.xsd', + 'CT'), + ('CBearbeitungsvermerk_Allg', + 'Basisobjekte.xsd', + 'CT'), + ('TCLO_EMA_Nr', + 'Basisobjekte.xsd', + 'CT'), + ('TCLO_DB_Freigabe', + 'Basisobjekte.xsd', + 'CT'), + ('CObjektreferenzen', + 'Basisobjekte.xsd', + 'CT'), + ('TCDateiname', + 'Basisobjekte.xsd', + 'CT'), + ('TCLST_Objekt_Art', + 'Basisobjekte.xsd', + 'CT'), + ('TCLO_Ausgabestand', + 'Basisobjekte.xsd', + 'CT'), + ('TCLO_Firmensachnummer', + 'Basisobjekte.xsd', + 'CT'), + ('TCObjektzustand_Besonders', + 'Basisobjekte.xsd', + 'CT'), + ('TCTechnischer_Platz', + 'Basisobjekte.xsd', + 'CT'), + ('TCBestandsrelevanz', + 'Basisobjekte.xsd', + 'CT'), + ('CPunkt_Objekt_TOP_Kante', + 'Basisobjekte.xsd', + 'CT'), + ('CAnhang_Allg', + 'Basisobjekte.xsd', + 'CT'), + ('CBereich_Objekt', + 'Basisobjekte.xsd', + 'CT'), + ('CBasis_Objekt', + 'Basisobjekte.xsd', + 'CT'), + ('TCDateityp', + 'Basisobjekte.xsd', + 'CT'), + ('TCBeschreibung', + 'Basisobjekte.xsd', + 'CT'), + ('TCBV_Kategorie', + 'Basisobjekte.xsd', + 'CT')], + 'http://www.plan-pro.org/modell/Bedienung/1.10.0': [('TIP_Adressblock_Blau', + 'Bedienung.xsd', + 'ST'), + ('TBedienraumnummer', + 'Bedienung.xsd', + 'ST'), + ('TSteuerbezirksnummer', + 'Bedienung.xsd', + 'ST'), + ('TIP_Adressblock_Grau_V4', + 'Bedienung.xsd', + 'ST'), + ('ENUMSchalter', + 'Bedienung.xsd', + 'ST'), + ('TBez_Bed_Anzeige_Element', + 'Bedienung.xsd', + 'ST'), + ('TYY_Wert', + 'Bedienung.xsd', + 'ST'), + ('TY_Wert', + 'Bedienung.xsd', + 'ST'), + ('TBedienplatznummer', + 'Bedienung.xsd', + 'ST'), + ('TBezeichnung_BSO', + 'Bedienung.xsd', + 'ST'), + ('ENUMA_Wert', + 'Bedienung.xsd', + 'ST'), + ('TDD_Wert', + 'Bedienung.xsd', + 'ST'), + ('ENUMOberflaeche_Bildart', + 'Bedienung.xsd', + 'ST'), + ('TB_Wert', + 'Bedienung.xsd', + 'ST'), + ('TSteuerbezirksname', + 'Bedienung.xsd', + 'ST'), + ('ENUMBSO_Teilsystem_Art', + 'Bedienung.xsd', + 'ST'), + ('ENUMBedien_Einricht_Bauart', + 'Bedienung.xsd', + 'ST'), + ('TOberflaeche_Zustaendigkeit', + 'Bedienung.xsd', + 'ST'), + ('TIP_Adressblock_Grau', + 'Bedienung.xsd', + 'ST'), + ('TBedien_Einricht_Oertl_Bez', + 'Bedienung.xsd', + 'ST'), + ('TIP_Adressblock_Grau_V6', + 'Bedienung.xsd', + 'ST'), + ('TBez_Bed_Zentrale', + 'Bedienung.xsd', + 'ST'), + ('ENUMX_Wert', + 'Bedienung.xsd', + 'ST'), + ('TVorschauzeit', + 'Bedienung.xsd', + 'ST'), + ('TBez_Bed_Anrueckabschnitt', + 'Bedienung.xsd', + 'ST'), + ('TSchrankreihe', + 'Bedienung.xsd', + 'ST'), + ('ENUMMelder', + 'Bedienung.xsd', + 'ST'), + ('THupe_Anschaltzeit', + 'Bedienung.xsd', + 'ST'), + ('TRueckschauzeit', + 'Bedienung.xsd', + 'ST'), + ('TBedienplatzbezeichnung', + 'Bedienung.xsd', + 'ST'), + ('ENUMBedien_Platz_Art', + 'Bedienung.xsd', + 'ST'), + ('ENUMC_Wert', + 'Bedienung.xsd', + 'ST'), + ('TIP_Adressblock_Blau_V4', + 'Bedienung.xsd', + 'ST'), + ('TIP_Adressblock_Blau_V6', + 'Bedienung.xsd', + 'ST'), + ('TBetriebsstellenbezeichner', + 'Bedienung.xsd', + 'ST'), + ('ENUMTaste', + 'Bedienung.xsd', + 'ST'), + ('TCAnbindung_IB2', + 'Bedienung.xsd', + 'CT'), + ('CBedien_GBT_Allg', + 'Bedienung.xsd', + 'CT'), + ('TCBetriebsstellenbezeichner', + 'Bedienung.xsd', + 'CT'), + ('CBSO_IP_Adressblock', + 'Bedienung.xsd', + 'CT'), + ('TCAnbindung_IB3', + 'Bedienung.xsd', + 'CT'), + ('CBedien_Platz_Allg', + 'Bedienung.xsd', + 'CT'), + ('CBedien_Standort_Bezeichnung', + 'Bedienung.xsd', + 'CT'), + ('TCIP_Adressblock_Blau_V6', + 'Bedienung.xsd', + 'CT'), + ('TCBedienplatzbezeichnung', + 'Bedienung.xsd', + 'CT'), + ('TCBez_Bed_Anzeige_Element', + 'Bedienung.xsd', + 'CT'), + ('TCSteuerbezirksname', + 'Bedienung.xsd', + 'CT'), + ('CBedien_Platz', + 'Bedienung.xsd', + 'CT'), + ('TCB_Wert', + 'Bedienung.xsd', + 'CT'), + ('TCIP_Adressblock_Grau_V6', + 'Bedienung.xsd', + 'CT'), + ('TCIP_Adressblock_Grau_V4', + 'Bedienung.xsd', + 'CT'), + ('CBedien_Anrueckabschnitt', + 'Bedienung.xsd', + 'CT'), + ('TCC_Wert', + 'Bedienung.xsd', + 'CT'), + ('CBedien_Anzeige_Element_Bezeichnung', + 'Bedienung.xsd', + 'CT'), + ('TCBedien_Platz_Art', + 'Bedienung.xsd', + 'CT'), + ('TCSchrankreihe', + 'Bedienung.xsd', + 'CT'), + ('TCOberflaeche_Zustaendigkeit', + 'Bedienung.xsd', + 'CT'), + ('CBedien_Einricht_Oertlich_Allg', + 'Bedienung.xsd', + 'CT'), + ('TCSchalter', + 'Bedienung.xsd', + 'CT'), + ('CBedien_Oberflaeche_Anhaenge', + 'Bedienung.xsd', + 'CT'), + ('TCBedien_Einricht_Bauart', + 'Bedienung.xsd', + 'CT'), + ('TCA_Wert', + 'Bedienung.xsd', + 'CT'), + ('TCIP_Adressblock_Grau', + 'Bedienung.xsd', + 'CT'), + ('CBedien_Oertlichkeit', + 'Bedienung.xsd', + 'CT'), + ('TCRegionalbereich', + 'Bedienung.xsd', + 'CT'), + ('TCIP_Adressblock_Blau', + 'Bedienung.xsd', + 'CT'), + ('TCKennzahl', + 'Bedienung.xsd', + 'CT'), + ('TCHupe_Anschaltzeit', + 'Bedienung.xsd', + 'CT'), + ('TCBedien_Einricht_Oertl_Bez', + 'Bedienung.xsd', + 'CT'), + ('TCTaste', + 'Bedienung.xsd', + 'CT'), + ('CBSO_IP_AB_Teilsystem', + 'Bedienung.xsd', + 'CT'), + ('CBedien_Einrichtung_Oertlich_Bezeichnung', + 'Bedienung.xsd', + 'CT'), + ('TCBez_Bed_Zentrale', + 'Bedienung.xsd', + 'CT'), + ('TCBezeichnung_BSO', + 'Bedienung.xsd', + 'CT'), + ('CBedien_Oberflaeche_Bild_Allg', + 'Bedienung.xsd', + 'CT'), + ('TCMelder', + 'Bedienung.xsd', + 'CT'), + ('CBedien_Zentrale_Bezeichnung', + 'Bedienung.xsd', + 'CT'), + ('CBedien_Bezirk_Adressformel', + 'Bedienung.xsd', + 'CT'), + ('TCHersteller', + 'Bedienung.xsd', + 'CT'), + ('CBedien_Anzeige_Element_Allg', + 'Bedienung.xsd', + 'CT'), + ('CBedien_Anzeige_Element', + 'Bedienung.xsd', + 'CT'), + ('TCRueckschauzeit', + 'Bedienung.xsd', + 'CT'), + ('CBedien_Bezirk_Anhaenge', + 'Bedienung.xsd', + 'CT'), + ('CBedien_Bezirk_Allg', + 'Bedienung.xsd', + 'CT'), + ('CBedien_GBT', + 'Bedienung.xsd', + 'CT'), + ('TCYY_Wert', + 'Bedienung.xsd', + 'CT'), + ('CBedien_Standort', + 'Bedienung.xsd', + 'CT'), + ('CBedien_Oberflaeche', + 'Bedienung.xsd', + 'CT'), + ('TCBedienplatznummer', + 'Bedienung.xsd', + 'CT'), + ('CBedien_Einrichtung_Oertlich', + 'Bedienung.xsd', + 'CT'), + ('TCDD_Wert', + 'Bedienung.xsd', + 'CT'), + ('TCX_Wert', + 'Bedienung.xsd', + 'CT'), + ('TCBez_Bed_Anrueckabschnitt', + 'Bedienung.xsd', + 'CT'), + ('TCVorschauzeit', + 'Bedienung.xsd', + 'CT'), + ('TCOberflaeche_Bildart', + 'Bedienung.xsd', + 'CT'), + ('CBedien_Bezirk', + 'Bedienung.xsd', + 'CT'), + ('TCSteuerbezirksnummer', + 'Bedienung.xsd', + 'CT'), + ('CBedien_Anrueckabschnitt_Bezeichnung', + 'Bedienung.xsd', + 'CT'), + ('CBedien_Oberflaeche_Bild', + 'Bedienung.xsd', + 'CT'), + ('CBedien_Zentrale', + 'Bedienung.xsd', + 'CT'), + ('TCY_Wert', + 'Bedienung.xsd', + 'CT'), + ('TCBedienraumnummer', + 'Bedienung.xsd', + 'CT'), + ('TCIP_Adressblock_Blau_V4', + 'Bedienung.xsd', + 'CT'), + ('TCBSO_Teilsystem_Art', + 'Bedienung.xsd', + 'CT'), + ('CBedien_Oertlichkeit_Kennzahlen', + 'Bedienung.xsd', + 'CT')], + 'http://www.plan-pro.org/modell/Block/1.10.0': [('TStreckengeschwindigkeit', + 'Block.xsd', + 'ST'), + ('ENUMSchaltung', + 'Block.xsd', + 'ST'), + ('ENUMBlock_Bauform', + 'Block.xsd', + 'ST'), + ('TZusatzinformation', + 'Block.xsd', + 'ST'), + ('ENUMBetriebsfuehrung', + 'Block.xsd', + 'ST'), + ('ENUMStrecke_Art', + 'Block.xsd', + 'ST'), + ('CBlock_Element', + 'Block.xsd', + 'CT'), + ('TCZugbeeinflussung_Art', + 'Block.xsd', + 'CT'), + ('TCSchutzuebertrager', + 'Block.xsd', + 'CT'), + ('TCAuto_Erlaubnisholen', + 'Block.xsd', + 'CT'), + ('TCErlaubnisabgabespeicherung', + 'Block.xsd', + 'CT'), + ('TCVorblockwecker', + 'Block.xsd', + 'CT'), + ('CBlock_Strecke', + 'Block.xsd', + 'CT'), + ('TCErlaubnis_Staendig_Vorhanden', + 'Block.xsd', + 'CT'), + ('TCStrecke_Art', + 'Block.xsd', + 'CT'), + ('CBlock_Anlage_Allg', + 'Block.xsd', + 'CT'), + ('TCRueckblockwecker', + 'Block.xsd', + 'CT'), + ('CBlock_Element_Allg', + 'Block.xsd', + 'CT'), + ('TCZusatzinformation', + 'Block.xsd', + 'CT'), + ('TCTraktion_Art_Elektrisch', + 'Block.xsd', + 'CT'), + ('TCErlaubnisholen', + 'Block.xsd', + 'CT'), + ('TCAuto_Erlaubnisruecklauf', + 'Block.xsd', + 'CT'), + ('TCSchaltung', + 'Block.xsd', + 'CT'), + ('CBlock_Anlage', + 'Block.xsd', + 'CT'), + ('CBlock_Strecke_Allg', + 'Block.xsd', + 'CT'), + ('TCBetriebsfuehrung', + 'Block.xsd', + 'CT'), + ('TCBlock_Bauform', + 'Block.xsd', + 'CT'), + ('CBlock_Element_Erlaubnis', + 'Block.xsd', + 'CT'), + ('TCStreckengeschwindigkeit', + 'Block.xsd', + 'CT'), + ('TCBremsweg', + 'Block.xsd', + 'CT')], + 'http://www.plan-pro.org/modell/Fahrstrasse/1.10.0': [('TBezeichnung_Fstr_DWeg', + 'Fahrstrasse.xsd', + 'ST'), + ('ENUMAutomatische_Einstellung', + 'Fahrstrasse.xsd', + 'ST'), + ('TMassgebende_Neigung', + 'Fahrstrasse.xsd', + 'ST'), + ('TFstr_Reihenfolge', + 'Fahrstrasse.xsd', + 'ST'), + ('TFstr_V', + 'Fahrstrasse.xsd', + 'ST'), + ('TAufloesung_Verzoegerung', + 'Fahrstrasse.xsd', + 'ST'), + ('TLaenge_Soll', + 'Fahrstrasse.xsd', + 'ST'), + ('ENUMRangier_Gegenfahrtausschluss', + 'Fahrstrasse.xsd', + 'ST'), + ('TBezeichnung_Markanter_Punkt', + 'Fahrstrasse.xsd', + 'ST'), + ('ENUMAufloesung_Ssp_Zielgleis', + 'Fahrstrasse.xsd', + 'ST'), + ('ENUMFstr_Zug_Art', + 'Fahrstrasse.xsd', + 'ST'), + ('TDWeg_Reihenfolge', + 'Fahrstrasse.xsd', + 'ST'), + ('ENUMFstr_Mittel_Art', + 'Fahrstrasse.xsd', + 'ST'), + ('TFstr_V_Hg', + 'Fahrstrasse.xsd', + 'ST'), + ('TFstr_Aneinander_Bedienstring', + 'Fahrstrasse.xsd', + 'ST'), + ('TFstr_Bedienstring', + 'Fahrstrasse.xsd', + 'ST'), + ('TDWeg_V', + 'Fahrstrasse.xsd', + 'ST'), + ('ENUMFstr_Rangier_Art', + 'Fahrstrasse.xsd', + 'ST'), + ('TCBezeichnung_Markanter_Punkt', + 'Fahrstrasse.xsd', + 'CT'), + ('CFstr_Signalisierung', + 'Fahrstrasse.xsd', + 'CT'), + ('CFstr_Zug_Rangier', + 'Fahrstrasse.xsd', + 'CT'), + ('CFstr_Nichthaltfall', + 'Fahrstrasse.xsd', + 'CT'), + ('TCFstr_Aneinander_Bedienstring', + 'Fahrstrasse.xsd', + 'CT'), + ('TCDWeg_Reihenfolge', + 'Fahrstrasse.xsd', + 'CT'), + ('TCFstr_Mittel_V_Aufwertung', + 'Fahrstrasse.xsd', + 'CT'), + ('CFstr_Mittel', + 'Fahrstrasse.xsd', + 'CT'), + ('TCDWeg_V_Aufwertung_Verzicht', + 'Fahrstrasse.xsd', + 'CT'), + ('CFstr_Zug_Rangier_Allg', + 'Fahrstrasse.xsd', + 'CT'), + ('CFstr_DWeg_Allg', + 'Fahrstrasse.xsd', + 'CT'), + ('TCFstr_Reihenfolge', + 'Fahrstrasse.xsd', + 'CT'), + ('TCFstr_V', + 'Fahrstrasse.xsd', + 'CT'), + ('CFstr_Aneinander', + 'Fahrstrasse.xsd', + 'CT'), + ('CFstr_Abhaengigkeit_Ssp', + 'Fahrstrasse.xsd', + 'CT'), + ('CFstr_DWeg', + 'Fahrstrasse.xsd', + 'CT'), + ('TCMassgebende_Neigung', + 'Fahrstrasse.xsd', + 'CT'), + ('TCDWeg_V', + 'Fahrstrasse.xsd', + 'CT'), + ('TCFstr_Bedienstring', + 'Fahrstrasse.xsd', + 'CT'), + ('TCAutomatische_Einstellung', + 'Fahrstrasse.xsd', + 'CT'), + ('TCF_Bedienung', + 'Fahrstrasse.xsd', + 'CT'), + ('TCFstr_Zug_Art', + 'Fahrstrasse.xsd', + 'CT'), + ('TCAufloesung_Ssp_Zielgleis', + 'Fahrstrasse.xsd', + 'CT'), + ('TCLaenge_Soll', + 'Fahrstrasse.xsd', + 'CT'), + ('TCBezeichnung_Fstr_DWeg', + 'Fahrstrasse.xsd', + 'CT'), + ('TCFstr_V_Hg', + 'Fahrstrasse.xsd', + 'CT'), + ('CFstr_Rangier_Fla_Zuordnung', + 'Fahrstrasse.xsd', + 'CT'), + ('CFstr_Fahrweg', + 'Fahrstrasse.xsd', + 'CT'), + ('CMarkanter_Punkt_Bezeichnung', + 'Fahrstrasse.xsd', + 'CT'), + ('CFstr_DWeg_Spezifisch', + 'Fahrstrasse.xsd', + 'CT'), + ('CMarkanter_Punkt', + 'Fahrstrasse.xsd', + 'CT'), + ('TCElement_Verschluss', + 'Fahrstrasse.xsd', + 'CT'), + ('CFstr_Umfahrpunkt', + 'Fahrstrasse.xsd', + 'CT'), + ('CSonstiger_Punkt', + 'Fahrstrasse.xsd', + 'CT'), + ('CFstr_DWeg_Bezeichnung', + 'Fahrstrasse.xsd', + 'CT'), + ('TCFstr_Rangier_Art', + 'Fahrstrasse.xsd', + 'CT'), + ('TCFstr_Mittel_Art', + 'Fahrstrasse.xsd', + 'CT'), + ('TCDWeg_Vorzug', + 'Fahrstrasse.xsd', + 'CT'), + ('TCRangier_Gegenfahrtausschluss', + 'Fahrstrasse.xsd', + 'CT'), + ('CFstr_Zug_DWeg', + 'Fahrstrasse.xsd', + 'CT'), + ('CFstr_Aneinander_Zuordnung', + 'Fahrstrasse.xsd', + 'CT'), + ('TCAufloesung_Verzoegerung', + 'Fahrstrasse.xsd', + 'CT'), + ('CFstr_Abhaengigkeit', + 'Fahrstrasse.xsd', + 'CT'), + ('CFstr_Zug', + 'Fahrstrasse.xsd', + 'CT'), + ('TCFstr_Vsigabstand_Verkuerzt', + 'Fahrstrasse.xsd', + 'CT'), + ('CFstr_DWeg_W_Kr', + 'Fahrstrasse.xsd', + 'CT'), + ('CFstr_Rangier', + 'Fahrstrasse.xsd', + 'CT')], + 'http://www.plan-pro.org/modell/Flankenschutz/1.10.0': [('ENUMZwieschutz_Art', + 'Flankenschutz.xsd', + 'ST'), + ('ENUMFahrt_Ueber', + 'Flankenschutz.xsd', + 'ST'), + ('TFla_W_Lage', + 'Flankenschutz.xsd', + 'ST'), + ('ENUMMassnahme', + 'Flankenschutz.xsd', + 'ST'), + ('TCFahrt_Ueber', + 'Flankenschutz.xsd', + 'CT'), + ('CFla_Schutz_Anforderer', + 'Flankenschutz.xsd', + 'CT'), + ('TCMassnahme', + 'Flankenschutz.xsd', + 'CT'), + ('CFla_Zwieschutz_Element', + 'Flankenschutz.xsd', + 'CT'), + ('CFla_Freimelde_Zuordnung', + 'Flankenschutz.xsd', + 'CT'), + ('TCZwieschutz_Art', + 'Flankenschutz.xsd', + 'CT'), + ('CFla_Schutz_Weitergabe', + 'Flankenschutz.xsd', + 'CT'), + ('TCNachlaufverhinderung', + 'Flankenschutz.xsd', + 'CT'), + ('TCFla_Raum_Freimeldung', + 'Flankenschutz.xsd', + 'CT'), + ('CFla_Schutz', + 'Flankenschutz.xsd', + 'CT'), + ('TCFla_W_Lage', + 'Flankenschutz.xsd', + 'CT'), + ('TCEKW_Kr_Anteil', + 'Flankenschutz.xsd', + 'CT'), + ('CFla_Schutz_Signal', + 'Flankenschutz.xsd', + 'CT'), + ('CFla_Zwieschutz', + 'Flankenschutz.xsd', + 'CT'), + ('CFla_Schutz_W_Gsp', + 'Flankenschutz.xsd', + 'CT'), + ('TCFla_Signal_Zielsperrung', + 'Flankenschutz.xsd', + 'CT'), + ('TCFla_Verzicht', + 'Flankenschutz.xsd', + 'CT')], + 'http://www.plan-pro.org/modell/Geodaten/1.10.0': [('TAnzeigegefuehrt_ES_Kategorie', + 'Geodaten.xsd', + 'ST'), + ('ENUMUeberhoehungslinie_Form', + 'Geodaten.xsd', + 'ST'), + ('ENUMStrecke_Richtung', + 'Geodaten.xsd', + 'ST'), + ('TGK_Y', + 'Geodaten.xsd', + 'ST'), + ('TGEO_Radius_B', + 'Geodaten.xsd', + 'ST'), + ('ENUMTP_Art', + 'Geodaten.xsd', + 'ST'), + ('TGK_Z', + 'Geodaten.xsd', + 'ST'), + ('TGEO_KAD', + 'Geodaten.xsd', + 'ST'), + ('TKnotenname', + 'Geodaten.xsd', + 'ST'), + ('THoehenpunkt_Hoehe', + 'Geodaten.xsd', + 'ST'), + ('TBezeichnung_Strecke', + 'Geodaten.xsd', + 'ST'), + ('TTB_Beschreibung', + 'Geodaten.xsd', + 'ST'), + ('TUeberhoehungslinie_Laenge', + 'Geodaten.xsd', + 'ST'), + ('TGEO_Laenge', + 'Geodaten.xsd', + 'ST'), + ('TNeigung', + 'Geodaten.xsd', + 'ST'), + ('TOertlichkeit_Abkuerzung', + 'Geodaten.xsd', + 'ST'), + ('TGEO_PAD', + 'Geodaten.xsd', + 'ST'), + ('TGK_X', + 'Geodaten.xsd', + 'ST'), + ('ENUMHSystem', + 'Geodaten.xsd', + 'ST'), + ('ENUMHoehenlinie_Form', + 'Geodaten.xsd', + 'ST'), + ('ENUMTB_Art', + 'Geodaten.xsd', + 'ST'), + ('TOertlichkeit_Langname', + 'Geodaten.xsd', + 'ST'), + ('TTP_Beschreibung', + 'Geodaten.xsd', + 'ST'), + ('TGEO_Richtungswinkel', + 'Geodaten.xsd', + 'ST'), + ('TUeberhoehung_Hoehe', + 'Geodaten.xsd', + 'ST'), + ('ENUMOertlichkeit_Art', + 'Geodaten.xsd', + 'ST'), + ('TTOP_Laenge', + 'Geodaten.xsd', + 'ST'), + ('ENUMPlan_Quelle', + 'Geodaten.xsd', + 'ST'), + ('TKantenname', + 'Geodaten.xsd', + 'ST'), + ('ENUMTOP_Anschluss', + 'Geodaten.xsd', + 'ST'), + ('THoehenlinie_Laenge', + 'Geodaten.xsd', + 'ST'), + ('TStrecke_Meter', + 'Geodaten.xsd', + 'ST'), + ('TGeschwindigkeit', + 'Geodaten.xsd', + 'ST'), + ('ENUMV_Profil_Art', + 'Geodaten.xsd', + 'ST'), + ('ENUMGEO_Koordinatensystem', + 'Geodaten.xsd', + 'ST'), + ('ENUMGEO_Form', + 'Geodaten.xsd', + 'ST'), + ('TOertlichkeit_Kurzname', + 'Geodaten.xsd', + 'ST'), + ('TGEO_Radius_A', + 'Geodaten.xsd', + 'ST'), + ('TCGK_X', + 'Geodaten.xsd', + 'CT'), + ('CStrecke_Bezeichnung', + 'Geodaten.xsd', + 'CT'), + ('TCTP_Art', + 'Geodaten.xsd', + 'CT'), + ('CGEO_Kante', + 'Geodaten.xsd', + 'CT'), + ('TCGK_Y', + 'Geodaten.xsd', + 'CT'), + ('TCUeberhoehungslinie_Laenge', + 'Geodaten.xsd', + 'CT'), + ('CTOP_Kante', + 'Geodaten.xsd', + 'CT'), + ('CStrecke_Bremsweg', + 'Geodaten.xsd', + 'CT'), + ('TCKnotenname', + 'Geodaten.xsd', + 'CT'), + ('CTechnischer_Bereich', + 'Geodaten.xsd', + 'CT'), + ('CTechnischer_Punkt', + 'Geodaten.xsd', + 'CT'), + ('TCUeberhoehung_Datum', + 'Geodaten.xsd', + 'CT'), + ('TCTB_Beschreibung', + 'Geodaten.xsd', + 'CT'), + ('CGEO_Punkt_Allg', + 'Geodaten.xsd', + 'CT'), + ('TCGeschwindigkeit', + 'Geodaten.xsd', + 'CT'), + ('TCAnzeigegefuehrt_ES_Kategorie', + 'Geodaten.xsd', + 'CT'), + ('CUeberhoehungslinie', + 'Geodaten.xsd', + 'CT'), + ('TCV_Profil_Art', + 'Geodaten.xsd', + 'CT'), + ('CGEO_Punkt', + 'Geodaten.xsd', + 'CT'), + ('TCOertlichkeit_Gueltig_Ab', + 'Geodaten.xsd', + 'CT'), + ('CStrecke', + 'Geodaten.xsd', + 'CT'), + ('TCGEO_Richtungswinkel', + 'Geodaten.xsd', + 'CT'), + ('TCGK_Z', + 'Geodaten.xsd', + 'CT'), + ('TCBremsweg', + 'Geodaten.xsd', + 'CT'), + ('TCKantenname', + 'Geodaten.xsd', + 'CT'), + ('COertlichkeit', + 'Geodaten.xsd', + 'CT'), + ('TCNeigung', + 'Geodaten.xsd', + 'CT'), + ('TCStrecke_Richtung', + 'Geodaten.xsd', + 'CT'), + ('TCGEO_Koordinatensystem', + 'Geodaten.xsd', + 'CT'), + ('TCBezeichnung_Strecke', + 'Geodaten.xsd', + 'CT'), + ('CGEO_Kante_Allg', + 'Geodaten.xsd', + 'CT'), + ('CUeberhoehung_Allg', + 'Geodaten.xsd', + 'CT'), + ('TCGEO_Laenge', + 'Geodaten.xsd', + 'CT'), + ('TCOertlichkeit_Gueltig_Bis', + 'Geodaten.xsd', + 'CT'), + ('CHoehenpunkt', + 'Geodaten.xsd', + 'CT'), + ('TCHoehenpunkt_Hoehe', + 'Geodaten.xsd', + 'CT'), + ('TCHSystem', + 'Geodaten.xsd', + 'CT'), + ('CUeberhoehungslinie_Allg', + 'Geodaten.xsd', + 'CT'), + ('TCOertlichkeit_Abkuerzung', + 'Geodaten.xsd', + 'CT'), + ('TCOertlichkeit_Kurzname', + 'Geodaten.xsd', + 'CT'), + ('CTrasse_Kante_child', + 'Geodaten.xsd', + 'CT'), + ('TCPlan_Quelle', + 'Geodaten.xsd', + 'CT'), + ('COertlichkeit_Allg', + 'Geodaten.xsd', + 'CT'), + ('CGEO_Knoten', + 'Geodaten.xsd', + 'CT'), + ('TCTOP_Anschluss_A', + 'Geodaten.xsd', + 'CT'), + ('TCGEO_Radius_B', + 'Geodaten.xsd', + 'CT'), + ('TCHoehenlinie_Form', + 'Geodaten.xsd', + 'CT'), + ('TCGEO_PAD', + 'Geodaten.xsd', + 'CT'), + ('CUeberhoehung', + 'Geodaten.xsd', + 'CT'), + ('TCUeberhoehung_Hoehe', + 'Geodaten.xsd', + 'CT'), + ('TCGEO_Radius_A', + 'Geodaten.xsd', + 'CT'), + ('CGeschwindigkeitsprofil', + 'Geodaten.xsd', + 'CT'), + ('TCTOP_Laenge', + 'Geodaten.xsd', + 'CT'), + ('CHoehenlinie_Allg', + 'Geodaten.xsd', + 'CT'), + ('TCHoehenpunkt_Datum', + 'Geodaten.xsd', + 'CT'), + ('TCHoehenlinie_Laenge', + 'Geodaten.xsd', + 'CT'), + ('CTOP_Kante_Allg', + 'Geodaten.xsd', + 'CT'), + ('CHoehenpunkt_Allg', + 'Geodaten.xsd', + 'CT'), + ('TCOertlichkeit_Art', + 'Geodaten.xsd', + 'CT'), + ('CHoehenlinie', + 'Geodaten.xsd', + 'CT'), + ('CGeschwindigkeitsprofil_Allg', + 'Geodaten.xsd', + 'CT'), + ('TCGEO_KAD', + 'Geodaten.xsd', + 'CT'), + ('CTOP_Knoten', + 'Geodaten.xsd', + 'CT'), + ('TCTP_Beschreibung', + 'Geodaten.xsd', + 'CT'), + ('TCTB_Art', + 'Geodaten.xsd', + 'CT'), + ('TCOertlichkeit_Langname', + 'Geodaten.xsd', + 'CT'), + ('TCStrecke_Meter', + 'Geodaten.xsd', + 'CT'), + ('TCUeberhoehungslinie_Form', + 'Geodaten.xsd', + 'CT'), + ('COertlichkeit_Bezeichnung', + 'Geodaten.xsd', + 'CT'), + ('CStrecke_Punkt', + 'Geodaten.xsd', + 'CT'), + ('TCGEO_Form', + 'Geodaten.xsd', + 'CT'), + ('TCTOP_Anschluss_B', + 'Geodaten.xsd', + 'CT')], + 'http://www.plan-pro.org/modell/Gleis/1.10.0': [('TFahrstrom', + 'Gleis.xsd', + 'ST'), + ('ENUMGleisart', + 'Gleis.xsd', + 'ST'), + ('ENUMKonstruktion', + 'Gleis.xsd', + 'ST'), + ('TBez_Gleis_Bezeichnung', + 'Gleis.xsd', + 'ST'), + ('ENUMBaubereich_Art', + 'Gleis.xsd', + 'ST'), + ('TGeschwindigkeit', + 'Gleis.xsd', + 'ST'), + ('ENUMLichtraumprofil', + 'Gleis.xsd', + 'ST'), + ('TCLichtraumprofil', + 'Gleis.xsd', + 'CT'), + ('TCFahrstrom', + 'Gleis.xsd', + 'CT'), + ('CGleis_Art', + 'Gleis.xsd', + 'CT'), + ('TCGleisart', + 'Gleis.xsd', + 'CT'), + ('CGleis_Bezeichnung_Bezeichnung', + 'Gleis.xsd', + 'CT'), + ('CGleis_Fahrbahn', + 'Gleis.xsd', + 'CT'), + ('TCBez_Gleis_Bezeichnung', + 'Gleis.xsd', + 'CT'), + ('TCKonstruktion', + 'Gleis.xsd', + 'CT'), + ('TCBaubereich_Art', + 'Gleis.xsd', + 'CT'), + ('CGleis_Bezeichnung', + 'Gleis.xsd', + 'CT'), + ('CGleis_Abschnitt', + 'Gleis.xsd', + 'CT'), + ('CGleis_Baubereich', + 'Gleis.xsd', + 'CT'), + ('CGleis_Schaltgruppe', + 'Gleis.xsd', + 'CT'), + ('TCGeschwindigkeit', + 'Gleis.xsd', + 'CT'), + ('CGleis_Lichtraum', + 'Gleis.xsd', + 'CT')], + 'http://www.plan-pro.org/modell/Medien_und_Trassen/1.10.0': [('ENUMTrasse_Knoten_Art', + 'Medien_und_Trassen.xsd', + 'ST'), + ('TKabel_Typ', + 'Medien_und_Trassen.xsd', + 'ST'), + ('ENUMTrasse_Kante_Art', + 'Medien_und_Trassen.xsd', + 'ST'), + ('TBezeichnung_Kabel', + 'Medien_und_Trassen.xsd', + 'ST'), + ('ENUMKabel_Verteilpunkt_Art', + 'Medien_und_Trassen.xsd', + 'ST'), + ('TBezeichnung_Kabel_Verteilpunkt', + 'Medien_und_Trassen.xsd', + 'ST'), + ('ENUMTrasse_Nutzer', + 'Medien_und_Trassen.xsd', + 'ST'), + ('TAder_Durchmesser', + 'Medien_und_Trassen.xsd', + 'ST'), + ('TAder_Reserve', + 'Medien_und_Trassen.xsd', + 'ST'), + ('TAnzahl_Verseilelemente', + 'Medien_und_Trassen.xsd', + 'ST'), + ('TKabel_Laenge', + 'Medien_und_Trassen.xsd', + 'ST'), + ('TVerseilart', + 'Medien_und_Trassen.xsd', + 'ST'), + ('ENUMKabel_Art', + 'Medien_und_Trassen.xsd', + 'ST'), + ('TInduktionsschutz', + 'Medien_und_Trassen.xsd', + 'ST'), + ('TAder_Querschnitt', + 'Medien_und_Trassen.xsd', + 'ST'), + ('TCInduktionsschutz', + 'Medien_und_Trassen.xsd', + 'CT'), + ('TCTrasse_Kante_Art', + 'Medien_und_Trassen.xsd', + 'CT'), + ('TCKabel_Laenge', + 'Medien_und_Trassen.xsd', + 'CT'), + ('CTrasse_Kante', + 'Medien_und_Trassen.xsd', + 'CT'), + ('TCTrasse_Nutzer', + 'Medien_und_Trassen.xsd', + 'CT'), + ('TCKabel_Verteilpunkt_Art', + 'Medien_und_Trassen.xsd', + 'CT'), + ('CKabel_Verteilpunkt_Bezeichnung', + 'Medien_und_Trassen.xsd', + 'CT'), + ('CKabel_Verteilpunkt', + 'Medien_und_Trassen.xsd', + 'CT'), + ('CKabel_Element', + 'Medien_und_Trassen.xsd', + 'CT'), + ('TCKabel_Typ', + 'Medien_und_Trassen.xsd', + 'CT'), + ('CKabel_Bezeichnung', + 'Medien_und_Trassen.xsd', + 'CT'), + ('TCTrasse_Knoten_Art', + 'Medien_und_Trassen.xsd', + 'CT'), + ('TCAder_Reserve', + 'Medien_und_Trassen.xsd', + 'CT'), + ('TCBezeichnung_Kabel', + 'Medien_und_Trassen.xsd', + 'CT'), + ('TCAnzahl_Verseilelemente', + 'Medien_und_Trassen.xsd', + 'CT'), + ('TCAder_Durchmesser', + 'Medien_und_Trassen.xsd', + 'CT'), + ('CKabel', + 'Medien_und_Trassen.xsd', + 'CT'), + ('TCVerseilart', + 'Medien_und_Trassen.xsd', + 'CT'), + ('TCAder_Querschnitt', + 'Medien_und_Trassen.xsd', + 'CT'), + ('CTrasse_Knoten', + 'Medien_und_Trassen.xsd', + 'CT'), + ('CKabel_Allg', + 'Medien_und_Trassen.xsd', + 'CT'), + ('TCKabel_Art', + 'Medien_und_Trassen.xsd', + 'CT'), + ('TCBezeichnung_Kabel_Verteilpunkt', + 'Medien_und_Trassen.xsd', + 'CT'), + ('TCNagetierschutz', + 'Medien_und_Trassen.xsd', + 'CT')], + 'http://www.plan-pro.org/modell/Nahbedienung/1.10.0': [('TRang', + 'Nahbedienung.xsd', + 'ST'), + ('ENUMNB_Verhaeltnis_Besonders', + 'Nahbedienung.xsd', + 'ST'), + ('ENUMNB_Art', + 'Nahbedienung.xsd', + 'ST'), + ('TBezeichnung_NB', + 'Nahbedienung.xsd', + 'ST'), + ('TNB_Zone_Allg', + 'Nahbedienung.xsd', + 'ST'), + ('ENUMNB_Rueckgabevoraussetzung', + 'Nahbedienung.xsd', + 'ST'), + ('TBezeichnung_NB_Zone', + 'Nahbedienung.xsd', + 'ST'), + ('ENUMNB_Grenze_Art', + 'Nahbedienung.xsd', + 'ST'), + ('TCNB_Zone_Allg', + 'Nahbedienung.xsd', + 'CT'), + ('TCWHU', + 'Nahbedienung.xsd', + 'CT'), + ('TCF_ST_Z', + 'Nahbedienung.xsd', + 'CT'), + ('CNB_Funktionalitaet_NB_R', + 'Nahbedienung.xsd', + 'CT'), + ('CNB_Zone_Bezeichnung', + 'Nahbedienung.xsd', + 'CT'), + ('CNB_Bedien_Anzeige_Funktionen', + 'Nahbedienung.xsd', + 'CT'), + ('CNB_Bedien_Anzeige_Element', + 'Nahbedienung.xsd', + 'CT'), + ('TCFA_FAE', + 'Nahbedienung.xsd', + 'CT'), + ('TCNB_Art', + 'Nahbedienung.xsd', + 'CT'), + ('CNB_Zone', + 'Nahbedienung.xsd', + 'CT'), + ('TCNB_Grenze_Art', + 'Nahbedienung.xsd', + 'CT'), + ('TCBezeichnung_NB', + 'Nahbedienung.xsd', + 'CT'), + ('TCNB_Rueckgabevoraussetzung', + 'Nahbedienung.xsd', + 'CT'), + ('TCBezeichnung_NB_Zone', + 'Nahbedienung.xsd', + 'CT'), + ('TCRang', + 'Nahbedienung.xsd', + 'CT'), + ('TCWUS', + 'Nahbedienung.xsd', + 'CT'), + ('TCNB_Verhaeltnis_Besonders', + 'Nahbedienung.xsd', + 'CT'), + ('CNB_Zone_Element_Allg', + 'Nahbedienung.xsd', + 'CT'), + ('CNB_Zone_Element', + 'Nahbedienung.xsd', + 'CT'), + ('TCFreie_Stellbarkeit', + 'Nahbedienung.xsd', + 'CT'), + ('TCSBUE', + 'Nahbedienung.xsd', + 'CT'), + ('TCTaste_FGT', + 'Nahbedienung.xsd', + 'CT'), + ('TCAWU', + 'Nahbedienung.xsd', + 'CT'), + ('CNB_Zone_Reihenfolgezwang', + 'Nahbedienung.xsd', + 'CT'), + ('CNB', + 'Nahbedienung.xsd', + 'CT'), + ('TCSLE_SLS', + 'Nahbedienung.xsd', + 'CT'), + ('CNB_Zone_Grenze', + 'Nahbedienung.xsd', + 'CT'), + ('CNB_Bezeichnung', + 'Nahbedienung.xsd', + 'CT'), + ('TCTaste_WGT', + 'Nahbedienung.xsd', + 'CT'), + ('CNB_Zone_Allg', + 'Nahbedienung.xsd', + 'CT'), + ('TCTaste_ANF', + 'Nahbedienung.xsd', + 'CT')], + 'http://www.plan-pro.org/modell/Ortung/1.10.0': [('ENUMBezeichnung_Kennbuchstabe', + 'Ortung.xsd', + 'ST'), + ('ENUMFMA_Komponente_Art', + 'Ortung.xsd', + 'ST'), + ('ENUMFMA_Element_Seilanzahl', + 'Ortung.xsd', + 'ST'), + ('TFMA_Laenge_E3', + 'Ortung.xsd', + 'ST'), + ('ENUMSchienenprofil', + 'Ortung.xsd', + 'ST'), + ('ENUMFMA_Element_Art', + 'Ortung.xsd', + 'ST'), + ('TFMA_Laenge_Beeinflusst', + 'Ortung.xsd', + 'ST'), + ('ENUMFMA_Anschluss_Speiserichtung', + 'Ortung.xsd', + 'ST'), + ('TUebertragung_FMinfo_Typ', + 'Ortung.xsd', + 'ST'), + ('TZugeinwirkung_Typ', + 'Ortung.xsd', + 'ST'), + ('TFMA_Laenge_S', + 'Ortung.xsd', + 'ST'), + ('ENUMSchaltmittel_Funktion', + 'Ortung.xsd', + 'ST'), + ('TFMA_Element_Seiltyp', + 'Ortung.xsd', + 'ST'), + ('TFMA_Kaskade_Bezeichnung', + 'Ortung.xsd', + 'ST'), + ('ENUMFMA_Art', + 'Ortung.xsd', + 'ST'), + ('TFMA_Komponente_Typ', + 'Ortung.xsd', + 'ST'), + ('TFMA_Laenge_E2', + 'Ortung.xsd', + 'ST'), + ('ENUMZugeinwirkung_Art', + 'Ortung.xsd', + 'ST'), + ('TFMA_Anschluss_Bezeichnung', + 'Ortung.xsd', + 'ST'), + ('TFMA_Typ', + 'Ortung.xsd', + 'ST'), + ('ENUMIsolierung', + 'Ortung.xsd', + 'ST'), + ('TFMA_Laenge_E1', + 'Ortung.xsd', + 'ST'), + ('TFMA_Laenge', + 'Ortung.xsd', + 'ST'), + ('ENUMUebertragung_FMinfo_Richtung', + 'Ortung.xsd', + 'ST'), + ('TBettungswiderstand', + 'Ortung.xsd', + 'ST'), + ('CFMA_Anlage_Kaskade', + 'Ortung.xsd', + 'CT'), + ('CFMA_Anlage_Uebertragung_FMinfo', + 'Ortung.xsd', + 'CT'), + ('TCFMA_Anschluss_Bezeichnung', + 'Ortung.xsd', + 'CT'), + ('CFMA_Komponente', + 'Ortung.xsd', + 'CT'), + ('TCFMA_Laenge_Beeinflusst', + 'Ortung.xsd', + 'CT'), + ('CFMA_Anlage_Allg', + 'Ortung.xsd', + 'CT'), + ('CFMA_Anlage', + 'Ortung.xsd', + 'CT'), + ('CFMA_Element', + 'Ortung.xsd', + 'CT'), + ('CFMA_Komponente_Achszaehlpunkt', + 'Ortung.xsd', + 'CT'), + ('TCFMA_Isolierung', + 'Ortung.xsd', + 'CT'), + ('TCFMA_Komponente_Schienenprofil', + 'Ortung.xsd', + 'CT'), + ('TCFMA_Komponente_Typ', + 'Ortung.xsd', + 'CT'), + ('CSchaltmittel_Zuordnung', + 'Ortung.xsd', + 'CT'), + ('TCSchaltmittel_Funktion', + 'Ortung.xsd', + 'CT'), + ('CFMA_Element_Allg', + 'Ortung.xsd', + 'CT'), + ('CZugeinwirkung_Allg', + 'Ortung.xsd', + 'CT'), + ('TCBezeichnung_Kennbuchstabe', + 'Ortung.xsd', + 'CT'), + ('TCFMA_Element_Seiltyp', + 'Ortung.xsd', + 'CT'), + ('TCFMA_Laenge_E1', + 'Ortung.xsd', + 'CT'), + ('TCBettungswiderstand', + 'Ortung.xsd', + 'CT'), + ('TCFMA_Laenge_E2', + 'Ortung.xsd', + 'CT'), + ('CFMA_Anlage_Bezeichnung', + 'Ortung.xsd', + 'CT'), + ('TCFMA_Anschluss_Speiserichtung', + 'Ortung.xsd', + 'CT'), + ('TCFMA_Komponente_Stromversorgung', + 'Ortung.xsd', + 'CT'), + ('TCFMA_Element_Seilanzahl', + 'Ortung.xsd', + 'CT'), + ('CFMA_Anlage_Elektr_Merkmale', + 'Ortung.xsd', + 'CT'), + ('TCFMA_Typ', + 'Ortung.xsd', + 'CT'), + ('TCFMA_Kaskade_Bezeichnung', + 'Ortung.xsd', + 'CT'), + ('TCZugeinwirkung_Art', + 'Ortung.xsd', + 'CT'), + ('TCFMA_Laenge', + 'Ortung.xsd', + 'CT'), + ('TCFMA_Laenge_E3', + 'Ortung.xsd', + 'CT'), + ('TCFMA_Art', + 'Ortung.xsd', + 'CT'), + ('TCFMA_Hilffreimeldung', + 'Ortung.xsd', + 'CT'), + ('TCFMA_Kaskade_Einzelauswertung', + 'Ortung.xsd', + 'CT'), + ('TCZugeinwirkung_Typ', + 'Ortung.xsd', + 'CT'), + ('TCFMA_Element_Art', + 'Ortung.xsd', + 'CT'), + ('TCFMA_Komponente_Art', + 'Ortung.xsd', + 'CT'), + ('TCUebertragung_FMinfo_Richtung', + 'Ortung.xsd', + 'CT'), + ('CFMA_Element_Anschluss', + 'Ortung.xsd', + 'CT'), + ('TCFMA_Laenge_S', + 'Ortung.xsd', + 'CT'), + ('CZugeinwirkung', + 'Ortung.xsd', + 'CT'), + ('TCUebertragung_FMinfo_Typ', + 'Ortung.xsd', + 'CT')], + 'http://www.plan-pro.org/modell/PZB/1.10.0': [('TPruefgeschwindigkeit', + 'PZB.xsd', + 'ST'), + ('TGUE_Messstrecke', + 'PZB.xsd', + 'ST'), + ('ENUMGUE_Energieversorgung', + 'PZB.xsd', + 'ST'), + ('ENUMPZB_Art', 'PZB.xsd', 'ST'), + ('TPZB_Abstand_GM', + 'PZB.xsd', + 'ST'), + ('ENUMWirksamkeit_Fstr', + 'PZB.xsd', + 'ST'), + ('ENUMMessfehler', + 'PZB.xsd', + 'ST'), + ('TPrioritaet_Gefahrstelle', + 'PZB.xsd', + 'ST'), + ('ENUMWirksamkeit', + 'PZB.xsd', + 'ST'), + ('TPruefzeit', 'PZB.xsd', 'ST'), + ('ENUMGUE_Bauart', + 'PZB.xsd', + 'ST'), + ('ENUMGUE_Anordnung', + 'PZB.xsd', + 'ST'), + ('TGUE_Abstand_Abweichend', + 'PZB.xsd', + 'ST'), + ('TCGUE_Bauart', + 'PZB.xsd', + 'CT'), + ('TCGUE_Abstand_Abweichend', + 'PZB.xsd', + 'CT'), + ('CPZB_Zuordnung_Signal', + 'PZB.xsd', + 'CT'), + ('TCGUE_Energieversorgung', + 'PZB.xsd', + 'CT'), + ('CPZB_Element_Zuordnung', + 'PZB.xsd', + 'CT'), + ('TCMessfehler', + 'PZB.xsd', + 'CT'), + ('CPZB_Element_GM', + 'PZB.xsd', + 'CT'), + ('TCPruefgeschwindigkeit', + 'PZB.xsd', + 'CT'), + ('TCWirksamkeit', + 'PZB.xsd', + 'CT'), + ('CINA_Gefahrstelle', + 'PZB.xsd', + 'CT'), + ('TCPZB_Abstand_GM', + 'PZB.xsd', + 'CT'), + ('TCGUE_Messstrecke', + 'PZB.xsd', + 'CT'), + ('TCPZB_Art', 'PZB.xsd', 'CT'), + ('CPZB_Element_GUE', + 'PZB.xsd', + 'CT'), + ('CPZB_Element', + 'PZB.xsd', + 'CT'), + ('CPZB_Element_Zuordnung_INA', + 'PZB.xsd', + 'CT'), + ('CPZB_Element_Zuordnung_Fstr', + 'PZB.xsd', + 'CT'), + ('TCWirksamkeit_Fstr', + 'PZB.xsd', + 'CT'), + ('CPZB_Element_Zuordnung_BP', + 'PZB.xsd', + 'CT'), + ('TCPrioritaet_Gefahrstelle', + 'PZB.xsd', + 'CT'), + ('TCPZB_INA', 'PZB.xsd', 'CT'), + ('TCPruefzeit', 'PZB.xsd', 'CT'), + ('TCGUE_Anordnung', + 'PZB.xsd', + 'CT')], + 'http://www.plan-pro.org/modell/PlanPro/1.10.0': [('TProjekt_Nummer', + 'PlanPro.xsd', + 'ST'), + ('ENUMVergleichstyp_Besonders', + 'PlanPro.xsd', + 'ST'), + ('TName_Organisation', + 'PlanPro.xsd', + 'ST'), + ('ENUMPlanung_G_Art_Besonders', + 'PlanPro.xsd', + 'ST'), + ('TBezeichnung_Anlage', + 'PlanPro.xsd', + 'ST'), + ('TTelefonnummer', + 'PlanPro.xsd', + 'ST'), + ('TWerkzeug_Version', + 'PlanPro.xsd', + 'ST'), + ('TBauabschnitt', + 'PlanPro.xsd', + 'ST'), + ('TLaufende_Nummer_Ausgabe', + 'PlanPro.xsd', + 'ST'), + ('TStrecke_Abschnitt', + 'PlanPro.xsd', + 'ST'), + ('ENUMUntergewerk_Art', + 'PlanPro.xsd', + 'ST'), + ('TFuehrende_Oertlichkeit', + 'PlanPro.xsd', + 'ST'), + ('TStrecke_Nummer', + 'PlanPro.xsd', + 'ST'), + ('TReferenz_Planung_Basis', + 'PlanPro.xsd', + 'ST'), + ('TName_Akteur', + 'PlanPro.xsd', + 'ST'), + ('TPlanPro_XSD_Version', + 'PlanPro.xsd', + 'ST'), + ('TIndex_Ausgabe', + 'PlanPro.xsd', + 'ST'), + ('TReferenz_Vergleich_Besonders', + 'PlanPro.xsd', + 'ST'), + ('TBezeichnung_Unteranlage', + 'PlanPro.xsd', + 'ST'), + ('TAdresse_Strasse_Nr', + 'PlanPro.xsd', + 'ST'), + ('TBauzustand_Langbezeichnung', + 'PlanPro.xsd', + 'ST'), + ('TPolygonzug_Planungsbereich', + 'PlanPro.xsd', + 'ST'), + ('TVergleich_Ausgabestand_Basis', + 'PlanPro.xsd', + 'ST'), + ('TAdresse_PLZ_Ort', + 'PlanPro.xsd', + 'ST'), + ('TIdent_Rolle', + 'PlanPro.xsd', + 'ST'), + ('ENUMPlanung_E_Art', + 'PlanPro.xsd', + 'ST'), + ('ENUMPlanung_Phase', + 'PlanPro.xsd', + 'ST'), + ('TPolygonzug_Betrachtungsbereich', + 'PlanPro.xsd', + 'ST'), + ('TName_Akteur_5', + 'PlanPro.xsd', + 'ST'), + ('TBezeichnung_Planung_Projekt', + 'PlanPro.xsd', + 'ST'), + ('TBezeichnung_Planung_Gruppe', + 'PlanPro.xsd', + 'ST'), + ('TBemerkung', + 'PlanPro.xsd', + 'ST'), + ('TE_Mail_Adresse', + 'PlanPro.xsd', + 'ST'), + ('TWerkzeug_Name', + 'PlanPro.xsd', + 'ST'), + ('TBauphase', + 'PlanPro.xsd', + 'ST'), + ('TVerantwortliche_Stelle_DB', + 'PlanPro.xsd', + 'ST'), + ('ENUMKoordinatensystem', + 'PlanPro.xsd', + 'ST'), + ('TOrganisationseinheit', + 'PlanPro.xsd', + 'ST'), + ('TName_Akteur_10', + 'PlanPro.xsd', + 'ST'), + ('TStrecke_Km', + 'PlanPro.xsd', + 'ST'), + ('TBauzustand_Kurzbezeichnung', + 'PlanPro.xsd', + 'ST'), + ('TCKoordinatensystem_BB', + 'PlanPro.xsd', + 'CT'), + ('TCUntergewerk_Art', + 'PlanPro.xsd', + 'CT'), + ('TCReferenz_Planung_Basis', + 'PlanPro.xsd', + 'CT'), + ('CPlanung_E_Ausgabe_Besonders', + 'PlanPro.xsd', + 'CT'), + ('TCDatum_Abschluss_Einzel', + 'PlanPro.xsd', + 'CT'), + ('TCDatum_Abschluss_Projekt', + 'PlanPro.xsd', + 'CT'), + ('CAkteur', + 'PlanPro.xsd', + 'CT'), + ('TCDatum_Abschluss_Gruppe', + 'PlanPro.xsd', + 'CT'), + ('TCIndex_Ausgabe', + 'PlanPro.xsd', + 'CT'), + ('TCWerkzeug_Name', + 'PlanPro.xsd', + 'CT'), + ('TCInformativ', + 'PlanPro.xsd', + 'CT'), + ('TCStrecke_Nummer', + 'PlanPro.xsd', + 'CT'), + ('TCFuehrende_Oertlichkeit', + 'PlanPro.xsd', + 'CT'), + ('TCAdresse_PLZ_Ort', + 'PlanPro.xsd', + 'CT'), + ('TCBauabschnitt', + 'PlanPro.xsd', + 'CT'), + ('TCBezeichnung_Planung_Projekt', + 'PlanPro.xsd', + 'CT'), + ('TCIdent_Rolle', + 'PlanPro.xsd', + 'CT'), + ('TCTelefonnummer', + 'PlanPro.xsd', + 'CT'), + ('TCPlanPro_XSD_Version', + 'PlanPro.xsd', + 'CT'), + ('TCBezeichnung_Unteranlage', + 'PlanPro.xsd', + 'CT'), + ('CPlanung_G_Fuehrende_Strecke', + 'PlanPro.xsd', + 'CT'), + ('TCBauzustand_Kurzbezeichnung', + 'PlanPro.xsd', + 'CT'), + ('TCWerkzeug_Version', + 'PlanPro.xsd', + 'CT'), + ('CLST_Planung', + 'PlanPro.xsd', + 'CT'), + ('TCPlanung_Phase', + 'PlanPro.xsd', + 'CT'), + ('CPlanung_Projekt', + 'PlanPro.xsd', + 'CT'), + ('TCName_Organisation', + 'PlanPro.xsd', + 'CT'), + ('CObjektmanagement', + 'PlanPro.xsd', + 'CT'), + ('CPlanung_Einzel', + 'PlanPro.xsd', + 'CT'), + ('TCErzeugung_Zeitstempel', + 'PlanPro.xsd', + 'CT'), + ('TCProjekt_Nummer', + 'PlanPro.xsd', + 'CT'), + ('TCStrecke_Abschnitt', + 'PlanPro.xsd', + 'CT'), + ('CPolygone_Betrachtungsbereich', + 'PlanPro.xsd', + 'CT'), + ('TCReferenz_Vergleich_Besonders', + 'PlanPro.xsd', + 'CT'), + ('CPlanung_G_Allg', + 'PlanPro.xsd', + 'CT'), + ('CPlanPro_Schnittstelle_Allg', + 'PlanPro.xsd', + 'CT'), + ('TCName_Akteur', + 'PlanPro.xsd', + 'CT'), + ('TCPlanung_G_Art_Besonders', + 'PlanPro.xsd', + 'CT'), + ('CLST_Objekte_Planungsbereich', + 'PlanPro.xsd', + 'CT'), + ('TCBauphase', + 'PlanPro.xsd', + 'CT'), + ('TCVerantwortliche_Stelle_DB', + 'PlanPro.xsd', + 'CT'), + ('CAkteur_Zuordnung', + 'PlanPro.xsd', + 'CT'), + ('TCName_Akteur_10', + 'PlanPro.xsd', + 'CT'), + ('TCVergleich_Ausgabestand_Basis', + 'PlanPro.xsd', + 'CT'), + ('CLST_Zustand', + 'PlanPro.xsd', + 'CT'), + ('TCBemerkung', + 'PlanPro.xsd', + 'CT'), + ('CPolygone_Planungsbereich', + 'PlanPro.xsd', + 'CT'), + ('CAkteur_Allg', + 'PlanPro.xsd', + 'CT'), + ('COrganisation', + 'PlanPro.xsd', + 'CT'), + ('CPlanung_P_Allg', + 'PlanPro.xsd', + 'CT'), + ('TCPlanung_E_Art', + 'PlanPro.xsd', + 'CT'), + ('TCName_Akteur_5', + 'PlanPro.xsd', + 'CT'), + ('TCVergleichstyp_Besonders', + 'PlanPro.xsd', + 'CT'), + ('TCStrecke_Km', + 'PlanPro.xsd', + 'CT'), + ('TCBezeichnung_Anlage', + 'PlanPro.xsd', + 'CT'), + ('TCDatum_Uebernahme', + 'PlanPro.xsd', + 'CT'), + ('CFachdaten', + 'PlanPro.xsd', + 'CT'), + ('TCE_Mail_Adresse', + 'PlanPro.xsd', + 'CT'), + ('TCPolygonzug_Betrachtungsbereich', + 'PlanPro.xsd', + 'CT'), + ('TCDatum', + 'PlanPro.xsd', + 'CT'), + ('TCKoordinatensystem_PB', + 'PlanPro.xsd', + 'CT'), + ('TCOrganisationseinheit', + 'PlanPro.xsd', + 'CT'), + ('TCBezeichnung_Planung_Gruppe', + 'PlanPro.xsd', + 'CT'), + ('CContainer', + 'PlanPro.xsd', + 'CT'), + ('CPlanung_Gruppe', + 'PlanPro.xsd', + 'CT'), + ('CPlanung_E_Allg', + 'PlanPro.xsd', + 'CT'), + ('CPlanung_E_Handlung', + 'PlanPro.xsd', + 'CT'), + ('TCBauzustand_Langbezeichnung', + 'PlanPro.xsd', + 'CT'), + ('TCLaufende_Nummer_Ausgabe', + 'PlanPro.xsd', + 'CT'), + ('TCDatum_Regelwerksstand', + 'PlanPro.xsd', + 'CT'), + ('CPlanPro_Schnittstelle', + 'PlanPro.xsd', + 'CT'), + ('CPlanung_G_Schriftfeld', + 'PlanPro.xsd', + 'CT'), + ('CAusgabe_Fachdaten', + 'PlanPro.xsd', + 'CT'), + ('TCPolygonzug_Planungsbereich', + 'PlanPro.xsd', + 'CT'), + ('TCAdresse_Strasse_Nr', + 'PlanPro.xsd', + 'CT')], + 'http://www.plan-pro.org/modell/Regelzeichnung/1.10.0': [('TRZ_Nummer', + 'Regelzeichnung.xsd', + 'ST'), + ('TRZ_Parameter_Name', + 'Regelzeichnung.xsd', + 'ST'), + ('TBild', + 'Regelzeichnung.xsd', + 'ST'), + ('TRZ_Parameter_Wert', + 'Regelzeichnung.xsd', + 'ST'), + ('TTitel', + 'Regelzeichnung.xsd', + 'ST'), + ('TUntertitel', + 'Regelzeichnung.xsd', + 'ST'), + ('CRegelzeichnung', + 'Regelzeichnung.xsd', + 'CT'), + ('TCRZ_Nummer', + 'Regelzeichnung.xsd', + 'CT'), + ('CRegelzeichnung_Allg', + 'Regelzeichnung.xsd', + 'CT'), + ('TCUntertitel', + 'Regelzeichnung.xsd', + 'CT'), + ('CRegelzeichnung_Parameter', + 'Regelzeichnung.xsd', + 'CT'), + ('TCRZ_Parameter_Name', + 'Regelzeichnung.xsd', + 'CT'), + ('TCRZ_Parameter_Wert', + 'Regelzeichnung.xsd', + 'CT'), + ('CRegelzeichnung_Parameter_Allg', + 'Regelzeichnung.xsd', + 'CT'), + ('TCTitel', + 'Regelzeichnung.xsd', + 'CT'), + ('TCBild', + 'Regelzeichnung.xsd', + 'CT')], + 'http://www.plan-pro.org/modell/Schluesselabhaengigkeiten/1.10.0': [('ENUMSchluessel_Gruppe', + 'Schluesselabhaengigkeiten.xsd', + 'ST'), + ('TBeschreibung_Sonderanlage', + 'Schluesselabhaengigkeiten.xsd', + 'ST'), + ('TBezeichnung_Schluessel', + 'Schluesselabhaengigkeiten.xsd', + 'ST'), + ('TW_Lage', + 'Schluesselabhaengigkeiten.xsd', + 'ST'), + ('TBezeichnung_Schloss', + 'Schluesselabhaengigkeiten.xsd', + 'ST'), + ('ENUMSchluessel_Bartform', + 'Schluesselabhaengigkeiten.xsd', + 'ST'), + ('ENUMSonderanlage_Lage', + 'Schluesselabhaengigkeiten.xsd', + 'ST'), + ('ENUMGsp_Lage', + 'Schluesselabhaengigkeiten.xsd', + 'ST'), + ('TBezeichnung_Sk', + 'Schluesselabhaengigkeiten.xsd', + 'ST'), + ('ENUMBedienung_Art', + 'Schluesselabhaengigkeiten.xsd', + 'ST'), + ('ENUMSchloss_Art', + 'Schluesselabhaengigkeiten.xsd', + 'ST'), + ('TW_Anbaulage', + 'Schluesselabhaengigkeiten.xsd', + 'ST'), + ('ENUMVerschluss_Ort', + 'Schluesselabhaengigkeiten.xsd', + 'ST'), + ('ENUMBUE_Lage', + 'Schluesselabhaengigkeiten.xsd', + 'ST'), + ('CSchluessel_Bezeichnung', + 'Schluesselabhaengigkeiten.xsd', + 'CT'), + ('TCVerschluss_Ort', + 'Schluesselabhaengigkeiten.xsd', + 'CT'), + ('TCSchluessel_Gruppe', + 'Schluesselabhaengigkeiten.xsd', + 'CT'), + ('CSchloss_Sonderanlage', + 'Schluesselabhaengigkeiten.xsd', + 'CT'), + ('CSchloss_Gsp', + 'Schluesselabhaengigkeiten.xsd', + 'CT'), + ('TCBezeichnung_Sk', + 'Schluesselabhaengigkeiten.xsd', + 'CT'), + ('TCBezeichnung_Schloss', + 'Schluesselabhaengigkeiten.xsd', + 'CT'), + ('CSchluesselsperre', + 'Schluesselabhaengigkeiten.xsd', + 'CT'), + ('TCGsp_Lage', + 'Schluesselabhaengigkeiten.xsd', + 'CT'), + ('CSchloss_W', + 'Schluesselabhaengigkeiten.xsd', + 'CT'), + ('TCBedienung_Art', + 'Schluesselabhaengigkeiten.xsd', + 'CT'), + ('TCTechnisch_Berechtigter', + 'Schluesselabhaengigkeiten.xsd', + 'CT'), + ('TCSonderanlage_Lage', + 'Schluesselabhaengigkeiten.xsd', + 'CT'), + ('CSchloss_Ssp', + 'Schluesselabhaengigkeiten.xsd', + 'CT'), + ('CSchloss_BUE', + 'Schluesselabhaengigkeiten.xsd', + 'CT'), + ('CSchloss', + 'Schluesselabhaengigkeiten.xsd', + 'CT'), + ('TCBezeichnung_Schluessel', + 'Schluesselabhaengigkeiten.xsd', + 'CT'), + ('CSchluessel', + 'Schluesselabhaengigkeiten.xsd', + 'CT'), + ('CSchloss_Bezeichnung', + 'Schluesselabhaengigkeiten.xsd', + 'CT'), + ('TCW_Anbaulage', + 'Schluesselabhaengigkeiten.xsd', + 'CT'), + ('CSchlosskombination_Bezeichnung', + 'Schluesselabhaengigkeiten.xsd', + 'CT'), + ('TCSchluessel_In_Grdst_Eingeschl', + 'Schluesselabhaengigkeiten.xsd', + 'CT'), + ('TCBUE_Lage', + 'Schluesselabhaengigkeiten.xsd', + 'CT'), + ('TCBeschreibung_Sonderanlage', + 'Schluesselabhaengigkeiten.xsd', + 'CT'), + ('CSchlosskombination', + 'Schluesselabhaengigkeiten.xsd', + 'CT'), + ('TCSchloss_Art', + 'Schluesselabhaengigkeiten.xsd', + 'CT'), + ('TCW_Lage', + 'Schluesselabhaengigkeiten.xsd', + 'CT'), + ('TCSchluessel_Bartform', + 'Schluesselabhaengigkeiten.xsd', + 'CT'), + ('TCHauptschloss', + 'Schluesselabhaengigkeiten.xsd', + 'CT'), + ('CSchloss_Sk', + 'Schluesselabhaengigkeiten.xsd', + 'CT'), + ('CSchluessel_Allg', + 'Schluesselabhaengigkeiten.xsd', + 'CT')], + 'http://www.plan-pro.org/modell/Signalbegriffe_Ril_301/1.10.0': [('ENUMSymbol_Zs_2', + 'Signalbegriffe_Ril_301.xsd', + 'ST'), + ('ENUMSymbol_Zs_2v', + 'Signalbegriffe_Ril_301.xsd', + 'ST'), + ('ENUMSymbol_Zs_3', + 'Signalbegriffe_Ril_301.xsd', + 'ST'), + ('ENUMSymbol_Zs_3v', + 'Signalbegriffe_Ril_301.xsd', + 'ST'), + ('ENUMSymbol_Lf_1', + 'Signalbegriffe_Ril_301.xsd', + 'ST'), + ('ENUMSymbol_Lf_1_2', + 'Signalbegriffe_Ril_301.xsd', + 'ST'), + ('ENUMSymbol_Lf_4_DS', + 'Signalbegriffe_Ril_301.xsd', + 'ST'), + ('ENUMSymbol_Lf_4_DV', + 'Signalbegriffe_Ril_301.xsd', + 'ST'), + ('ENUMSymbol_Lf_6', + 'Signalbegriffe_Ril_301.xsd', + 'ST'), + ('ENUMSymbol_Lf_7', + 'Signalbegriffe_Ril_301.xsd', + 'ST'), + ('TOz_Zugl_Symbol', + 'Signalbegriffe_Ril_301.xsd', + 'ST'), + ('TBS_Zusatz_Symbol', + 'Signalbegriffe_Ril_301.xsd', + 'ST'), + ('ENUMSymbol_Lf_1_Wdh', + 'Signalbegriffe_Ril_301.xsd', + 'ST'), + ('So_20', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('Ms_ws_rt_ws', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('Ms_rt', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('Ms_ws_ge_ws', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('Ms_ws_sw_ws', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('Ms_ws_2swP', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('Ukr', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('Hp_0', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('Hp_0_2Lp', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('Hp_1', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('Hp_2', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('Ms_ge_D', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('Zl_o', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('Zl_u', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('Kl', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('Ks_1', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('Ks_2', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('Hl_1', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('Hl_2', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('Hl_3a', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('Hl_3b', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('Hl_4', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('Hl_5', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('Hl_6a', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('Hl_6b', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('Hl_7', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('Hl_8', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('Hl_9a', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('Hl_9b', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('Hl_10', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('Hl_11', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('Hl_12a', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('Hl_12b', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('Sv_0', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('Sv_1', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('Sv_2', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('Sv_3', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('Sv_4', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('Sv_5', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('Sv_6', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('Sv_wPf', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('Ms_Vw', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('Wvs', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('Vr_0', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('Vr_1', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('Vr_2', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('Zs_1', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('Zs_1_A', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('Zs_2', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('Zs_2v', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('Zs_3', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('Zs_3v', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('Zs_6', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('Zs_7', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('Zs_8_A', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('Zs_8', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('Zs_9', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('Zs_10', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('Zs_12', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('Zs_13', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('Zs_103', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('Ts_1', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('Ts_2', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('Ts_3', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('Lf_1', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('Lf_1_2', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('Lf_2', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('Lf_3', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('Lf_4_DS', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('Lf_4_DV', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('Lf_5_DS', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('Lf_5_DV', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('Lf_6', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('Lf_7', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('Sh_0', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('Sh_1', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('Sh_2', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('Ra_10', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('Ra_11', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('Ra_11b', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('Ra_12', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('Ra_13', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('Wn_1', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('Wn_2', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('Wn_3', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('Wn_4', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('Wn_5', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('Wn_6', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('Wn_7', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('Zp_6', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('Zp_7', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('Zp_8', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('Zp_9', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('Zp_9_Ls', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('Zp_10_Ls', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('Zp_10', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('El_1v', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('El_1', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('El_2', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('El_T_DC', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('El_T_AC', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('El_3', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('El_4', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('El_5', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('El_6', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('El_Pf_o', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('El_Pf_r', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('El_Pf_l', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('El_Pf_b', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('Ne_1', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('Ne_2', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('Ne_2_vRVA', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('Ne_3_1str', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('Ne_3_2str', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('Ne_3_3str', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('Ne_3_4str', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('Ne_3_5str', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('BS_vRVA', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('Ne_4', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('Ne_5', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('Ne_6', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('Ne_7a', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('Ne_7b', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('So_1', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('Ne_12', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('Ne_13a', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('Ne_13b', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('So_19_1P', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('So_19_2P', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('So_19_3P', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('So_106', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('Ms_UES_Wdh', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('Bue_0_1S', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('Bue_0_2S', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('Bue_0_2Lp', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('Bue_0_1Lp', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('Bue_0_0Lp', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('Bue_1_1S_bli', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('Bue_1_2S_st', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('Bue_1_2Lp_st', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('Bue_1_1Lp_bli', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('Bue_AT', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('Bue_KT', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('Bue_4', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('Pf_2', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('Bue_5', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('Oz_Zf', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('Oz_ICE', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('Oz_Auto_HET', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('Oz_HET', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('Oz_Auto_ET', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('Oz_ET', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('Oz_Fa', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('Oz_LZB_Ber', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('Oz_Bk', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('NISES_HM', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('Ne_14', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('Oz_OB_Grenze', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('BS_vA_UES', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('BS_Wdh', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('BS_Zusatz', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('Lf_Pf_r', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('Lf_Pf_l', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('Oz_PZB_BUE', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('Ms_Sk_rt', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('Ms_Sk_ge', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('Sk_1', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('Sk_2', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('Oz_Fak', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('Oz_Zugl', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('Bue_AT_Zusatz', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('Bue_1_0Lp_bli', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('Bue_2', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('Bue_2_3R', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('Bue_2_2R', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('Bue_2_1R', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('So_15', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('Bue_3', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('So_14', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('BS_ZBS_Ber', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('Oz_GSM_R', + 'Signalbegriffe_Ril_301.xsd', + 'CT'), + ('Lf_1_Wdh', + 'Signalbegriffe_Ril_301.xsd', + 'CT')], + 'http://www.plan-pro.org/modell/Signalbegriffe_Struktur/1.6.0.1': [('TCSignalbegriff_ID', + 'Signalbegriffe_Struktur.xsd', + 'CT')], + 'http://www.plan-pro.org/modell/Signale/1.10.0': [('TRahmen_Hoehe', + 'Signale.xsd', + 'ST'), + ('ENUMSonstige_Zulaessige_Anordnung', + 'Signale.xsd', + 'ST'), + ('ENUMFiktives_Signal_Funktion', + 'Signale.xsd', + 'ST'), + ('TRichtpunkt', + 'Signale.xsd', + 'ST'), + ('ENUMSignal_Funktion', + 'Signale.xsd', + 'ST'), + ('TRichtpunktentfernung', + 'Signale.xsd', + 'ST'), + ('ENUMFunktion_Ohne_Signal', + 'Signale.xsd', + 'ST'), + ('TObere_Lichtpunkthoehe', + 'Signale.xsd', + 'ST'), + ('TSignalsicht_Soll', + 'Signale.xsd', + 'ST'), + ('ENUMFundament_Art', + 'Signale.xsd', + 'ST'), + ('ENUMAuto_Einstellung', + 'Signale.xsd', + 'ST'), + ('ENUMSignal_Befestigungsart', + 'Signale.xsd', + 'ST'), + ('ENUMBefestigung_Art', + 'Signale.xsd', + 'ST'), + ('THoehe_Fundamentoberkante', + 'Signale.xsd', + 'ST'), + ('ENUMRahmen_Art', + 'Signale.xsd', + 'ST'), + ('ENUMSignalsystem', + 'Signale.xsd', + 'ST'), + ('ENUMGeltungsbereich', + 'Signale.xsd', + 'ST'), + ('ENUMBeleuchtet', + 'Signale.xsd', + 'ST'), + ('TSignalsicht_Mindest', + 'Signale.xsd', + 'ST'), + ('TPZB_Schutzstrecke_Soll', + 'Signale.xsd', + 'ST'), + ('ENUMSignal_Charakter', + 'Signale.xsd', + 'ST'), + ('ENUMStreuscheibe_Art', + 'Signale.xsd', + 'ST'), + ('ENUMSignal_Art', + 'Signale.xsd', + 'ST'), + ('ENUMTunnelsignal', + 'Signale.xsd', + 'ST'), + ('ENUMDurchfahrt', + 'Signale.xsd', + 'ST'), + ('ENUMStreuscheibe_Betriebsstellung', + 'Signale.xsd', + 'ST'), + ('ENUMAnschaltdauer', + 'Signale.xsd', + 'ST'), + ('TSignalsicht_Erreichbar', + 'Signale.xsd', + 'ST'), + ('CSignal_Signalbegriff', + 'Signale.xsd', + 'CT'), + ('CSignal_Befestigung', + 'Signale.xsd', + 'CT'), + ('TCObere_Lichtpunkthoehe', + 'Signale.xsd', + 'CT'), + ('CSignal_Fstr_Aus_Inselgleis', + 'Signale.xsd', + 'CT'), + ('TCDunkelschaltung', + 'Signale.xsd', + 'CT'), + ('TCGeschaltet', + 'Signale.xsd', + 'CT'), + ('TCHoehe_Fundamentoberkante', + 'Signale.xsd', + 'CT'), + ('TCStreuscheibe_Art', + 'Signale.xsd', + 'CT'), + ('TCSignalsicht_Soll', + 'Signale.xsd', + 'CT'), + ('TCTunnelsignal', + 'Signale.xsd', + 'CT'), + ('CSignal_Befestigung_Allg', + 'Signale.xsd', + 'CT'), + ('TCGegengleis', + 'Signale.xsd', + 'CT'), + ('CSignal_Real', + 'Signale.xsd', + 'CT'), + ('TCDurchfahrt', + 'Signale.xsd', + 'CT'), + ('TCSignalsystem', + 'Signale.xsd', + 'CT'), + ('TCZs2_Ueberwacht', + 'Signale.xsd', + 'CT'), + ('TCSignal_Befestigungsart', + 'Signale.xsd', + 'CT'), + ('TCFiktives_Signal_Funktion', + 'Signale.xsd', + 'CT'), + ('TCAnschaltdauer', + 'Signale.xsd', + 'CT'), + ('CSignal_Real_Aktiv_Schirm', + 'Signale.xsd', + 'CT'), + ('TCGeltungsbereich', + 'Signale.xsd', + 'CT'), + ('TCSignal_Charakter', + 'Signale.xsd', + 'CT'), + ('TCRangierstrasse_Restaufloesung', + 'Signale.xsd', + 'CT'), + ('TCSignal_Funktion', + 'Signale.xsd', + 'CT'), + ('TCSignal_Art', + 'Signale.xsd', + 'CT'), + ('TCAuto_Einstellung', + 'Signale.xsd', + 'CT'), + ('CSignal_Fstr_S', + 'Signale.xsd', + 'CT'), + ('TCFundament_Art', + 'Signale.xsd', + 'CT'), + ('TCPZB_Schutzstrecke_Soll', + 'Signale.xsd', + 'CT'), + ('TCBeleuchtet', + 'Signale.xsd', + 'CT'), + ('CSignal_Fstr', + 'Signale.xsd', + 'CT'), + ('TCRahmen_Art', + 'Signale.xsd', + 'CT'), + ('CSignal_Rahmen', + 'Signale.xsd', + 'CT'), + ('CSignal_Signalbegriff_Allg', + 'Signale.xsd', + 'CT'), + ('TCStreuscheibe_Betriebsstellung', + 'Signale.xsd', + 'CT'), + ('TCBesetzte_Ausfahrt', + 'Signale.xsd', + 'CT'), + ('TCSonstige_Zulaessige_Anordnung', + 'Signale.xsd', + 'CT'), + ('TCRichtpunktentfernung', + 'Signale.xsd', + 'CT'), + ('TCSignalsicht_Mindest', + 'Signale.xsd', + 'CT'), + ('TCBefestigung_Art', + 'Signale.xsd', + 'CT'), + ('TCRichtpunkt', + 'Signale.xsd', + 'CT'), + ('CSignal_Real_Aktiv', + 'Signale.xsd', + 'CT'), + ('TCRahmen_Hoehe', + 'Signale.xsd', + 'CT'), + ('CSignal_Fank_Zuordnung', + 'Signale.xsd', + 'CT'), + ('TCFunktion_Ohne_Signal', + 'Signale.xsd', + 'CT'), + ('TCSignalsicht_Erreichbar', + 'Signale.xsd', + 'CT'), + ('CSignal_Fiktiv', + 'Signale.xsd', + 'CT'), + ('TCDA_Manuell', + 'Signale.xsd', + 'CT'), + ('CSignal', + 'Signale.xsd', + 'CT')], + 'http://www.plan-pro.org/modell/Verweise/1.10.0': [('TCID_Anhang_ohne_Proxy', + 'Verweise.xsd', + 'CT'), + ('TCID_ATO_TS_Instanz', + 'Verweise.xsd', + 'CT'), + ('TCID_BUE_Einschaltung', + 'Verweise.xsd', + 'CT'), + ('TCID_LEU_Anlage_ohne_Proxy', + 'Verweise.xsd', + 'CT'), + ('TCID_RBC', + 'Verweise.xsd', + 'CT'), + ('TCID_Block_Element', + 'Verweise.xsd', + 'CT'), + ('TCID_W_Kr_Gsp_Element', + 'Verweise.xsd', + 'CT'), + ('TCID_FMA_Element', + 'Verweise.xsd', + 'CT'), + ('TCID_Regelzeichnung_ohne_Proxy', + 'Verweise.xsd', + 'CT'), + ('TCID_Aussenelementansteuerung', + 'Verweise.xsd', + 'CT'), + ('TCID_Ueberhoehung', + 'Verweise.xsd', + 'CT'), + ('TCID_Markanter_Punkt_Gleis_Abschluss', + 'Verweise.xsd', + 'CT'), + ('TCID_Anforderung', + 'Verweise.xsd', + 'CT'), + ('TCID_Fstr_Fahrweg_ohne_Proxy', + 'Verweise.xsd', + 'CT'), + ('TCID_GEO_Punkt_ohne_Proxy', + 'Verweise.xsd', + 'CT'), + ('TCID_W_Kr_Gsp_Komponente', + 'Verweise.xsd', + 'CT'), + ('TCID_Information_Primaer', + 'Verweise.xsd', + 'CT'), + ('TCID_Fla_Schutz', + 'Verweise.xsd', + 'CT'), + ('TCID_Bedien_Anzeige_Element', + 'Verweise.xsd', + 'CT'), + ('TCID_ZL', + 'Verweise.xsd', + 'CT'), + ('TCID_ZN_Anzeigefeld_Anstoss', + 'Verweise.xsd', + 'CT'), + ('TCID_ZLV_Bus_ohne_Proxy', + 'Verweise.xsd', + 'CT'), + ('TCID_BUE_WS_Fstr_Zuordnung', + 'Verweise.xsd', + 'CT'), + ('TCID_Umfahrpunkt', + 'Verweise.xsd', + 'CT'), + ('TCID_Zweites_Haltfallkriterium', + 'Verweise.xsd', + 'CT'), + ('TCID_ETCS_Kante', + 'Verweise.xsd', + 'CT'), + ('TCID_NB_Element', + 'Verweise.xsd', + 'CT'), + ('TCID_AnhangBearbeitungsvermerk', + 'Verweise.xsd', + 'CT'), + ('TCID_Fstr_Zug_Rangier', + 'Verweise.xsd', + 'CT'), + ('TCID_GEO_Kante', + 'Verweise.xsd', + 'CT'), + ('TCID_Element', + 'Verweise.xsd', + 'CT'), + ('TCID_LEU_Schaltkasten_ohne_Proxy', + 'Verweise.xsd', + 'CT'), + ('TCID_Basis_Objekt', + 'Verweise.xsd', + 'CT'), + ('TCID_W_Kr_Anlage', + 'Verweise.xsd', + 'CT'), + ('TCID_Bedien_Standort', + 'Verweise.xsd', + 'CT'), + ('TCID_Komponente_Programmiert', + 'Verweise.xsd', + 'CT'), + ('TCID_GEO_Knoten', + 'Verweise.xsd', + 'CT'), + ('TCID_ZN_Fortschalt_Kriterium', + 'Verweise.xsd', + 'CT'), + ('TCID_ATO_TS_Instanz_ohne_Proxy', + 'Verweise.xsd', + 'CT'), + ('TCID_Technischer_Punkt', + 'Verweise.xsd', + 'CT'), + ('TCID_BUE_Schnittstelle', + 'Verweise.xsd', + 'CT'), + ('TCID_Schaltmittel_Zuordnung', + 'Verweise.xsd', + 'CT'), + ('TCID_Schluessel', + 'Verweise.xsd', + 'CT'), + ('TCID_Grenzzeichen', + 'Verweise.xsd', + 'CT'), + ('TCID_Weichenlaufkette', + 'Verweise.xsd', + 'CT'), + ('TCID_Schlosskombination', + 'Verweise.xsd', + 'CT'), + ('TCID_Oertlichkeit_Proxy', + 'Verweise.xsd', + 'CT'), + ('TCID_Signal_Start', + 'Verweise.xsd', + 'CT'), + ('TCID_Bedien_Zentrale', + 'Verweise.xsd', + 'CT'), + ('TCID_GFR_Anlage_ohne_Proxy', + 'Verweise.xsd', + 'CT'), + ('TCID_Anschluss_Element', + 'Verweise.xsd', + 'CT'), + ('TCID_Ausgabe_Fachdaten_ohne_Proxy', + 'Verweise.xsd', + 'CT'), + ('TCID_ZL_Fstr', + 'Verweise.xsd', + 'CT'), + ('TCID_FT_Anschaltbedingung', + 'Verweise.xsd', + 'CT'), + ('TCID_Lageplan_Blattschnitt', + 'Verweise.xsd', + 'CT'), + ('TCID_Balise_ohne_Proxy', + 'Verweise.xsd', + 'CT'), + ('TCID_Block_Strecke', + 'Verweise.xsd', + 'CT'), + ('TCID_Fstr_Aneinander', + 'Verweise.xsd', + 'CT'), + ('TCID_TOP_Knoten', + 'Verweise.xsd', + 'CT'), + ('TCID_Strecke_Bremsweg_ohne_Proxy', + 'Verweise.xsd', + 'CT'), + ('TCID_ETCS_Knoten', + 'Verweise.xsd', + 'CT'), + ('TCID_Bedien_Bezirk', + 'Verweise.xsd', + 'CT'), + ('TCID_Bedien_Oberflaeche', + 'Verweise.xsd', + 'CT'), + ('TCID_PZB_Element_Zuordnung', + 'Verweise.xsd', + 'CT'), + ('TCID_Uebertragungsweg_Nach', + 'Verweise.xsd', + 'CT'), + ('TCID_Signal', + 'Verweise.xsd', + 'CT'), + ('TCID_Quellelement', + 'Verweise.xsd', + 'CT'), + ('TCID_Handschalt_Wirkfunktion', + 'Verweise.xsd', + 'CT'), + ('TCID_Stellwerk', + 'Verweise.xsd', + 'CT'), + ('TCID_FMA_Anlage', + 'Verweise.xsd', + 'CT'), + ('TCID_Element_Grenze', + 'Verweise.xsd', + 'CT'), + ('TCID_PZB_Element_Bezugspunkt', + 'Verweise.xsd', + 'CT'), + ('TCID_ETCS_Knoten_ohne_Proxy', + 'Verweise.xsd', + 'CT'), + ('TCID_Signal_Befestigung', + 'Verweise.xsd', + 'CT'), + ('TCID_GEO_Punkt', + 'Verweise.xsd', + 'CT'), + ('TCID_Oertlichkeit', + 'Verweise.xsd', + 'CT'), + ('TCID_Balise', + 'Verweise.xsd', + 'CT'), + ('TCID_Signal_Gleisbezechnung', + 'Verweise.xsd', + 'CT'), + ('TCID_FMA_Anlage_Rangier_Frei', + 'Verweise.xsd', + 'CT'), + ('TCID_DP_Bezug_Funktional', + 'Verweise.xsd', + 'CT'), + ('TCID_Fstr_Ausschluss_Besonders', + 'Verweise.xsd', + 'CT'), + ('TCID_Strecke_Punkt', + 'Verweise.xsd', + 'CT'), + ('TCID_NB_Zone', + 'Verweise.xsd', + 'CT'), + ('TCID_ZN_ZBS', + 'Verweise.xsd', + 'CT'), + ('TCID_Anforderer_Element', + 'Verweise.xsd', + 'CT'), + ('TCID_Ziel', + 'Verweise.xsd', + 'CT'), + ('TCID_ZN', + 'Verweise.xsd', + 'CT'), + ('TCID_Uebertragungsweg_Von', + 'Verweise.xsd', + 'CT'), + ('TCID_LEU_Anlage', + 'Verweise.xsd', + 'CT'), + ('TCID_Beginn_Bereich', + 'Verweise.xsd', + 'CT'), + ('TCID_Befestigung_Bauwerk', + 'Verweise.xsd', + 'CT'), + ('TCID_Hoehenpunkt', + 'Verweise.xsd', + 'CT'), + ('TCID_TOP_Kante_ohne_Proxy', + 'Verweise.xsd', + 'CT'), + ('TCID_NB', + 'Verweise.xsd', + 'CT'), + ('TCID_BUE_Bedien_Anzeige_Element', + 'Verweise.xsd', + 'CT'), + ('TCID_Bahnsteig_Kante_ohne_Proxy', + 'Verweise.xsd', + 'CT'), + ('TCID_Block_Anlage', + 'Verweise.xsd', + 'CT'), + ('TCID_Fachtelegramm', + 'Verweise.xsd', + 'CT'), + ('TCID_Stellelement', + 'Verweise.xsd', + 'CT'), + ('TCID_Planungsgrundlage', + 'Verweise.xsd', + 'CT'), + ('TCID_LO_Einbau', + 'Verweise.xsd', + 'CT'), + ('TCID_FT_Fahrweg_Teil', + 'Verweise.xsd', + 'CT'), + ('TCID_Lageplan', + 'Verweise.xsd', + 'CT'), + ('TCID_Strecke', + 'Verweise.xsd', + 'CT'), + ('TCID_Fstr_DWeg', + 'Verweise.xsd', + 'CT'), + ('TCID_BUE_Gleisbezogener_Gefahrraum', + 'Verweise.xsd', + 'CT'), + ('TCID_Energie_Eingang', + 'Verweise.xsd', + 'CT'), + ('TCID_Schluesselsperre', + 'Verweise.xsd', + 'CT'), + ('TCID_Gleis_Abschnitt', + 'Verweise.xsd', + 'CT'), + ('TCID_Schalter', + 'Verweise.xsd', + 'CT'), + ('TCID_Information_Eingang', + 'Verweise.xsd', + 'CT'), + ('TCID_Fstr_DWeg_ohne_Proxy', + 'Verweise.xsd', + 'CT'), + ('TCID_ZLV_Bus', + 'Verweise.xsd', + 'CT'), + ('TCID_Bahnsteig_Kante', + 'Verweise.xsd', + 'CT'), + ('TCID_Unterbringung', + 'Verweise.xsd', + 'CT'), + ('TCID_Planung_Einzel', + 'Verweise.xsd', + 'CT'), + ('TCID_Unterbringung_Technik', + 'Verweise.xsd', + 'CT'), + ('TCID_Gleis_Bezeichnung', + 'Verweise.xsd', + 'CT'), + ('TCID_Lageplan_Zustand', + 'Verweise.xsd', + 'CT'), + ('TCID_ZL_Signalgruppe', + 'Verweise.xsd', + 'CT'), + ('TCID_Energie', + 'Verweise.xsd', + 'CT'), + ('TCID_Regelzeichnung', + 'Verweise.xsd', + 'CT'), + ('TCID_FMA_Komponente', + 'Verweise.xsd', + 'CT'), + ('TCID_Trasse_Knoten', + 'Verweise.xsd', + 'CT'), + ('TCID_PZB_Element_Mitnutzung', + 'Verweise.xsd', + 'CT'), + ('TCID_Element_Unterbringung', + 'Verweise.xsd', + 'CT'), + ('TCID_Fstr_Fahrweg', + 'Verweise.xsd', + 'CT'), + ('TCID_Verknuepftes_Element', + 'Verweise.xsd', + 'CT'), + ('TCID_Signal_ohne_Proxy', + 'Verweise.xsd', + 'CT'), + ('TCID_BUE_Anlage', + 'Verweise.xsd', + 'CT'), + ('TCID_GEO_Art', + 'Verweise.xsd', + 'CT'), + ('TCID_Bedien_Einrichtung_Oertlich', + 'Verweise.xsd', + 'CT'), + ('TCID_Ur_Objekt', + 'Verweise.xsd', + 'CT'), + ('TCID_Aussenelementansteuerung_ohne_Proxy', + 'Verweise.xsd', + 'CT'), + ('TCID_Signal_Signalbegriff', + 'Verweise.xsd', + 'CT'), + ('TCID_PlanPro_Schnittstelle', + 'Verweise.xsd', + 'CT'), + ('TCID_Oertlichkeit_Ausgabe', + 'Verweise.xsd', + 'CT'), + ('TCID_PZB_Element', + 'Verweise.xsd', + 'CT'), + ('TCID_Einschaltpunkt', + 'Verweise.xsd', + 'CT'), + ('TCID_Fortschaltung_Start', + 'Verweise.xsd', + 'CT'), + ('TCID_LEU_Bezug_Funktional', + 'Verweise.xsd', + 'CT'), + ('TCID_Sonderanlage', + 'Verweise.xsd', + 'CT'), + ('TCID_Anhang', + 'Verweise.xsd', + 'CT'), + ('TCID_ZN_Unterstation', + 'Verweise.xsd', + 'CT'), + ('TCID_BUE_Anlage_ohne_Proxy', + 'Verweise.xsd', + 'CT'), + ('TCID_Signal_Fank', + 'Verweise.xsd', + 'CT'), + ('TCID_TOP_Kante', + 'Verweise.xsd', + 'CT'), + ('TCID_Datenpunkt_ohne_Proxy', + 'Verweise.xsd', + 'CT'), + ('TCID_Signal_Rahmen', + 'Verweise.xsd', + 'CT'), + ('TCID_ESTW_Zentraleinheit', + 'Verweise.xsd', + 'CT'), + ('TCID_Unterbringung_ohne_Proxy', + 'Verweise.xsd', + 'CT'), + ('TCID_Bezugspunkt_Positionierung', + 'Verweise.xsd', + 'CT'), + ('TCID_Bahnsteig_Anlage', + 'Verweise.xsd', + 'CT'), + ('TCID_Fachtelegramm_ohne_Proxy', + 'Verweise.xsd', + 'CT'), + ('TCID_ZL_DLP_Fstr', + 'Verweise.xsd', + 'CT'), + ('TCID_Trasse_Kante', + 'Verweise.xsd', + 'CT'), + ('TCID_Datenpunkt', + 'Verweise.xsd', + 'CT'), + ('TCID_EV_Modul', + 'Verweise.xsd', + 'CT'), + ('TCID_ZN_Anzeigefeld', + 'Verweise.xsd', + 'CT'), + ('TCID_Binaerdaten_ohne_Proxy', + 'Verweise.xsd', + 'CT'), + ('TCID_Markanter_Punkt', + 'Verweise.xsd', + 'CT'), + ('TCID_W_Kr_Anlage_ohne_Proxy', + 'Verweise.xsd', + 'CT'), + ('TCID_Markante_Stelle', + 'Verweise.xsd', + 'CT'), + ('TCID_Zugeinwirkung', + 'Verweise.xsd', + 'CT')], + 'http://www.plan-pro.org/modell/Weichen_und_Gleissperren/1.10.0': [('TKreuzungsgleis', + 'Weichen_und_Gleissperren.xsd', + 'ST'), + ('TWeiche_Vorzugslage', + 'Weichen_und_Gleissperren.xsd', + 'ST'), + ('TStammgleis', + 'Weichen_und_Gleissperren.xsd', + 'ST'), + ('ENUMGleis_Abschluss_Art', + 'Weichen_und_Gleissperren.xsd', + 'ST'), + ('ENUMGleissperre_Vorzugslage', + 'Weichen_und_Gleissperren.xsd', + 'ST'), + ('ENUMW_Kr_Art', + 'Weichen_und_Gleissperren.xsd', + 'ST'), + ('TGeschwindigkeit_L', + 'Weichen_und_Gleissperren.xsd', + 'ST'), + ('TZungenpruefkontakt_Anzahl', + 'Weichen_und_Gleissperren.xsd', + 'ST'), + ('ENUMWeichensignal', + 'Weichen_und_Gleissperren.xsd', + 'ST'), + ('ENUMW_Kr_Gsp_Stellart', + 'Weichen_und_Gleissperren.xsd', + 'ST'), + ('TGeschwindigkeit_R', + 'Weichen_und_Gleissperren.xsd', + 'ST'), + ('TElektrischer_Antrieb_Anzahl', + 'Weichen_und_Gleissperren.xsd', + 'ST'), + ('TElektrischer_Antrieb_Lage', + 'Weichen_und_Gleissperren.xsd', + 'ST'), + ('ENUMBesonderes_Fahrwegelement', + 'Weichen_und_Gleissperren.xsd', + 'ST'), + ('ENUMGleissperre_Betriebsart', + 'Weichen_und_Gleissperren.xsd', + 'ST'), + ('TW_Kr_Grundform', + 'Weichen_und_Gleissperren.xsd', + 'ST'), + ('ENUMGleissperrensignal', + 'Weichen_und_Gleissperren.xsd', + 'ST'), + ('ENUMElement_Lage', + 'Weichen_und_Gleissperren.xsd', + 'ST'), + ('TIsolierfall', + 'Weichen_und_Gleissperren.xsd', + 'ST'), + ('ENUMWeiche_Betriebsart', + 'Weichen_und_Gleissperren.xsd', + 'ST'), + ('THerzstueck_Antriebe', + 'Weichen_und_Gleissperren.xsd', + 'ST'), + ('TKr_KrW_Seitenzuordnung', + 'Weichen_und_Gleissperren.xsd', + 'ST'), + ('CAuswurfrichtung', + 'Weichen_und_Gleissperren.xsd', + 'ST'), + ('TCElektrischer_Antrieb_Anzahl', + 'Weichen_und_Gleissperren.xsd', + 'CT'), + ('TCKreuzungsgleis', + 'Weichen_und_Gleissperren.xsd', + 'CT'), + ('TCGeschwindigkeit_R', + 'Weichen_und_Gleissperren.xsd', + 'CT'), + ('TCIsolierfall', + 'Weichen_und_Gleissperren.xsd', + 'CT'), + ('CWeichenlaufkette_Zuordnung', + 'Weichen_und_Gleissperren.xsd', + 'CT'), + ('CW_Kr_Gsp_Element', + 'Weichen_und_Gleissperren.xsd', + 'CT'), + ('CW_Kr_Anlage', + 'Weichen_und_Gleissperren.xsd', + 'CT'), + ('TCGleissperre_Vorzugslage', + 'Weichen_und_Gleissperren.xsd', + 'CT'), + ('CGleissperre_Element', + 'Weichen_und_Gleissperren.xsd', + 'CT'), + ('TCZungenpruefkontakt_Anzahl', + 'Weichen_und_Gleissperren.xsd', + 'CT'), + ('TCHerzstueck_Antriebe', + 'Weichen_und_Gleissperren.xsd', + 'CT'), + ('TCWeichensignal', + 'Weichen_und_Gleissperren.xsd', + 'CT'), + ('TCAuffahrortung', + 'Weichen_und_Gleissperren.xsd', + 'CT'), + ('TCWeiche_Betriebsart', + 'Weichen_und_Gleissperren.xsd', + 'CT'), + ('TCAuswurfrichtung', + 'Weichen_und_Gleissperren.xsd', + 'CT'), + ('TCW_Kr_Gsp_Stellart', + 'Weichen_und_Gleissperren.xsd', + 'CT'), + ('CGZ_Freimeldung_R', + 'Weichen_und_Gleissperren.xsd', + 'CT'), + ('CEntgleisungsschuh', + 'Weichen_und_Gleissperren.xsd', + 'CT'), + ('CKreuzung', + 'Weichen_und_Gleissperren.xsd', + 'CT'), + ('TCSchutzschiene', + 'Weichen_und_Gleissperren.xsd', + 'CT'), + ('CW_Kr_Gsp_Element_Allg', + 'Weichen_und_Gleissperren.xsd', + 'CT'), + ('CZungenpaar', + 'Weichen_und_Gleissperren.xsd', + 'CT'), + ('TCVorzugslage_Automatik', + 'Weichen_und_Gleissperren.xsd', + 'CT'), + ('TCW_Kr_Art', + 'Weichen_und_Gleissperren.xsd', + 'CT'), + ('CWeiche_Element', + 'Weichen_und_Gleissperren.xsd', + 'CT'), + ('TCElement_Lage', + 'Weichen_und_Gleissperren.xsd', + 'CT'), + ('TCWeiche_Vorzugslage', + 'Weichen_und_Gleissperren.xsd', + 'CT'), + ('TCElektrischer_Antrieb_Lage', + 'Weichen_und_Gleissperren.xsd', + 'CT'), + ('CW_Kr_Gsp_Komponente', + 'Weichen_und_Gleissperren.xsd', + 'CT'), + ('TCW_Kr_Grundform', + 'Weichen_und_Gleissperren.xsd', + 'CT'), + ('TCKr_KrW_Seitenzuordnung', + 'Weichen_und_Gleissperren.xsd', + 'CT'), + ('TCBesonderes_Fahrwegelement', + 'Weichen_und_Gleissperren.xsd', + 'CT'), + ('CWeichenlaufkette', + 'Weichen_und_Gleissperren.xsd', + 'CT'), + ('CGZ_Freimeldung_L', + 'Weichen_und_Gleissperren.xsd', + 'CT'), + ('TCGleis_Abschluss_Art', + 'Weichen_und_Gleissperren.xsd', + 'CT'), + ('TCStammgleis', + 'Weichen_und_Gleissperren.xsd', + 'CT'), + ('CW_Kr_Anlage_Allg', + 'Weichen_und_Gleissperren.xsd', + 'CT'), + ('TCGleissperre_Betriebsart', + 'Weichen_und_Gleissperren.xsd', + 'CT'), + ('CGleis_Abschluss', + 'Weichen_und_Gleissperren.xsd', + 'CT'), + ('TCGeschwindigkeit_L', + 'Weichen_und_Gleissperren.xsd', + 'CT'), + ('TCGleissperrensignal', + 'Weichen_und_Gleissperren.xsd', + 'CT'), + ('TCAustausch_Antriebe', + 'Weichen_und_Gleissperren.xsd', + 'CT')], + 'http://www.plan-pro.org/modell/Zuglenkung/1.10.0': [('TZL_Fstr_Zuschlag', + 'Zuglenkung.xsd', + 'ST'), + ('TPersonal_Reaktionszeit', + 'Zuglenkung.xsd', + 'ST'), + ('TSichtzeit_Vorsignal', + 'Zuglenkung.xsd', + 'ST'), + ('ENUMZN_Stellen', + 'Zuglenkung.xsd', + 'ST'), + ('ENUMLenkziffernstellen', + 'Zuglenkung.xsd', + 'ST'), + ('TAnnaeherungsgeschwindigkeit', + 'Zuglenkung.xsd', + 'ST'), + ('TSignalgruppe_Bezeichner', + 'Zuglenkung.xsd', + 'ST'), + ('TLenkabbruchzeit', + 'Zuglenkung.xsd', + 'ST'), + ('TGK', + 'Zuglenkung.xsd', + 'ST'), + ('TTv_GK', + 'Zuglenkung.xsd', + 'ST'), + ('TEinstellkontrollzeit', + 'Zuglenkung.xsd', + 'ST'), + ('TDWeg_Prio', + 'Zuglenkung.xsd', + 'ST'), + ('TAnzahl_Wiederhol_ZL_Anstoesse', + 'Zuglenkung.xsd', + 'ST'), + ('TFstr_Bildezeit', + 'Zuglenkung.xsd', + 'ST'), + ('TVmax_Annaeherung', + 'Zuglenkung.xsd', + 'ST'), + ('TCFUEM_Auswertung', + 'Zuglenkung.xsd', + 'CT'), + ('CZL', + 'Zuglenkung.xsd', + 'CT'), + ('TCAnnaeherungsgeschwindigkeit', + 'Zuglenkung.xsd', + 'CT'), + ('CZL_ZN', + 'Zuglenkung.xsd', + 'CT'), + ('TCZN_Stellen', + 'Zuglenkung.xsd', + 'CT'), + ('TCSignalgruppe_Bezeichner', + 'Zuglenkung.xsd', + 'CT'), + ('CZL_DLP_Fstr', + 'Zuglenkung.xsd', + 'CT'), + ('TCVmax_Annaeherung', + 'Zuglenkung.xsd', + 'CT'), + ('TCAnzahl_Wiederhol_ZL_Anstoesse', + 'Zuglenkung.xsd', + 'CT'), + ('TCLenkabbruchzeit', + 'Zuglenkung.xsd', + 'CT'), + ('TCGK', + 'Zuglenkung.xsd', + 'CT'), + ('TCDeadlockpruefung', + 'Zuglenkung.xsd', + 'CT'), + ('TCEinstellkontrollzeit', + 'Zuglenkung.xsd', + 'CT'), + ('TCTv_GK', + 'Zuglenkung.xsd', + 'CT'), + ('CZL_Fstr_Anstoss_GK', + 'Zuglenkung.xsd', + 'CT'), + ('TCLenkziffernstellen', + 'Zuglenkung.xsd', + 'CT'), + ('TCDWeg_Prio', + 'Zuglenkung.xsd', + 'CT'), + ('TCPersonal_Reaktionszeit', + 'Zuglenkung.xsd', + 'CT'), + ('TCGKZSS', + 'Zuglenkung.xsd', + 'CT'), + ('CZL_Signalgruppe_Allg', + 'Zuglenkung.xsd', + 'CT'), + ('CZL_Fstr', + 'Zuglenkung.xsd', + 'CT'), + ('CZL_Fstr_Anstoss_Allg', + 'Zuglenkung.xsd', + 'CT'), + ('CZL_Fstr_Anstoss', + 'Zuglenkung.xsd', + 'CT'), + ('CZL_Fstr_Allg', + 'Zuglenkung.xsd', + 'CT'), + ('CZL_DLP_Abschnitt', + 'Zuglenkung.xsd', + 'CT'), + ('CZL_Signalgruppe_Zuordnung', + 'Zuglenkung.xsd', + 'CT'), + ('CZL_Allg', + 'Zuglenkung.xsd', + 'CT'), + ('TCFstr_Bildezeit', + 'Zuglenkung.xsd', + 'CT'), + ('TCSichtzeit_Vorsignal', + 'Zuglenkung.xsd', + 'CT'), + ('CZL_Signalgruppe', + 'Zuglenkung.xsd', + 'CT'), + ('TCZL_Fstr_Zuschlag', + 'Zuglenkung.xsd', + 'CT')], + 'http://www.plan-pro.org/modell/Zugnummernmeldeanlage/1.10.0': [('ENUMZN_Anzeigefeld_Loeschkriterium', + 'Zugnummernmeldeanlage.xsd', + 'ST'), + ('ENUMBf_Kennung', + 'Zugnummernmeldeanlage.xsd', + 'ST'), + ('ENUMFunktionalitaet_Anzeigefeld', + 'Zugnummernmeldeanlage.xsd', + 'ST'), + ('ENUMZN_Schaltkriterium', + 'Zugnummernmeldeanlage.xsd', + 'ST'), + ('TZBS_Adresse', + 'Zugnummernmeldeanlage.xsd', + 'ST'), + ('TUnterstation_Nr', + 'Zugnummernmeldeanlage.xsd', + 'ST'), + ('TZN_A_Bezeichner', + 'Zugnummernmeldeanlage.xsd', + 'ST'), + ('TZN_A_Bedienbezeichner_Frei', + 'Zugnummernmeldeanlage.xsd', + 'ST'), + ('TZLV_Bus_Nr', + 'Zugnummernmeldeanlage.xsd', + 'ST'), + ('TAnschlussnummer', + 'Zugnummernmeldeanlage.xsd', + 'ST'), + ('TBf_Nr', + 'Zugnummernmeldeanlage.xsd', + 'ST'), + ('TVerzoegerung_Manuell_Loeschung', + 'Zugnummernmeldeanlage.xsd', + 'ST'), + ('ENUMAkustik_Sonst', + 'Zugnummernmeldeanlage.xsd', + 'ST'), + ('TUnterstation_Max', + 'Zugnummernmeldeanlage.xsd', + 'ST'), + ('TBezeichnung_Besondere_Anlage', + 'Zugnummernmeldeanlage.xsd', + 'ST'), + ('ENUMZN_Anlagentyp', + 'Zugnummernmeldeanlage.xsd', + 'ST'), + ('TBesonderes_Schaltkriterium', + 'Zugnummernmeldeanlage.xsd', + 'ST'), + ('ENUMAkustik_Anb_Ann', + 'Zugnummernmeldeanlage.xsd', + 'ST'), + ('TPrioritaet', + 'Zugnummernmeldeanlage.xsd', + 'ST'), + ('ENUMZN_Modem', + 'Zugnummernmeldeanlage.xsd', + 'ST'), + ('TIP_Adresse', + 'Zugnummernmeldeanlage.xsd', + 'ST'), + ('ENUMZBS_Schnittstelle', + 'Zugnummernmeldeanlage.xsd', + 'ST'), + ('TCHOA', + 'Zugnummernmeldeanlage.xsd', + 'CT'), + ('TCEinfahrdruck_Gegengleis', + 'Zugnummernmeldeanlage.xsd', + 'CT'), + ('TCBf_Nr', + 'Zugnummernmeldeanlage.xsd', + 'CT'), + ('TCTelegramm_85_Fuer_Alle_Fstr', + 'Zugnummernmeldeanlage.xsd', + 'CT'), + ('TCBf_Nr_ZN_A', + 'Zugnummernmeldeanlage.xsd', + 'CT'), + ('TCSichtbarkeit_Anzeigefeld', + 'Zugnummernmeldeanlage.xsd', + 'CT'), + ('CZLV_Bus_Bezeichnung', + 'Zugnummernmeldeanlage.xsd', + 'CT'), + ('TCAusfahrdruck_Gegengleis', + 'Zugnummernmeldeanlage.xsd', + 'CT'), + ('CZLV_Bus_US_Zuordnung', + 'Zugnummernmeldeanlage.xsd', + 'CT'), + ('TCTelegrammwiederholung', + 'Zugnummernmeldeanlage.xsd', + 'CT'), + ('CZN_Fortschalt_Kriterium', + 'Zugnummernmeldeanlage.xsd', + 'CT'), + ('TCZBS_Adresse', + 'Zugnummernmeldeanlage.xsd', + 'CT'), + ('CZN_Akustik_Anzeigefeld', + 'Zugnummernmeldeanlage.xsd', + 'CT'), + ('TCKoppelunterstation', + 'Zugnummernmeldeanlage.xsd', + 'CT'), + ('TCTelegramm_84_Fuer_Alle_Fstr', + 'Zugnummernmeldeanlage.xsd', + 'CT'), + ('CZN_Unterstation_Allg', + 'Zugnummernmeldeanlage.xsd', + 'CT'), + ('TCReaktivierungsfunktion', + 'Zugnummernmeldeanlage.xsd', + 'CT'), + ('TCZN_Anzeigefeld_Loeschkriterium', + 'Zugnummernmeldeanlage.xsd', + 'CT'), + ('TCTelegramm_03', + 'Zugnummernmeldeanlage.xsd', + 'CT'), + ('CZLV_Bus_Allg', + 'Zugnummernmeldeanlage.xsd', + 'CT'), + ('CZLV_Bus_Besondere_Anlage', + 'Zugnummernmeldeanlage.xsd', + 'CT'), + ('CZN_Unterstation_Bf_Nr', + 'Zugnummernmeldeanlage.xsd', + 'CT'), + ('TCZN_Modem', + 'Zugnummernmeldeanlage.xsd', + 'CT'), + ('CTelegramm_84_Alle_Fstr', + 'Zugnummernmeldeanlage.xsd', + 'CT'), + ('CZLV_Bus_Besondere_Anlage_Bezeichnung', + 'Zugnummernmeldeanlage.xsd', + 'CT'), + ('TCAnschlussnummer', + 'Zugnummernmeldeanlage.xsd', + 'CT'), + ('TCDurchfahrdruck', + 'Zugnummernmeldeanlage.xsd', + 'CT'), + ('TCZBS_Anbindung', + 'Zugnummernmeldeanlage.xsd', + 'CT'), + ('CZN_Unterstation', + 'Zugnummernmeldeanlage.xsd', + 'CT'), + ('TCZN_Anlagentyp', + 'Zugnummernmeldeanlage.xsd', + 'CT'), + ('TCVormeldestart', + 'Zugnummernmeldeanlage.xsd', + 'CT'), + ('TCZugvorbereitungsmeldung', + 'Zugnummernmeldeanlage.xsd', + 'CT'), + ('TCTelegramm_30', + 'Zugnummernmeldeanlage.xsd', + 'CT'), + ('TCZeitsynchronisation_Funkuhr', + 'Zugnummernmeldeanlage.xsd', + 'CT'), + ('CZN', + 'Zugnummernmeldeanlage.xsd', + 'CT'), + ('TCAkustikdauer_Anb_Ann', + 'Zugnummernmeldeanlage.xsd', + 'CT'), + ('TCTelegramm_02', + 'Zugnummernmeldeanlage.xsd', + 'CT'), + ('TCTelegramm_04', + 'Zugnummernmeldeanlage.xsd', + 'CT'), + ('CZN_Fortschalt_Krit_Schalt', + 'Zugnummernmeldeanlage.xsd', + 'CT'), + ('TCBesonderes_Schaltkriterium', + 'Zugnummernmeldeanlage.xsd', + 'CT'), + ('TCAusfahrdruck', + 'Zugnummernmeldeanlage.xsd', + 'CT'), + ('TCIP_Adresse', + 'Zugnummernmeldeanlage.xsd', + 'CT'), + ('TCZLV_Bus_Nr', + 'Zugnummernmeldeanlage.xsd', + 'CT'), + ('TCVerzoegerung_Manuell_Loeschung', + 'Zugnummernmeldeanlage.xsd', + 'CT'), + ('CZN_Fortschalt_Krit_Druck', + 'Zugnummernmeldeanlage.xsd', + 'CT'), + ('TCMeldedruck', + 'Zugnummernmeldeanlage.xsd', + 'CT'), + ('TCZN_Feld_Ohne_Anzeige', + 'Zugnummernmeldeanlage.xsd', + 'CT'), + ('TCUnterstation_Nr', + 'Zugnummernmeldeanlage.xsd', + 'CT'), + ('TCEinwahlstelle', + 'Zugnummernmeldeanlage.xsd', + 'CT'), + ('TCPrioritaet', + 'Zugnummernmeldeanlage.xsd', + 'CT'), + ('TCAkustikdauer_Voranz', + 'Zugnummernmeldeanlage.xsd', + 'CT'), + ('CZN_Allg', + 'Zugnummernmeldeanlage.xsd', + 'CT'), + ('TCZBS_Schnittstelle', + 'Zugnummernmeldeanlage.xsd', + 'CT'), + ('CZN_Telegramm_85_Zuordnung', + 'Zugnummernmeldeanlage.xsd', + 'CT'), + ('CTelegramm_84_Einzelne_Fstr', + 'Zugnummernmeldeanlage.xsd', + 'CT'), + ('CZN_Telegramm_84_Zuordnung', + 'Zugnummernmeldeanlage.xsd', + 'CT'), + ('CZN_Anzeigefeld', + 'Zugnummernmeldeanlage.xsd', + 'CT'), + ('CZLV_Bus_Zuordnung_Allg', + 'Zugnummernmeldeanlage.xsd', + 'CT'), + ('TCUnterstation_Max', + 'Zugnummernmeldeanlage.xsd', + 'CT'), + ('TCEinfahrdruck', + 'Zugnummernmeldeanlage.xsd', + 'CT'), + ('CZLV_Bus', + 'Zugnummernmeldeanlage.xsd', + 'CT'), + ('TCTelegramm_10', + 'Zugnummernmeldeanlage.xsd', + 'CT'), + ('CZN_Anzeigefeld_Allg', + 'Zugnummernmeldeanlage.xsd', + 'CT'), + ('CZN_Akustik', + 'Zugnummernmeldeanlage.xsd', + 'CT'), + ('TCTelegramm_21', + 'Zugnummernmeldeanlage.xsd', + 'CT'), + ('CTelegramm_85_Einzelne_Fstr', + 'Zugnummernmeldeanlage.xsd', + 'CT'), + ('CTelegramm_85_Alle_Fstr', + 'Zugnummernmeldeanlage.xsd', + 'CT'), + ('TCZN_Schaltkriterium', + 'Zugnummernmeldeanlage.xsd', + 'CT'), + ('CZLV_Bus_US_Zuordnung_Telegramm', + 'Zugnummernmeldeanlage.xsd', + 'CT'), + ('TCBedienbarkeit_Anzeigefeld', + 'Zugnummernmeldeanlage.xsd', + 'CT'), + ('TCTelegramm_84_Verzicht', + 'Zugnummernmeldeanlage.xsd', + 'CT'), + ('CZN_Anzeigefeld_Bezeichnung', + 'Zugnummernmeldeanlage.xsd', + 'CT'), + ('TCBf_Nr_ANB', + 'Zugnummernmeldeanlage.xsd', + 'CT'), + ('TCKUs_Zeittelegramm', + 'Zugnummernmeldeanlage.xsd', + 'CT'), + ('CZN_ZBS', + 'Zugnummernmeldeanlage.xsd', + 'CT'), + ('TCFunktionalitaet_Anzeigefeld', + 'Zugnummernmeldeanlage.xsd', + 'CT'), + ('TCBf_Kennung', + 'Zugnummernmeldeanlage.xsd', + 'CT'), + ('TCBezeichnung_Besondere_Anlage', + 'Zugnummernmeldeanlage.xsd', + 'CT'), + ('TCZN_A_Bedienbezeichner_Frei', + 'Zugnummernmeldeanlage.xsd', + 'CT'), + ('TCZN_A_Bezeichner', + 'Zugnummernmeldeanlage.xsd', + 'CT'), + ('TCAkustikdauer_Sonst', + 'Zugnummernmeldeanlage.xsd', + 'CT')]} + +__all__ = [ + "BS_Wdh", + "BS_ZBS_Ber", + "BS_Zusatz", + "BS_vA_UES", + "BS_vRVA", + "Bue_0_0Lp", + "Bue_0_1Lp", + "Bue_0_1S", + "Bue_0_2Lp", + "Bue_0_2S", + "Bue_1_0Lp_bli", + "Bue_1_1Lp_bli", + "Bue_1_1S_bli", + "Bue_1_2Lp_st", + "Bue_1_2S_st", + "Bue_2", + "Bue_2_1R", + "Bue_2_2R", + "Bue_2_3R", + "Bue_3", + "Bue_4", + "Bue_5", + "Bue_AT", + "Bue_AT_Zusatz", + "Bue_KT", + "CAEA_Allg", + "CAEA_Energieversorgung", + "CAEA_GFK_IP_Adressblock", + "CATO_Segment_Profile", + "CATO_Segment_Profile_Bezeichnung", + "CATO_TS_Instanz", + "CATO_TS_Instanz_Adresse", + "CATO_Timing_Point", + "CATO_Timing_Point_Allg", + "CATO_Timing_Point_Bezeichnung", + "CAkteur", + "CAkteur_Allg", + "CAkteur_Zuordnung", + "CAnhang", + "CAnhang_Allg", + "CAusgabe_Fachdaten", + "CAussenelementansteuerung", + "CAussenelementansteuerung_Bezeichnung", + "CBSO_IP_AB_Teilsystem", + "CBSO_IP_Adressblock", + "CBUE_Abhaengigkeit_Fue", + "CBUE_Anlage", + "CBUE_Anlage_Allg", + "CBUE_Anlage_Fuss_Rad", + "CBUE_Anlage_Strasse", + "CBUE_Anlage_Strasse_Allg", + "CBUE_Anlage_V", + "CBUE_Anlage_V_Allg", + "CBUE_Ausschaltung", + "CBUE_Bedien_Anz_Element_Allg", + "CBUE_Bedien_Anzeige_Element", + "CBUE_Deckendes_Signal_Zuordnung", + "CBUE_Einschaltung", + "CBUE_Einschaltung_Hp", + "CBUE_Einschaltung_Zuordnung", + "CBUE_Gefahrraum_Eckpunkt", + "CBUE_Gefahrraum_Eckpunkt_Bezeichnung", + "CBUE_Gleisbezogener_Gefahrraum", + "CBUE_Kante", + "CBUE_Kreuzungsplan", + "CBUE_Kreuzungsplan_Koordinaten", + "CBUE_Schnittstelle", + "CBUE_Schnittstelle_Allg", + "CBUE_Spezifisches_Signal", + "CBUE_WS_Fstr_Zuordnung", + "CBahnsteig_Anlage", + "CBahnsteig_Anlage_Bezeichnung", + "CBahnsteig_Dach", + "CBahnsteig_Kante", + "CBahnsteig_Kante_Allg", + "CBahnsteig_Kante_Bezeichnung", + "CBahnsteig_Zugang", + "CBahnsteig_Zugang_Allg", + "CBalise", + "CBalise_Allg", + "CBasisAttribut", + "CBasis_Objekt", + "CBasis_Objekt_Allg", + "CBearbeitungsvermerk", + "CBearbeitungsvermerk_Allg", + "CBedien_Anrueckabschnitt", + "CBedien_Anrueckabschnitt_Bezeichnung", + "CBedien_Anzeige_Element", + "CBedien_Anzeige_Element_Allg", + "CBedien_Anzeige_Element_Bezeichnung", + "CBedien_Bezirk", + "CBedien_Bezirk_Adressformel", + "CBedien_Bezirk_Allg", + "CBedien_Bezirk_Anhaenge", + "CBedien_Einricht_Oertlich_Allg", + "CBedien_Einrichtung_Oertlich", + "CBedien_Einrichtung_Oertlich_Bezeichnung", + "CBedien_GBT", + "CBedien_GBT_Allg", + "CBedien_Oberflaeche", + "CBedien_Oberflaeche_Anhaenge", + "CBedien_Oberflaeche_Bild", + "CBedien_Oberflaeche_Bild_Allg", + "CBedien_Oertlichkeit", + "CBedien_Oertlichkeit_Kennzahlen", + "CBedien_Platz", + "CBedien_Platz_Allg", + "CBedien_Standort", + "CBedien_Standort_Bezeichnung", + "CBedien_Zentrale", + "CBedien_Zentrale_Bezeichnung", + "CBedingung_Besondere", + "CBedingung_PZB", + "CBedingung_Signal", + "CBedingung_Sonstige", + "CBedingung_Weiche", + "CBereich_Objekt", + "CBereich_Objekt_Teilbereich", + "CBezeichnung_Element", + "CBgrenze_Nach_ESG_Bed_Ausstieg", + "CBgrenze_Nach_L2_Bed_Einstieg", + "CBgrenze_Nach_LZB_Bed_Einstieg", + "CBgrenze_Nach_Ohne_Bed_Einstieg", + "CBgrenze_Nach_PZB_Bed_Einstieg", + "CBgrenze_Nach_ZBS_Bed_Einstieg", + "CBgrenze_RBC_Wechsel_BTS_Kette", + "CBinaerdaten", + "CBinaerdaten_Datei", + "CBlock_Anlage", + "CBlock_Anlage_Allg", + "CBlock_Element", + "CBlock_Element_Allg", + "CBlock_Element_Erlaubnis", + "CBlock_Strecke", + "CBlock_Strecke_Allg", + "CContainer", + "CDP_Bezug_Funktional", + "CDP_ETCS_Adresse", + "CDP_Telegramm", + "CDP_Telegramm_ESG", + "CDP_Typ", + "CDP_Typ_GESG", + "CDP_Typ_GETCS", + "CDP_Typ_GGNT", + "CDP_Typ_GSonst", + "CDP_Typ_GTrans", + "CDP_Typ_GZBS", + "CDatenpunkt", + "CDatenpunkt_Allg", + "CDatenpunkt_Einmesspunkt", + "CDatenpunkt_Link", + "CESG_Individuelle_Merkmale", + "CESG_Spezifische_Merkmale", + "CESTW_ZE_Energieversorgung", + "CESTW_Zentraleinheit", + "CESTW_Zentraleinheit_Allg", + "CESTW_Zentraleinheit_Bezeichnung", + "CETCS_Adresse", + "CETCS_Kante", + "CETCS_Kante_Bezeichnung", + "CETCS_Knoten", + "CETCS_Richtungsanzeige", + "CETCS_Signal", + "CETCS_Signal_Allg", + "CETCS_Signal_DWeg", + "CETCS_Signal_TBV", + "CETCS_W_Kr", + "CETCS_W_Kr_MUKA", + "CEV_Modul", + "CEV_Modul_Ausgang", + "CEV_Modul_Eingang", + "CEV_Modul_Physisch", + "CEV_Modul_Virtuell", + "CEntgleisungsschuh", + "CFMA_Anlage", + "CFMA_Anlage_Allg", + "CFMA_Anlage_Bezeichnung", + "CFMA_Anlage_Elektr_Merkmale", + "CFMA_Anlage_Kaskade", + "CFMA_Anlage_Uebertragung_FMinfo", + "CFMA_Element", + "CFMA_Element_Allg", + "CFMA_Element_Anschluss", + "CFMA_Komponente", + "CFMA_Komponente_Achszaehlpunkt", + "CFT_Anschaltbedingung", + "CFT_ESG_Merkmale", + "CFT_ETCS_L2_Merkmale", + "CFT_ETCS_Trans_Merkmale", + "CFT_ETCS_Trans_Paket_41", + "CFT_ETCS_Trans_Paket_N", + "CFT_Fahrweg_Teil", + "CFT_Fahrweg_Teil_Allg", + "CFT_Fahrweg_Teile", + "CFT_GNT_Merkmale", + "CFT_ZBS_Merkmale", + "CFT_ZBS_Merkmale_La", + "CFachdaten", + "CFachtelegramm", + "CFla_Freimelde_Zuordnung", + "CFla_Schutz", + "CFla_Schutz_Anforderer", + "CFla_Schutz_Signal", + "CFla_Schutz_W_Gsp", + "CFla_Schutz_Weitergabe", + "CFla_Zwieschutz", + "CFla_Zwieschutz_Element", + "CFstr_Abhaengigkeit", + "CFstr_Abhaengigkeit_Ssp", + "CFstr_Aneinander", + "CFstr_Aneinander_Zuordnung", + "CFstr_DWeg", + "CFstr_DWeg_Allg", + "CFstr_DWeg_Bezeichnung", + "CFstr_DWeg_Spezifisch", + "CFstr_DWeg_W_Kr", + "CFstr_Fahrweg", + "CFstr_Mittel", + "CFstr_Nichthaltfall", + "CFstr_Rangier", + "CFstr_Rangier_Fla_Zuordnung", + "CFstr_Signalisierung", + "CFstr_Umfahrpunkt", + "CFstr_Zug", + "CFstr_Zug_DWeg", + "CFstr_Zug_Rangier", + "CFstr_Zug_Rangier_Allg", + "CGEO_Kante", + "CGEO_Kante_Allg", + "CGEO_Knoten", + "CGEO_Punkt", + "CGEO_Punkt_Allg", + "CGFR_Anlage", + "CGFR_Anlage_Allg", + "CGFR_Element", + "CGFR_Element_Bezeichnung", + "CGFR_Tripelspiegel", + "CGFR_Tripelspiegel_Allg", + "CGFR_Tripelspiegel_Bezeichnung", + "CGZ_Freimeldung_L", + "CGZ_Freimeldung_R", + "CGeschwindigkeitsprofil", + "CGeschwindigkeitsprofil_Allg", + "CGleis_Abschluss", + "CGleis_Abschnitt", + "CGleis_Art", + "CGleis_Baubereich", + "CGleis_Bezeichnung", + "CGleis_Bezeichnung_Bezeichnung", + "CGleis_Fahrbahn", + "CGleis_Lichtraum", + "CGleis_Schaltgruppe", + "CGleissperre_Element", + "CHoehenlinie", + "CHoehenlinie_Allg", + "CHoehenpunkt", + "CHoehenpunkt_Allg", + "CINA_Gefahrstelle", + "CKabel", + "CKabel_Allg", + "CKabel_Bezeichnung", + "CKabel_Element", + "CKabel_Verteilpunkt", + "CKabel_Verteilpunkt_Bezeichnung", + "CKnoten_Auf_TOP_Kante", + "CKreuzung", + "CLEU_Anlage", + "CLEU_Anlage_Allg", + "CLEU_Anlage_Bezeichnung", + "CLEU_Modul", + "CLEU_Modul_Allg", + "CLEU_Modul_Ausgang", + "CLEU_Modul_Bezeichnung", + "CLEU_Schaltkasten", + "CLEU_Schaltkasten_Bezeichnung", + "CLEU_Schaltkasten_Energie", + "CLEU_Schaltkasten_Position", + "CLEU_Steuernde", + "CLO_Material", + "CLST_Objekte_Planungsbereich", + "CLST_Planung", + "CLST_Zustand", + "CLT_Binaerdatei_Hilfe", + "CLT_Binaerdaten", + "CLieferobjekt", + "CLuft_Telegramm", + "CMarkanter_Punkt", + "CMarkanter_Punkt_Bezeichnung", + "CMetallteil", + "CNB", + "CNB_Bedien_Anzeige_Element", + "CNB_Bedien_Anzeige_Funktionen", + "CNB_Bezeichnung", + "CNB_Funktionalitaet_NB_R", + "CNB_Zone", + "CNB_Zone_Allg", + "CNB_Zone_Bezeichnung", + "CNB_Zone_Element", + "CNB_Zone_Element_Allg", + "CNB_Zone_Grenze", + "CNB_Zone_Reihenfolgezwang", + "CObjektmanagement", + "CObjektreferenzen", + "COertlichkeit", + "COertlichkeit_Allg", + "COertlichkeit_Bezeichnung", + "COrganisation", + "CPZB_Element", + "CPZB_Element_GM", + "CPZB_Element_GUE", + "CPZB_Element_Zuordnung", + "CPZB_Element_Zuordnung_BP", + "CPZB_Element_Zuordnung_Fstr", + "CPZB_Element_Zuordnung_INA", + "CPZB_Zuordnung_Signal", + "CPlanPro_Schnittstelle", + "CPlanPro_Schnittstelle_Allg", + "CPlanung_E_Allg", + "CPlanung_E_Ausgabe_Besonders", + "CPlanung_E_Handlung", + "CPlanung_Einzel", + "CPlanung_G_Allg", + "CPlanung_G_Fuehrende_Strecke", + "CPlanung_G_Schriftfeld", + "CPlanung_Gruppe", + "CPlanung_P_Allg", + "CPlanung_Projekt", + "CPolygone_Betrachtungsbereich", + "CPolygone_Planungsbereich", + "CProg_Datei_Einzel", + "CProg_Datei_Gruppe", + "CProxy_Objekt", + "CPruefmerkmale_Daten", + "CPunkt_Objekt", + "CPunkt_Objekt_Strecke", + "CPunkt_Objekt_TOP_Kante", + "CRBC", + "CRBC_Allg", + "CRegelzeichnung", + "CRegelzeichnung_Allg", + "CRegelzeichnung_Parameter", + "CRegelzeichnung_Parameter_Allg", + "CSA_Schrankenbaum", + "CSchaltmittel_Fstr_Zuordnung", + "CSchaltmittel_Zuordnung", + "CSchloss", + "CSchloss_BUE", + "CSchloss_Bezeichnung", + "CSchloss_Gsp", + "CSchloss_Sk", + "CSchloss_Sonderanlage", + "CSchloss_Ssp", + "CSchloss_W", + "CSchlosskombination", + "CSchlosskombination_Bezeichnung", + "CSchluessel", + "CSchluessel_Allg", + "CSchluessel_Bezeichnung", + "CSchluesselsperre", + "CSchrankenantrieb", + "CSchrankenantrieb_Allg", + "CSchrankenantrieb_Bezeichnung", + "CSignal", + "CSignal_Befestigung", + "CSignal_Befestigung_Allg", + "CSignal_Fank_Zuordnung", + "CSignal_Fiktiv", + "CSignal_Fstr", + "CSignal_Fstr_Aus_Inselgleis", + "CSignal_Fstr_S", + "CSignal_Rahmen", + "CSignal_Real", + "CSignal_Real_Aktiv", + "CSignal_Real_Aktiv_Schirm", + "CSignal_Signalbegriff", + "CSignal_Signalbegriff_Allg", + "CSonstiger_Punkt", + "CStart_W_Element", + "CStell_Bereich", + "CStellelement", + "CStrecke", + "CStrecke_Bezeichnung", + "CStrecke_Bremsweg", + "CStrecke_Punkt", + "CTOP_Kante", + "CTOP_Kante_Allg", + "CTOP_Knoten", + "CTSO_IP_AB_Teilsystem", + "CTSO_IP_Adressblock", + "CTechnik_Standort", + "CTechnik_Standort_Bezeichnung", + "CTechnischer_Bereich", + "CTechnischer_Punkt", + "CTelegramm_84_Alle_Fstr", + "CTelegramm_84_Einzelne_Fstr", + "CTelegramm_85_Alle_Fstr", + "CTelegramm_85_Einzelne_Fstr", + "CTrasse_Kante", + "CTrasse_Kante_child", + "CTrasse_Knoten", + "CUeberhoehung", + "CUeberhoehung_Allg", + "CUeberhoehungslinie", + "CUeberhoehungslinie_Allg", + "CUebertragungsweg", + "CUebertragungsweg_Technik", + "CUnterbringung", + "CUnterbringung_Allg", + "CUr_Objekt", + "CVerkehrszeichen", + "CVerkehrszeichen_Allg", + "CVerkehrszeichen_Andreaskreuz", + "CVerkehrszeichen_Bezeichnung", + "CVerkehrszeichen_Lz", + "CVz_Sperrstrecke", + "CVz_Sperrstrecke_Schranke", + "CVz_Sperrstrecke_Vorgeschaltet", + "CW_Kr_Anlage", + "CW_Kr_Anlage_Allg", + "CW_Kr_Gsp_Element", + "CW_Kr_Gsp_Element_Allg", + "CW_Kr_Gsp_Komponente", + "CWeiche_Element", + "CWeichenlaufkette", + "CWeichenlaufkette_Zuordnung", + "CZBS_Merkmale", + "CZBS_Schutzstrecke", + "CZBS_Schutzstrecke_Allg", + "CZBS_Signal", + "CZBS_Signal_Signalabstand", + "CZL", + "CZLV_Bus", + "CZLV_Bus_Allg", + "CZLV_Bus_Besondere_Anlage", + "CZLV_Bus_Besondere_Anlage_Bezeichnung", + "CZLV_Bus_Bezeichnung", + "CZLV_Bus_US_Zuordnung", + "CZLV_Bus_US_Zuordnung_Telegramm", + "CZLV_Bus_Zuordnung_Allg", + "CZL_Allg", + "CZL_DLP_Abschnitt", + "CZL_DLP_Fstr", + "CZL_Fstr", + "CZL_Fstr_Allg", + "CZL_Fstr_Anstoss", + "CZL_Fstr_Anstoss_Allg", + "CZL_Fstr_Anstoss_GK", + "CZL_Signalgruppe", + "CZL_Signalgruppe_Allg", + "CZL_Signalgruppe_Zuordnung", + "CZL_ZN", + "CZN", + "CZN_Akustik", + "CZN_Akustik_Anzeigefeld", + "CZN_Allg", + "CZN_Anzeigefeld", + "CZN_Anzeigefeld_Allg", + "CZN_Anzeigefeld_Bezeichnung", + "CZN_Fortschalt_Krit_Druck", + "CZN_Fortschalt_Krit_Schalt", + "CZN_Fortschalt_Kriterium", + "CZN_Telegramm_84_Zuordnung", + "CZN_Telegramm_85_Zuordnung", + "CZN_Unterstation", + "CZN_Unterstation_Allg", + "CZN_Unterstation_Bf_Nr", + "CZN_ZBS", + "CZUB_Bereichsgrenze", + "CZUB_Bereichsgrenze_Allg", + "CZUB_Bereichsgrenze_Bezeichnung", + "CZUB_Bereichsgrenze_Nach_ESG", + "CZUB_Bereichsgrenze_Nach_GNT", + "CZUB_Bereichsgrenze_Nach_L2", + "CZUB_Bereichsgrenze_Nach_L2_Von_ESG", + "CZUB_Bereichsgrenze_Nach_LZB", + "CZUB_Bereichsgrenze_Nach_Ohne", + "CZUB_Bereichsgrenze_Nach_PZB", + "CZUB_Bereichsgrenze_Nach_Sonstige", + "CZUB_Bereichsgrenze_Nach_ZBS", + "CZUB_Bgrenze_RBC_Wechsel", + "CZUB_SE_Ausruestung", + "CZUB_Streckeneigenschaft", + "CZUB_Streckeneigenschaft_Bezeichnung", + "CZiel_W_Element", + "CZugeinwirkung", + "CZugeinwirkung_Allg", + "CZungenpaar", + "El_1", + "El_1v", + "El_2", + "El_3", + "El_4", + "El_5", + "El_6", + "El_Pf_b", + "El_Pf_l", + "El_Pf_o", + "El_Pf_r", + "El_T_AC", + "El_T_DC", + "Hl_1", + "Hl_10", + "Hl_11", + "Hl_12a", + "Hl_12b", + "Hl_2", + "Hl_3a", + "Hl_3b", + "Hl_4", + "Hl_5", + "Hl_6a", + "Hl_6b", + "Hl_7", + "Hl_8", + "Hl_9a", + "Hl_9b", + "Hp_0", + "Hp_0_2Lp", + "Hp_1", + "Hp_2", + "Kl", + "Ks_1", + "Ks_2", + "Lf_1", + "Lf_1_2", + "Lf_1_Wdh", + "Lf_2", + "Lf_3", + "Lf_4_DS", + "Lf_4_DV", + "Lf_5_DS", + "Lf_5_DV", + "Lf_6", + "Lf_7", + "Lf_Pf_l", + "Lf_Pf_r", + "Ms_Sk_ge", + "Ms_Sk_rt", + "Ms_UES_Wdh", + "Ms_Vw", + "Ms_ge_D", + "Ms_rt", + "Ms_ws_2swP", + "Ms_ws_ge_ws", + "Ms_ws_rt_ws", + "Ms_ws_sw_ws", + "NISES_HM", + "Ne_1", + "Ne_12", + "Ne_13a", + "Ne_13b", + "Ne_14", + "Ne_2", + "Ne_2_vRVA", + "Ne_3_1str", + "Ne_3_2str", + "Ne_3_3str", + "Ne_3_4str", + "Ne_3_5str", + "Ne_4", + "Ne_5", + "Ne_6", + "Ne_7a", + "Ne_7b", + "Oz_Auto_ET", + "Oz_Auto_HET", + "Oz_Bk", + "Oz_ET", + "Oz_Fa", + "Oz_Fak", + "Oz_GSM_R", + "Oz_HET", + "Oz_ICE", + "Oz_LZB_Ber", + "Oz_OB_Grenze", + "Oz_PZB_BUE", + "Oz_Zf", + "Oz_Zugl", + "Pf_2", + "Ra_10", + "Ra_11", + "Ra_11b", + "Ra_12", + "Ra_13", + "Sh_0", + "Sh_1", + "Sh_2", + "Sk_1", + "Sk_2", + "So_1", + "So_106", + "So_14", + "So_15", + "So_19_1P", + "So_19_2P", + "So_19_3P", + "So_20", + "Sv_0", + "Sv_1", + "Sv_2", + "Sv_3", + "Sv_4", + "Sv_5", + "Sv_6", + "Sv_wPf", + "TCAWU", + "TCA_Wert", + "TCAbstand", + "TCAbstand_ATO_Halt_Vor_EoA", + "TCAbstand_Bes_Langer_Einfahrweg", + "TCAbstand_Datenpunkt_EH_EM_Folgesignal", + "TCAbstand_Datenpunkt_EP_TPI", + "TCAbstand_Datenpunkt_TPI_Folgesignal", + "TCAbstand_Einmesspunkt", + "TCAbstand_Gehweg_Fahrbahn", + "TCAbstand_Grenze_Bereich_C", + "TCAbstand_Reduziert", + "TCAder_Durchmesser", + "TCAder_Querschnitt", + "TCAder_Reserve", + "TCAdresse_PLZ_Ort", + "TCAdresse_Strasse_Nr", + "TCAkustik_Fussgaenger", + "TCAkustikdauer_Anb_Ann", + "TCAkustikdauer_Sonst", + "TCAkustikdauer_Voranz", + "TCAnbindung_IB2", + "TCAnbindung_IB3", + "TCAnhang_Art", + "TCAnlagenteil_Sonstige", + "TCAnnaeherungsgeschwindigkeit", + "TCAnordnung_Im_DP", + "TCAnschaltdauer", + "TCAnschlussnummer", + "TCAnwendung_ESG", + "TCAnwendung_GNT", + "TCAnwendung_Sonst", + "TCAnwendungssystem", + "TCAnzahl_Verseilelemente", + "TCAnzahl_Voll_LEU_Kalkuliert", + "TCAnzahl_Wiederhol_ZL_Anstoesse", + "TCAnzeigegefuehrt_ES_Kategorie", + "TCAnzeigetext", + "TCArt_Bedingung", + "TCAuffahrortung", + "TCAufloesung_Ssp_Zielgleis", + "TCAufloesung_Verzoegerung", + "TCAusfahrdruck", + "TCAusfahrdruck_Gegengleis", + "TCAusgang_Nr", + "TCAusrichtung", + "TCAusrichtung9", + "TCAusrichtung_Winkel", + "TCAussenelementansteuerung_Art", + "TCAusstieg_ETCS_Sperre", + "TCAustausch_Antriebe", + "TCAuswurfrichtung", + "TCAuto_Einstellung", + "TCAuto_Erlaubnisholen", + "TCAuto_Erlaubnisruecklauf", + "TCAuto_Het", + "TCAutomatische_Einstellung", + "TCBSO_Teilsystem_Art", + "TCBUE_Bauart", + "TCBUE_Buestra", + "TCBUE_Funktionsueberwachung", + "TCBUE_Handschalteinrichtung", + "TCBUE_Lage", + "TCBUE_Mit_GFR", + "TCBUE_Nachlaufzeit", + "TCBUE_Neigung", + "TCBUE_Sicherungsart", + "TCBUE_Sicherungszeit", + "TCBUE_Strasse", + "TCBUE_Technik", + "TCBUE_Vorlaufzeit", + "TCBV_Darstellung_In_Plan", + "TCBV_Kategorie", + "TCB_Wert", + "TCBahnsteig_Zugang_Art", + "TCBalise_Geraetestand", + "TCBalisenhalter", + "TCBandbreite", + "TCBaseline_System_Version", + "TCBauabschnitt", + "TCBauart", + "TCBaubereich_Art", + "TCBaulast", + "TCBaumprofil", + "TCBauphase", + "TCBauzustand_Kurzbezeichnung", + "TCBauzustand_Langbezeichnung", + "TCBearbeitungsvermerk_Rolle", + "TCBedien_Einricht_Bauart", + "TCBedien_Einricht_Oertl_Bez", + "TCBedien_Platz_Art", + "TCBedienbarkeit_Anzeigefeld", + "TCBedienplatzbezeichnung", + "TCBedienplatznummer", + "TCBedienraumnummer", + "TCBedienung_Art", + "TCBedingung_Weichenlage", + "TCBeeinflussung_Strassenverkehr", + "TCBefestigung_Art", + "TCBegrenzung_A", + "TCBegrenzung_B", + "TCBeleuchtet", + "TCBemerkung", + "TCBeschreibung", + "TCBeschreibung_Sonderanlage", + "TCBesetzte_Ausfahrt", + "TCBesonderes_Fahrwegelement", + "TCBesonderes_Schaltkriterium", + "TCBestandsrelevanz", + "TCBestandsschutz", + "TCBetriebsfuehrung", + "TCBetriebsstellenbezeichner", + "TCBettungswiderstand", + "TCBez_Bed_Anrueckabschnitt", + "TCBez_Bed_Anzeige_Element", + "TCBez_Bed_Zentrale", + "TCBez_Gleis_Bezeichnung", + "TCBez_Schrankenantrieb", + "TCBez_Strecke_BTS_1", + "TCBez_Strecke_BTS_2", + "TCBez_Strecke_BTS_3", + "TCBez_ZUB_Bereichsgrenze", + "TCBezeichnung_AEA", + "TCBezeichnung_ATO_TP", + "TCBezeichnung_Anlage", + "TCBezeichnung_Aussenanlage", + "TCBezeichnung_BSO", + "TCBezeichnung_BUE_GFR_Eckpunkt", + "TCBezeichnung_Bahnsteig_Anlage", + "TCBezeichnung_Bahnsteig_Kante", + "TCBezeichnung_Besondere_Anlage", + "TCBezeichnung_ESTW_ZE", + "TCBezeichnung_ETCS_Kante", + "TCBezeichnung_Fstr_DWeg", + "TCBezeichnung_GFR_Element", + "TCBezeichnung_GFR_Tripelspiegel", + "TCBezeichnung_Kabel", + "TCBezeichnung_Kabel_Verteilpunkt", + "TCBezeichnung_Kennbuchstabe", + "TCBezeichnung_LEU_Anlage", + "TCBezeichnung_Lageplan_Kurz", + "TCBezeichnung_Lageplan_Lang", + "TCBezeichnung_Markanter_Punkt", + "TCBezeichnung_NB", + "TCBezeichnung_NB_Zone", + "TCBezeichnung_Planung_Gruppe", + "TCBezeichnung_Planung_Projekt", + "TCBezeichnung_Schloss", + "TCBezeichnung_Schluessel", + "TCBezeichnung_Sk", + "TCBezeichnung_Stellwerk", + "TCBezeichnung_Strecke", + "TCBezeichnung_TSO", + "TCBezeichnung_Tabelle", + "TCBezeichnung_Unteranlage", + "TCBezeichnung_Verkehrszeichen", + "TCBezeichnung_ZUB", + "TCBezeichnung_ZUB_SE", + "TCBf_Kennung", + "TCBf_Nr", + "TCBf_Nr_ANB", + "TCBf_Nr_ZN_A", + "TCBild", + "TCBlitzpfeil", + "TCBlock_Bauform", + "TCBremsweg", + "TCBremsweg5", + "TCC_Wert", + "TCDA_Manuell", + "TCDB_GDI_Referenz", + "TCDD_Wert", + "TCDP_ATO", + "TCDP_Bezug_Funktional_Art", + "TCDP_Link_Art", + "TCDP_Typ_Art", + "TCDP_Typ_ESG", + "TCDP_Typ_ETCS", + "TCDP_Typ_GNT", + "TCDP_Typ_Sonst", + "TCDP_Typ_Trans", + "TCDP_Typ_V_La", + "TCDP_Typ_ZBS", + "TCDP_Verlinkt", + "TCDWeg_Intervall_200", + "TCDWeg_Intervall_50", + "TCDWeg_Intervall_50_200", + "TCDWeg_Prio", + "TCDWeg_Reihenfolge", + "TCDWeg_V", + "TCDWeg_V_Aufwertung_Verzicht", + "TCDWeg_Vorzug", + "TCD_LEVELTR", + "TCDateiname", + "TCDateiname11", + "TCDateityp", + "TCDateityp_Binaerdatei", + "TCDaten", + "TCDatenpunkt_Beschreibung", + "TCDatenpunkt_Laenge", + "TCDatum", + "TCDatum_Abschluss_Einzel", + "TCDatum_Abschluss_Gruppe", + "TCDatum_Abschluss_Projekt", + "TCDatum_Auslieferung", + "TCDatum_Regelwerk", + "TCDatum_Regelwerksstand", + "TCDatum_Uebernahme", + "TCDeadlockpruefung", + "TCDelta_VGES", + "TCDelta_VLES", + "TCDelta_VZES", + "TCDunkelschaltanstoss", + "TCDunkelschaltung", + "TCDurchfahrdruck", + "TCDurchfahrt", + "TCEKW_Kr_Anteil", + "TCESG_Ind_Erlaeuterung", + "TCESG_Ind_Parameter", + "TCESG_Ind_Parameterwert", + "TCETCS_Gefahrpunktabstand_Abweichend", + "TCETCS_Knoten_Art_Sonstige", + "TCETCS_Paketnummer", + "TCETCS_Par_Erlaeuterung", + "TCETCS_Parametername", + "TCETCS_Parameterwert", + "TCETCS_System_Version", + "TCEV_Modul_Art", + "TCEV_Modul_Typ", + "TCE_Mail_Adresse", + "TCEinfahrdruck", + "TCEinfahrdruck_Gegengleis", + "TCEingang_Gepuffert", + "TCEinschaltverz_Errechnet", + "TCEinschaltverz_Gewaehlt", + "TCEinstellkontrollzeit", + "TCEinstieg_Erlaubt", + "TCEinstieg_Ohne_Rueckw_Sig", + "TCEinwahlstelle", + "TCEinzeldatei_Art", + "TCElektrischer_Antrieb_Anzahl", + "TCElektrischer_Antrieb_Lage", + "TCElement_Lage", + "TCElement_Verschluss", + "TCEnergie_Eingang_Art", + "TCEnergieversorgung_Art", + "TCEnergieversorgung_Art_Ersatz", + "TCErlaubnis_Staendig_Vorhanden", + "TCErlaubnisabgabespeicherung", + "TCErlaubnisholen", + "TCErreichungstoleranz", + "TCErsatzstecker_Gleisbezogen", + "TCErzeugung_Zeitstempel", + "TCFA_FAE", + "TCFMA_Anschluss_Bezeichnung", + "TCFMA_Anschluss_Speiserichtung", + "TCFMA_Art", + "TCFMA_Element_Art", + "TCFMA_Element_Seilanzahl", + "TCFMA_Element_Seiltyp", + "TCFMA_Hilffreimeldung", + "TCFMA_Isolierung", + "TCFMA_Kaskade_Bezeichnung", + "TCFMA_Kaskade_Einzelauswertung", + "TCFMA_Komponente_Art", + "TCFMA_Komponente_Schienenprofil", + "TCFMA_Komponente_Stromversorgung", + "TCFMA_Komponente_Typ", + "TCFMA_Laenge", + "TCFMA_Laenge_Beeinflusst", + "TCFMA_Laenge_E1", + "TCFMA_Laenge_E2", + "TCFMA_Laenge_E3", + "TCFMA_Laenge_S", + "TCFMA_Typ", + "TCFT_ESG_Subtyp", + "TCFT_ESG_Typ", + "TCFT_ETCS_L2_Typ", + "TCFT_GNT_Punktart", + "TCFT_Hinweis_Funktion", + "TCFT_ZBS_Typ", + "TCFUEM_Auswertung", + "TCFW_Teil_Nummer", + "TCF_Bedienung", + "TCF_ST_Z", + "TCFabrikat", + "TCFahrbahn_Befestigung", + "TCFahrbahn_Befestigung_Gleis", + "TCFahrbahn_Breite", + "TCFahrstrom", + "TCFahrt_Ueber", + "TCFiktives_Signal_Funktion", + "TCFla_Raum_Freimeldung", + "TCFla_Signal_Zielsperrung", + "TCFla_Verzicht", + "TCFla_W_Lage", + "TCFreie_Stellbarkeit", + "TCFstr_Aneinander_Bedienstring", + "TCFstr_Bedienstring", + "TCFstr_Bildezeit", + "TCFstr_Mittel_Art", + "TCFstr_Mittel_V_Aufwertung", + "TCFstr_Rangier_Art", + "TCFstr_Reihenfolge", + "TCFstr_V", + "TCFstr_V_Hg", + "TCFstr_Vsigabstand_Verkuerzt", + "TCFstr_Zug_Art", + "TCFue_Schaltfall", + "TCFuehrende_Oertlichkeit", + "TCFundament_Art", + "TCFunktion_Ohne_Signal", + "TCFunktionalitaet_Anzeigefeld", + "TCFuss_Radweg_Art", + "TCFuss_Radweg_Seite", + "TCGEO_Form", + "TCGEO_KAD", + "TCGEO_Koordinatensystem", + "TCGEO_Laenge", + "TCGEO_PAD", + "TCGEO_Radius_A", + "TCGEO_Radius_B", + "TCGEO_Richtungswinkel", + "TCGFK_Kategorie", + "TCGFR_Art", + "TCGFR_Neigung", + "TCGFR_Typ", + "TCGK", + "TCGKZSS", + "TCGK_X", + "TCGK_Y", + "TCGK_Z", + "TCGUE_Abstand_Abweichend", + "TCGUE_Anordnung", + "TCGUE_Bauart", + "TCGUE_Energieversorgung", + "TCGUE_Messstrecke", + "TCGegengleis", + "TCGeltungsbereich", + "TCGeschaltet", + "TCGeschwindigkeit", + "TCGeschwindigkeit3", + "TCGeschwindigkeit_L", + "TCGeschwindigkeit_R", + "TCGitterbehang", + "TCGleis_Abschluss_Art", + "TCGleis_Am_Bue", + "TCGleisart", + "TCGleissperre_Betriebsart", + "TCGleissperre_Vorzugslage", + "TCGleissperrensignal", + "TCGruppen_ID", + "TCGsp_Lage", + "TCHOA", + "TCHSystem", + "TCHaltetoleranz", + "TCHaltezeit", + "TCHarter_Ausstieg_Aus_L2", + "TCHauptschloss", + "TCHauptzugang", + "TCHersteller", + "TCHersteller13", + "TCHersteller20", + "TCHersteller7", + "TCHerzstueck_Antriebe", + "TCHinweis_Balisenbefestigung", + "TCHoehe_Fundamentoberkante", + "TCHoehenlinie_Form", + "TCHoehenlinie_Laenge", + "TCHoehenpunkt_Datum", + "TCHoehenpunkt_Hoehe", + "TCHp_Ersatzstecker", + "TCHupe_Anschaltzeit", + "TCID_ATO_TS_Instanz", + "TCID_ATO_TS_Instanz_ohne_Proxy", + "TCID_Anforderer_Element", + "TCID_Anforderung", + "TCID_Anhang", + "TCID_AnhangBearbeitungsvermerk", + "TCID_Anhang_ohne_Proxy", + "TCID_Anschluss_Element", + "TCID_Ausgabe_Fachdaten_ohne_Proxy", + "TCID_Aussenelementansteuerung", + "TCID_Aussenelementansteuerung_ohne_Proxy", + "TCID_BUE_Anlage", + "TCID_BUE_Anlage_ohne_Proxy", + "TCID_BUE_Bedien_Anzeige_Element", + "TCID_BUE_Einschaltung", + "TCID_BUE_Gleisbezogener_Gefahrraum", + "TCID_BUE_Schnittstelle", + "TCID_BUE_WS_Fstr_Zuordnung", + "TCID_Bahnsteig_Anlage", + "TCID_Bahnsteig_Kante", + "TCID_Bahnsteig_Kante_ohne_Proxy", + "TCID_Balise", + "TCID_Balise_ohne_Proxy", + "TCID_Basis_Objekt", + "TCID_Bearbeitungsvermerk", + "TCID_Bedien_Anzeige_Element", + "TCID_Bedien_Bezirk", + "TCID_Bedien_Einrichtung_Oertlich", + "TCID_Bedien_Oberflaeche", + "TCID_Bedien_Standort", + "TCID_Bedien_Zentrale", + "TCID_Befestigung_Bauwerk", + "TCID_Beginn_Bereich", + "TCID_Bezugspunkt_Positionierung", + "TCID_Binaerdaten_ohne_Proxy", + "TCID_Block_Anlage", + "TCID_Block_Element", + "TCID_Block_Strecke", + "TCID_DP_Bezug_Funktional", + "TCID_Datenpunkt", + "TCID_Datenpunkt_ohne_Proxy", + "TCID_ESTW_Zentraleinheit", + "TCID_ETCS_Kante", + "TCID_ETCS_Knoten", + "TCID_ETCS_Knoten_ohne_Proxy", + "TCID_EV_Modul", + "TCID_Einschaltpunkt", + "TCID_Element", + "TCID_Element_Grenze", + "TCID_Element_Unterbringung", + "TCID_Energie", + "TCID_Energie_Eingang", + "TCID_FMA_Anlage", + "TCID_FMA_Anlage_Rangier_Frei", + "TCID_FMA_Element", + "TCID_FMA_Komponente", + "TCID_FT_Anschaltbedingung", + "TCID_FT_Fahrweg_Teil", + "TCID_Fachtelegramm", + "TCID_Fachtelegramm_ohne_Proxy", + "TCID_Fla_Schutz", + "TCID_Fortschaltung_Start", + "TCID_Fstr_Aneinander", + "TCID_Fstr_Ausschluss_Besonders", + "TCID_Fstr_DWeg", + "TCID_Fstr_DWeg_ohne_Proxy", + "TCID_Fstr_Fahrweg", + "TCID_Fstr_Fahrweg_ohne_Proxy", + "TCID_Fstr_Zug_Rangier", + "TCID_GEO_Art", + "TCID_GEO_Kante", + "TCID_GEO_Knoten", + "TCID_GEO_Punkt", + "TCID_GEO_Punkt_ohne_Proxy", + "TCID_GFR_Anlage_ohne_Proxy", + "TCID_Gleis_Abschnitt", + "TCID_Gleis_Bezeichnung", + "TCID_Grenzzeichen", + "TCID_Handschalt_Wirkfunktion", + "TCID_Hoehenpunkt", + "TCID_Information_Eingang", + "TCID_Information_Primaer", + "TCID_Komponente_Programmiert", + "TCID_LEU_Anlage", + "TCID_LEU_Anlage_ohne_Proxy", + "TCID_LEU_Bezug_Funktional", + "TCID_LEU_Schaltkasten_ohne_Proxy", + "TCID_LO_Einbau", + "TCID_Lageplan", + "TCID_Lageplan_Blattschnitt", + "TCID_Lageplan_Zustand", + "TCID_Markante_Stelle", + "TCID_Markanter_Punkt", + "TCID_Markanter_Punkt_Gleis_Abschluss", + "TCID_NB", + "TCID_NB_Element", + "TCID_NB_Zone", + "TCID_Oertlichkeit", + "TCID_Oertlichkeit_Ausgabe", + "TCID_Oertlichkeit_Proxy", + "TCID_PZB_Element", + "TCID_PZB_Element_Bezugspunkt", + "TCID_PZB_Element_Mitnutzung", + "TCID_PZB_Element_Zuordnung", + "TCID_PlanPro_Schnittstelle", + "TCID_Planung_Einzel", + "TCID_Planungsgrundlage", + "TCID_Quellelement", + "TCID_RBC", + "TCID_Regelzeichnung", + "TCID_Regelzeichnung_ohne_Proxy", + "TCID_Schalter", + "TCID_Schaltmittel_Zuordnung", + "TCID_Schlosskombination", + "TCID_Schluessel", + "TCID_Schluesselsperre", + "TCID_Signal", + "TCID_Signal_Befestigung", + "TCID_Signal_Fank", + "TCID_Signal_Gleisbezechnung", + "TCID_Signal_Rahmen", + "TCID_Signal_Signalbegriff", + "TCID_Signal_Start", + "TCID_Signal_ohne_Proxy", + "TCID_Sonderanlage", + "TCID_Stellelement", + "TCID_Stellwerk", + "TCID_Strecke", + "TCID_Strecke_Bremsweg_ohne_Proxy", + "TCID_Strecke_Punkt", + "TCID_TOP_Kante", + "TCID_TOP_Kante_ohne_Proxy", + "TCID_TOP_Knoten", + "TCID_Technischer_Punkt", + "TCID_Trasse_Kante", + "TCID_Trasse_Knoten", + "TCID_Ueberhoehung", + "TCID_Uebertragungsweg_Nach", + "TCID_Uebertragungsweg_Von", + "TCID_Umfahrpunkt", + "TCID_Unterbringung", + "TCID_Unterbringung_Technik", + "TCID_Unterbringung_ohne_Proxy", + "TCID_Ur_Objekt", + "TCID_Verknuepftes_Element", + "TCID_W_Kr_Anlage", + "TCID_W_Kr_Anlage_ohne_Proxy", + "TCID_W_Kr_Gsp_Element", + "TCID_W_Kr_Gsp_Komponente", + "TCID_Weichenlaufkette", + "TCID_ZL", + "TCID_ZLV_Bus", + "TCID_ZLV_Bus_ohne_Proxy", + "TCID_ZL_DLP_Fstr", + "TCID_ZL_Fstr", + "TCID_ZL_Signalgruppe", + "TCID_ZN", + "TCID_ZN_Anzeigefeld", + "TCID_ZN_Anzeigefeld_Anstoss", + "TCID_ZN_Fortschalt_Kriterium", + "TCID_ZN_Unterstation", + "TCID_ZN_ZBS", + "TCID_Ziel", + "TCID_Zugeinwirkung", + "TCID_Zweites_Haltfallkriterium", + "TCIP_Adressblock_Blau", + "TCIP_Adressblock_Blau16", + "TCIP_Adressblock_Blau_V4", + "TCIP_Adressblock_Blau_V423", + "TCIP_Adressblock_Blau_V6", + "TCIP_Adressblock_Blau_V618", + "TCIP_Adressblock_Grau", + "TCIP_Adressblock_Grau22", + "TCIP_Adressblock_Grau_V4", + "TCIP_Adressblock_Grau_V417", + "TCIP_Adressblock_Grau_V6", + "TCIP_Adressblock_Grau_V619", + "TCIP_Adresse", + "TCIdent_Rolle", + "TCIdentitaet", + "TCIndex_Ausgabe", + "TCIndividualisierung_Weitere", + "TCInduktionsschutz", + "TCInformativ", + "TCIsolierfall", + "TCIst_Befahren", + "TCKUs_Zeittelegramm", + "TCKabel_Art", + "TCKabel_Laenge", + "TCKabel_Typ", + "TCKabel_Verteilpunkt_Art", + "TCKantenname", + "TCKennzahl", + "TCKennzahl6", + "TCKlassifizierung", + "TCKm_BTS_1", + "TCKm_BTS_2", + "TCKm_BTS_3", + "TCKm_Massgebend", + "TCKnotenname", + "TCKommentar", + "TCKonfigurationskennung", + "TCKonstruktion", + "TCKontrastblende", + "TCKoordinatensystem_BB", + "TCKoordinatensystem_PB", + "TCKoppelunterstation", + "TCKr_KrW_Seitenzuordnung", + "TCKreuzungsgleis", + "TCKreuzungswinkel", + "TCKurztext", + "TCKurzzugschaltung", + "TCLEU_Anlage_Art", + "TCLEU_Ausgang_Nr", + "TCLEU_Modul_Art", + "TCLEU_Modul_Geraetestand", + "TCLEU_Modul_Typ", + "TCLEU_Schaltkasten_Typ", + "TCLFUE_Impuls", + "TCLLA", + "TCLM_G", + "TCLO_Ausgabestand", + "TCLO_DB_Freigabe", + "TCLO_Datum_Herstellung", + "TCLO_EMA_Nr", + "TCLO_Ersatz", + "TCLO_Firmensachnummer", + "TCLO_Seriennummer", + "TCLST_Objekt_Art", + "TCL_ACKLEVELTR", + "TCLaenge_1", + "TCLaenge_Ausfuehrungsbereich", + "TCLaenge_Gestufte_V_Signalisierung", + "TCLaenge_Soll", + "TCLaenge_Soll_Mind_150", + "TCLage_Zum_Gleis", + "TCLagerung_Art", + "TCLaufende_Nummer_Ausgabe", + "TCLeistungsbedarf", + "TCLenkabbruchzeit", + "TCLenkziffernstellen", + "TCLfd_Nr_Am_Bezugspunkt", + "TCLichtraumprofil", + "TCLieferlaenge", + "TCLink_Distanz", + "TCM_LEVELTR", + "TCMassgebende_Neig_1", + "TCMassgebende_Neig_Schutzstrecke", + "TCMassgebende_Neigung", + "TCMassgebende_Neigung_Mind_150", + "TCMassgebende_Neigung_Mind_Sig", + "TCMassgebende_Neigung_Mind_Sig_150", + "TCMassnahme", + "TCMastschild", + "TCMax_Leistung", + "TCMax_Unterbrechungszeit", + "TCMedium_Art", + "TCMeldedruck", + "TCMelder", + "TCMessfehler", + "TCMetallteil_Kategorie", + "TCMetallteil_Laenge", + "TCModulnummer", + "TCMontage_Ausgleichsgewichte", + "TCMontage_Besonders", + "TCMontageabweichung", + "TCMontagehoehe", + "TCNB_Art", + "TCNB_Grenze_Art", + "TCNB_Rueckgabevoraussetzung", + "TCNB_Verhaeltnis_Besonders", + "TCNB_Zone_Allg", + "TCNID_ATOTS", + "TCNID_BG", + "TCNID_C", + "TCNID_C_ATOTS ", + "TCNID_RBC", + "TCNID_SP", + "TCNID_STM", + "TCNID_TP", + "TCNID_TSR", + "TCNachlaufverhinderung", + "TCNagetierschutz", + "TCName_Akteur", + "TCName_Akteur_10", + "TCName_Akteur_5", + "TCName_Organisation", + "TCNeigung", + "TCNeigung12", + "TCNennleistung", + "TCNetz_Art", + "TCNummer_Schaltkasten", + "TCObere_Lichtpunkthoehe", + "TCOberflaeche_Bildart", + "TCOberflaeche_Zustaendigkeit", + "TCOberstrombegrenzung_Gueterzug", + "TCOberstrombegrenzung_Reisezug", + "TCObjektzustand_Besonders", + "TCOertlicher_Elementname", + "TCOertlichkeit_Abkuerzung", + "TCOertlichkeit_Art", + "TCOertlichkeit_Gueltig_Ab", + "TCOertlichkeit_Gueltig_Bis", + "TCOertlichkeit_Kurzname", + "TCOertlichkeit_Langname", + "TCOptik_Durchmesser", + "TCOptik_Symbolmaske", + "TCOrganisationseinheit", + "TCPZB_Abstand_GM", + "TCPZB_Art", + "TCPZB_INA", + "TCPZB_Schutzstrecke_Soll", + "TCPegel", + "TCPersonal_Reaktionszeit", + "TCPixel_Koordinate_X", + "TCPixel_Koordinate_Y", + "TCPlanPro_XSD_Version", + "TCPlan_Quelle", + "TCPlanung_E_Art", + "TCPlanung_G_Art_Besonders", + "TCPlanung_Phase", + "TCPolygonzug_Betrachtungsbereich", + "TCPolygonzug_Planungsbereich", + "TCPort_Nr_Ausg_Physisch", + "TCPosition", + "TCPosition_Sonstige", + "TCPrimaerquelle", + "TCPrioritaet", + "TCPrioritaet10", + "TCPrioritaet_Gefahrstelle", + "TCProjekt_Nummer", + "TCProjektierungsfall", + "TCPruefgeschwindigkeit", + "TCPruefsumme", + "TCPruefsumme_Art", + "TCPruefzeit", + "TCRBC_ETCS_System_Version", + "TCRBC_SRS_Version", + "TCRZ_Nummer", + "TCRZ_Parameter_Name", + "TCRZ_Parameter_Wert", + "TCRaeumstrecke", + "TCRaeumstrecke_DAB", + "TCRaeumstrecke_DBK", + "TCRaeumstrecke_DCK", + "TCRaeumstrecke_DSK_Strich", + "TCRahmen_Art", + "TCRahmen_Hoehe", + "TCRang", + "TCRangier_Gegenfahrtausschluss", + "TCRangierstrasse_Restaufloesung", + "TCReaktivierungsfunktion", + "TCReferenz_Planung_Basis", + "TCReferenz_Vergleich_Besonders", + "TCRegionalbereich", + "TCRegionalbereich21", + "TCRekursion_2_Nr", + "TCRekursion_Nr", + "TCRichtpunkt", + "TCRichtpunktentfernung", + "TCRichtungsbezug", + "TCRichtungspfeil", + "TCRueckblockwecker", + "TCRueckschauzeit", + "TCRufnummer", + "TCSBE", + "TCSBUE", + "TCSLE_SLS", + "TCSRS_Version", + "TCSTZ", + "TCSchalter", + "TCSchaltgruppe", + "TCSchaltmittel_Funktion", + "TCSchaltung", + "TCSchloss_Art", + "TCSchluessel_Bartform", + "TCSchluessel_Gruppe", + "TCSchluessel_In_Grdst_Eingeschl", + "TCSchrankreihe", + "TCSchutzbuegel", + "TCSchutzschiene", + "TCSchutzstrecke_Erforderlich", + "TCSchutzstrecke_Vorhanden", + "TCSchutzuebertrager", + "TCSeitliche_Lage", + "TCSeitlicher_Abstand", + "TCSicherheitsabstand", + "TCSichtbarkeit_Anzeigefeld", + "TCSichtzeit_Vorsignal", + "TCSignal_Art", + "TCSignal_Befestigungsart", + "TCSignal_Charakter", + "TCSignal_Funktion", + "TCSignalbegriff_ID", + "TCSignalgruppe_Bezeichner", + "TCSignalsicht_Erreichbar", + "TCSignalsicht_Mindest", + "TCSignalsicht_Soll", + "TCSignalsystem", + "TCSignalverz_Errechnet", + "TCSignalverz_Gewaehlt", + "TCSolllaenge_Mind_Sig", + "TCSolllaenge_Mind_Sig_150", + "TCSonderanlage_Lage", + "TCSonstige_Standortangabe", + "TCSonstige_Zulaessige_Anordnung", + "TCSpannung_Art", + "TCSpannung_Toleranz_Obere", + "TCSpannung_Toleranz_Untere", + "TCSperrlaenge", + "TCSperrstrecke", + "TCSperrstrecke_Fussgaenger", + "TCStammgleis", + "TCStandort_Beschreibung", + "TCStandortangabe_Balisenschild", + "TCSteuerbezirksname", + "TCSteuerbezirksnummer", + "TCStoerhalt_Haltfall", + "TCStoerhalt_Merkhinweis", + "TCStrecke_Abschnitt", + "TCStrecke_Art", + "TCStrecke_Km", + "TCStrecke_Km30", + "TCStrecke_Meter", + "TCStrecke_Nummer", + "TCStrecke_Richtung", + "TCStreckengeschwindigkeit", + "TCStreuscheibe_Art", + "TCStreuscheibe_Betriebsstellung", + "TCSystem_Vor_Grenze", + "TCSystem_Vor_Grenze_Besonders", + "TCSystemhoehe", + "TCTBV_Meldepunkt", + "TCTBV_Tunnelbereich_Laenge", + "TCTBV_Tunnelsignal", + "TCTB_Art", + "TCTB_Beschreibung", + "TCTOP_Anschluss_A", + "TCTOP_Anschluss_B", + "TCTOP_Laenge", + "TCTP_Art", + "TCTP_Beschreibung", + "TCTSO_Teilsystem_Art", + "TCTaste", + "TCTaste_ANF", + "TCTaste_FGT", + "TCTaste_WGT", + "TCTechnik_Art", + "TCTechnik_Beschreibung", + "TCTechnisch_Berechtigter", + "TCTechnischer_Platz", + "TCTeilsperrstrecke", + "TCTeilvorgabezeit", + "TCTelefonnummer", + "TCTelegramm_02", + "TCTelegramm_03", + "TCTelegramm_04", + "TCTelegramm_10", + "TCTelegramm_21", + "TCTelegramm_30", + "TCTelegramm_84_Fuer_Alle_Fstr", + "TCTelegramm_84_Verzicht", + "TCTelegramm_85_Fuer_Alle_Fstr", + "TCTelegramm_Index", + "TCTelegrammnummer", + "TCTelegrammwiederholung", + "TCText_Bedingung", + "TCTextmeldung", + "TCTitel", + "TCTragkopf_Verstellbar", + "TCTraktion_Art_Elektrisch", + "TCTrasse_Kante_Art", + "TCTrasse_Knoten_Art", + "TCTrasse_Nutzer", + "TCTueranschlag", + "TCTunnelsignal", + "TCTv_GK", + "TCUeberbrueckung_EV_Unterbrechung", + "TCUeberhoehung_Datum", + "TCUeberhoehung_Hoehe", + "TCUeberhoehungslinie_Form", + "TCUeberhoehungslinie_Laenge", + "TCUebertragung_FMinfo_Richtung", + "TCUebertragung_FMinfo_Typ", + "TCUebertragungsweg_Art", + "TCUeberwachung_Laenge", + "TCUmfahrstrasse", + "TCUnterbringung_Art", + "TCUnterbringung_Befestigung", + "TCUnterbringung_Polygonzug", + "TCUntergewerk_Art", + "TCUntergruppen_ID", + "TCUnterstation_Max", + "TCUnterstation_Nr", + "TCUntertitel", + "TCVBC_Kennung", + "TCVBC_NID_C", + "TCVBC_Setzen", + "TCVBC_Timer", + "TCVGR", + "TCVGR_1", + "TCVGR_2", + "TCVLA", + "TCVZ", + "TCV_Befehl_R", + "TCV_Befehl_Z", + "TCV_Frei", + "TCV_Max_Schiene", + "TCV_Max_Strasse", + "TCV_Min_Fussweg", + "TCV_Min_Schiene", + "TCV_Min_Strasse", + "TCV_Profil_Art", + "TCV_Start", + "TCV_Ziel", + "TCV_Zul_Strecke", + "TCVerantwortliche_Stelle_DB", + "TCVerbot_Anhalten", + "TCVerbot_Regenerative_Bremse", + "TCVerbot_WB_Art", + "TCVergleich_Ausgabestand_Basis", + "TCVergleichstyp_Besonders", + "TCVerkuerzter_Abstand", + "TCVerschluss_Ort", + "TCVerseilart", + "TCVersion_Auslieferung", + "TCVerwendung", + "TCVerwendung_Als_Rueckfall", + "TCVerwendung_Hilfe", + "TCVerzoegerung_Manuell_Loeschung", + "TCVmax_Annaeherung", + "TCVorblockwecker", + "TCVorgeschaltet", + "TCVormeldestart", + "TCVorschauzeit", + "TCVorsignalabstand", + "TCVorzugslage_Automatik", + "TCWHU", + "TCWUS", + "TCW_Anbaulage", + "TCW_Anschluss", + "TCW_Kr_Art", + "TCW_Kr_Grundform", + "TCW_Kr_Gsp_Stellart", + "TCW_Lage", + "TCW_Lage8", + "TCWeiche_Betriebsart", + "TCWeiche_Vorzugslage", + "TCWeichensignal", + "TCWerkzeug_Name", + "TCWerkzeug_Version", + "TCWinkel_Alpha", + "TCWirkrichtung", + "TCWirkrichtung_In_Datenpunkt", + "TCWirksam", + "TCWirksamkeit", + "TCWirksamkeit_Fstr", + "TCX_Wert", + "TCYY_Wert", + "TCY_Wert", + "TCZBS_Adresse", + "TCZBS_Anbindung", + "TCZBS_La_Bereich_Distanz", + "TCZBS_La_Bereich_Geschwindigkeit", + "TCZBS_La_Bereich_Laenge", + "TCZBS_La_Bereich_Neigung", + "TCZBS_Reaktion", + "TCZBS_Schnittstelle", + "TCZLA", + "TCZLV_Bus_Nr", + "TCZL_Fstr_Zuschlag", + "TCZN_A_Bedienbezeichner_Frei", + "TCZN_A_Bezeichner", + "TCZN_Anlagentyp", + "TCZN_Anzeigefeld_Loeschkriterium", + "TCZN_Feld_Ohne_Anzeige", + "TCZN_Modem", + "TCZN_Schaltkriterium", + "TCZN_Stellen", + "TCZeiger", + "TCZeit_Bearbeitungsvermerk", + "TCZeitsynchronisation_Funkuhr", + "TCZeitueberschreitungsmeldung", + "TCZiel_DP_Ausrichtung", + "TCZiel_Ist_Fahrwegende", + "TCZs2_Ueberwacht", + "TCZugbeeinflussung_Art", + "TCZugeinwirkung_Art", + "TCZugeinwirkung_Typ", + "TCZugvorbereitungsmeldung", + "TCZungenpruefkontakt_Anzahl", + "TCZusatzinformation", + "TCZusatzinformation_Stellwerk", + "TCZusatzschild", + "TCZwieschutz_Art", + "Ts_1", + "Ts_2", + "Ts_3", + "Ukr", + "Vr_0", + "Vr_1", + "Vr_2", + "Wn_1", + "Wn_2", + "Wn_3", + "Wn_4", + "Wn_5", + "Wn_6", + "Wn_7", + "Wvs", + "Zl_o", + "Zl_u", + "Zp_10", + "Zp_10_Ls", + "Zp_6", + "Zp_7", + "Zp_8", + "Zp_9", + "Zp_9_Ls", + "Zs_1", + "Zs_10", + "Zs_103", + "Zs_12", + "Zs_13", + "Zs_1_A", + "Zs_2", + "Zs_2v", + "Zs_3", + "Zs_3v", + "Zs_6", + "Zs_7", + "Zs_8", + "Zs_8_A", + "Zs_9" +] diff --git a/planpro_importer/planpro110/reader110.py b/planpro_importer/planpro110/reader110.py new file mode 100644 index 0000000..ba8bf17 --- /dev/null +++ b/planpro_importer/planpro110/reader110.py @@ -0,0 +1,207 @@ +from yaramo.model import Topology, Node, Signal, Edge, DbrefGeoNode, Route +from .model110 import parse + + +class PlanProReader110(object): + + def __init__(self, plan_pro_file_name): + if not plan_pro_file_name.endswith(".ppxml"): + plan_pro_file_name = plan_pro_file_name + ".ppxml" + self.plan_pro_file_name = plan_pro_file_name + self.topology = Topology(name=self.plan_pro_file_name.split("/")[-1][:-6]) + + def read_topology_from_plan_pro_file(self): + container = self._get_container() + + for c in container: + self.read_topology_from_container(c) + for c in container: + self.read_signals_from_container(c) + for c in container: + self.read_routes_from_container(c) + + return self.topology + + def _get_container(self): + container = [] + + root_object = parse(self.plan_pro_file_name, silence=True) + if root_object.LST_Planung is not None: + number_of_fachdaten = len(root_object.LST_Planung.Fachdaten.Ausgabe_Fachdaten) + for id_of_fachdaten in range(0, number_of_fachdaten): + container.append(root_object.LST_Planung.Fachdaten. + Ausgabe_Fachdaten[id_of_fachdaten].LST_Zustand_Ziel.Container) + if root_object.LST_Zustand is not None: + container.append(root_object.LST_Zustand.Container) + + if len(container) == 0: + raise ImportError("No PlanPro-data found") + return container + + def read_topology_from_container(self, container): + for top_knoten in container.TOP_Knoten: + top_knoten_uuid = top_knoten.Identitaet.Wert + node_obj = Node(uuid=top_knoten_uuid) + + # Coordinates + geo_node_uuid = top_knoten.ID_GEO_Knoten.Wert + x, y = self.get_coordinates_of_geo_node(container, geo_node_uuid) + if x is None or y is None: + continue + node_obj.geo_node = DbrefGeoNode(x, y, uuid=geo_node_uuid) + + self.topology.add_node(node_obj) + + for top_kante in container.TOP_Kante: + top_kante_uuid = top_kante.Identitaet.Wert + node_a = self.topology.nodes[top_kante.ID_TOP_Knoten_A.Wert] + node_b = self.topology.nodes[top_kante.ID_TOP_Knoten_B.Wert] + + # Anschluss A + anschluss_a = top_kante.TOP_Kante_Allg.TOP_Anschluss_A.Wert + if anschluss_a == "Links": + node_a.set_connection_left(node_b) + elif anschluss_a == "Rechts": + node_a.set_connection_right(node_b) + else: + node_a.set_connection_head(node_b) + + # Anschluss B + anschluss_b = top_kante.TOP_Kante_Allg.TOP_Anschluss_B.Wert + if anschluss_b == "Links": + node_b.set_connection_left(node_a) + elif anschluss_b == "Rechts": + node_b.set_connection_right(node_a) + else: + node_b.set_connection_head(node_a) + + length = top_kante.TOP_Kante_Allg.TOP_Laenge.Wert + length_remaining = length + + # Intermediate geo nodes + geo_edges = self.get_all_geo_edges_by_top_edge_uuid(container, top_kante_uuid) + + first_edge = None + for geo_edge in geo_edges: + if node_a.geo_node.uuid in [geo_edge.ID_GEO_Knoten_A.Wert, geo_edge.ID_GEO_Knoten_B.Wert]: + first_edge = geo_edge + break + + def _get_other_uuid(_uuid, _edge): + if _edge.ID_GEO_Knoten_A.Wert == _uuid: + return _edge.ID_GEO_Knoten_B.Wert + return _edge.ID_GEO_Knoten_A.Wert + + second_last_node_uuid = node_a.geo_node.uuid + last_node_uuid = _get_other_uuid(node_a.geo_node.uuid, first_edge) + geo_nodes_in_order = [] + + def _get_next_edge(_last_node_uuid, _second_last_node): + for _geo_edge in geo_edges: + if _last_node_uuid in [_geo_edge.ID_GEO_Knoten_A.Wert, _geo_edge.ID_GEO_Knoten_B.Wert]: + if _second_last_node not in [_geo_edge.ID_GEO_Knoten_A.Wert, _geo_edge.ID_GEO_Knoten_B.Wert]: + return _geo_edge + return None + + completed = True + while last_node_uuid != node_b.geo_node.uuid: + x, y = self.get_coordinates_of_geo_node(container, last_node_uuid) + geo_node = DbrefGeoNode(x, y, uuid=last_node_uuid) + geo_nodes_in_order.append(geo_node) + + next_edge = _get_next_edge(last_node_uuid, second_last_node_uuid) + if next_edge is None: + completed = False + break + second_last_node_uuid = last_node_uuid + length_remaining = length_remaining - next_edge.GEO_Kante_Allg.GEO_Laenge.Wert + last_node_uuid = _get_other_uuid(second_last_node_uuid, next_edge) + + if completed: + edge = Edge(node_a, node_b, length=length, uuid=top_kante_uuid) + edge.intermediate_geo_nodes = geo_nodes_in_order + self.topology.add_edge(edge) + else: + print(f"Warning: TOP_EDGE {top_kante_uuid} could not be completed, " + f"since the chain of geo edges is broken after {last_node_uuid}. " + f"This may cause errors later, since the topology is broken.") + + def read_signals_from_container(self, container): + for signal in container.Signal: + signal_uuid = signal.Identitaet.Wert + + if signal.Signal_Real is not None: + if len(signal.Punkt_Objekt_TOP_Kante) == 1: # If greater, no real signal with lights + if signal.Bezeichnung is not None and signal.Bezeichnung.Bezeichnung_Aussenanlage is not None: + function = signal.Signal_Real.Signal_Funktion.Wert + if function == "Einfahr_Signal" or function == "Ausfahr_Signal" or function == "Block_Signal": + top_kante_id = signal.Punkt_Objekt_TOP_Kante[0].ID_TOP_Kante.Wert + if top_kante_id in self.topology.edges: + signal_obj = Signal( + uuid=signal_uuid, + function=function, + kind=signal.Signal_Real.Signal_Real_Aktiv_Schirm.Signal_Art.Wert, + name=signal.Bezeichnung.Bezeichnung_Aussenanlage.Wert, + edge=self.topology.edges[top_kante_id], + direction=signal.Punkt_Objekt_TOP_Kante[0].Wirkrichtung.Wert, + side_distance=signal.Punkt_Objekt_TOP_Kante[0].Seitlicher_Abstand.Wert, + distance_edge=signal.Punkt_Objekt_TOP_Kante[0].Abstand.Wert + ) + self.topology.add_signal(signal_obj) + signal_obj.edge.signals.append(signal_obj) + + def read_routes_from_container(self, container): + for fstr_fahrweg in container.Fstr_Fahrweg: + fahrweg_uuid = str(fstr_fahrweg.Identitaet.Wert) + + # Maximum speed + maximum_speed = None + if fstr_fahrweg.Fstr_V_Hg is not None: + maximum_speed = fstr_fahrweg.Fstr_V_Hg.Wert + + # Start and End signal + start_signal = None + end_signal = None + start_signal_uuid = fstr_fahrweg.ID_Start.Wert + end_signal_uuid = fstr_fahrweg.ID_Ziel.Wert + if start_signal_uuid in self.topology.signals: + start_signal = self.topology.signals[start_signal_uuid] + if end_signal_uuid in self.topology.signals: + end_signal = self.topology.signals[end_signal_uuid] + if start_signal is None or end_signal is None: + continue # Start or end signal not found + + # Edges + edges = [] + for teilbereich in fstr_fahrweg.Bereich_Objekt_Teilbereich: + edge_uuid = teilbereich.ID_TOP_Kante.Wert + if edge_uuid in self.topology.edges: + edges.append(self.topology.edges[edge_uuid]) + + # Build route + route = Route(start_signal=start_signal, + maximum_speed=maximum_speed, + uuid=fahrweg_uuid, + name=f"{start_signal.name}-{end_signal.name}") + route.end_signal = end_signal + route.edges = edges + self.topology.add_route(route) + + def get_coordinates_of_geo_node(self, container, uuid): + geo_points = container.GEO_Punkt + for geo_point in geo_points: + if geo_point.ID_GEO_Knoten is not None: + if geo_point.ID_GEO_Knoten.Wert == uuid: + x = float(geo_point.GEO_Punkt_Allg.GK_X.Wert) + y = float(geo_point.GEO_Punkt_Allg.GK_Y.Wert) + return x, y + return None, None + + def get_all_geo_edges_by_top_edge_uuid(self, container, top_edge_uuid): + geo_edges = container.GEO_Kante + result = [] + for geo_edge in geo_edges: + if geo_edge.ID_GEO_Art.Wert == top_edge_uuid: + result.append(geo_edge) + return result + diff --git a/planpro_importer/planpro19/__init__.py b/planpro_importer/planpro19/__init__.py new file mode 100644 index 0000000..e4a8f5c --- /dev/null +++ b/planpro_importer/planpro19/__init__.py @@ -0,0 +1 @@ +from .reader19 import PlanProReader19 diff --git a/planpro_importer/model.py b/planpro_importer/planpro19/model19.py similarity index 100% rename from planpro_importer/model.py rename to planpro_importer/planpro19/model19.py diff --git a/planpro_importer/reader.py b/planpro_importer/planpro19/reader19.py similarity index 95% rename from planpro_importer/reader.py rename to planpro_importer/planpro19/reader19.py index c65c475..8ff1673 100644 --- a/planpro_importer/reader.py +++ b/planpro_importer/planpro19/reader19.py @@ -1,8 +1,8 @@ from yaramo.model import Topology, Node, Signal, Edge, DbrefGeoNode, Route -from planpro_importer import model +from .model19 import parse -class PlanProReader(object): +class PlanProReader19(object): def __init__(self, plan_pro_file_name): if not plan_pro_file_name.endswith(".ppxml"): @@ -25,7 +25,7 @@ def read_topology_from_plan_pro_file(self): def _get_container(self): container = [] - root_object = model.parse(self.plan_pro_file_name, silence=True) + root_object = parse(self.plan_pro_file_name, silence=True) if root_object.LST_Planung is not None: number_of_fachdaten = len(root_object.LST_Planung.Fachdaten.Ausgabe_Fachdaten) for id_of_fachdaten in range(0, number_of_fachdaten): @@ -178,10 +178,11 @@ def read_routes_from_container(self, container): def get_coordinates_of_geo_node(self, container, uuid): geo_points = container.GEO_Punkt for geo_point in geo_points: - if geo_point.ID_GEO_Knoten.Wert == uuid: - x = float(geo_point.GEO_Punkt_Allg.GK_X.Wert) - y = float(geo_point.GEO_Punkt_Allg.GK_Y.Wert) - return x, y + if geo_point.ID_GEO_Knoten is not None: + if geo_point.ID_GEO_Knoten.Wert == uuid: + x = float(geo_point.GEO_Punkt_Allg.GK_X.Wert) + y = float(geo_point.GEO_Punkt_Allg.GK_Y.Wert) + return x, y return None, None def get_all_geo_edges_by_top_edge_uuid(self, container, top_edge_uuid): diff --git a/planpro_importer/planproimporter.py b/planpro_importer/planproimporter.py new file mode 100644 index 0000000..5e40234 --- /dev/null +++ b/planpro_importer/planproimporter.py @@ -0,0 +1,13 @@ +from .planpro19 import PlanProReader19 +from .planpro110 import PlanProReader110 +from .planproversion import PlanProVersion +from yaramo.model import Topology + + +def import_planpro(planpro_file: str, planpro_version: PlanProVersion = PlanProReader19) -> Topology: + reader = None + if planpro_version == PlanProVersion.PlanPro19: + reader = PlanProReader19(planpro_file) + if planpro_version == PlanProVersion.PlanPro110: + reader = PlanProReader110(planpro_file) + return reader.read_topology_from_plan_pro_file() diff --git a/planpro_importer/planproversion.py b/planpro_importer/planproversion.py new file mode 100644 index 0000000..123e598 --- /dev/null +++ b/planpro_importer/planproversion.py @@ -0,0 +1,6 @@ +from enum import Enum + + +class PlanProVersion(Enum): + PlanPro19 = 1 + PlanPro110 = 2